diff --git a/.github/workflows/check-R-notebooks.yml b/.github/workflows/check-R-notebooks.yml index 06b9e43a..00994452 100644 --- a/.github/workflows/check-R-notebooks.yml +++ b/.github/workflows/check-R-notebooks.yml @@ -15,8 +15,9 @@ jobs: test-R-notebooks: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - directory: ['PM1', 'PM2', 'PM3', 'PM4', 'PM5', 'CM1', 'CM2', 'CM3', 'AC1', 'AC2', 'T'] + directory: ['PM1', 'PM2', 'PM3', 'PM4', 'PM5', 'CM1', 'CM2', 'CM3', 'AC1', 'AC2', 'T', 'T-ADML'] steps: - name: Checkout repository uses: actions/checkout@v3 @@ -37,21 +38,21 @@ jobs: grep -E '^${{ matrix.directory }}/[^/]+\.Rmd$' changed_files.txt exit 1 fi - grep -E '^${{ matrix.directory }}/[^/]+\.irnb$|^${{ matrix.directory }}/.*\.R|\.github/workflows/check-and-transform-R-notebooks.yml$' changed_files.txt > changed_notebooks.txt || echo "No notebooks changed" > changed_notebooks.txt + grep -E '^${{ matrix.directory }}/[^/]+\.irnb$|^${{ matrix.directory }}/.*\.R|\.github/workflows/check-R-notebooks.yml$' changed_files.txt > changed_notebooks.txt || echo "No notebooks changed" > changed_notebooks.txt - name: Find changed notebooks in Push if: github.event_name == 'push' id: find_notebooks_push run: | git diff --name-only ${{ github.event.before }} ${{ github.event.after }} > changed_files.txt - grep -E '^${{ matrix.directory }}/[^/]+\.irnb$|^${{ matrix.directory }}/.*\.R|\.github/workflows/check-and-transform-R-notebooks.yml$' changed_files.txt > changed_notebooks.txt || echo "No notebooks changed" > changed_notebooks.txt + grep -E '^${{ matrix.directory }}/[^/]+\.irnb$|^${{ matrix.directory }}/.*\.R|\.github/workflows/check-R-notebooks.yml$' changed_files.txt > changed_notebooks.txt || echo "No notebooks changed" > changed_notebooks.txt - name: Check if any notebooks changed in PR or Push if: (github.event_name == 'push') || (github.event_name == 'pull_request') id: check_notebooks run: | cat changed_notebooks.txt - if grep -q -E '^${{ matrix.directory }}/[^/]+\.irnb$|^${{ matrix.directory }}/.*\.R|\.github/workflows/check-and-transform-R-notebooks.yml$' changed_notebooks.txt; then + if grep -q -E '^${{ matrix.directory }}/[^/]+\.irnb$|^${{ matrix.directory }}/.*\.R|\.github/workflows/check-R-notebooks.yml$' changed_notebooks.txt; then echo "notebooks_changed=true" >> $GITHUB_ENV else echo "notebooks_changed=false" >> $GITHUB_ENV @@ -70,7 +71,7 @@ jobs: if: env.notebooks_changed == 'true' run: | sudo apt-get update - sudo apt-get install -y libcurl4-openssl-dev + sudo apt-get install -y libcurl4-openssl-dev libuv1-dev libglpk-dev - name: Set up Python if: env.notebooks_changed == 'true' @@ -125,7 +126,9 @@ jobs: library(lintr) linters <- linters_with_defaults(line_length_linter = line_length_linter(120), object_name_linter = object_name_linter(styles = c("snake_case", "CamelCase", "camelCase")), - object_usage_linter = NULL) + object_usage_linter = NULL, + pipe_consistency_linter = NULL, + return_linter = NULL) rmd_files <- list.files(path = "${{ matrix.directory }}", pattern = "\\.Rmd$", full.names = TRUE) linting_error <- FALSE for (rfile in rmd_files) { @@ -195,6 +198,8 @@ jobs: ' 2>/dev/null env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + # let R (reticulate/keras) use the Python with TensorFlow installed above + RETICULATE_PYTHON: ${{ env.pythonLocation }}/bin/python - name: Upload execution log if: "((env.notebooks_changed == 'true') && (env.linting_errors_found == 'false'))" diff --git a/.github/workflows/check-python-notebooks.yml b/.github/workflows/check-python-notebooks.yml index bea8cf8b..4ea57fcf 100644 --- a/.github/workflows/check-python-notebooks.yml +++ b/.github/workflows/check-python-notebooks.yml @@ -15,10 +15,11 @@ jobs: test-python-notebooks: runs-on: ${{ matrix.os }} strategy: + fail-fast: false matrix: # Removed: {windows-latest, macos-latest} as they were taking too long. Consider adding back in the future os: [ubuntu-latest] - directory: [PM1, PM2, PM3, PM4, PM5, CM1, CM2, CM3, AC1, AC2, T] + directory: [PM1, PM2, PM3, PM4, PM5, CM1, CM2, CM3, AC1, AC2, T, T-ADML] steps: - name: Checkout repository @@ -34,21 +35,21 @@ jobs: # git fetch origin ${{ github.event.pull_request.base.ref }} ${{ github.event.pull_request.head.ref }} # git diff --name-only origin/${{ github.event.pull_request.base.ref }}...origin/${{ github.event.pull_request.head.ref }} > changed_files.txt git diff --name-only -r HEAD^1 HEAD > changed_files.txt - grep -E '\.ipynb$|\.py$|\.github/workflows/python-notebooks.yml$' changed_files.txt > changed_notebooks.txt || echo "No notebooks changed" > changed_notebooks.txt + grep -E '\.ipynb$|\.py$|\.github/workflows/check-python-notebooks.yml$' changed_files.txt > changed_notebooks.txt || echo "No notebooks changed" > changed_notebooks.txt - name: Find changed notebooks in Push if: github.event_name == 'push' id: find_notebooks_push run: | git diff --name-only ${{ github.event.before }} ${{ github.event.after }} > changed_files.txt - grep -E '\.ipynb$|\.py$|\.github/workflows/python-notebooks.yml$' changed_files.txt > changed_notebooks.txt || echo "No notebooks changed" > changed_notebooks.txt + grep -E '\.ipynb$|\.py$|\.github/workflows/check-python-notebooks.yml$' changed_files.txt > changed_notebooks.txt || echo "No notebooks changed" > changed_notebooks.txt - name: Check if any notebooks changed in PR or Push if: (github.event_name == 'push') || (github.event_name == 'pull_request') id: check_notebooks run: | cat changed_notebooks.txt - if grep -q -E '^${{ matrix.directory }}/[^/]+\.ipynb$|^${{ matrix.directory }}/.*\.py$|\.github/workflows/python-notebooks.yml$' changed_notebooks.txt; then + if grep -q -E '^${{ matrix.directory }}/[^/]+\.ipynb$|^${{ matrix.directory }}/.*\.py$|\.github/workflows/check-python-notebooks.yml$' changed_notebooks.txt; then echo "notebooks_changed=true" >> $GITHUB_ENV else echo "notebooks_changed=false" >> $GITHUB_ENV @@ -81,12 +82,9 @@ jobs: run: sudo apt-get install -y libgraphviz-dev shell: bash - - name: Install R if folder is CM3 - if: "(env.notebooks_changed == 'true') && (matrix.directory == 'CM3' && matrix.os == 'ubuntu-latest')" - run: | - sudo apt-get update - sudo apt-get install -y r-base - shell: bash + - name: Install R if folder is CM3 or T-ADML + if: "(env.notebooks_changed == 'true') && ((matrix.directory == 'CM3' || matrix.directory == 'T-ADML') && matrix.os == 'ubuntu-latest')" + uses: r-lib/actions/setup-r@v2 - name: Set up Python if: "(env.notebooks_changed == 'true') && (! (matrix.directory == 'CM3' && (matrix.os == 'windows-latest' || matrix.os == 'macos-latest')))" @@ -117,6 +115,8 @@ jobs: flake8_errors=0 for notebook in ${{ matrix.directory }}/*.ipynb; do [ "$(basename "$notebook")" = "python-dosearch.ipynb" ] && continue + # uses %%R (rpy2) cells, which flake8 cannot parse + [ "$(basename "$notebook")" = "python-ADML-401k.ipynb" ] && continue flake8-nb --config=.flake8 "$notebook" > "linting_logs/$(basename "$notebook" .ipynb)_linting.txt" 2>&1 || flake8_errors=$((flake8_errors+1)) done echo "flake8_errors=$flake8_errors" >> $GITHUB_ENV diff --git a/.gitignore b/.gitignore index fa8cd793..d99b1e5b 100644 --- a/.gitignore +++ b/.gitignore @@ -132,3 +132,8 @@ dmypy.json /CM1/hdmpy /AC1/hdmpy /PM2/hdmpy + +# Notebook updates +/TEMP_updated_notebooks +/tools +.vscode/settings.json diff --git a/AC1/python-proxy-controls.ipynb b/AC1/python-proxy-controls.ipynb index 2342af48..d8eb4034 100644 --- a/AC1/python-proxy-controls.ipynb +++ b/AC1/python-proxy-controls.ipynb @@ -611,8 +611,10 @@ "data = data[data.wt != 999]\n", "data = data[data.parity != 99]\n", "data = data[data.parity != 9]\n", + "data = data[data.race != 99]\n", "data = data[np.logical_and(data.number != 98, data.number != 99)]\n", "data = data[np.logical_and(data.inc != 98, data.inc != 99)]\n", + "data = data[data.age != 99]\n", "data.shape" ] }, @@ -624,7 +626,7 @@ }, "outputs": [], "source": [ - "X = np.array(patsy.dmatrix('0 + C(race) + age + C(sex)', data))\n", + "X = np.array(patsy.dmatrix('0 + C(race) + age', data))\n", "D = np.array(patsy.dmatrix('0 + number', data))\n", "Q = np.array(patsy.dmatrix('0 + C(ed)', data))\n", "S = np.array(patsy.dmatrix('0 + parity', data))\n", diff --git a/AC1/python-sensitivity-analysis-with-sensmakr-and-debiased-ml.ipynb b/AC1/python-sensitivity-analysis-with-sensmakr-and-debiased-ml.ipynb index a7fe59d9..9e0b7bab 100644 --- a/AC1/python-sensitivity-analysis-with-sensmakr-and-debiased-ml.ipynb +++ b/AC1/python-sensitivity-analysis-with-sensmakr-and-debiased-ml.ipynb @@ -318,6 +318,8 @@ }, "outputs": [], "source": [ + "import sys\n", + "sys.path.insert(1, \"./hdmpy\")\n", "import hdmpy\n", "\n", "\n", diff --git a/AC1/r-proxy-controls.irnb b/AC1/r-proxy-controls.irnb index ab423a7f..d9caac7d 100644 --- a/AC1/r-proxy-controls.irnb +++ b/AC1/r-proxy-controls.irnb @@ -328,6 +328,9 @@ "source": [ "# Filter data to exclude entries where income, number of cigarettes smoked,\n", "# race, age are not asked or not known\n", + "data <- data[data$wt != 999, ]\n", + "data <- data[data$parity != 99, ]\n", + "data <- data[data$parity != 9, ]\n", "data <- data[data$race != 99, ]\n", "data <- data[!(data$number %in% c(98, 99)), ]\n", "data <- data[!(data$inc %in% c(98, 99)), ]\n", diff --git a/AC2/python-debiased-ml-for-partially-linear-iv-model.ipynb b/AC2/python-debiased-ml-for-partially-linear-iv-model.ipynb index d1383f4f..dc80026b 100644 --- a/AC2/python-debiased-ml-for-partially-linear-iv-model.ipynb +++ b/AC2/python-debiased-ml-for-partially-linear-iv-model.ipynb @@ -1,613 +1,616 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "qjaFmAyEzcLz", - "papermill": { - "duration": 0.008106, - "end_time": "2021-04-23T10:41:33.911944", - "exception": false, - "start_time": "2021-04-23T10:41:33.903838", - "status": "completed" + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "qjaFmAyEzcLz", + "papermill": { + "duration": 0.008106, + "end_time": "2021-04-23T10:41:33.911944", + "exception": false, + "start_time": "2021-04-23T10:41:33.903838", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Double/Debiased ML for Partially Linear IV Model\n", + "\n", + "This is a simple implementation of Debiased Machine Learning for the Partially Linear\n", + "IV Regression Model, which provides an application of DML IV inference.\n", + "\n", + "\n", + "Reference:\n", + "\n", + "- https://arxiv.org/abs/1608.00060\n", + "- https://www.amazon.com/Business-Data-Science-Combining-Accelerate/dp/1260452778\n", + "\n", + "The code is based on the book.\n" + ] }, - "tags": [] - }, - "source": [ - "# Double/Debiased ML for Partially Linear IV Model\n", - "\n", - "This is a simple implementation of Debiased Machine Learning for the Partially Linear\n", - "IV Regression Model, which provides an application of DML IV inference.\n", - "\n", - "\n", - "Reference:\n", - "\n", - "- https://arxiv.org/abs/1608.00060\n", - "- https://www.amazon.com/Business-Data-Science-Combining-Accelerate/dp/1260452778\n", - "\n", - "The code is based on the book.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "G3YNyr-ezcL4", - "papermill": { - "duration": 0.006963, - "end_time": "2021-04-23T10:41:33.926085", - "exception": false, - "start_time": "2021-04-23T10:41:33.919122", - "status": "completed" + { + "cell_type": "markdown", + "metadata": { + "id": "G3YNyr-ezcL4", + "papermill": { + "duration": 0.006963, + "end_time": "2021-04-23T10:41:33.926085", + "exception": false, + "start_time": "2021-04-23T10:41:33.919122", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "\n", + "# Partially Linear IV Model\n", + "\n", + "We consider the partially linear structural equation model:\n", + "\\begin{eqnarray}\n", + " & Y - D\\theta_0 = g_0(X) + \\zeta, & E[\\zeta \\mid Z,X]= 0,\\\\\n", + " & Z = m_0(X) + V, & E[V \\mid X] = 0.\n", + "\\end{eqnarray}\n", + "\n", + "\n", + "Note that this model is not a regression model unless $Z=D$. The model is a canonical\n", + "model in causal inference, going back to P. Wright's work on IV methods for estimating demand/supply equations, with the modern difference being that $g_0$ and $m_0$ are nonlinear, potentially complicated functions of high-dimensional $X$. \n", + "\n", + "\n", + "The idea of this model is that there is a structural or causal relation between $Y$ and $D$, captured by $\\theta_0$, and $g_0(X) + \\zeta$ is the stochastic error, partly explained by covariates $X$. $V$ and $\\zeta$ are stochastic errors that are not explained by $X$. Since $Y$ and $D$ are jointly determined, we need an external factor, commonly referred to as an instrument, $Z$ to create exogenous variation\n", + "in $D$. Note that $Z$ should affect $D$. The $X$ here serve again as confounding factors, so we can think of variation in $Z$ as being exogenous only conditional on $X$.\n", + "\n", + "\n", + "The causal DAG this model corresponds to is given by:\n", + "$$\n", + "Z \\to D, X \\to (Y, Z, D), L \\to (Y,D),\n", + "$$\n", + "where $L$ is the latent confounder affecting both $Y$ and $D$, but not $Z$.\n", + "\n", + "\n", + "\n", + "---\n", + "\n", + "# Example\n", + "\n", + "A simple contextual example is from biostatistics, where $Y$ is a health outcome and $D$ is indicator of smoking. Thus, $\\theta_0$ is captures the effect of smoking on health. Health outcome $Y$ and smoking behavior $D$ are treated as being jointly determined. $X$ represents patient characteristics, and $Z$ could be a doctor's advice not to smoke (or another behavioral treatment) that may affect the outcome $Y$ only through shifting the behavior $D$, conditional on characteristics $X$. \n", + "\n", + "----\n", + "\n", + "\n", + "\n", + "# PLIVM in Residualized Form\n", + "\n", + "The PLIV model above can be rewritten in the following residualized form:\n", + "$$\n", + " \\tilde Y = \\tilde D \\theta_0 + \\zeta, \\quad E[\\zeta \\mid V,X]= 0,\n", + "$$\n", + "where\n", + "$$\n", + " \\tilde Y = (Y- \\ell_0(X)), \\quad \\ell_0(X) = E[Y \\mid X] \\\\\n", + " \\tilde D = (D - r_0(X)), \\quad r_0(X) = E[D \\mid X] \\\\\n", + " \\tilde Z = (Z- m_0(X)), \\quad m_0(X) = E[Z \\mid X].\n", + "$$\n", + " The \"tilde\" variables (e.g. $\\tilde Y$) above represent original variables after taking out or \"partialling out\"\n", + " the effect of $X$. Note that $\\theta_0$ is identified from this equation if $V$\n", + " and $U$ have non-zero correlation, which automatically means that $U$ and $V$\n", + " must have non-zero variation.\n", + "\n", + " \n", + "\n", + "-----\n", + "\n", + "# DML for PLIV Model\n", + "\n", + "Given identification, DML proceeds as follows\n", + "\n", + "Compute the estimates $\\hat \\ell_0$, $\\hat r_0$, and $\\hat m_0$ , which amounts\n", + "to solving the three problems of predicting $Y$, $D$, and $Z$ using\n", + "$X$, using any generic ML method, giving us estimated residuals\n", + "$$\n", + "\\tilde Y = Y - \\hat \\ell_0(X), \\\\ \\tilde D= D - \\hat r_0(X), \\\\ \\tilde Z = Z- \\hat m_0(X).\n", + "$$\n", + "The estimates should be of a cross-validated form, as detailed in the algorithm below.\n", + "\n", + "Estimate $\\theta_0$ by the the intstrumental\n", + "variable regression of $\\tilde Y$ on $\\tilde D$ using $\\tilde Z$ as an instrument.\n", + "Use the conventional inference for the IV regression estimator, ignoring\n", + "the estimation error in these residuals.\n", + "\n", + "The reason we work with this residualized form is that it eliminates the bias\n", + "arising when solving the prediction problem in stage 1. The role of cross-validation\n", + "is to avoid another source of bias due to potential overfitting.\n", + "\n", + "The estimator is adaptive,\n", + "in the sense that the first stage estimation errors do not affect the second\n", + "stage errors.\n" + ] }, - "tags": [] - }, - "source": [ - "\n", - "# Partially Linear IV Model\n", - "\n", - "We consider the partially linear structural equation model:\n", - "\\begin{eqnarray}\n", - " & Y - D\\theta_0 = g_0(X) + \\zeta, & E[\\zeta \\mid Z,X]= 0,\\\\\n", - " & Z = m_0(X) + V, & E[V \\mid X] = 0.\n", - "\\end{eqnarray}\n", - "\n", - "\n", - "Note that this model is not a regression model unless $Z=D$. The model is a canonical\n", - "model in causal inference, going back to P. Wright's work on IV methods for estimating demand/supply equations, with the modern difference being that $g_0$ and $m_0$ are nonlinear, potentially complicated functions of high-dimensional $X$. \n", - "\n", - "\n", - "The idea of this model is that there is a structural or causal relation between $Y$ and $D$, captured by $\\theta_0$, and $g_0(X) + \\zeta$ is the stochastic error, partly explained by covariates $X$. $V$ and $\\zeta$ are stochastic errors that are not explained by $X$. Since $Y$ and $D$ are jointly determined, we need an external factor, commonly referred to as an instrument, $Z$ to create exogenous variation\n", - "in $D$. Note that $Z$ should affect $D$. The $X$ here serve again as confounding factors, so we can think of variation in $Z$ as being exogenous only conditional on $X$.\n", - "\n", - "\n", - "The causal DAG this model corresponds to is given by:\n", - "$$\n", - "Z \\to D, X \\to (Y, Z, D), L \\to (Y,D),\n", - "$$\n", - "where $L$ is the latent confounder affecting both $Y$ and $D$, but not $Z$.\n", - "\n", - "\n", - "\n", - "---\n", - "\n", - "# Example\n", - "\n", - "A simple contextual example is from biostatistics, where $Y$ is a health outcome and $D$ is indicator of smoking. Thus, $\\theta_0$ is captures the effect of smoking on health. Health outcome $Y$ and smoking behavior $D$ are treated as being jointly determined. $X$ represents patient characteristics, and $Z$ could be a doctor's advice not to smoke (or another behavioral treatment) that may affect the outcome $Y$ only through shifting the behavior $D$, conditional on characteristics $X$. \n", - "\n", - "----\n", - "\n", - "\n", - "\n", - "# PLIVM in Residualized Form\n", - "\n", - "The PLIV model above can be rewritten in the following residualized form:\n", - "$$\n", - " \\tilde Y = \\tilde D \\theta_0 + \\zeta, \\quad E[\\zeta \\mid V,X]= 0,\n", - "$$\n", - "where\n", - "$$\n", - " \\tilde Y = (Y- \\ell_0(X)), \\quad \\ell_0(X) = E[Y \\mid X] \\\\\n", - " \\tilde D = (D - r_0(X)), \\quad r_0(X) = E[D \\mid X] \\\\\n", - " \\tilde Z = (Z- m_0(X)), \\quad m_0(X) = E[Z \\mid X].\n", - "$$\n", - " The \"tilde\" variables (e.g. $\\tilde Y$) above represent original variables after taking out or \"partialling out\"\n", - " the effect of $X$. Note that $\\theta_0$ is identified from this equation if $V$\n", - " and $U$ have non-zero correlation, which automatically means that $U$ and $V$\n", - " must have non-zero variation.\n", - "\n", - " \n", - "\n", - "-----\n", - "\n", - "# DML for PLIV Model\n", - "\n", - "Given identification, DML proceeds as follows\n", - "\n", - "Compute the estimates $\\hat \\ell_0$, $\\hat r_0$, and $\\hat m_0$ , which amounts\n", - "to solving the three problems of predicting $Y$, $D$, and $Z$ using\n", - "$X$, using any generic ML method, giving us estimated residuals\n", - "$$\n", - "\\tilde Y = Y - \\hat \\ell_0(X), \\\\ \\tilde D= D - \\hat r_0(X), \\\\ \\tilde Z = Z- \\hat m_0(X).\n", - "$$\n", - "The estimates should be of a cross-validated form, as detailed in the algorithm below.\n", - "\n", - "Estimate $\\theta_0$ by the the intstrumental\n", - "variable regression of $\\tilde Y$ on $\\tilde D$ using $\\tilde Z$ as an instrument.\n", - "Use the conventional inference for the IV regression estimator, ignoring\n", - "the estimation error in these residuals.\n", - "\n", - "The reason we work with this residualized form is that it eliminates the bias\n", - "arising when solving the prediction problem in stage 1. The role of cross-validation\n", - "is to avoid another source of bias due to potential overfitting.\n", - "\n", - "The estimator is adaptive,\n", - "in the sense that the first stage estimation errors do not affect the second\n", - "stage errors.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "_kg_hide-output": true, - "id": "yGW6JhG5zcL5", - "papermill": { - "duration": 34.670095, - "end_time": "2021-04-23T10:42:08.603197", - "exception": false, - "start_time": "2021-04-23T10:41:33.933102", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-output": true, + "id": "yGW6JhG5zcL5", + "papermill": { + "duration": 34.670095, + "end_time": "2021-04-23T10:42:08.603197", + "exception": false, + "start_time": "2021-04-23T10:41:33.933102", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# Import relevant packages\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.model_selection import cross_val_predict, KFold\n", + "from sklearn.pipeline import make_pipeline\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "import patsy\n", + "import warnings\n", + "from sklearn.base import BaseEstimator\n", + "import statsmodels.api as sm\n", + "from statsmodels.tools import add_constant\n", + "warnings.simplefilter('ignore')\n", + "np.random.seed(1234)" + ] }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Import relevant packages\n", - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from sklearn.model_selection import cross_val_predict, KFold\n", - "from sklearn.pipeline import make_pipeline\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.ensemble import RandomForestRegressor\n", - "import patsy\n", - "import warnings\n", - "from sklearn.base import BaseEstimator\n", - "import statsmodels.api as sm\n", - "from statsmodels.tools import add_constant\n", - "warnings.simplefilter('ignore')\n", - "np.random.seed(1234)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "j2WVUbBDzcL-", - "papermill": { - "duration": 1.846109, - "end_time": "2021-04-23T10:42:10.458406", - "exception": false, - "start_time": "2021-04-23T10:42:08.612297", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "j2WVUbBDzcL-", + "papermill": { + "duration": 1.846109, + "end_time": "2021-04-23T10:42:10.458406", + "exception": false, + "start_time": "2021-04-23T10:42:08.612297", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "def dml(X, Z, D, y, modely, modeld, modelz, *, nfolds, classifier=False):\n", + " '''\n", + " DML for the Partially Linear Model setting with cross-fitting\n", + "\n", + " Input\n", + " -----\n", + " X: the controls\n", + " Z: the instrument\n", + " D: the treatment\n", + " y: the outcome\n", + " modely: the ML model for predicting the outcome y\n", + " modeld: the ML model for predicting the treatment D\n", + " modelz: the ML model for predicting the instrument Z\n", + " nfolds: the number of folds in cross-fitting\n", + " classifier: bool, whether the modeld is a classifier or a regressor\n", + "\n", + " Output\n", + " ------\n", + " point: the point estimate of the treatment effect of D on y\n", + " stderr: the standard error of the treatment effect\n", + " yhat: the cross-fitted predictions for the outcome y\n", + " Dhat: the cross-fitted predictions for the treatment D\n", + " Zhat: the cross-fitted predictions for the instrument Z\n", + " resy: the outcome residuals\n", + " resD: the treatment residuals\n", + " resZ: the instrument residuals\n", + " epsilon: the final residual-on-residual OLS regression residual\n", + " '''\n", + " cv = KFold(n_splits=nfolds, shuffle=True, random_state=123) # shuffled k-folds\n", + " yhat = cross_val_predict(modely, X, y, cv=cv, n_jobs=-1) # out-of-fold predictions for y\n", + " # out-of-fold predictions for D\n", + " # use predict or predict_proba dependent on classifier or regressor for D\n", + " if classifier:\n", + " Dhat = cross_val_predict(modeld, X, D, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", + " Zhat = cross_val_predict(modelz, X, Z, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", + " else:\n", + " Dhat = cross_val_predict(modeld, X, D, cv=cv, n_jobs=-1)\n", + " Zhat = cross_val_predict(modelz, X, Z, cv=cv, n_jobs=-1)\n", + " # calculate outcome and treatment residuals\n", + " resy = y - yhat\n", + " resD = D - Dhat\n", + " resZ = Z - Zhat\n", + " # rename for downstream tasks\n", + " resy = resy.rename(\"resy\")\n", + " resD = resD.rename(\"resD\")\n", + " resZ = resZ.rename(\"resZ\")\n", + "\n", + " # final stage ols based point estimate and standard error\n", + " point = np.mean(resy * resZ) / np.mean(resD * resZ)\n", + " epsilon = resy - point * resD\n", + " var = np.mean(epsilon**2 * resZ**2) / np.mean(resD * resZ)**2\n", + " stderr = np.sqrt(var / X.shape[0])\n", + " return point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon" + ] }, - "tags": [] - }, - "outputs": [], - "source": [ - "def dml(X, Z, D, y, modely, modeld, modelz, *, nfolds, classifier=False):\n", - " '''\n", - " DML for the Partially Linear Model setting with cross-fitting\n", - "\n", - " Input\n", - " -----\n", - " X: the controls\n", - " Z: the instrument\n", - " D: the treatment\n", - " y: the outcome\n", - " modely: the ML model for predicting the outcome y\n", - " modeld: the ML model for predicting the treatment D\n", - " modelz: the ML model for predicting the instrument Z\n", - " nfolds: the number of folds in cross-fitting\n", - " classifier: bool, whether the modeld is a classifier or a regressor\n", - "\n", - " Output\n", - " ------\n", - " point: the point estimate of the treatment effect of D on y\n", - " stderr: the standard error of the treatment effect\n", - " yhat: the cross-fitted predictions for the outcome y\n", - " Dhat: the cross-fitted predictions for the treatment D\n", - " Zhat: the cross-fitted predictions for the instrument Z\n", - " resy: the outcome residuals\n", - " resD: the treatment residuals\n", - " resZ: the instrument residuals\n", - " epsilon: the final residual-on-residual OLS regression residual\n", - " '''\n", - " cv = KFold(n_splits=nfolds, shuffle=True, random_state=123) # shuffled k-folds\n", - " yhat = cross_val_predict(modely, X, y, cv=cv, n_jobs=-1) # out-of-fold predictions for y\n", - " # out-of-fold predictions for D\n", - " # use predict or predict_proba dependent on classifier or regressor for D\n", - " if classifier:\n", - " Dhat = cross_val_predict(modeld, X, D, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", - " Zhat = cross_val_predict(modelz, X, Z, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", - " else:\n", - " Dhat = cross_val_predict(modeld, X, D, cv=cv, n_jobs=-1)\n", - " Zhat = cross_val_predict(modelz, X, Z, cv=cv, n_jobs=-1)\n", - " # calculate outcome and treatment residuals\n", - " resy = y - yhat\n", - " resD = D - Dhat\n", - " resZ = Z - Zhat\n", - " # rename for downstream tasks\n", - " resy = resy.rename(\"resy\")\n", - " resD = resD.rename(\"resD\")\n", - " resZ = resZ.rename(\"resZ\")\n", - "\n", - " # final stage ols based point estimate and standard error\n", - " point = np.mean(resy * resZ) / np.mean(resD * resZ)\n", - " epsilon = resy - point * resD\n", - " var = np.mean(epsilon**2 * resZ**2) / np.mean(resD * resZ)**2\n", - " stderr = np.sqrt(var / X.shape[0])\n", - " return point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "F6U6fnzne-77" - }, - "outputs": [], - "source": [ - "def summary(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon, X, D, Z, y, *, name):\n", - " '''\n", - " Convenience summary function that takes the results of the DML IV function\n", - " and summarizes several estimation quantities and performance metrics.\n", - " '''\n", - " return pd.DataFrame({'estimate': point, # point estimate\n", - " 'stderr': stderr, # standard error\n", - " 'lower': point - 1.96 * stderr, # lower end of 95% confidence interval\n", - " 'upper': point + 1.96 * stderr, # upper end of 95% confidence interval\n", - " 'rmse y': np.sqrt(np.mean(resy**2)), # RMSE of model that predicts outcome y\n", - " 'rmse Z': np.sqrt(np.mean(resZ**2)), # RMSE of model that predicts instrument Z\n", - " 'rmse D': np.sqrt(np.mean(resD**2)) # RMSE of model that predicts treatment D\n", - " }, index=[name])" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "x1g3XjsIzcL_", - "papermill": { - "duration": 0.011698, - "end_time": "2021-04-23T10:42:10.482689", - "exception": false, - "start_time": "2021-04-23T10:42:10.470991", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "F6U6fnzne-77" + }, + "outputs": [], + "source": [ + "def summary(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon, X, D, Z, y, *, name):\n", + " '''\n", + " Convenience summary function that takes the results of the DML IV function\n", + " and summarizes several estimation quantities and performance metrics.\n", + " '''\n", + " return pd.DataFrame({'estimate': point, # point estimate\n", + " 'stderr': stderr, # standard error\n", + " 'lower': point - 1.96 * stderr, # lower end of 95% confidence interval\n", + " 'upper': point + 1.96 * stderr, # upper end of 95% confidence interval\n", + " 'rmse y': np.sqrt(np.mean(resy**2)), # RMSE of model that predicts outcome y\n", + " 'rmse Z': np.sqrt(np.mean(resZ**2)), # RMSE of model that predicts instrument Z\n", + " 'rmse D': np.sqrt(np.mean(resD**2)) # RMSE of model that predicts treatment D\n", + " }, index=[name])" + ] }, - "tags": [] - }, - "source": [ - "-----\n", - "\n", - "\n", - "# Emprical Example: Acemoglu, Johnson, Robinson (AER).\n", - "\n", - "* Y is log GDP;\n", - "* D is a measure of Protection from Expropriation, a proxy for\n", - "quality of insitutions;\n", - "* Z is the log of Settler's mortality;\n", - "* W are geographical variables (latitude, latitude squared, continent dummies as well as interactions)\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "0Pc6OCp24rji" - }, - "outputs": [], - "source": [ - "file = \"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/AJR.csv\"\n", - "data = pd.read_csv(file)\n", - "data.shape" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "3rGw2hAqSx2Y" - }, - "source": [ - "Run the following command to install hdmpy for rigorous lasso:\n", - "\n", - "``` !pip install multiprocess ```\n", - "\n", - "\n", - "```!git clone https://github.com/maxhuppertz/hdmpy.git ```" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "O5Rknnz2Rh9O" - }, - "outputs": [], - "source": [ - "!pip install multiprocess\n", - "!git clone https://github.com/maxhuppertz/hdmpy.git" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Kb9N0c5uS47n" - }, - "outputs": [], - "source": [ - "import hdmpy\n", - "\n", - "\n", - "class RLasso(BaseEstimator):\n", - "\n", - " def __init__(self, *, post=True):\n", - " self.post = post\n", - "\n", - " def fit(self, X, y):\n", - " self.rlasso_ = hdmpy.rlasso(X, y, post=self.post)\n", - " return self\n", - "\n", - " def predict(self, X):\n", - " return np.array(X) @ np.array(self.rlasso_.est['beta']).flatten() + np.array(self.rlasso_.est['intercept'])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "nO6a6tJWS-FO" - }, - "outputs": [], - "source": [ - "y = data['GDP']\n", - "d = data['Exprop']\n", - "z = data['logMort']\n", - "\n", - "controls = data.drop(['GDP', 'Exprop', 'logMort'], axis=1)\n", - "x = patsy.dmatrix('-1 + (Latitude + Latitude2 + Africa + Asia + Namer + Samer)**2',\n", - " data=controls, return_type='dataframe')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "kpPe250uelE7" - }, - "outputs": [], - "source": [ - "# DML with Post-Lasso:\n", - "modely = make_pipeline(StandardScaler(), RLasso(post=True))\n", - "modeld = make_pipeline(StandardScaler(), RLasso(post=True))\n", - "modelz = make_pipeline(StandardScaler(), RLasso(post=True))\n", - "\n", - "# Run DML model with nfolds folds of cross-fitting\n", - "res_rlasso = dml(x, z, d, y, modely, modeld, modelz, nfolds=5)\n", - "table_rlasso = summary(*res_rlasso, x, d, z, y, name='RLasso')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "pdKuGFpXglp8" - }, - "outputs": [], - "source": [ - "# DML with Random Forests. RFs don't require scaling but we do it for consistency\n", - "modely = make_pipeline(StandardScaler(),\n", - " RandomForestRegressor(n_estimators=100, min_samples_leaf=5, random_state=1234))\n", - "modeld = make_pipeline(StandardScaler(),\n", - " RandomForestRegressor(n_estimators=100, min_samples_leaf=5, random_state=1234))\n", - "modelz = make_pipeline(StandardScaler(),\n", - " RandomForestRegressor(n_estimators=100, min_samples_leaf=5, random_state=1234))\n", - "\n", - "# Run DML model with nfolds folds of cross-fitting (computationally intensive)\n", - "res_RF = dml(x, z, d, y, modely, modeld, modelz, nfolds=5)\n", - "table_RF = summary(*res_RF, x, d, z, y, name='RF')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "ijo8p0Moig_F" - }, - "outputs": [], - "source": [ - "results = pd.concat([table_rlasso, table_RF], axis=0)\n", - "results" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "r7l6cFi2zcMA", - "papermill": { - "duration": 0.013703, - "end_time": "2021-04-23T10:42:16.269251", - "exception": false, - "start_time": "2021-04-23T10:42:16.255548", - "status": "completed" + { + "cell_type": "markdown", + "metadata": { + "id": "x1g3XjsIzcL_", + "papermill": { + "duration": 0.011698, + "end_time": "2021-04-23T10:42:10.482689", + "exception": false, + "start_time": "2021-04-23T10:42:10.470991", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "-----\n", + "\n", + "\n", + "# Emprical Example: Acemoglu, Johnson, Robinson (AER).\n", + "\n", + "* Y is log GDP;\n", + "* D is a measure of Protection from Expropriation, a proxy for\n", + "quality of insitutions;\n", + "* Z is the log of Settler's mortality;\n", + "* W are geographical variables (latitude, latitude squared, continent dummies as well as interactions)\n", + "\n" + ] }, - "tags": [] - }, - "source": [ - "# Weak Instruments?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "rsUnPDfpzcMB", - "papermill": { - "duration": 16.107321, - "end_time": "2021-04-23T10:42:32.390552", - "exception": false, - "start_time": "2021-04-23T10:42:16.283231", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "0Pc6OCp24rji" + }, + "outputs": [], + "source": [ + "file = \"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/AJR.csv\"\n", + "data = pd.read_csv(file)\n", + "data.shape" + ] }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Summary for RLasso\n", - "resy_rlasso, resD_rlasso, resZ_rlasso = res_rlasso[5], res_rlasso[6], res_rlasso[7]\n", - "# Using HC3 robust standard errors\n", - "regDZ_rlasso = sm.OLS(resD_rlasso, add_constant(resZ_rlasso)).fit(cov_type='HC3', use_t=True)\n", - "print(regDZ_rlasso.summary())\n", - "\n", - "# Summary for RF\n", - "resy_RF, resD_RF, resZ_RF = res_RF[5], res_RF[6], res_RF[7]\n", - "# Using HC3 robust standard errors\n", - "regDZ_RF = sm.OLS(resD_RF, add_constant(resZ_RF)).fit(cov_type='HC3', use_t=True)\n", - "print(regDZ_RF.summary())" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "L3fDDOmfzcMD", - "papermill": { - "duration": 0.015919, - "end_time": "2021-04-23T10:42:32.423865", - "exception": false, - "start_time": "2021-04-23T10:42:32.407946", - "status": "completed" + { + "cell_type": "markdown", + "metadata": { + "id": "3rGw2hAqSx2Y" + }, + "source": [ + "Run the following command to install hdmpy for rigorous lasso:\n", + "\n", + "``` !pip install multiprocess ```\n", + "\n", + "\n", + "```!git clone https://github.com/maxhuppertz/hdmpy.git ```" + ] }, - "tags": [] - }, - "source": [ - "## Anderson-Rubin Idea for Inference with Weak Instruments\n", - "\n", - "As shown above, we may have weak instruments because the t-stat in the regression $\\tilde D \\sim \\tilde Z$ is small relative to standard rules of thumb -- for example Stock and Yogo (2005) suggest accounting for weak instruments if the first stage F-statistic is less than 10 (and more recent work suggests even larger cutoffs).\n", - "\n", - "\n", - " Here, we consider one specific approach (from Anderson and Rubin (1949)) to doing valid inference under weak identification based upon the statistic:\n", - "$$\n", - "C(\\theta) = \\frac{ |E_n [(\\tilde Y - \\theta \\tilde D) \\tilde Z]|^2}{ \\mathbb{V}_n [(\\tilde Y - \\theta \\tilde D) \\tilde Z ]/n}.\n", - "$$\n", - "The empirical variance $\\mathbb{V}_n$ is defined as:\n", - "\\begin{align*}\n", - "\\mathbb{V}_{n}[ g(W_i)] &:= \\mathbb{E}_{n}g(W_i)g(W_i)' - \\mathbb{E}_{n}[ g(W_i)]\\mathbb{E}_{n}[ g(W_i)]'.\n", - "\\end{align*}\n", - "\n", - "If $\\theta_0 = \\theta$, then $C(\\theta) \\overset{a}{\\sim} N(0,1)^2 = \\chi^2(1)$. Therefore, we can reject the hypothesis $\\theta_0 = \\theta$ at level $a$ (for example $a = .05$ for a 5\\% level test) if $C(\\theta)> c(1-a)$ where $c(1-a)$ is the $(1-a)$- quantile of a $\\chi^2(1)$ variable. The probability of falsely rejecting the true hypothesis is approximately $a \\times 100\\%$. \n", - "To construct a $(1-a) \\times 100$\\% confidence region for $\\theta$, we can then simply invert the test by collecting all parameter values that are not rejected at the $a$ level:\n", - "$$\n", - "CR(\\theta) = \\{ \\theta \\in \\Theta: C(\\theta) \\leq c(1-a)\\}.\n", - "$$\n", - "\n", - "\n", - "In more complex settings with many controls or controls that enter with unknown functional form, we can simply replace the residuals $\\tilde Y$, $\\tilde D$, and $\\tilde Z$ by machine\n", - "learned cross-fitted residuals $\\check Y$, $\\check D$, and $ \\check Z$. Thanks to the orthogonality of the IV moment condition underlying the formulation outlined above, we can formally assert that the properties of $C(\\theta)$ and the subsequent testing procedure and confidence region for $\\theta$ continue to hold when using cross-fitted residuals. We will further be able to apply the general procedure to cases where $D$\n", - "is a vector, with a suitable adjustment of the statistic $C(\\theta)$.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "PG2tPuFzzcMD", - "papermill": { - "duration": 0.015943, - "end_time": "2021-04-23T10:42:32.455719", - "exception": false, - "start_time": "2021-04-23T10:42:32.439776", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "O5Rknnz2Rh9O" + }, + "outputs": [], + "source": [ + "!pip install multiprocess\n", + "!git clone https://github.com/maxhuppertz/hdmpy.git" + ] }, - "tags": [] - }, - "source": [ - "So let's carry out DML inference combined with Anderson-Rubin Idea" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "6weyaIdJ3pWs" - }, - "outputs": [], - "source": [ - "from scipy.stats import chi2\n", - "\n", - "\n", - "def DML_AR_PLIV(rY, rD, rZ, grid, alpha=0.05):\n", - " n = len(rY)\n", - " Cstat = np.zeros(len(grid))\n", - "\n", - " for i in range(len(grid)):\n", - " term1 = (rY - grid[i] * rD) * rZ\n", - " Cstat[i] = n * (np.mean(term1))**2 / np.var(term1)\n", - "\n", - " Cstat = np.nan_to_num(Cstat) # Replace any NaNs with zeros\n", - "\n", - " lower_bound = min(grid[Cstat < chi2.ppf(1 - alpha, 1)])\n", - " upper_bound = max(grid[Cstat < chi2.ppf(1 - alpha, 1)])\n", - "\n", - " plt.plot(grid, Cstat, linestyle='-', color='black')\n", - " plt.axhline(y=chi2.ppf(1 - alpha, 1), linestyle='--', color='blue')\n", - " plt.axvline(x=lower_bound, linestyle='--', color='red')\n", - " plt.axvline(x=upper_bound, linestyle='--', color='red')\n", - " plt.xlabel('Effect of institutions')\n", - " plt.ylabel('Statistic')\n", - " plt.title('')\n", - " plt.show()\n", - "\n", - " return {'UB': upper_bound, 'LB': lower_bound}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "k9bB2O13zcME", - "papermill": { - "duration": 0.478528, - "end_time": "2021-04-23T10:42:33.002469", - "exception": false, - "start_time": "2021-04-23T10:42:32.523941", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Kb9N0c5uS47n" + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.insert(1, './hdmpy')\n", + "\n", + "import hdmpy\n", + "\n", + "\n", + "class RLasso(BaseEstimator):\n", + "\n", + " def __init__(self, *, post=True):\n", + " self.post = post\n", + "\n", + " def fit(self, X, y):\n", + " self.rlasso_ = hdmpy.rlasso(X, y, post=self.post)\n", + " return self\n", + "\n", + " def predict(self, X):\n", + " return np.array(X) @ np.array(self.rlasso_.est['beta']).flatten() + np.array(self.rlasso_.est['intercept'])" + ] }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Using RLasso\n", - "dml_ar_rlasso = DML_AR_PLIV(rY=resy_rlasso, rD=resD_rlasso, rZ=resZ_rlasso, grid=np.arange(-2, 2, 0.01))\n", - "print(\"RLasso UB and LB: \", dml_ar_rlasso)\n", - "# Using RF\n", - "dml_ar_RF = DML_AR_PLIV(rY=resy_RF, rD=resD_RF, rZ=resZ_RF, grid=np.arange(-2, 2, 0.01))\n", - "print(\"RF UB and LB: \", dml_ar_RF)" - ] - } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "nO6a6tJWS-FO" + }, + "outputs": [], + "source": [ + "y = data['GDP']\n", + "d = data['Exprop']\n", + "z = data['logMort']\n", + "\n", + "controls = data.drop(['GDP', 'Exprop', 'logMort'], axis=1)\n", + "x = patsy.dmatrix('-1 + (Latitude + Latitude2 + Africa + Asia + Namer + Samer)**2',\n", + " data=controls, return_type='dataframe')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "kpPe250uelE7" + }, + "outputs": [], + "source": [ + "# DML with Post-Lasso:\n", + "modely = make_pipeline(StandardScaler(), RLasso(post=True))\n", + "modeld = make_pipeline(StandardScaler(), RLasso(post=True))\n", + "modelz = make_pipeline(StandardScaler(), RLasso(post=True))\n", + "\n", + "# Run DML model with nfolds folds of cross-fitting\n", + "res_rlasso = dml(x, z, d, y, modely, modeld, modelz, nfolds=5)\n", + "table_rlasso = summary(*res_rlasso, x, d, z, y, name='RLasso')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "pdKuGFpXglp8" + }, + "outputs": [], + "source": [ + "# DML with Random Forests. RFs don't require scaling but we do it for consistency\n", + "modely = make_pipeline(StandardScaler(),\n", + " RandomForestRegressor(n_estimators=100, min_samples_leaf=5, random_state=1234))\n", + "modeld = make_pipeline(StandardScaler(),\n", + " RandomForestRegressor(n_estimators=100, min_samples_leaf=5, random_state=1234))\n", + "modelz = make_pipeline(StandardScaler(),\n", + " RandomForestRegressor(n_estimators=100, min_samples_leaf=5, random_state=1234))\n", + "\n", + "# Run DML model with nfolds folds of cross-fitting (computationally intensive)\n", + "res_RF = dml(x, z, d, y, modely, modeld, modelz, nfolds=5)\n", + "table_RF = summary(*res_RF, x, d, z, y, name='RF')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "ijo8p0Moig_F" + }, + "outputs": [], + "source": [ + "results = pd.concat([table_rlasso, table_RF], axis=0)\n", + "results" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "r7l6cFi2zcMA", + "papermill": { + "duration": 0.013703, + "end_time": "2021-04-23T10:42:16.269251", + "exception": false, + "start_time": "2021-04-23T10:42:16.255548", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Weak Instruments?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "rsUnPDfpzcMB", + "papermill": { + "duration": 16.107321, + "end_time": "2021-04-23T10:42:32.390552", + "exception": false, + "start_time": "2021-04-23T10:42:16.283231", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# Summary for RLasso\n", + "resy_rlasso, resD_rlasso, resZ_rlasso = res_rlasso[5], res_rlasso[6], res_rlasso[7]\n", + "# Using HC3 robust standard errors\n", + "regDZ_rlasso = sm.OLS(resD_rlasso, add_constant(resZ_rlasso)).fit(cov_type='HC3', use_t=True)\n", + "print(regDZ_rlasso.summary())\n", + "\n", + "# Summary for RF\n", + "resy_RF, resD_RF, resZ_RF = res_RF[5], res_RF[6], res_RF[7]\n", + "# Using HC3 robust standard errors\n", + "regDZ_RF = sm.OLS(resD_RF, add_constant(resZ_RF)).fit(cov_type='HC3', use_t=True)\n", + "print(regDZ_RF.summary())" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "L3fDDOmfzcMD", + "papermill": { + "duration": 0.015919, + "end_time": "2021-04-23T10:42:32.423865", + "exception": false, + "start_time": "2021-04-23T10:42:32.407946", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Anderson-Rubin Idea for Inference with Weak Instruments\n", + "\n", + "As shown above, we may have weak instruments because the t-stat in the regression $\\tilde D \\sim \\tilde Z$ is small relative to standard rules of thumb -- for example Stock and Yogo (2005) suggest accounting for weak instruments if the first stage F-statistic is less than 10 (and more recent work suggests even larger cutoffs).\n", + "\n", + "\n", + " Here, we consider one specific approach (from Anderson and Rubin (1949)) to doing valid inference under weak identification based upon the statistic:\n", + "$$\n", + "C(\\theta) = \\frac{ |E_n [(\\tilde Y - \\theta \\tilde D) \\tilde Z]|^2}{ \\mathbb{V}_n [(\\tilde Y - \\theta \\tilde D) \\tilde Z ]/n}.\n", + "$$\n", + "The empirical variance $\\mathbb{V}_n$ is defined as:\n", + "\\begin{align*}\n", + "\\mathbb{V}_{n}[ g(W_i)] &:= \\mathbb{E}_{n}g(W_i)g(W_i)' - \\mathbb{E}_{n}[ g(W_i)]\\mathbb{E}_{n}[ g(W_i)]'.\n", + "\\end{align*}\n", + "\n", + "If $\\theta_0 = \\theta$, then $C(\\theta) \\overset{a}{\\sim} N(0,1)^2 = \\chi^2(1)$. Therefore, we can reject the hypothesis $\\theta_0 = \\theta$ at level $a$ (for example $a = .05$ for a 5\\% level test) if $C(\\theta)> c(1-a)$ where $c(1-a)$ is the $(1-a)$- quantile of a $\\chi^2(1)$ variable. The probability of falsely rejecting the true hypothesis is approximately $a \\times 100\\%$. \n", + "To construct a $(1-a) \\times 100$\\% confidence region for $\\theta$, we can then simply invert the test by collecting all parameter values that are not rejected at the $a$ level:\n", + "$$\n", + "CR(\\theta) = \\{ \\theta \\in \\Theta: C(\\theta) \\leq c(1-a)\\}.\n", + "$$\n", + "\n", + "\n", + "In more complex settings with many controls or controls that enter with unknown functional form, we can simply replace the residuals $\\tilde Y$, $\\tilde D$, and $\\tilde Z$ by machine\n", + "learned cross-fitted residuals $\\check Y$, $\\check D$, and $ \\check Z$. Thanks to the orthogonality of the IV moment condition underlying the formulation outlined above, we can formally assert that the properties of $C(\\theta)$ and the subsequent testing procedure and confidence region for $\\theta$ continue to hold when using cross-fitted residuals. We will further be able to apply the general procedure to cases where $D$\n", + "is a vector, with a suitable adjustment of the statistic $C(\\theta)$.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "PG2tPuFzzcMD", + "papermill": { + "duration": 0.015943, + "end_time": "2021-04-23T10:42:32.455719", + "exception": false, + "start_time": "2021-04-23T10:42:32.439776", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "So let's carry out DML inference combined with Anderson-Rubin Idea" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "6weyaIdJ3pWs" + }, + "outputs": [], + "source": [ + "from scipy.stats import chi2\n", + "\n", + "\n", + "def DML_AR_PLIV(rY, rD, rZ, grid, alpha=0.05):\n", + " n = len(rY)\n", + " Cstat = np.zeros(len(grid))\n", + "\n", + " for i in range(len(grid)):\n", + " term1 = (rY - grid[i] * rD) * rZ\n", + " Cstat[i] = n * (np.mean(term1))**2 / np.var(term1)\n", + "\n", + " Cstat = np.nan_to_num(Cstat) # Replace any NaNs with zeros\n", + "\n", + " lower_bound = min(grid[Cstat < chi2.ppf(1 - alpha, 1)])\n", + " upper_bound = max(grid[Cstat < chi2.ppf(1 - alpha, 1)])\n", + "\n", + " plt.plot(grid, Cstat, linestyle='-', color='black')\n", + " plt.axhline(y=chi2.ppf(1 - alpha, 1), linestyle='--', color='blue')\n", + " plt.axvline(x=lower_bound, linestyle='--', color='red')\n", + " plt.axvline(x=upper_bound, linestyle='--', color='red')\n", + " plt.xlabel('Effect of institutions')\n", + " plt.ylabel('Statistic')\n", + " plt.title('')\n", + " plt.show()\n", + "\n", + " return {'UB': upper_bound, 'LB': lower_bound}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "k9bB2O13zcME", + "papermill": { + "duration": 0.478528, + "end_time": "2021-04-23T10:42:33.002469", + "exception": false, + "start_time": "2021-04-23T10:42:32.523941", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# Using RLasso\n", + "dml_ar_rlasso = DML_AR_PLIV(rY=resy_rlasso, rD=resD_rlasso, rZ=resZ_rlasso, grid=np.linspace(-2, 2, 401))\n", + "print(\"RLasso UB and LB: \", dml_ar_rlasso)\n", + "# Using RF\n", + "dml_ar_RF = DML_AR_PLIV(rY=resy_RF, rD=resD_RF, rZ=resZ_RF, grid=np.linspace(-2, 2, 401))\n", + "print(\"RF UB and LB: \", dml_ar_RF)" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + }, + "papermill": { + "duration": 62.79319, + "end_time": "2021-04-23T10:42:34.038582", + "environment_variables": {}, + "exception": null, + "input_path": "__notebook__.ipynb", + "output_path": "__notebook__.ipynb", + "parameters": {}, + "start_time": "2021-04-23T10:41:31.245392", + "version": "2.1.3" + } }, - "papermill": { - "duration": 62.79319, - "end_time": "2021-04-23T10:42:34.038582", - "environment_variables": {}, - "exception": null, - "input_path": "__notebook__.ipynb", - "output_path": "__notebook__.ipynb", - "parameters": {}, - "start_time": "2021-04-23T10:41:31.245392", - "version": "2.1.3" - } - }, - "nbformat": 4, - "nbformat_minor": 1 -} + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/AC2/python-dml-401k-IV.ipynb b/AC2/python-dml-401k-IV.ipynb index 6c8f52f0..71d6c21e 100644 --- a/AC2/python-dml-401k-IV.ipynb +++ b/AC2/python-dml-401k-IV.ipynb @@ -1,1820 +1,1820 @@ { - "cells": [ - { - "cell_type": "markdown", - "id": "0", - "metadata": { - "id": "narrative-sailing", - "papermill": { - "duration": 0.040767, - "end_time": "2021-03-24T14:13:51.082088", - "exception": false, - "start_time": "2021-03-24T14:13:51.041321", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# Inference on Predictive and Causal Effects in High-Dimensional Nonlinear Models" - ] - }, - { - "cell_type": "markdown", - "id": "1", - "metadata": { - "id": "ready-appearance", - "papermill": { - "duration": 0.036878, - "end_time": "2021-03-24T14:13:51.155414", - "exception": false, - "start_time": "2021-03-24T14:13:51.118536", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## Impact of 401(k) on Financial Wealth\n", - "\n", - "We consider estimation of the effect of 401(k) participation\n", - "on accumulated assets. 401(k) plans are pension accounts sponsored by employers. The key problem in determining the effect of participation in 401(k) plans on accumulated assets is saver heterogeneity coupled with the fact that the decision to enroll in a 401(k) is non-random. It is generally recognized that some people have a higher preference for saving than others. It also seems likely that those individuals with high unobserved preference for saving would be most likely to choose to participate in tax-advantaged retirement savings plans and would tend to have otherwise high amounts of accumulated assets. The presence of unobserved savings preferences with these properties then implies that conventional estimates that do not account for saver heterogeneity and endogeneity of participation will be biased upward, tending to overstate the savings effects of 401(k) participation.\n", - "\n", - "One can argue that eligibility for enrolling in a 401(k) plan in this data can be taken as exogenous after conditioning on a few observables of which the most important for their argument is income. The basic idea is that, at least around the time 401(k)’s initially became available, people were unlikely to be basing their employment decisions on whether an employer offered a 401(k) but would instead focus on income and other aspects of the job." - ] - }, - { - "cell_type": "markdown", - "id": "2", - "metadata": { - "id": "divine-phoenix", - "papermill": { - "duration": 0.036497, - "end_time": "2021-03-24T14:13:51.229370", - "exception": false, - "start_time": "2021-03-24T14:13:51.192873", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Data\n", - "\n", - "The data set can be downloaded from the github repo\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3", - "metadata": { - "id": "teq-s8pb3a82" - }, - "outputs": [], - "source": [ - "!pip install wget" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4", - "metadata": { - "id": "75662e18" - }, - "outputs": [], - "source": [ - "# Import relevant packages\n", - "import pandas as pd\n", - "import numpy as np\n", - "import matplotlib.pyplot as plt\n", - "from sklearn.model_selection import cross_val_predict, KFold\n", - "from sklearn.pipeline import make_pipeline\n", - "from sklearn.linear_model import LassoCV, LogisticRegressionCV\n", - "from sklearn.preprocessing import StandardScaler\n", - "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", - "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", - "from sklearn.tree import DecisionTreeRegressor, DecisionTreeClassifier\n", - "import scipy.stats\n", - "import warnings\n", - "from sklearn.base import BaseEstimator, clone\n", - "from IPython.display import Markdown\n", - "import wget\n", - "import seaborn as sns\n", - "warnings.simplefilter('ignore')\n", - "np.random.seed(1234)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5", - "metadata": { - "id": "6e66e77f" - }, - "outputs": [], - "source": [ - "file = \"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/401k.csv\"\n", - "data = pd.read_csv(file)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6", - "metadata": { - "id": "65a2d086" - }, - "outputs": [], - "source": [ - "data.describe()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7", - "metadata": { - "id": "00884061" - }, - "outputs": [], - "source": [ - "data.head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8", - "metadata": { - "id": "1d3dc85c" - }, - "outputs": [], - "source": [ - "readme = \"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/401k.md\"\n", - "filename = wget.download(readme)\n", - "Markdown(open(filename, 'r').read())" - ] - }, - { - "cell_type": "markdown", - "id": "9", - "metadata": { - "id": "looking-invention", - "papermill": { - "duration": 0.037509, - "end_time": "2021-03-24T14:13:52.250583", - "exception": false, - "start_time": "2021-03-24T14:13:52.213074", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "The data consist of 9,915 observations at the household level drawn from the 1991 Survey of Income and Program Participation (SIPP). All the variables are referred to 1990. We use net financial assets (*net\\_tfa*) as the outcome variable, $Y$, in our analysis. The net financial assets are computed as the sum of IRA balances, 401(k) balances, checking accounts, saving bonds, other interest-earning accounts, other interest-earning assets, stocks, and mutual funds less non mortgage debts." - ] - }, - { - "cell_type": "markdown", - "id": "10", - "metadata": { - "id": "received-nutrition", - "papermill": { - "duration": 0.038843, - "end_time": "2021-03-24T14:13:52.327055", - "exception": false, - "start_time": "2021-03-24T14:13:52.288212", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Among the $9915$ individuals, $3682$ are eligible to participate in the program. The variable *e401* indicates eligibility and *p401* indicates participation, respectively." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "11", - "metadata": { - "id": "0d26d552" - }, - "outputs": [], - "source": [ - "sns.countplot(data, x='e401')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "12", - "metadata": { - "id": "material-sending", - "papermill": { - "duration": 0.039406, - "end_time": "2021-03-24T14:13:53.435306", - "exception": false, - "start_time": "2021-03-24T14:13:53.395900", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Eligibility is highly associated with financial wealth:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "13", - "metadata": { - "id": "a7741bb6" - }, - "outputs": [], - "source": [ - "sns.displot(data=data, x='net_tfa', kind='kde', col='e401', hue='e401', fill=True)\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "14", - "metadata": { - "id": "awful-antigua", - "papermill": { - "duration": 0.040645, - "end_time": "2021-03-24T14:13:54.245822", - "exception": false, - "start_time": "2021-03-24T14:13:54.205177", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "The unconditional APE of e401 is about $19559$:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "15", - "metadata": { - "id": "ef070d79" - }, - "outputs": [], - "source": [ - "e1 = data[data['e401'] == 1]['net_tfa']\n", - "e0 = data[data['e401'] == 0]['net_tfa']\n", - "print(f'{np.mean(e1) - np.mean(e0):.0f}')" - ] - }, - { - "cell_type": "markdown", - "id": "16", - "metadata": { - "id": "cross-priority", - "papermill": { - "duration": 0.041187, - "end_time": "2021-03-24T14:13:54.437695", - "exception": false, - "start_time": "2021-03-24T14:13:54.396508", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Among the $3682$ individuals that are eligible, $2594$ decided to participate in the program. The unconditional APE of p401 is about $27372$:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "17", - "metadata": { - "id": "33cd014e" - }, - "outputs": [], - "source": [ - "e1 = data[data['p401'] == 1]['net_tfa']\n", - "e0 = data[data['p401'] == 0]['net_tfa']\n", - "print(f'{np.mean(e1) - np.mean(e0):.0f}')" - ] - }, - { - "cell_type": "markdown", - "id": "18", - "metadata": { - "id": "suitable-vulnerability", + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": { + "id": "0", + "papermill": { + "duration": 0.040767, + "end_time": "2021-03-24T14:13:51.082088", + "exception": false, + "start_time": "2021-03-24T14:13:51.041321", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Inference on Predictive and Causal Effects in High-Dimensional Nonlinear Models" + ] + }, + { + "cell_type": "markdown", + "id": "1", + "metadata": { + "id": "1", + "papermill": { + "duration": 0.036878, + "end_time": "2021-03-24T14:13:51.155414", + "exception": false, + "start_time": "2021-03-24T14:13:51.118536", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Impact of 401(k) on Financial Wealth\n", + "\n", + "We consider estimation of the effect of 401(k) participation\n", + "on accumulated assets. 401(k) plans are pension accounts sponsored by employers. The key problem in determining the effect of participation in 401(k) plans on accumulated assets is saver heterogeneity coupled with the fact that the decision to enroll in a 401(k) is non-random. It is generally recognized that some people have a higher preference for saving than others. It also seems likely that those individuals with high unobserved preference for saving would be most likely to choose to participate in tax-advantaged retirement savings plans and would tend to have otherwise high amounts of accumulated assets. The presence of unobserved savings preferences with these properties then implies that conventional estimates that do not account for saver heterogeneity and endogeneity of participation will be biased upward, tending to overstate the savings effects of 401(k) participation.\n", + "\n", + "One can argue that eligibility for enrolling in a 401(k) plan in this data can be taken as exogenous after conditioning on a few observables of which the most important for their argument is income. The basic idea is that, at least around the time 401(k)’s initially became available, people were unlikely to be basing their employment decisions on whether an employer offered a 401(k) but would instead focus on income and other aspects of the job." + ] + }, + { + "cell_type": "markdown", + "id": "2", + "metadata": { + "id": "2", + "papermill": { + "duration": 0.036497, + "end_time": "2021-03-24T14:13:51.229370", + "exception": false, + "start_time": "2021-03-24T14:13:51.192873", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "### Data\n", + "\n", + "The data set can be downloaded from the github repo\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3", + "metadata": { + "id": "3" + }, + "outputs": [], + "source": [ + "!pip install wget" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4", + "metadata": { + "id": "4" + }, + "outputs": [], + "source": [ + "# Import relevant packages\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.model_selection import cross_val_predict, KFold\n", + "from sklearn.pipeline import make_pipeline\n", + "from sklearn.linear_model import LassoCV, LogisticRegressionCV\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", + "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", + "from sklearn.tree import DecisionTreeRegressor, DecisionTreeClassifier\n", + "import scipy.stats\n", + "import warnings\n", + "from sklearn.base import BaseEstimator, clone\n", + "from IPython.display import Markdown\n", + "import wget\n", + "import seaborn as sns\n", + "warnings.simplefilter('ignore')\n", + "np.random.seed(1234)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5", + "metadata": { + "id": "5" + }, + "outputs": [], + "source": [ + "file = \"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/401k.csv\"\n", + "data = pd.read_csv(file)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6", + "metadata": { + "id": "6" + }, + "outputs": [], + "source": [ + "data.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": { + "id": "7" + }, + "outputs": [], + "source": [ + "data.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8", + "metadata": { + "id": "8" + }, + "outputs": [], + "source": [ + "readme = \"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/401k.md\"\n", + "filename = wget.download(readme)\n", + "Markdown(open(filename, 'r').read())" + ] + }, + { + "cell_type": "markdown", + "id": "9", + "metadata": { + "id": "9", + "papermill": { + "duration": 0.037509, + "end_time": "2021-03-24T14:13:52.250583", + "exception": false, + "start_time": "2021-03-24T14:13:52.213074", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "The data consist of 9,915 observations at the household level drawn from the 1991 Survey of Income and Program Participation (SIPP). All the variables are referred to 1990. We use net financial assets (*net\\_tfa*) as the outcome variable, $Y$, in our analysis. The net financial assets are computed as the sum of IRA balances, 401(k) balances, checking accounts, saving bonds, other interest-earning accounts, other interest-earning assets, stocks, and mutual funds less non mortgage debts." + ] + }, + { + "cell_type": "markdown", + "id": "10", + "metadata": { + "id": "10", + "papermill": { + "duration": 0.038843, + "end_time": "2021-03-24T14:13:52.327055", + "exception": false, + "start_time": "2021-03-24T14:13:52.288212", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Among the $9915$ individuals, $3682$ are eligible to participate in the program. The variable *e401* indicates eligibility and *p401* indicates participation, respectively." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11", + "metadata": { + "id": "11" + }, + "outputs": [], + "source": [ + "sns.countplot(data, x='e401')\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "12", + "metadata": { + "id": "12", + "papermill": { + "duration": 0.039406, + "end_time": "2021-03-24T14:13:53.435306", + "exception": false, + "start_time": "2021-03-24T14:13:53.395900", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Eligibility is highly associated with financial wealth:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13", + "metadata": { + "id": "13" + }, + "outputs": [], + "source": [ + "sns.displot(data=data, x='net_tfa', kind='kde', col='e401', hue='e401', fill=True)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "14", + "metadata": { + "id": "14", + "papermill": { + "duration": 0.040645, + "end_time": "2021-03-24T14:13:54.245822", + "exception": false, + "start_time": "2021-03-24T14:13:54.205177", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "The unconditional APE of e401 is about $19559$:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15", + "metadata": { + "id": "15" + }, + "outputs": [], + "source": [ + "e1 = data[data['e401'] == 1]['net_tfa']\n", + "e0 = data[data['e401'] == 0]['net_tfa']\n", + "print(f'{np.mean(e1) - np.mean(e0):.0f}')" + ] + }, + { + "cell_type": "markdown", + "id": "16", + "metadata": { + "id": "16", + "papermill": { + "duration": 0.041187, + "end_time": "2021-03-24T14:13:54.437695", + "exception": false, + "start_time": "2021-03-24T14:13:54.396508", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Among the $3682$ individuals that are eligible, $2594$ decided to participate in the program. The unconditional APE of p401 is about $27372$:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "17", + "metadata": { + "id": "17" + }, + "outputs": [], + "source": [ + "e1 = data[data['p401'] == 1]['net_tfa']\n", + "e0 = data[data['p401'] == 0]['net_tfa']\n", + "print(f'{np.mean(e1) - np.mean(e0):.0f}')" + ] + }, + { + "cell_type": "markdown", + "id": "18", + "metadata": { + "id": "18", + "papermill": { + "duration": 0.041678, + "end_time": "2021-03-24T14:13:54.640532", + "exception": false, + "start_time": "2021-03-24T14:13:54.598854", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "As discussed, these estimates are biased since they do not account for saver heterogeneity and endogeneity of participation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19", + "metadata": { + "id": "19" + }, + "outputs": [], + "source": [ + "y = data['net_tfa'].values\n", + "Z = data['e401'].values\n", + "D = data['p401'].values\n", + "X = data.drop(['e401', 'p401', 'a401', 'tw', 'tfa', 'net_tfa', 'tfa_he',\n", + " 'hval', 'hmort', 'hequity',\n", + " 'nifa', 'net_nifa', 'net_n401', 'ira',\n", + " 'dum91', 'icat', 'ecat', 'zhat',\n", + " 'i1', 'i2', 'i3', 'i4', 'i5', 'i6', 'i7',\n", + " 'a1', 'a2', 'a3', 'a4', 'a5'], axis=1)\n", + "X.columns" + ] + }, + { + "cell_type": "markdown", + "id": "20", + "metadata": { + "id": "20" + }, + "source": [ + "### We define a transformer that constructs the engineered features for controls" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21", + "metadata": { + "id": "21" + }, + "outputs": [], + "source": [ + "!pip install formulaic" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "22", + "metadata": { + "id": "22" + }, + "outputs": [], + "source": [ + "from sklearn.base import TransformerMixin\n", + "from formulaic import Formula\n", + "\n", + "\n", + "class FormulaTransformer(TransformerMixin, BaseEstimator):\n", + "\n", + " def __init__(self, formula, array=False):\n", + " self.formula = formula\n", + " self.array = array\n", + "\n", + " def fit(self, X, y=None):\n", + " return self\n", + "\n", + " def transform(self, X, y=None):\n", + " df = Formula(self.formula).get_model_matrix(X)\n", + " if self.array:\n", + " return df.values\n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23", + "metadata": { + "id": "23" + }, + "outputs": [], + "source": [ + "transformer = FormulaTransformer(\"0 + poly(age, degree=6, raw=True) + poly(inc, degree=8, raw=True) \"\n", + " \"+ poly(educ, degree=4, raw=True) + poly(fsize, degree=2, raw=True) \"\n", + " \"+ male + marr + twoearn + db + pira + hown\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "24", + "metadata": { + "id": "24" + }, + "outputs": [], + "source": [ + "transformer.fit_transform(X).head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "25", + "metadata": { + "id": "25" + }, + "outputs": [], + "source": [ + "transformer = FormulaTransformer(\"0 + poly(age, degree=6, raw=True) + poly(inc, degree=8, raw=True) \"\n", + " \"+ poly(educ, degree=4, raw=True) + poly(fsize, degree=2, raw=True) \"\n", + " \"+ male + marr + twoearn + db + pira + hown\", array=True)" + ] + }, + { + "cell_type": "markdown", + "id": "26", + "metadata": { + "id": "26" + }, + "source": [ + "# Instrumental Variables: Effect of 401k Participation on Financial Assets" + ] + }, + { + "cell_type": "markdown", + "id": "27", + "metadata": { + "id": "27" + }, + "source": [ + "## Double ML IV under Partial Linearity" + ] + }, + { + "cell_type": "markdown", + "id": "28", + "metadata": { + "id": "28" + }, + "source": [ + "Now, we consider estimation of average treatment effects of participation in 401k, i.e. `p401`, with the binary instrument being eligibility in 401k, i.e. `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. We consider a partially linear structural equation model:\n", + "\\begin{eqnarray*}\n", + "Y & := & g_Y(\\epsilon_Y) D + f_Y(A, X, \\epsilon_Y), \\\\\n", + "D & := & f_D(Z, X, A, \\epsilon_D), \\\\\n", + "Z & := & f_Z(X, \\epsilon_Z),\\\\\n", + "A & : = & f_A(X, \\epsilon_A), \\\\\n", + "X & := & \\epsilon_X,\n", + "\\end{eqnarray*}\n", + "where $A$ is a vector of un-observed confounders.\n", + "\n", + "Under this structural equation model, the average treatment effect:\n", + "\\begin{align}\n", + "\\alpha = E[Y(1) - Y(0)]\n", + "\\end{align}\n", + "can be identified by the moment restriction:\n", + "\\begin{align}\n", + "E[(\\tilde{Y} - \\alpha \\tilde{D}) \\tilde{Z}] = 0\n", + "\\end{align}\n", + "where for any variable $V$, we denote with $\\tilde{V} = V - E[V|X]$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "29", + "metadata": { + "id": "29" + }, + "outputs": [], + "source": [ + "modely = make_pipeline(transformer, StandardScaler(), LassoCV())\n", + "modeld = make_pipeline(transformer, StandardScaler(), LassoCV())\n", + "modelz = make_pipeline(transformer, StandardScaler(), LassoCV())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30", + "metadata": { + "id": "30" + }, + "outputs": [], + "source": [ + "resy = y - modely.fit(X, y).predict(X)\n", + "resZ = Z - modelz.fit(X, Z).predict(X) # instrument is e401k (eligibility)\n", + "resD = D - modeld.fit(X, D).predict(X) # treatment is p401k (participation)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "31", + "metadata": { + "id": "31" + }, + "outputs": [], + "source": [ + "np.mean(resy * resZ) / np.mean(resD * resZ)" + ] + }, + { + "cell_type": "markdown", + "id": "32", + "metadata": { + "id": "32" + }, + "source": [ + "Recall if we want to do inference, we need to either use the theoretically driven penalty parameter for Lasso or perform cross-fitting." + ] + }, + { + "cell_type": "markdown", + "id": "33", + "metadata": { + "id": "33" + }, + "source": [ + "### DML with Non-Linear ML Models and Cross-fitting" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34", + "metadata": { + "id": "34" + }, + "outputs": [], + "source": [ + "def dml(X, Z, D, y, modely, modeld, modelz, *, nfolds, classifier=False):\n", + " '''\n", + " DML for the Partially Linear Model setting with cross-fitting\n", + "\n", + " Input\n", + " -----\n", + " X: the controls\n", + " Z: the instrument\n", + " D: the treatment\n", + " y: the outcome\n", + " modely: the ML model for predicting the outcome y\n", + " modeld: the ML model for predicting the treatment D\n", + " modelz: the ML model for predicting the instrument Z\n", + " nfolds: the number of folds in cross-fitting\n", + " classifier: bool, whether the modeld is a classifier or a regressor\n", + "\n", + " Output\n", + " ------\n", + " point: the point estimate of the treatment effect of D on y\n", + " stderr: the standard error of the treatment effect\n", + " yhat: the cross-fitted predictions for the outcome y\n", + " Dhat: the cross-fitted predictions for the treatment D\n", + " Zhat: the cross-fitted predictions for the instrument Z\n", + " resy: the outcome residuals\n", + " resD: the treatment residuals\n", + " resZ: the instrument residuals\n", + " epsilon: the final residual-on-residual OLS regression residual\n", + " '''\n", + " cv = KFold(n_splits=nfolds, shuffle=True, random_state=123) # shuffled k-folds\n", + " yhat = cross_val_predict(modely, X, y, cv=cv, n_jobs=-1) # out-of-fold predictions for y\n", + " # out-of-fold predictions for D\n", + " # use predict or predict_proba dependent on classifier or regressor for D\n", + " if classifier:\n", + " Dhat = cross_val_predict(modeld, X, D, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", + " Zhat = cross_val_predict(modelz, X, Z, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", + " else:\n", + " Dhat = cross_val_predict(modeld, X, D, cv=cv, n_jobs=-1)\n", + " Zhat = cross_val_predict(modelz, X, Z, cv=cv, n_jobs=-1)\n", + " # calculate outcome and treatment residuals\n", + " resy = y - yhat\n", + " resD = D - Dhat\n", + " resZ = Z - Zhat\n", + " # final stage ols based point estimate and standard error\n", + " point = np.mean(resy * resZ) / np.mean(resD * resZ)\n", + " epsilon = resy - point * resD\n", + " var = np.mean(epsilon**2 * resZ**2) / np.mean(resD * resZ)**2\n", + " stderr = np.sqrt(var / X.shape[0])\n", + " return point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "35", + "metadata": { + "id": "35" + }, + "outputs": [], + "source": [ + "def summary(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon, X, Z, D, y, *, name):\n", + " '''\n", + " Convenience summary function that takes the results of the DML function\n", + " and summarizes several estimation quantities and performance metrics.\n", + " '''\n", + " return pd.DataFrame({'estimate': point, # point estimate\n", + " 'stderr': stderr, # standard error\n", + " 'lower': point - 1.96 * stderr, # lower end of 95% confidence interval\n", + " 'upper': point + 1.96 * stderr, # upper end of 95% confidence interval\n", + " 'rmse y': np.sqrt(np.mean(resy**2)), # RMSE of model that predicts outcome y\n", + " 'rmse D': np.sqrt(np.mean(resD**2)), # RMSE of model that predicts treatment D\n", + " 'rmse Z': np.sqrt(np.mean(resZ**2)), # RMSE of model that predicts treatment D\n", + " 'accuracy D': np.mean(np.abs(resD) < .5), # binary classification accuracy of model for D\n", + " 'accuracy Z': np.mean(np.abs(resZ) < .5), # binary classification accuracy of model for Z\n", + " }, index=[name])" + ] + }, + { + "cell_type": "markdown", + "id": "36", + "metadata": { + "id": "36" + }, + "source": [ + "#### Double Lasso with Cross-Fitting" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37", + "metadata": { + "id": "37" + }, + "outputs": [], + "source": [ + "cv = KFold(n_splits=5, shuffle=True, random_state=123)\n", + "lassoy = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", + "lassod = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", + "lassoz = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", + "result = dml(X, Z, D, y, lassoy, lassod, lassoz, nfolds=3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "38", + "metadata": { + "id": "38" + }, + "outputs": [], + "source": [ + "table = summary(*result, X, Z, D, y, name='double lasso')\n", + "table" + ] + }, + { + "cell_type": "markdown", + "id": "39", + "metadata": { + "id": "39" + }, + "source": [ + "#### Using a Penalized Logistic Regression for D" + ] + }, + { + "cell_type": "markdown", + "id": "40", + "metadata": { + "id": "40" + }, + "source": [ + "Note the default logistic regression uses an ℓ2 penalty. You can use the ℓ1 penalty as well, but computation will take longer." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41", + "metadata": { + "id": "41" + }, + "outputs": [], + "source": [ + "cv = KFold(n_splits=5, shuffle=True, random_state=123)\n", + "lassoy = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", + "lgrd = make_pipeline(transformer, StandardScaler(), LogisticRegressionCV(cv=cv))\n", + "lgrz = make_pipeline(transformer, StandardScaler(), LogisticRegressionCV(cv=cv))\n", + "result = dml(X, Z, D, y, lassoy, lgrd, lgrz, nfolds=3, classifier=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "42", + "metadata": { + "id": "42" + }, + "outputs": [], + "source": [ + "table = pd.concat([table, summary(*result, X, Z, D, y, name='lasso/logistic')])\n", + "table" + ] + }, + { + "cell_type": "markdown", + "id": "43", + "metadata": { + "id": "43" + }, + "source": [ + "### Random Forests" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44", + "metadata": { + "id": "44" + }, + "outputs": [], + "source": [ + "rfy = make_pipeline(transformer, RandomForestRegressor(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", + "rfd = make_pipeline(transformer, RandomForestClassifier(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", + "rfz = make_pipeline(transformer, RandomForestClassifier(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", + "result = dml(X, Z, D, y, rfy, rfd, rfz, nfolds=3, classifier=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45", + "metadata": { + "id": "45" + }, + "outputs": [], + "source": [ + "table = pd.concat([table, summary(*result, X, Z, D, y, name='random forest')])\n", + "table" + ] + }, + { + "cell_type": "markdown", + "id": "46", + "metadata": { + "id": "46" + }, + "source": [ + "### Decision Trees" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47", + "metadata": { + "id": "47" + }, + "outputs": [], + "source": [ + "dtry = make_pipeline(transformer, DecisionTreeRegressor(min_samples_leaf=10, ccp_alpha=.001))\n", + "dtrd = make_pipeline(transformer, DecisionTreeClassifier(min_samples_leaf=10, ccp_alpha=.001))\n", + "dtrz = make_pipeline(transformer, DecisionTreeClassifier(min_samples_leaf=10, ccp_alpha=.001))\n", + "result = dml(X, Z, D, y, dtry, dtrd, dtrz, nfolds=3, classifier=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "48", + "metadata": { + "id": "48" + }, + "outputs": [], + "source": [ + "table = pd.concat([table, summary(*result, X, Z, D, y, name='decision tree')])\n", + "table" + ] + }, + { + "cell_type": "markdown", + "id": "49", + "metadata": { + "id": "49" + }, + "source": [ + "### Boosted Trees" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "50", + "metadata": { + "id": "50" + }, + "outputs": [], + "source": [ + "gbfy = make_pipeline(transformer, GradientBoostingRegressor(max_depth=2, n_iter_no_change=5))\n", + "gbfd = make_pipeline(transformer, GradientBoostingClassifier(max_depth=2, n_iter_no_change=5))\n", + "gbfz = make_pipeline(transformer, GradientBoostingClassifier(max_depth=2, n_iter_no_change=5))\n", + "result = dml(X, Z, D, y, gbfy, gbfd, gbfz, nfolds=3, classifier=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51", + "metadata": { + "id": "51" + }, + "outputs": [], + "source": [ + "table = pd.concat([table, summary(*result, X, Z, D, y, name='boosted forest')])\n", + "table" + ] + }, + { + "cell_type": "markdown", + "id": "52", + "metadata": { + "id": "52" + }, + "source": [ + "## Semi-Crossfitting and AutoML" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "53", + "metadata": { + "id": "53" + }, + "outputs": [], + "source": [ + "!pip install flaml" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54", + "metadata": { + "id": "54" + }, + "outputs": [], + "source": [ + "from flaml import AutoML\n", + "\n", + "flamly = make_pipeline(transformer, AutoML(time_budget=100, task='regression', early_stop=True,\n", + " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", + "flamld = make_pipeline(transformer, AutoML(time_budget=100, task='classification', early_stop=True,\n", + " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", + "flamlz = make_pipeline(transformer, AutoML(time_budget=100, task='classification', early_stop=True,\n", + " eval_method='cv', n_splits=3, metric='r2', verbose=0))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55", + "metadata": { + "id": "55" + }, + "outputs": [], + "source": [ + "flamly.fit(X, y)\n", + "besty = make_pipeline(transformer, clone(flamly[-1].best_model_for_estimator(flamly[-1].best_estimator)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56", + "metadata": { + "id": "56" + }, + "outputs": [], + "source": [ + "flamld.fit(X, D)\n", + "bestd = make_pipeline(transformer, clone(flamld[-1].best_model_for_estimator(flamld[-1].best_estimator)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "57", + "metadata": { + "id": "57" + }, + "outputs": [], + "source": [ + "flamlz.fit(X, Z)\n", + "bestz = make_pipeline(transformer, clone(flamlz[-1].best_model_for_estimator(flamlz[-1].best_estimator)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58", + "metadata": { + "id": "58" + }, + "outputs": [], + "source": [ + "result = dml(X, Z, D, y, besty, bestd, bestz, nfolds=3, classifier=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "59", + "metadata": { + "id": "59" + }, + "outputs": [], + "source": [ + "table = pd.concat([table, summary(*result, X, Z, D, y, name='automl (semi-cfit)')])\n", + "table" + ] + }, + { + "cell_type": "markdown", + "id": "60", + "metadata": { + "id": "60" + }, + "source": [ + "## Inference Robust to Weak Identification" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61", + "metadata": { + "id": "61" + }, + "outputs": [], + "source": [ + "def robust_inference(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon, X, Z, D, y, *, grid, alpha=0.05):\n", + " '''\n", + " Inference in the partially linear IV model that is robust to weak identification.\n", + " grid: grid of theta values to search over when trying to identify the confidence region\n", + " alpha: confidence level\n", + " '''\n", + " n = X.shape[0]\n", + " thr = scipy.stats.chi2.ppf(1 - alpha, df=1)\n", + " accept = []\n", + " for theta in grid:\n", + " moment = (resy - theta * resD) * resZ\n", + " test = n * np.mean(moment)**2 / np.var(moment)\n", + " if test <= thr:\n", + " accept.append(theta)\n", + " return accept" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62", + "metadata": { + "id": "62" + }, + "outputs": [], + "source": [ + "region = robust_inference(*result, X, Z, D, y, grid=np.linspace(0, 20000, 10000))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "63", + "metadata": { + "id": "63" + }, + "outputs": [], + "source": [ + "np.min(region), np.max(region)" + ] + }, + { + "cell_type": "markdown", + "id": "64", + "metadata": { + "id": "64" + }, + "source": [ + "We find that the robust inference confidence region is almost identical to the normal based inference. We are most probably in the strong instrument regime. We can check the t-statistic for the effect of the instrument on the treatment, to verify that" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "65", + "metadata": { + "id": "65" + }, + "outputs": [], + "source": [ + "beta = np.mean(resZ * resD) / np.mean(resZ**2)\n", + "var_beta = np.mean((resD - beta * resZ)**2 * resZ**2) / np.mean(resZ**2)**2\n", + "se_beta = np.sqrt(var_beta / resD.shape[0])\n", + "print(np.abs(beta) / se_beta)" + ] + }, + { + "cell_type": "markdown", + "id": "66", + "metadata": { + "id": "66" + }, + "source": [ + "Since the $t$-statistic is very large, the normal based approximation and confidence intervals should be fine. We can also get this $t$-statistic by simply using the statsmodels package" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "67", + "metadata": { + "id": "67" + }, + "outputs": [], + "source": [ + "from statsmodels.api import OLS\n", + "OLS(endog=resD, exog=resZ, hasconst=False).fit(cov_type='HC0').summary()" + ] + }, + { + "cell_type": "markdown", + "id": "68", + "metadata": { + "id": "68" + }, + "source": [ + "# Interactive IV Model and LATE" + ] + }, + { + "cell_type": "markdown", + "id": "69", + "metadata": { + "id": "69" + }, + "source": [ + "Now, we consider estimation of local average treatment effects (LATE) of participation `p401`, with the binary instrument `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. Here the structural equation model is:\n", + "\\begin{eqnarray}\n", + "Y &:=& f_Y (D, X, A, \\epsilon_Y) \\\\\n", + "D &:= & f_D(Z, X, A, \\epsilon_D) \\in \\{0,1\\}, \\\\\n", + "Z &:= & f_Z(X,\\epsilon_Z) \\in \\{0,1\\}, \\\\\n", + "X &:=& \\epsilon_X, \\quad A = \\epsilon_A,\n", + "\\end{eqnarray}\n", + "where $\\epsilon$'s are all exogenous and independent,\n", + "and\n", + "$$\n", + "z \\mapsto f_D(z , A, X, \\epsilon_D) \\text{ is weakly increasing (weakly monotone)}.\n", + "$$\n", + "and $A$ is a vector of unobserved confounders. Note that in our setting monotonicity is satisfied, since participation is only feasible when it is eligible. Thus we have that $D=0$ whenever $Z=0$. Thus it can only be that $f_D(1, A, X, \\epsilon_D) \\geq 0 = f_D(0, A, X, \\epsilon_D)$.\n", + "\n", + "In this case, we can estimate the local average treatment effect (LATE):\n", + "$$\n", + "\\alpha = E[Y(1) - Y(0) | D(1) > D(0)]\n", + "$$\n", + "This can be identified using the Neyman orthogonal moment equation:\n", + "\\begin{align}\n", + "E\\left[g(1, X) - g(0, X) + H(Z) (Y - g(Z, X)) - \\alpha \\cdot (m(1, X) - m(0, X) + H(Z) (D - m(Z, X))\\right] = 0\n", + "\\end{align}\n", + "where\n", + "\\begin{align}\n", + "g(Z,X) =~& E[Y|Z,X],\\\\\n", + "m(Z,X) =~& E[D|Z,X],\\\\\n", + "H(Z) =~& \\frac{Z}{Pr(Z=1|X)} - \\frac{1 - Z}{1 - Pr(Z=1|X)}\n", + "\\end{align}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70", + "metadata": { + "id": "70" + }, + "outputs": [], + "source": [ + "def iiv(X, Z, D, y, modely0, modely1, modeld1, modeld0, modelz, *, trimming=0.01, nfolds):\n", + " '''\n", + " DML for the Interactive IV Model setting with cross-fitting\n", + "\n", + " Input\n", + " -----\n", + " X: the controls\n", + " D: the treatment\n", + " y: the outcome\n", + " modely0: the ML model for predicting the outcome y in the Z=0 population\n", + " modely1: the ML model for predicting the outcome y in the Z=1 population\n", + " modeld0: the ML model for predicting the treatment D in the Z=0 population\n", + " modeld1: the ML model for predicting the treatment D in the Z=1 population\n", + " modelz: the ML model for predicting the instrument Z\n", + " trimming: threshold below which to trim propensities\n", + " nfolds: the number of folds in cross-fitting\n", + "\n", + " Output\n", + " ------\n", + " point: the point estimate of the treatment effect of D on y\n", + " stderr: the standard error of the treatment effect\n", + " yhat: the cross-fitted predictions for the outcome y\n", + " Dhat: the cross-fitted predictions for the outcome D\n", + " resy: the outcome residuals\n", + " resD: the treatment residuals\n", + " drhat: the doubly robust quantity for each sample\n", + " '''\n", + " cv = KFold(n_splits=nfolds, shuffle=True, random_state=123)\n", + "\n", + " yhat0, yhat1 = np.zeros(y.shape), np.zeros(y.shape)\n", + " Dhat0, Dhat1 = np.zeros(D.shape), np.zeros(D.shape)\n", + "\n", + " # we will fit a model E[Y| D, X] by fitting a separate model for D==0\n", + " # and a separate model for D==1.\n", + " for train, test in cv.split(X, y):\n", + " # train an outcome model on training data that received Z=0 and predict outcome on all data in test set\n", + " yhat0[test] = clone(modely0).fit(X.iloc[train][Z[train] == 0], y[train][Z[train] == 0]).predict(X.iloc[test])\n", + " # train an outcome model on training data that received Z=1 and predict outcome on all data in test set\n", + " yhat1[test] = clone(modely1).fit(X.iloc[train][Z[train] == 1], y[train][Z[train] == 1]).predict(X.iloc[test])\n", + " # train a treatment model on training data that received Z=0 and predict treatment on all data in test set\n", + " if np.mean(D[train][Z[train] == 0]) > 0: # it could be that D=0, whenever Z=0 deterministically\n", + " modeld0_ = clone(modeld0).fit(X.iloc[train][Z[train] == 0], D[train][Z[train] == 0])\n", + " Dhat0[test] = modeld0_.predict_proba(X.iloc[test])[:, 1]\n", + " # train a treamtent model on training data that received Z=1 and predict treatment on all data in test set\n", + " if np.mean(D[train][Z[train] == 1]) < 1: # it could be that D=1, whenever Z=1 deterministically\n", + " modeld1_ = clone(modeld1).fit(X.iloc[train][Z[train] == 1], D[train][Z[train] == 1])\n", + " Dhat1[test] = modeld1_.predict_proba(X.iloc[test])[:, 1]\n", + " else:\n", + " Dhat1[test] = 1\n", + "\n", + " # prediction of treatment and outcome for observed instrument\n", + " yhat = yhat0 * (1 - Z) + yhat1 * Z\n", + " Dhat = Dhat0 * (1 - Z) + Dhat1 * Z\n", + " # propensity scores\n", + " Zhat = cross_val_predict(modelz, X, Z, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", + " Zhat = np.clip(Zhat, trimming, 1 - trimming)\n", + " # doubly robust quantity for every sample\n", + " HZ = Z / Zhat - (1 - Z) / (1 - Zhat)\n", + " drZ = yhat1 - yhat0 + (y - yhat) * HZ\n", + " drD = Dhat1 - Dhat0 + (D - Dhat) * HZ\n", + " point = np.mean(drZ) / np.mean(drD)\n", + " psi = drZ - point * drD\n", + " Jhat = np.mean(drD)\n", + " var = np.mean(psi**2) / Jhat**2\n", + " stderr = np.sqrt(var / X.shape[0])\n", + " return point, stderr, yhat, Dhat, Zhat, y - yhat, D - Dhat, Z - Zhat, drZ, drD" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "71", + "metadata": { + "id": "71" + }, + "outputs": [], + "source": [ + "def summary(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, drZ, drD, X, Z, D, y, *, name):\n", + " '''\n", + " Convenience summary function that takes the results of the DML function\n", + " and summarizes several estimation quantities and performance metrics.\n", + " '''\n", + " return pd.DataFrame({'estimate': point, # point estimate\n", + " 'stderr': stderr, # standard error\n", + " 'lower': point - 1.96 * stderr, # lower end of 95% confidence interval\n", + " 'upper': point + 1.96 * stderr, # upper end of 95% confidence interval\n", + " 'rmse y': np.sqrt(np.mean(resy**2)), # RMSE of model that predicts outcome y\n", + " 'rmse D': np.sqrt(np.mean(resD**2)), # RMSE of model that predicts treatment D\n", + " 'rmse Z': np.sqrt(np.mean(resZ**2)), # RMSE of model that predicts treatment D\n", + " 'accuracy D': np.mean(np.abs(resD) < .5), # binary classification accuracy of model for D\n", + " 'accuracy Z': np.mean(np.abs(resZ) < .5), # binary classification accuracy of model for Z\n", + " }, index=[name])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "72", + "metadata": { + "id": "72" + }, + "outputs": [], + "source": [ + "cv = KFold(n_splits=5, shuffle=True, random_state=123)\n", + "lassoy = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", + "lgrd = make_pipeline(transformer, StandardScaler(), LogisticRegressionCV(cv=cv))\n", + "lgrz = make_pipeline(transformer, StandardScaler(), LogisticRegressionCV(cv=cv))\n", + "result = iiv(X, Z, D, y, lassoy, lassoy, lgrd, lgrd, lgrz, nfolds=3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73", + "metadata": { + "id": "73" + }, + "outputs": [], + "source": [ + "tableiiv = summary(*result, X, Z, D, y, name='lasso/logistic')\n", + "tableiiv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74", + "metadata": { + "id": "74" + }, + "outputs": [], + "source": [ + "rfy = make_pipeline(transformer, RandomForestRegressor(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", + "rfd = make_pipeline(transformer, RandomForestClassifier(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", + "rfz = make_pipeline(transformer, RandomForestClassifier(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", + "result = iiv(X, Z, D, y, rfy, rfy, rfd, rfd, rfz, nfolds=3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75", + "metadata": { + "id": "75" + }, + "outputs": [], + "source": [ + "tableiiv = pd.concat([tableiiv, summary(*result, X, Z, D, y, name='random forest')])\n", + "tableiiv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "76", + "metadata": { + "id": "76" + }, + "outputs": [], + "source": [ + "dtry = make_pipeline(transformer, DecisionTreeRegressor(min_samples_leaf=10, ccp_alpha=.001))\n", + "dtrd = make_pipeline(transformer, DecisionTreeClassifier(min_samples_leaf=10, ccp_alpha=.001))\n", + "dtrz = make_pipeline(transformer, DecisionTreeClassifier(min_samples_leaf=10, ccp_alpha=.001))\n", + "result = iiv(X, Z, D, y, dtry, dtry, dtrd, dtrd, dtrz, nfolds=3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "77", + "metadata": { + "id": "77" + }, + "outputs": [], + "source": [ + "tableiiv = pd.concat([tableiiv, summary(*result, X, Z, D, y, name='decision trees')])\n", + "tableiiv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78", + "metadata": { + "id": "78" + }, + "outputs": [], + "source": [ + "gbfy = make_pipeline(transformer, GradientBoostingRegressor(max_depth=2, n_iter_no_change=5))\n", + "gbfd = make_pipeline(transformer, GradientBoostingClassifier(max_depth=2, n_iter_no_change=5))\n", + "gbfz = make_pipeline(transformer, GradientBoostingClassifier(max_depth=2, n_iter_no_change=5))\n", + "result = iiv(X, Z, D, y, gbfy, gbfy, gbfd, gbfd, gbfz, nfolds=3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "79", + "metadata": { + "id": "79" + }, + "outputs": [], + "source": [ + "tableiiv = pd.concat([tableiiv, summary(*result, X, Z, D, y, name='boosted trees')])\n", + "tableiiv" + ] + }, + { + "cell_type": "markdown", + "id": "80", + "metadata": { + "id": "80" + }, + "source": [ + "## Semi-Crossfitting" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "81", + "metadata": { + "id": "81" + }, + "outputs": [], + "source": [ + "from flaml import AutoML\n", + "flamly0 = make_pipeline(transformer, AutoML(time_budget=60, task='regression', early_stop=True,\n", + " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", + "flamly1 = make_pipeline(transformer, AutoML(time_budget=60, task='regression', early_stop=True,\n", + " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", + "flamld1 = make_pipeline(transformer, AutoML(time_budget=60, task='classification', early_stop=True,\n", + " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", + "flamlz = make_pipeline(transformer, AutoML(time_budget=60, task='classification', early_stop=True,\n", + " eval_method='cv', n_splits=3, metric='r2', verbose=0))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "82", + "metadata": { + "id": "82" + }, + "outputs": [], + "source": [ + "flamly0.fit(X[Z == 0], y[Z == 0])\n", + "besty0 = make_pipeline(transformer, clone(flamly0[-1].best_model_for_estimator(flamly0[-1].best_estimator)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83", + "metadata": { + "id": "83" + }, + "outputs": [], + "source": [ + "flamly1.fit(X[Z == 1], y[Z == 1])\n", + "besty1 = make_pipeline(transformer, clone(flamly1[-1].best_model_for_estimator(flamly1[-1].best_estimator)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84", + "metadata": { + "id": "84" + }, + "outputs": [], + "source": [ + "from sklearn.dummy import DummyClassifier\n", + "bestd0 = DummyClassifier() # since D=0 whenever Z=0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85", + "metadata": { + "id": "85" + }, + "outputs": [], + "source": [ + "flamld1.fit(X[Z == 1], D[Z == 1])\n", + "bestd1 = make_pipeline(transformer, clone(flamld1[-1].best_model_for_estimator(flamld1[-1].best_estimator)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "86", + "metadata": { + "id": "86" + }, + "outputs": [], + "source": [ + "flamlz.fit(X, Z)\n", + "bestz = make_pipeline(transformer, clone(flamlz[-1].best_model_for_estimator(flamlz[-1].best_estimator)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "87", + "metadata": { + "id": "87" + }, + "outputs": [], + "source": [ + "result = iiv(X, Z, D, y, besty0, besty1, bestd1, bestd0, bestz, nfolds=3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88", + "metadata": { + "id": "88" + }, + "outputs": [], + "source": [ + "tableiiv = pd.concat([tableiiv, summary(*result, X, Z, D, y, name='automl (semi-cfit)')])\n", + "tableiiv" + ] + }, + { + "cell_type": "markdown", + "id": "89", + "metadata": { + "id": "89" + }, + "source": [ + "Comparing with the PLR model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "90", + "metadata": { + "id": "90" + }, + "outputs": [], + "source": [ + "table" + ] + }, + { + "cell_type": "markdown", + "id": "91", + "metadata": { + "id": "91" + }, + "source": [ + "We find that the PLR model estimates of the effect are generally larger; though both sets of results have overlapping confidence intervals." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "92", + "metadata": { + "id": "92" + }, + "outputs": [], + "source": [ + "def iivm_robust_inference(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, drZ, drD, X, Z, D, y, *,\n", + " grid, alpha=0.05):\n", + " '''\n", + " Inference in the partially linear IV model that is robust to weak identification.\n", + " grid: grid of theta values to search over when trying to identify the confidence region\n", + " alpha: confidence level\n", + " '''\n", + " n = X.shape[0]\n", + " thr = scipy.stats.chi2.ppf(1 - alpha, df=1)\n", + " accept = []\n", + " for theta in grid:\n", + " moment = drZ - theta * drD\n", + " test = n * np.mean(moment)**2 / np.var(moment)\n", + " if test <= thr:\n", + " accept.append(theta)\n", + " return accept" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "93", + "metadata": { + "id": "93" + }, + "outputs": [], + "source": [ + "region = iivm_robust_inference(*result, X, Z, D, y, grid=np.linspace(0, 20000, 10000))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94", + "metadata": { + "id": "94" + }, + "outputs": [], + "source": [ + "np.min(region), np.max(region)" + ] + }, + { + "cell_type": "markdown", + "id": "95", + "metadata": { + "id": "95" + }, + "source": [ + "We find again that the robust inference confidence region is almost identical to the normal based inference. We are most probably in the strong instrument regime. We can check the t-statistic for the effect of the instrument on the treatment to verify this." + ] + }, + { + "cell_type": "markdown", + "id": "96", + "metadata": { + "id": "96" + }, + "source": [ + "# Using EconML\n", + "\n", + "There exist nice packages out there that can help us do our estimation with the simple call of a function. Such packages include EconML (Python) and DoubleML (Python and R). We run through PLR IV with EconML and IIVM with DoubleML to illustrate." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "97", + "metadata": { + "id": "97" + }, + "outputs": [], + "source": [ + "!pip install --upgrade \"econml==0.17.0\"" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "98", + "metadata": { + "id": "98" + }, + "outputs": [], + "source": [ + "W = StandardScaler().fit_transform(transformer.fit_transform(X))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99", + "metadata": { + "id": "99" + }, + "outputs": [], + "source": [ + "from econml.iv.dml import OrthoIV\n", + "\n", + "cv = KFold(n_splits=5, shuffle=True, random_state=123)\n", + "plriv = OrthoIV(model_y_xw=LassoCV(cv=cv),\n", + " model_t_xw=LogisticRegressionCV(cv=cv),\n", + " model_z_xw=LogisticRegressionCV(cv=cv),\n", + " cv=3, discrete_treatment=True, discrete_instrument=True, random_state=123)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "100", + "metadata": { + "id": "100" + }, + "outputs": [], + "source": [ + "plriv.fit(y, D, Z=Z, W=W)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "101", + "metadata": { + "id": "101" + }, + "outputs": [], + "source": [ + "plriv.summary()" + ] + }, + { + "cell_type": "markdown", + "id": "102", + "metadata": { + "id": "102" + }, + "source": [ + "EconML does not yet support LATE estimation under the fully interactive IV model.\n", + "\n", + "It does support however a more general IV model where the variables `X` are allowed to alter the effect heterogeneity and the compliance heterogeneity, but the un-observed confounder is not allowed to jointly alter both. In other words, it assumes a structural equation model of the form:\n", + "\\begin{eqnarray*}\n", + "Y & := & g_Y(X, \\epsilon_Y) D + f_Y(A, X, \\epsilon_Y), \\\\\n", + "D & := & f_D(Z, X, A, \\epsilon_D), \\\\\n", + "Z & := & f_Z(X, \\epsilon_Z),\\\\\n", + "A & : = & f_A(X, \\epsilon_A), \\\\\n", + "X & := & \\epsilon_X,\n", + "\\end{eqnarray*}\n", + "where $A$ is a vector of un-observed confounders. Under these assumptions the average treatment effect is identifiable (not just the local average treatment effect). In particular, the average treatment effect can be identified as:\n", + "\\begin{align}\n", + "\\alpha := E[Y(1) - Y(0)] = E\\left[ \\frac{Cov(Y, Z\\mid X)}{Cov(D, Z\\mid X)} \\right] = E\\left[ \\frac{E[\\tilde{Y} \\tilde{Z}\\mid X]}{E[\\tilde{Z} \\tilde{D}\\mid X]} \\right]\n", + "\\end{align}\n", + "where for any variable $V$ we have $\\tilde{V}=V-E[V|X]$.\n", + "\n", + "However, the variance of this method can be quite larger than the LATE method, since it uses a local compliance measure, i.e. $E[\\tilde{Z} \\tilde{D}\\mid X]$, which can be small for some regions of $X$. This extra variance stems from the fact that we are going after a more challenging causal quantity which is the average treatment effect, instead of the local average treatment effect, and hence we need to re-weight the data based on compliance levels, conditional on observable covariates $X$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "103", + "metadata": { + "id": "103" + }, + "outputs": [], + "source": [ + "from econml.iv.dr import LinearDRIV\n", + "\n", + "driv = LinearDRIV(model_y_xw=LassoCV(cv=cv),\n", + " model_t_xw=LogisticRegressionCV(cv=cv),\n", + " model_t_xwz=LogisticRegressionCV(cv=cv),\n", + " model_tz_xw=LassoCV(cv=cv),\n", + " flexible_model_effect=LassoCV(cv=cv),\n", + " projection=True,\n", + " discrete_instrument=True, discrete_treatment=True, cv=3, cov_clip=0.01, random_state=123)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "104", + "metadata": { + "id": "104" + }, + "outputs": [], + "source": [ + "driv.fit(y, D, Z=Z, W=W)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "105", + "metadata": { + "id": "105" + }, + "outputs": [], + "source": [ + "driv.summary()" + ] + }, + { + "cell_type": "markdown", + "id": "106", + "metadata": { + "id": "106" + }, + "source": [ + "# Using the DoubleML Package\n", + "\n", + "We run through IIVM using `DoubleML` below to illustrate. The `DoubleML` package internally builds on `mlr3`. We use the meta package `mlr3` to generate predictions with machine learning methods. A comprehensive introduction and description of the `mlr3` package is provided in the [mlr3book](https://mlr3book.mlr-org.com/). A list of all learners that you can use in `mlr3` can be found [here](https://mlr3extralearners.mlr-org.com/articles/learners/list_learners.html). The entry in the columns *mlr3 Package* and *Packages* indicate which packages must be installed/loaded in your R session.\n", + "\n", + "You find additional information about `DoubleML` on the package on the package website https://docs.doubleml.org/ and the R documentation page https://docs.doubleml.org/r/stable/." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "107", + "metadata": { + "id": "107" + }, + "outputs": [], + "source": [ + "!pip install doubleml~=0.7.0" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "108", + "metadata": { + "id": "108" + }, + "outputs": [], + "source": [ + "from doubleml import DoubleMLData\n", + "dml_data = DoubleMLData.from_arrays(W, y, D, z=Z)\n", + "print(dml_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "109", + "metadata": { + "id": "109" + }, + "outputs": [], + "source": [ + "import doubleml as dml\n", + "\n", + "\n", + "class RegWrapper(BaseEstimator):\n", + "\n", + " def __init__(self, clf):\n", + " self.clf = clf\n", + "\n", + " def fit(self, X, y):\n", + " self.clf_ = clone(self.clf).fit(X, y)\n", + " return self\n", + "\n", + " def predict(self, X):\n", + " return self.clf_.predict_proba(X)[:, 1]\n", + "\n", + "\n", + "dml_plr_obj = dml.DoubleMLPLIV(dml_data,\n", + " LassoCV(cv=cv),\n", + " RegWrapper(LogisticRegressionCV(cv=cv)),\n", + " RegWrapper(LogisticRegressionCV(cv=cv)),\n", + " n_folds=3)\n", + "print(dml_plr_obj.fit())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "110", + "metadata": { + "id": "110" + }, + "outputs": [], + "source": [ + "import doubleml as dml\n", + "\n", + "\n", + "class Wrapper(BaseEstimator):\n", + "\n", + " def __init__(self, clf):\n", + " self.clf = clf\n", + "\n", + " def fit(self, X, y):\n", + " if np.mean(y) == 0 or np.mean(y) == 1:\n", + " self.clf_ = np.mean(y)\n", + " else:\n", + " self.clf_ = clone(self.clf).fit(X, y)\n", + " self.classes_ = np.array([0, 1])\n", + " return self\n", + "\n", + " def predict_proba(self, X):\n", + " probs = np.zeros((X.shape[0], 2))\n", + " if self.clf_ == 0:\n", + " probs[:, 0] = 1\n", + " return probs\n", + " if self.clf_ == 1:\n", + " probs[:, 1] = 1\n", + " return probs\n", + " return self.clf_.predict_proba(X)\n", + "\n", + " def predict(self, X):\n", + " return self.predict_proba(X)[:, 1] >= .5\n", + "\n", + "\n", + "dml_plr_obj = dml.DoubleMLIIVM(dml_data,\n", + " LassoCV(cv=cv),\n", + " Wrapper(LogisticRegressionCV(cv=cv)),\n", + " Wrapper(LogisticRegressionCV(cv=cv)),\n", + " n_folds=3)\n", + "print(dml_plr_obj.fit())" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.5" + }, "papermill": { - "duration": 0.041678, - "end_time": "2021-03-24T14:13:54.640532", - "exception": false, - "start_time": "2021-03-24T14:13:54.598854", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "As discussed, these estimates are biased since they do not account for saver heterogeneity and endogeneity of participation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "19", - "metadata": { - "id": "a9354414" - }, - "outputs": [], - "source": [ - "y = data['net_tfa'].values\n", - "Z = data['e401'].values\n", - "D = data['p401'].values\n", - "X = data.drop(['e401', 'p401', 'a401', 'tw', 'tfa', 'net_tfa', 'tfa_he',\n", - " 'hval', 'hmort', 'hequity',\n", - " 'nifa', 'net_nifa', 'net_n401', 'ira',\n", - " 'dum91', 'icat', 'ecat', 'zhat',\n", - " 'i1', 'i2', 'i3', 'i4', 'i5', 'i6', 'i7',\n", - " 'a1', 'a2', 'a3', 'a4', 'a5'], axis=1)\n", - "X.columns" - ] - }, - { - "cell_type": "markdown", - "id": "20", - "metadata": { - "id": "c4c3e489" - }, - "source": [ - "### We define a transformer that constructs the engineered features for controls" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "21", - "metadata": { - "id": "a2cfdf4c" - }, - "outputs": [], - "source": [ - "!pip install formulaic" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "22", - "metadata": { - "id": "53b1283d" - }, - "outputs": [], - "source": [ - "from sklearn.base import TransformerMixin\n", - "from formulaic import Formula\n", - "\n", - "\n", - "class FormulaTransformer(TransformerMixin, BaseEstimator):\n", - "\n", - " def __init__(self, formula, array=False):\n", - " self.formula = formula\n", - " self.array = array\n", - "\n", - " def fit(self, X, y=None):\n", - " return self\n", - "\n", - " def transform(self, X, y=None):\n", - " df = Formula(self.formula).get_model_matrix(X)\n", - " if self.array:\n", - " return df.values\n", - " return df" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "23", - "metadata": { - "id": "824ee320" - }, - "outputs": [], - "source": [ - "transformer = FormulaTransformer(\"0 + poly(age, degree=6, raw=True) + poly(inc, degree=8, raw=True) \"\n", - " \"+ poly(educ, degree=4, raw=True) + poly(fsize, degree=2, raw=True) \"\n", - " \"+ male + marr + twoearn + db + pira + hown\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "24", - "metadata": { - "id": "b35bbd34" - }, - "outputs": [], - "source": [ - "transformer.fit_transform(X).head()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "25", - "metadata": { - "id": "8c5e20e7" - }, - "outputs": [], - "source": [ - "transformer = FormulaTransformer(\"0 + poly(age, degree=6, raw=True) + poly(inc, degree=8, raw=True) \"\n", - " \"+ poly(educ, degree=4, raw=True) + poly(fsize, degree=2, raw=True) \"\n", - " \"+ male + marr + twoearn + db + pira + hown\", array=True)" - ] - }, - { - "cell_type": "markdown", - "id": "26", - "metadata": { - "id": "de8e13e7" - }, - "source": [ - "# Instrumental Variables: Effect of 401k Participation on Financial Assets" - ] - }, - { - "cell_type": "markdown", - "id": "27", - "metadata": { - "id": "61e02e77" - }, - "source": [ - "## Double ML IV under Partial Linearity" - ] - }, - { - "cell_type": "markdown", - "id": "28", - "metadata": { - "id": "83869c99" - }, - "source": [ - "Now, we consider estimation of average treatment effects of participation in 401k, i.e. `p401`, with the binary instrument being eligibility in 401k, i.e. `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. We consider a partially linear structural equation model:\n", - "\\begin{eqnarray*}\n", - "Y & := & g_Y(\\epsilon_Y) D + f_Y(A, X, \\epsilon_Y), \\\\\n", - "D & := & f_D(Z, X, A, \\epsilon_D), \\\\\n", - "Z & := & f_Z(X, \\epsilon_Z),\\\\\n", - "A & : = & f_A(X, \\epsilon_A), \\\\\n", - "X & := & \\epsilon_X,\n", - "\\end{eqnarray*}\n", - "where $A$ is a vector of un-observed confounders.\n", - "\n", - "Under this structural equation model, the average treatment effect:\n", - "\\begin{align}\n", - "\\alpha = E[Y(1) - Y(0)]\n", - "\\end{align}\n", - "can be identified by the moment restriction:\n", - "\\begin{align}\n", - "E[(\\tilde{Y} - \\alpha \\tilde{D}) \\tilde{Z}] = 0\n", - "\\end{align}\n", - "where for any variable $V$, we denote with $\\tilde{V} = V - E[V|X]$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "29", - "metadata": { - "id": "0d743ebe" - }, - "outputs": [], - "source": [ - "modely = make_pipeline(transformer, StandardScaler(), LassoCV())\n", - "modeld = make_pipeline(transformer, StandardScaler(), LassoCV())\n", - "modelz = make_pipeline(transformer, StandardScaler(), LassoCV())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "30", - "metadata": { - "id": "e7bd792d" - }, - "outputs": [], - "source": [ - "resy = y - modely.fit(X, y).predict(X)\n", - "resZ = Z - modelz.fit(X, Z).predict(X) # instrument is e401k (eligibility)\n", - "resD = D - modeld.fit(X, D).predict(X) # treatment is p401k (participation)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "31", - "metadata": { - "id": "7ebedcb0" - }, - "outputs": [], - "source": [ - "np.mean(resy * resZ) / np.mean(resD * resZ)" - ] - }, - { - "cell_type": "markdown", - "id": "32", - "metadata": { - "id": "cH3YkvuSZfP0" - }, - "source": [ - "Recall if we want to do inference, we need to either use the theoretically driven penalty parameter for Lasso or perform cross-fitting." - ] - }, - { - "cell_type": "markdown", - "id": "33", - "metadata": { - "id": "b218c25e" - }, - "source": [ - "### DML with Non-Linear ML Models and Cross-fitting" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34", - "metadata": { - "id": "333c19ed" - }, - "outputs": [], - "source": [ - "def dml(X, Z, D, y, modely, modeld, modelz, *, nfolds, classifier=False):\n", - " '''\n", - " DML for the Partially Linear Model setting with cross-fitting\n", - "\n", - " Input\n", - " -----\n", - " X: the controls\n", - " Z: the instrument\n", - " D: the treatment\n", - " y: the outcome\n", - " modely: the ML model for predicting the outcome y\n", - " modeld: the ML model for predicting the treatment D\n", - " modelz: the ML model for predicting the instrument Z\n", - " nfolds: the number of folds in cross-fitting\n", - " classifier: bool, whether the modeld is a classifier or a regressor\n", - "\n", - " Output\n", - " ------\n", - " point: the point estimate of the treatment effect of D on y\n", - " stderr: the standard error of the treatment effect\n", - " yhat: the cross-fitted predictions for the outcome y\n", - " Dhat: the cross-fitted predictions for the treatment D\n", - " Zhat: the cross-fitted predictions for the instrument Z\n", - " resy: the outcome residuals\n", - " resD: the treatment residuals\n", - " resZ: the instrument residuals\n", - " epsilon: the final residual-on-residual OLS regression residual\n", - " '''\n", - " cv = KFold(n_splits=nfolds, shuffle=True, random_state=123) # shuffled k-folds\n", - " yhat = cross_val_predict(modely, X, y, cv=cv, n_jobs=-1) # out-of-fold predictions for y\n", - " # out-of-fold predictions for D\n", - " # use predict or predict_proba dependent on classifier or regressor for D\n", - " if classifier:\n", - " Dhat = cross_val_predict(modeld, X, D, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", - " Zhat = cross_val_predict(modelz, X, Z, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", - " else:\n", - " Dhat = cross_val_predict(modeld, X, D, cv=cv, n_jobs=-1)\n", - " Zhat = cross_val_predict(modelz, X, Z, cv=cv, n_jobs=-1)\n", - " # calculate outcome and treatment residuals\n", - " resy = y - yhat\n", - " resD = D - Dhat\n", - " resZ = Z - Zhat\n", - " # final stage ols based point estimate and standard error\n", - " point = np.mean(resy * resZ) / np.mean(resD * resZ)\n", - " epsilon = resy - point * resD\n", - " var = np.mean(epsilon**2 * resZ**2) / np.mean(resD * resZ)**2\n", - " stderr = np.sqrt(var / X.shape[0])\n", - " return point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "35", - "metadata": { - "id": "7d01b969" - }, - "outputs": [], - "source": [ - "def summary(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon, X, Z, D, y, *, name):\n", - " '''\n", - " Convenience summary function that takes the results of the DML function\n", - " and summarizes several estimation quantities and performance metrics.\n", - " '''\n", - " return pd.DataFrame({'estimate': point, # point estimate\n", - " 'stderr': stderr, # standard error\n", - " 'lower': point - 1.96 * stderr, # lower end of 95% confidence interval\n", - " 'upper': point + 1.96 * stderr, # upper end of 95% confidence interval\n", - " 'rmse y': np.sqrt(np.mean(resy**2)), # RMSE of model that predicts outcome y\n", - " 'rmse D': np.sqrt(np.mean(resD**2)), # RMSE of model that predicts treatment D\n", - " 'rmse Z': np.sqrt(np.mean(resZ**2)), # RMSE of model that predicts treatment D\n", - " 'accuracy D': np.mean(np.abs(resD) < .5), # binary classification accuracy of model for D\n", - " 'accuracy Z': np.mean(np.abs(resZ) < .5), # binary classification accuracy of model for Z\n", - " }, index=[name])" - ] - }, - { - "cell_type": "markdown", - "id": "36", - "metadata": { - "id": "50821e2a" - }, - "source": [ - "#### Double Lasso with Cross-Fitting" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "37", - "metadata": { - "id": "3245907f" - }, - "outputs": [], - "source": [ - "cv = KFold(n_splits=5, shuffle=True, random_state=123)\n", - "lassoy = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", - "lassod = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", - "lassoz = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", - "result = dml(X, Z, D, y, lassoy, lassod, lassoz, nfolds=3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "38", - "metadata": { - "id": "cb8e6883" - }, - "outputs": [], - "source": [ - "table = summary(*result, X, Z, D, y, name='double lasso')\n", - "table" - ] - }, - { - "cell_type": "markdown", - "id": "39", - "metadata": { - "id": "30317504" - }, - "source": [ - "#### Using a Penalized Logistic Regression for D" - ] - }, - { - "cell_type": "markdown", - "id": "40", - "metadata": { - "id": "TCnwbZAk3hPd" - }, - "source": [ - "Note the default logistic regression uses an ℓ2 penalty. You can use the ℓ1 penalty as well, but computation will take longer." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "41", - "metadata": { - "id": "24237b0c" - }, - "outputs": [], - "source": [ - "cv = KFold(n_splits=5, shuffle=True, random_state=123)\n", - "lassoy = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", - "lgrd = make_pipeline(transformer, StandardScaler(), LogisticRegressionCV(cv=cv))\n", - "lgrz = make_pipeline(transformer, StandardScaler(), LogisticRegressionCV(cv=cv))\n", - "result = dml(X, Z, D, y, lassoy, lgrd, lgrz, nfolds=3, classifier=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "42", - "metadata": { - "id": "de68f123" - }, - "outputs": [], - "source": [ - "table = pd.concat([table, summary(*result, X, Z, D, y, name='lasso/logistic')])\n", - "table" - ] - }, - { - "cell_type": "markdown", - "id": "43", - "metadata": { - "id": "1b45a835" - }, - "source": [ - "### Random Forests" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "44", - "metadata": { - "id": "4007ff4e" - }, - "outputs": [], - "source": [ - "rfy = make_pipeline(transformer, RandomForestRegressor(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", - "rfd = make_pipeline(transformer, RandomForestClassifier(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", - "rfz = make_pipeline(transformer, RandomForestClassifier(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", - "result = dml(X, Z, D, y, rfy, rfd, rfz, nfolds=3, classifier=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45", - "metadata": { - "id": "801cf22e" - }, - "outputs": [], - "source": [ - "table = pd.concat([table, summary(*result, X, Z, D, y, name='random forest')])\n", - "table" - ] - }, - { - "cell_type": "markdown", - "id": "46", - "metadata": { - "id": "f831c007" - }, - "source": [ - "### Decision Trees" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47", - "metadata": { - "id": "36d6e07a" - }, - "outputs": [], - "source": [ - "dtry = make_pipeline(transformer, DecisionTreeRegressor(min_samples_leaf=10, ccp_alpha=.001))\n", - "dtrd = make_pipeline(transformer, DecisionTreeClassifier(min_samples_leaf=10, ccp_alpha=.001))\n", - "dtrz = make_pipeline(transformer, DecisionTreeClassifier(min_samples_leaf=10, ccp_alpha=.001))\n", - "result = dml(X, Z, D, y, dtry, dtrd, dtrz, nfolds=3, classifier=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "48", - "metadata": { - "id": "2cdb226d" - }, - "outputs": [], - "source": [ - "table = pd.concat([table, summary(*result, X, Z, D, y, name='decision tree')])\n", - "table" - ] - }, - { - "cell_type": "markdown", - "id": "49", - "metadata": { - "id": "58ccc781" - }, - "source": [ - "### Boosted Trees" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "50", - "metadata": { - "id": "cedPovUlUcJt" - }, - "outputs": [], - "source": [ - "gbfy = make_pipeline(transformer, GradientBoostingRegressor(max_depth=2, n_iter_no_change=5))\n", - "gbfd = make_pipeline(transformer, GradientBoostingClassifier(max_depth=2, n_iter_no_change=5))\n", - "gbfz = make_pipeline(transformer, GradientBoostingClassifier(max_depth=2, n_iter_no_change=5))\n", - "result = dml(X, Z, D, y, gbfy, gbfd, gbfz, nfolds=3, classifier=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "51", - "metadata": { - "id": "76fd3e93" - }, - "outputs": [], - "source": [ - "table = pd.concat([table, summary(*result, X, Z, D, y, name='boosted forest')])\n", - "table" - ] - }, - { - "cell_type": "markdown", - "id": "52", - "metadata": { - "id": "911a6099" - }, - "source": [ - "## Semi-Crossfitting and AutoML" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "53", - "metadata": { - "id": "EEaB50ly5FhE" - }, - "outputs": [], - "source": [ - "!pip install flaml" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "54", - "metadata": { - "id": "32bfd161" - }, - "outputs": [], - "source": [ - "from flaml import AutoML\n", - "\n", - "flamly = make_pipeline(transformer, AutoML(time_budget=100, task='regression', early_stop=True,\n", - " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", - "flamld = make_pipeline(transformer, AutoML(time_budget=100, task='classification', early_stop=True,\n", - " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", - "flamlz = make_pipeline(transformer, AutoML(time_budget=100, task='classification', early_stop=True,\n", - " eval_method='cv', n_splits=3, metric='r2', verbose=0))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "55", - "metadata": { - "id": "e6bf41b6" - }, - "outputs": [], - "source": [ - "flamly.fit(X, y)\n", - "besty = make_pipeline(transformer, clone(flamly[-1].best_model_for_estimator(flamly[-1].best_estimator)))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "56", - "metadata": { - "id": "0841262d" - }, - "outputs": [], - "source": [ - "flamld.fit(X, D)\n", - "bestd = make_pipeline(transformer, clone(flamld[-1].best_model_for_estimator(flamld[-1].best_estimator)))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "57", - "metadata": { - "id": "d0a3a5fd" - }, - "outputs": [], - "source": [ - "flamlz.fit(X, Z)\n", - "bestz = make_pipeline(transformer, clone(flamlz[-1].best_model_for_estimator(flamlz[-1].best_estimator)))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "58", - "metadata": { - "id": "87e10995" - }, - "outputs": [], - "source": [ - "result = dml(X, Z, D, y, besty, bestd, bestz, nfolds=3, classifier=True)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "59", - "metadata": { - "id": "dd2fd52a" - }, - "outputs": [], - "source": [ - "table = pd.concat([table, summary(*result, X, Z, D, y, name='automl (semi-cfit)')])\n", - "table" - ] - }, - { - "cell_type": "markdown", - "id": "60", - "metadata": { - "id": "a14f6004" - }, - "source": [ - "## Inference Robust to Weak Identification" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "61", - "metadata": { - "id": "3622cc4d" - }, - "outputs": [], - "source": [ - "def robust_inference(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, epsilon, X, Z, D, y, *, grid, alpha=0.05):\n", - " '''\n", - " Inference in the partially linear IV model that is robust to weak identification.\n", - " grid: grid of theta values to search over when trying to identify the confidence region\n", - " alpha: confidence level\n", - " '''\n", - " n = X.shape[0]\n", - " thr = scipy.stats.chi2.ppf(1 - alpha, df=1)\n", - " accept = []\n", - " for theta in grid:\n", - " moment = (resy - theta * resD) * resZ\n", - " test = n * np.mean(moment)**2 / np.var(moment)\n", - " if test <= thr:\n", - " accept.append(theta)\n", - " return accept" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "62", - "metadata": { - "id": "9f668209" - }, - "outputs": [], - "source": [ - "region = robust_inference(*result, X, Z, D, y, grid=np.linspace(0, 20000, 10000))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "63", - "metadata": { - "id": "f6eb57a1" - }, - "outputs": [], - "source": [ - "np.min(region), np.max(region)" - ] - }, - { - "cell_type": "markdown", - "id": "64", - "metadata": { - "id": "8326cd85" - }, - "source": [ - "We find that the robust inference confidence region is almost identical to the normal based inference. We are most probably in the strong instrument regime. We can check the t-statistic for the effect of the instrument on the treatment, to verify that" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "65", - "metadata": { - "id": "e0e7e6d9" - }, - "outputs": [], - "source": [ - "beta = np.mean(resZ * resD) / np.mean(resZ**2)\n", - "var_beta = np.mean((resD - beta * resZ)**2 * resZ**2) / np.mean(resZ**2)**2\n", - "se_beta = np.sqrt(var_beta / resD.shape[0])\n", - "print(np.abs(beta) / se_beta)" - ] - }, - { - "cell_type": "markdown", - "id": "66", - "metadata": { - "id": "74e607de" - }, - "source": [ - "Since the $t$-statistic is very large, the normal based approximation and confidence intervals should be fine. We can also get this $t$-statistic by simply using the statsmodels package" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "67", - "metadata": { - "id": "7be6a610" - }, - "outputs": [], - "source": [ - "from statsmodels.api import OLS\n", - "OLS(endog=resD, exog=resZ, hasconst=False).fit(cov_type='HC0').summary()" - ] - }, - { - "cell_type": "markdown", - "id": "68", - "metadata": { - "id": "db39aa34" - }, - "source": [ - "# Interactive IV Model and LATE" - ] - }, - { - "cell_type": "markdown", - "id": "69", - "metadata": { - "id": "7255c0a8" - }, - "source": [ - "Now, we consider estimation of local average treatment effects (LATE) of participation `p401`, with the binary instrument `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. Here the structural equation model is:\n", - "\\begin{eqnarray}\n", - "Y &:=& f_Y (D, X, A, \\epsilon_Y) \\\\\n", - "D &:= & f_D(Z, X, A, \\epsilon_D) \\in \\{0,1\\}, \\\\\n", - "Z &:= & f_Z(X,\\epsilon_Z) \\in \\{0,1\\}, \\\\\n", - "X &:=& \\epsilon_X, \\quad A = \\epsilon_A,\n", - "\\end{eqnarray}\n", - "where $\\epsilon$'s are all exogenous and independent,\n", - "and\n", - "$$\n", - "z \\mapsto f_D(z , A, X, \\epsilon_D) \\text{ is weakly increasing (weakly monotone)}.\n", - "$$\n", - "and $A$ is a vector of unobserved confounders. Note that in our setting monotonicity is satisfied, since participation is only feasible when it is eligible. Thus we have that $D=0$ whenever $Z=0$. Thus it can only be that $f_D(1, A, X, \\epsilon_D) \\geq 0 = f_D(0, A, X, \\epsilon_D)$.\n", - "\n", - "In this case, we can estimate the local average treatment effect (LATE):\n", - "$$\n", - "\\alpha = E[Y(1) - Y(0) | D(1) > D(0)]\n", - "$$\n", - "This can be identified using the Neyman orthogonal moment equation:\n", - "\\begin{align}\n", - "E\\left[g(1, X) - g(0, X) + H(Z) (Y - g(Z, X)) - \\alpha \\cdot (m(1, X) - m(0, X) + H(Z) (D - m(Z, X))\\right] = 0\n", - "\\end{align}\n", - "where\n", - "\\begin{align}\n", - "g(Z,X) =~& E[Y|Z,X],\\\\\n", - "m(Z,X) =~& E[D|Z,X],\\\\\n", - "H(Z) =~& \\frac{Z}{Pr(Z=1|X)} - \\frac{1 - Z}{1 - Pr(Z=1|X)}\n", - "\\end{align}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "70", - "metadata": { - "id": "efc66d4b" - }, - "outputs": [], - "source": [ - "def iiv(X, Z, D, y, modely0, modely1, modeld1, modeld0, modelz, *, trimming=0.01, nfolds):\n", - " '''\n", - " DML for the Interactive IV Model setting with cross-fitting\n", - "\n", - " Input\n", - " -----\n", - " X: the controls\n", - " D: the treatment\n", - " y: the outcome\n", - " modely0: the ML model for predicting the outcome y in the Z=0 population\n", - " modely1: the ML model for predicting the outcome y in the Z=1 population\n", - " modeld0: the ML model for predicting the treatment D in the Z=0 population\n", - " modeld1: the ML model for predicting the treatment D in the Z=1 population\n", - " modelz: the ML model for predicting the instrument Z\n", - " trimming: threshold below which to trim propensities\n", - " nfolds: the number of folds in cross-fitting\n", - "\n", - " Output\n", - " ------\n", - " point: the point estimate of the treatment effect of D on y\n", - " stderr: the standard error of the treatment effect\n", - " yhat: the cross-fitted predictions for the outcome y\n", - " Dhat: the cross-fitted predictions for the outcome D\n", - " resy: the outcome residuals\n", - " resD: the treatment residuals\n", - " drhat: the doubly robust quantity for each sample\n", - " '''\n", - " cv = KFold(n_splits=nfolds, shuffle=True, random_state=123)\n", - "\n", - " yhat0, yhat1 = np.zeros(y.shape), np.zeros(y.shape)\n", - " Dhat0, Dhat1 = np.zeros(D.shape), np.zeros(D.shape)\n", - "\n", - " # we will fit a model E[Y| D, X] by fitting a separate model for D==0\n", - " # and a separate model for D==1.\n", - " for train, test in cv.split(X, y):\n", - " # train an outcome model on training data that received Z=0 and predict outcome on all data in test set\n", - " yhat0[test] = clone(modely0).fit(X.iloc[train][Z[train] == 0], y[train][Z[train] == 0]).predict(X.iloc[test])\n", - " # train an outcome model on training data that received Z=1 and predict outcome on all data in test set\n", - " yhat1[test] = clone(modely1).fit(X.iloc[train][Z[train] == 1], y[train][Z[train] == 1]).predict(X.iloc[test])\n", - " # train a treatment model on training data that received Z=0 and predict treatment on all data in test set\n", - " if np.mean(D[train][Z[train] == 0]) > 0: # it could be that D=0, whenever Z=0 deterministically\n", - " modeld0_ = clone(modeld0).fit(X.iloc[train][Z[train] == 0], D[train][Z[train] == 0])\n", - " Dhat0[test] = modeld0_.predict_proba(X.iloc[test])[:, 1]\n", - " # train a treamtent model on training data that received Z=1 and predict treatment on all data in test set\n", - " if np.mean(D[train][Z[train] == 1]) < 1: # it could be that D=1, whenever Z=1 deterministically\n", - " modeld1_ = clone(modeld1).fit(X.iloc[train][Z[train] == 1], D[train][Z[train] == 1])\n", - " Dhat1[test] = modeld1_.predict_proba(X.iloc[test])[:, 1]\n", - " else:\n", - " Dhat1[test] = 1\n", - "\n", - " # prediction of treatment and outcome for observed instrument\n", - " yhat = yhat0 * (1 - Z) + yhat1 * Z\n", - " Dhat = Dhat0 * (1 - Z) + Dhat1 * Z\n", - " # propensity scores\n", - " Zhat = cross_val_predict(modelz, X, Z, cv=cv, method='predict_proba', n_jobs=-1)[:, 1]\n", - " Zhat = np.clip(Zhat, trimming, 1 - trimming)\n", - " # doubly robust quantity for every sample\n", - " HZ = Z / Zhat - (1 - Z) / (1 - Zhat)\n", - " drZ = yhat1 - yhat0 + (y - yhat) * HZ\n", - " drD = Dhat1 - Dhat0 + (D - Dhat) * HZ\n", - " point = np.mean(drZ) / np.mean(drD)\n", - " psi = drZ - point * drD\n", - " Jhat = np.mean(drD)\n", - " var = np.mean(psi**2) / Jhat**2\n", - " stderr = np.sqrt(var / X.shape[0])\n", - " return point, stderr, yhat, Dhat, Zhat, y - yhat, D - Dhat, Z - Zhat, drZ, drD" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "71", - "metadata": { - "id": "7d65020c" - }, - "outputs": [], - "source": [ - "def summary(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, drZ, drD, X, Z, D, y, *, name):\n", - " '''\n", - " Convenience summary function that takes the results of the DML function\n", - " and summarizes several estimation quantities and performance metrics.\n", - " '''\n", - " return pd.DataFrame({'estimate': point, # point estimate\n", - " 'stderr': stderr, # standard error\n", - " 'lower': point - 1.96 * stderr, # lower end of 95% confidence interval\n", - " 'upper': point + 1.96 * stderr, # upper end of 95% confidence interval\n", - " 'rmse y': np.sqrt(np.mean(resy**2)), # RMSE of model that predicts outcome y\n", - " 'rmse D': np.sqrt(np.mean(resD**2)), # RMSE of model that predicts treatment D\n", - " 'rmse Z': np.sqrt(np.mean(resZ**2)), # RMSE of model that predicts treatment D\n", - " 'accuracy D': np.mean(np.abs(resD) < .5), # binary classification accuracy of model for D\n", - " 'accuracy Z': np.mean(np.abs(resZ) < .5), # binary classification accuracy of model for Z\n", - " }, index=[name])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "72", - "metadata": { - "id": "7d894f58" - }, - "outputs": [], - "source": [ - "cv = KFold(n_splits=5, shuffle=True, random_state=123)\n", - "lassoy = make_pipeline(transformer, StandardScaler(), LassoCV(cv=cv))\n", - "lgrd = make_pipeline(transformer, StandardScaler(), LogisticRegressionCV(cv=cv))\n", - "lgrz = make_pipeline(transformer, StandardScaler(), LogisticRegressionCV(cv=cv))\n", - "result = iiv(X, Z, D, y, lassoy, lassoy, lgrd, lgrd, lgrz, nfolds=3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "73", - "metadata": { - "id": "c663299a" - }, - "outputs": [], - "source": [ - "tableiiv = summary(*result, X, Z, D, y, name='lasso/logistic')\n", - "tableiiv" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "74", - "metadata": { - "id": "8617137d" - }, - "outputs": [], - "source": [ - "rfy = make_pipeline(transformer, RandomForestRegressor(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", - "rfd = make_pipeline(transformer, RandomForestClassifier(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", - "rfz = make_pipeline(transformer, RandomForestClassifier(n_estimators=100, min_samples_leaf=10, ccp_alpha=.001))\n", - "result = iiv(X, Z, D, y, rfy, rfy, rfd, rfd, rfz, nfolds=3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "75", - "metadata": { - "id": "365ff0f4" - }, - "outputs": [], - "source": [ - "tableiiv = pd.concat([tableiiv, summary(*result, X, Z, D, y, name='random forest')])\n", - "tableiiv" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "76", - "metadata": { - "id": "571112a4" - }, - "outputs": [], - "source": [ - "dtry = make_pipeline(transformer, DecisionTreeRegressor(min_samples_leaf=10, ccp_alpha=.001))\n", - "dtrd = make_pipeline(transformer, DecisionTreeClassifier(min_samples_leaf=10, ccp_alpha=.001))\n", - "dtrz = make_pipeline(transformer, DecisionTreeClassifier(min_samples_leaf=10, ccp_alpha=.001))\n", - "result = iiv(X, Z, D, y, dtry, dtry, dtrd, dtrd, dtrz, nfolds=3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "77", - "metadata": { - "id": "04228398" - }, - "outputs": [], - "source": [ - "tableiiv = pd.concat([tableiiv, summary(*result, X, Z, D, y, name='decision trees')])\n", - "tableiiv" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "78", - "metadata": { - "id": "cba4c9e9" - }, - "outputs": [], - "source": [ - "gbfy = make_pipeline(transformer, GradientBoostingRegressor(max_depth=2, n_iter_no_change=5))\n", - "gbfd = make_pipeline(transformer, GradientBoostingClassifier(max_depth=2, n_iter_no_change=5))\n", - "gbfz = make_pipeline(transformer, GradientBoostingClassifier(max_depth=2, n_iter_no_change=5))\n", - "result = iiv(X, Z, D, y, gbfy, gbfy, gbfd, gbfd, gbfz, nfolds=3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "79", - "metadata": { - "id": "b221dba2" - }, - "outputs": [], - "source": [ - "tableiiv = pd.concat([tableiiv, summary(*result, X, Z, D, y, name='boosted trees')])\n", - "tableiiv" - ] - }, - { - "cell_type": "markdown", - "id": "80", - "metadata": { - "id": "9c96e854" - }, - "source": [ - "## Semi-Crossfitting" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "81", - "metadata": { - "id": "457b513f" - }, - "outputs": [], - "source": [ - "from flaml import AutoML\n", - "flamly0 = make_pipeline(transformer, AutoML(time_budget=60, task='regression', early_stop=True,\n", - " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", - "flamly1 = make_pipeline(transformer, AutoML(time_budget=60, task='regression', early_stop=True,\n", - " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", - "flamld1 = make_pipeline(transformer, AutoML(time_budget=60, task='classification', early_stop=True,\n", - " eval_method='cv', n_splits=3, metric='r2', verbose=0))\n", - "flamlz = make_pipeline(transformer, AutoML(time_budget=60, task='classification', early_stop=True,\n", - " eval_method='cv', n_splits=3, metric='r2', verbose=0))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "82", - "metadata": { - "id": "621d086a" - }, - "outputs": [], - "source": [ - "flamly0.fit(X[Z == 0], y[Z == 0])\n", - "besty0 = make_pipeline(transformer, clone(flamly0[-1].best_model_for_estimator(flamly0[-1].best_estimator)))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "83", - "metadata": { - "id": "a348199a" - }, - "outputs": [], - "source": [ - "flamly1.fit(X[Z == 1], y[Z == 1])\n", - "besty1 = make_pipeline(transformer, clone(flamly1[-1].best_model_for_estimator(flamly1[-1].best_estimator)))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "84", - "metadata": { - "id": "4b8c3648" - }, - "outputs": [], - "source": [ - "from sklearn.dummy import DummyClassifier\n", - "bestd0 = DummyClassifier() # since D=0 whenever Z=0" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "85", - "metadata": { - "id": "e7326607" - }, - "outputs": [], - "source": [ - "flamld1.fit(X[Z == 1], D[Z == 1])\n", - "bestd1 = make_pipeline(transformer, clone(flamld1[-1].best_model_for_estimator(flamld1[-1].best_estimator)))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "86", - "metadata": { - "id": "0cad169d" - }, - "outputs": [], - "source": [ - "flamlz.fit(X, Z)\n", - "bestz = make_pipeline(transformer, clone(flamlz[-1].best_model_for_estimator(flamlz[-1].best_estimator)))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "87", - "metadata": { - "id": "50a9df7f" - }, - "outputs": [], - "source": [ - "result = iiv(X, Z, D, y, besty0, besty1, bestd0, bestd1, bestz, nfolds=3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "88", - "metadata": { - "id": "788a551b" - }, - "outputs": [], - "source": [ - "tableiiv = pd.concat([tableiiv, summary(*result, X, Z, D, y, name='automl (semi-cfit)')])\n", - "tableiiv" - ] - }, - { - "cell_type": "markdown", - "id": "89", - "metadata": { - "id": "062e99e8" - }, - "source": [ - "Comparing with the PLR model" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "90", - "metadata": { - "id": "7f36700c" - }, - "outputs": [], - "source": [ - "table" - ] - }, - { - "cell_type": "markdown", - "id": "91", - "metadata": { - "id": "a1ecb257" - }, - "source": [ - "We find that the PLR model overestimates the effect by around 1k; though both sets of results have overlapping confidence intervals." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "92", - "metadata": { - "id": "e2b38fb1" - }, - "outputs": [], - "source": [ - "def iivm_robust_inference(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ, drZ, drD, X, Z, D, y, *,\n", - " grid, alpha=0.05):\n", - " '''\n", - " Inference in the partially linear IV model that is robust to weak identification.\n", - " grid: grid of theta values to search over when trying to identify the confidence region\n", - " alpha: confidence level\n", - " '''\n", - " n = X.shape[0]\n", - " thr = scipy.stats.chi2.ppf(1 - alpha, df=1)\n", - " accept = []\n", - " for theta in grid:\n", - " moment = drZ - theta * drD\n", - " test = n * np.mean(moment)**2 / np.var(moment)\n", - " if test <= thr:\n", - " accept.append(theta)\n", - " return accept" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "93", - "metadata": { - "id": "60ace0a2" - }, - "outputs": [], - "source": [ - "region = iivm_robust_inference(*result, X, Z, D, y, grid=np.linspace(0, 20000, 10000))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "94", - "metadata": { - "id": "f7bb488d" - }, - "outputs": [], - "source": [ - "np.min(region), np.max(region)" - ] - }, - { - "cell_type": "markdown", - "id": "95", - "metadata": { - "id": "225cb858" - }, - "source": [ - "We find again that the robust inference confidence region is almost identical to the normal based inference. We are most probably in the strong instrument regime. We can check the t-statistic for the effect of the instrument on the treatment to verify this." - ] - }, - { - "cell_type": "markdown", - "id": "96", - "metadata": { - "id": "8cda6326" - }, - "source": [ - "# Using EconML\n", - "\n", - "There exist nice packages out there that can help us do our estimation with the simple call of a function. Such packages include EconML (Python) and DoubleML (Python and R). We run through PLR IV with EconML and IIVM with DoubleML to illustrate." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "97", - "metadata": { - "id": "257b9330" - }, - "outputs": [], - "source": [ - "!pip install econml==0.14.1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "98", - "metadata": { - "id": "6108d89d" - }, - "outputs": [], - "source": [ - "W = StandardScaler().fit_transform(transformer.fit_transform(X))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "99", - "metadata": { - "id": "49587174" - }, - "outputs": [], - "source": [ - "from econml.iv.dml import OrthoIV\n", - "\n", - "cv = KFold(n_splits=5, shuffle=True, random_state=123)\n", - "plriv = OrthoIV(model_y_xw=LassoCV(cv=cv),\n", - " model_t_xw=LogisticRegressionCV(cv=cv),\n", - " model_z_xw=LogisticRegressionCV(cv=cv),\n", - " cv=3, discrete_treatment=True, discrete_instrument=True, random_state=123)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "100", - "metadata": { - "id": "54524cc0" - }, - "outputs": [], - "source": [ - "plriv.fit(y, D, Z=Z, W=W)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "101", - "metadata": { - "id": "fa3f1497" - }, - "outputs": [], - "source": [ - "plriv.summary()" - ] - }, - { - "cell_type": "markdown", - "id": "102", - "metadata": { - "id": "216ed55d" - }, - "source": [ - "EconML does not yet support LATE estimation under the fully interactive IV model.\n", - "\n", - "It does support however a more general IV model where the variables `X` are allowed to alter the effect heterogeneity and the compliance heterogeneity, but the un-observed confounder is not allowed to jointly alter both. In other words, it assumes a structural equation model of the form:\n", - "\\begin{eqnarray*}\n", - "Y & := & g_Y(X, \\epsilon_Y) D + f_Y(A, X, \\epsilon_Y), \\\\\n", - "D & := & f_D(Z, X, A, \\epsilon_D), \\\\\n", - "Z & := & f_Z(X, \\epsilon_Z),\\\\\n", - "A & : = & f_A(X, \\epsilon_A), \\\\\n", - "X & := & \\epsilon_X,\n", - "\\end{eqnarray*}\n", - "where $A$ is a vector of un-observed confounders. Under these assumptions the average treatment effect is identifiable (not just the local average treatment effect). In particular, the average treatment effect can be identified as:\n", - "\\begin{align}\n", - "\\alpha := E[Y(1) - Y(0)] = E\\left[ \\frac{Cov(Y, Z\\mid X)}{Cov(D, Z\\mid X)} \\right] = E\\left[ \\frac{E[\\tilde{Y} \\tilde{Z}\\mid X]}{E[\\tilde{Z} \\tilde{D}\\mid X]} \\right]\n", - "\\end{align}\n", - "where for any variable $V$ we have $\\tilde{V}=V-E[V|X]$.\n", - "\n", - "However, the variance of this method can be quite larger than the LATE method, since it uses a local compliance measure, i.e. $E[\\tilde{Z} \\tilde{D}\\mid X]$, which can be small for some regions of $X$. This extra variance stems from the fact that we are going after a more challenging causal quantity which is the average treatment effect, instead of the local average treatment effect, and hence we need to re-weight the data based on compliance levels, conditional on observable covariates $X$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "103", - "metadata": { - "id": "122ab658" - }, - "outputs": [], - "source": [ - "from econml.iv.dr import LinearDRIV\n", - "\n", - "driv = LinearDRIV(model_y_xw=LassoCV(cv=cv),\n", - " model_t_xw=LogisticRegressionCV(cv=cv),\n", - " model_t_xwz=LogisticRegressionCV(cv=cv),\n", - " model_tz_xw=LassoCV(cv=cv),\n", - " flexible_model_effect=LassoCV(cv=cv),\n", - " projection=True,\n", - " discrete_instrument=True, discrete_treatment=True, cv=3, cov_clip=0.01, random_state=123)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "104", - "metadata": { - "id": "7e878a86" - }, - "outputs": [], - "source": [ - "driv.fit(y, D, Z=Z, W=W)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "105", - "metadata": { - "id": "dd8e664a" - }, - "outputs": [], - "source": [ - "driv.summary()" - ] - }, - { - "cell_type": "markdown", - "id": "106", - "metadata": { - "id": "a629b091" - }, - "source": [ - "# Using the DoubleML Package\n", - "\n", - "We run through IIVM using `DoubleML` below to illustrate. The `DoubleML` package internally builds on `mlr3`. We use the meta package `mlr3` to generate predictions with machine learning methods. A comprehensive introduction and description of the `mlr3` package is provided in the [mlr3book](https://mlr3book.mlr-org.com/). A list of all learners that you can use in `mlr3` can be found [here](https://mlr3extralearners.mlr-org.com/articles/learners/list_learners.html). The entry in the columns *mlr3 Package* and *Packages* indicate which packages must be installed/loaded in your R session.\n", - "\n", - "You find additional information about `DoubleML` on the package on the package website https://docs.doubleml.org/ and the R documentation page https://docs.doubleml.org/r/stable/." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "107", - "metadata": { - "id": "4f29d8e7" - }, - "outputs": [], - "source": [ - "!pip install doubleml~=0.7.0" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "108", - "metadata": { - "id": "ff0bca33" - }, - "outputs": [], - "source": [ - "from doubleml import DoubleMLData\n", - "dml_data = DoubleMLData.from_arrays(W, y, D, z=Z)\n", - "print(dml_data)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "109", - "metadata": { - "id": "47f735fb" - }, - "outputs": [], - "source": [ - "import doubleml as dml\n", - "\n", - "\n", - "class RegWrapper(BaseEstimator):\n", - "\n", - " def __init__(self, clf):\n", - " self.clf = clf\n", - "\n", - " def fit(self, X, y):\n", - " self.clf_ = clone(self.clf).fit(X, y)\n", - " return self\n", - "\n", - " def predict(self, X):\n", - " return self.clf_.predict_proba(X)[:, 1]\n", - "\n", - "\n", - "dml_plr_obj = dml.DoubleMLPLIV(dml_data,\n", - " LassoCV(cv=cv),\n", - " RegWrapper(LogisticRegressionCV(cv=cv)),\n", - " RegWrapper(LogisticRegressionCV(cv=cv)),\n", - " n_folds=3)\n", - "print(dml_plr_obj.fit())" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "110", - "metadata": { - "id": "bdd0ac4d" - }, - "outputs": [], - "source": [ - "import doubleml as dml\n", - "\n", - "\n", - "class Wrapper(BaseEstimator):\n", - "\n", - " def __init__(self, clf):\n", - " self.clf = clf\n", - "\n", - " def fit(self, X, y):\n", - " if np.mean(y) == 0 or np.mean(y) == 1:\n", - " self.clf_ = np.mean(y)\n", - " else:\n", - " self.clf_ = clone(self.clf).fit(X, y)\n", - " self.classes_ = np.array([0, 1])\n", - " return self\n", - "\n", - " def predict_proba(self, X):\n", - " probs = np.zeros((X.shape[0], 2))\n", - " if self.clf_ == 0:\n", - " probs[:, 0] = 1\n", - " return probs\n", - " if self.clf_ == 1:\n", - " probs[:, 1] = 1\n", - " return probs\n", - " return self.clf_.predict_proba(X)\n", - "\n", - " def predict(self, X):\n", - " return self.predict_proba(X)[:, 1] >= .5\n", - "\n", - "\n", - "dml_plr_obj = dml.DoubleMLIIVM(dml_data,\n", - " LassoCV(cv=cv),\n", - " Wrapper(LogisticRegressionCV(cv=cv)),\n", - " Wrapper(LogisticRegressionCV(cv=cv)),\n", - " n_folds=3)\n", - "print(dml_plr_obj.fit())" - ] - } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.5" - }, - "papermill": { - "default_parameters": {}, - "duration": 537.547458, - "end_time": "2021-03-24T14:22:44.931595", - "environment_variables": {}, - "exception": null, - "input_path": "__notebook__.ipynb", - "output_path": "__notebook__.ipynb", - "parameters": {}, - "start_time": "2021-03-24T14:13:47.384137", - "version": "2.3.2" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} + "default_parameters": {}, + "duration": 537.547458, + "end_time": "2021-03-24T14:22:44.931595", + "environment_variables": {}, + "exception": null, + "input_path": "__notebook__.ipynb", + "output_path": "__notebook__.ipynb", + "parameters": {}, + "start_time": "2021-03-24T14:13:47.384137", + "version": "2.3.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/AC2/r-debiased-ml-for-partially-linear-iv-model.irnb b/AC2/r-debiased-ml-for-partially-linear-iv-model.irnb index 10f68a89..63e322ff 100644 --- a/AC2/r-debiased-ml-for-partially-linear-iv-model.irnb +++ b/AC2/r-debiased-ml-for-partially-linear-iv-model.irnb @@ -1,529 +1,530 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "qjaFmAyEzcLz", - "papermill": { - "duration": 0.008106, - "end_time": "2021-04-23T10:41:33.911944", - "exception": false, - "start_time": "2021-04-23T10:41:33.903838", - "status": "completed" + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "qjaFmAyEzcLz", + "papermill": { + "duration": 0.008106, + "end_time": "2021-04-23T10:41:33.911944", + "exception": false, + "start_time": "2021-04-23T10:41:33.903838", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Double/Debiased ML for Partially Linear IV Model\n", + "\n", + "This is a simple implementation of Debiased Machine Learning for the Partially Linear\n", + "IV Regression Model, which provides an application of DML IV inference.\n", + "\n", + "\n", + "Reference:\n", + "\n", + "- https://arxiv.org/abs/1608.00060\n", + "- https://www.amazon.com/Business-Data-Science-Combining-Accelerate/dp/1260452778\n", + "\n", + "The code is based on the book.\n" + ] }, - "tags": [] - }, - "source": [ - "# Double/Debiased ML for Partially Linear IV Model\n", - "\n", - "This is a simple implementation of Debiased Machine Learning for the Partially Linear\n", - "IV Regression Model, which provides an application of DML IV inference.\n", - "\n", - "\n", - "Reference:\n", - "\n", - "- https://arxiv.org/abs/1608.00060\n", - "- https://www.amazon.com/Business-Data-Science-Combining-Accelerate/dp/1260452778\n", - "\n", - "The code is based on the book.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "G3YNyr-ezcL4", - "papermill": { - "duration": 0.006963, - "end_time": "2021-04-23T10:41:33.926085", - "exception": false, - "start_time": "2021-04-23T10:41:33.919122", - "status": "completed" + { + "cell_type": "markdown", + "metadata": { + "id": "G3YNyr-ezcL4", + "papermill": { + "duration": 0.006963, + "end_time": "2021-04-23T10:41:33.926085", + "exception": false, + "start_time": "2021-04-23T10:41:33.919122", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "\n", + "# Partially Linear IV Model\n", + "\n", + "We consider the partially linear structural equation model:\n", + "\\begin{align}\n", + " Y :=~& D\\theta_0 + g_0(X) + \\zeta, & E[\\zeta \\mid Z,X]= 0,\\\\\n", + " Z :=~& m_0(X) + V, & E[V \\mid X] = 0.\n", + "\\end{align}\n", + "\n", + "\n", + "Note that this model is not a regression model unless $Z=D$. The model is a canonical\n", + "model in causal inference, going back to P. Wright's work on IV methods for estimating demand/supply equations, with the modern difference being that $g_0$ and $m_0$ are nonlinear, potentially complicated functions of high-dimensional $X$. \n", + "\n", + "\n", + "The idea of this model is that there is a structural or causal relation between $Y$ and $D$, captured by $\\theta_0$, and $g_0(X) + \\zeta$ is the stochastic error, partly explained by covariates $X$. $V$ and $\\zeta$ are stochastic errors that are not explained by $X$. Since $Y$ and $D$ are jointly determined, we need an external factor, commonly referred to as an instrument, $Z$ to create exogenous variation\n", + "in $D$. Note that $Z$ should affect $D$. The $X$ here serve again as confounding factors, so we can think of variation in $Z$ as being exogenous only conditional on $X$.\n", + "\n", + "\n", + "The causal DAG this model corresponds to is given by:\n", + "$$\n", + "Z \\to D, X \\to (Y, Z, D), L \\to (Y,D),\n", + "$$\n", + "where $L$ is the latent confounder affecting both $Y$ and $D$, but not $Z$.\n", + "\n", + "\n", + "\n", + "---\n", + "\n", + "# Example\n", + "\n", + "A simple contextual example is from biostatistics, where $Y$ is a health outcome and $D$ is indicator of smoking. Thus, $\\theta_0$ is captures the effect of smoking on health. Health outcome $Y$ and smoking behavior $D$ are treated as being jointly determined. $X$ represents patient characteristics, and $Z$ could be a doctor's advice not to smoke (or another behavioral treatment) that may affect the outcome $Y$ only through shifting the behavior $D$, conditional on characteristics $X$. \n", + "\n", + "----\n", + "\n", + "\n", + "\n", + "# PLIVM in Residualized Form\n", + "\n", + "The PLIV model above can be rewritten in the following residualized form:\n", + "$$\n", + " \\tilde Y = \\tilde D \\theta_0 + \\zeta, \\quad E[\\zeta \\mid V,X]= 0,\n", + "$$\n", + "where\n", + "$$\n", + " \\tilde Y = (Y- \\ell_0(X)), \\quad \\ell_0(X) = E[Y \\mid X] \\\\\n", + " \\tilde D = (D - r_0(X)), \\quad r_0(X) = E[D \\mid X] \\\\\n", + " \\tilde Z = (Z- m_0(X)), \\quad m_0(X) = E[Z \\mid X].\n", + "$$\n", + " The \"tilde\" variables (e.g. $\\tilde Y$) above represent original variables after taking out or \"partialling out\"\n", + " the effect of $X$. Note that $\\theta_0$ is identified from this equation if $V$\n", + " and $U$ have non-zero correlation, which automatically means that $U$ and $V$\n", + " must have non-zero variation.\n", + "\n", + " \n", + "\n", + "-----\n", + "\n", + "# DML for PLIV Model\n", + "\n", + "Given identification, DML proceeds as follows\n", + "\n", + "Compute the estimates $\\hat \\ell_0$, $\\hat r_0$, and $\\hat m_0$ , which amounts\n", + "to solving the three problems of predicting $Y$, $D$, and $Z$ using\n", + "$X$, using any generic ML method, giving us estimated residuals\n", + "$$\n", + "\\tilde Y = Y - \\hat \\ell_0(X), \\\\ \\tilde D= D - \\hat r_0(X), \\\\ \\tilde Z = Z- \\hat m_0(X).\n", + "$$\n", + "The estimates should be of a cross-validated form, as detailed in the algorithm below.\n", + "\n", + "Estimate $\\theta_0$ by the the intstrumental\n", + "variable regression of $\\tilde Y$ on $\\tilde D$ using $\\tilde Z$ as an instrument.\n", + "Use the conventional inference for the IV regression estimator, ignoring\n", + "the estimation error in these residuals.\n", + "\n", + "The reason we work with this residualized form is that it eliminates the bias\n", + "arising when solving the prediction problem in stage 1. The role of cross-validation\n", + "is to avoid another source of bias due to potential overfitting.\n", + "\n", + "The estimator is adaptive,\n", + "in the sense that the first stage estimation errors do not affect the second\n", + "stage errors.\n" + ] }, - "tags": [] - }, - "source": [ - "\n", - "# Partially Linear IV Model\n", - "\n", - "We consider the partially linear structural equation model:\n", - "\\begin{align}\n", - " Y :=~& D\\theta_0 + g_0(X) + \\zeta, & E[\\zeta \\mid Z,X]= 0,\\\\\n", - " Z :=~& m_0(X) + V, & E[V \\mid X] = 0.\n", - "\\end{align}\n", - "\n", - "\n", - "Note that this model is not a regression model unless $Z=D$. The model is a canonical\n", - "model in causal inference, going back to P. Wright's work on IV methods for estimating demand/supply equations, with the modern difference being that $g_0$ and $m_0$ are nonlinear, potentially complicated functions of high-dimensional $X$. \n", - "\n", - "\n", - "The idea of this model is that there is a structural or causal relation between $Y$ and $D$, captured by $\\theta_0$, and $g_0(X) + \\zeta$ is the stochastic error, partly explained by covariates $X$. $V$ and $\\zeta$ are stochastic errors that are not explained by $X$. Since $Y$ and $D$ are jointly determined, we need an external factor, commonly referred to as an instrument, $Z$ to create exogenous variation\n", - "in $D$. Note that $Z$ should affect $D$. The $X$ here serve again as confounding factors, so we can think of variation in $Z$ as being exogenous only conditional on $X$.\n", - "\n", - "\n", - "The causal DAG this model corresponds to is given by:\n", - "$$\n", - "Z \\to D, X \\to (Y, Z, D), L \\to (Y,D),\n", - "$$\n", - "where $L$ is the latent confounder affecting both $Y$ and $D$, but not $Z$.\n", - "\n", - "\n", - "\n", - "---\n", - "\n", - "# Example\n", - "\n", - "A simple contextual example is from biostatistics, where $Y$ is a health outcome and $D$ is indicator of smoking. Thus, $\\theta_0$ is captures the effect of smoking on health. Health outcome $Y$ and smoking behavior $D$ are treated as being jointly determined. $X$ represents patient characteristics, and $Z$ could be a doctor's advice not to smoke (or another behavioral treatment) that may affect the outcome $Y$ only through shifting the behavior $D$, conditional on characteristics $X$. \n", - "\n", - "----\n", - "\n", - "\n", - "\n", - "# PLIVM in Residualized Form\n", - "\n", - "The PLIV model above can be rewritten in the following residualized form:\n", - "$$\n", - " \\tilde Y = \\tilde D \\theta_0 + \\zeta, \\quad E[\\zeta \\mid V,X]= 0,\n", - "$$\n", - "where\n", - "$$\n", - " \\tilde Y = (Y- \\ell_0(X)), \\quad \\ell_0(X) = E[Y \\mid X] \\\\\n", - " \\tilde D = (D - r_0(X)), \\quad r_0(X) = E[D \\mid X] \\\\\n", - " \\tilde Z = (Z- m_0(X)), \\quad m_0(X) = E[Z \\mid X].\n", - "$$\n", - " The \"tilde\" variables (e.g. $\\tilde Y$) above represent original variables after taking out or \"partialling out\"\n", - " the effect of $X$. Note that $\\theta_0$ is identified from this equation if $V$\n", - " and $U$ have non-zero correlation, which automatically means that $U$ and $V$\n", - " must have non-zero variation.\n", - "\n", - " \n", - "\n", - "-----\n", - "\n", - "# DML for PLIV Model\n", - "\n", - "Given identification, DML proceeds as follows\n", - "\n", - "Compute the estimates $\\hat \\ell_0$, $\\hat r_0$, and $\\hat m_0$ , which amounts\n", - "to solving the three problems of predicting $Y$, $D$, and $Z$ using\n", - "$X$, using any generic ML method, giving us estimated residuals\n", - "$$\n", - "\\tilde Y = Y - \\hat \\ell_0(X), \\\\ \\tilde D= D - \\hat r_0(X), \\\\ \\tilde Z = Z- \\hat m_0(X).\n", - "$$\n", - "The estimates should be of a cross-validated form, as detailed in the algorithm below.\n", - "\n", - "Estimate $\\theta_0$ by the the intstrumental\n", - "variable regression of $\\tilde Y$ on $\\tilde D$ using $\\tilde Z$ as an instrument.\n", - "Use the conventional inference for the IV regression estimator, ignoring\n", - "the estimation error in these residuals.\n", - "\n", - "The reason we work with this residualized form is that it eliminates the bias\n", - "arising when solving the prediction problem in stage 1. The role of cross-validation\n", - "is to avoid another source of bias due to potential overfitting.\n", - "\n", - "The estimator is adaptive,\n", - "in the sense that the first stage estimation errors do not affect the second\n", - "stage errors.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "_kg_hide-output": true, - "id": "yGW6JhG5zcL5", - "papermill": { - "duration": 34.670095, - "end_time": "2021-04-23T10:42:08.603197", - "exception": false, - "start_time": "2021-04-23T10:41:33.933102", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "_kg_hide-output": true, + "id": "yGW6JhG5zcL5", + "papermill": { + "duration": 34.670095, + "end_time": "2021-04-23T10:42:08.603197", + "exception": false, + "start_time": "2021-04-23T10:41:33.933102", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "install.packages(\"hdm\")\n", + "install.packages(\"AER\")\n", + "install.packages(\"randomForest\")\n", + "install.packages(\"lfe\")\n", + "install.packages(\"glmnet\")" + ] }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "install.packages(\"hdm\")\n", - "install.packages(\"AER\")\n", - "install.packages(\"randomForest\")\n", - "install.packages(\"lfe\")\n", - "install.packages(\"glmnet\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "library(hdm)\n", - "library(AER) # applied econometrics library\n", - "library(randomForest) # random Forest library\n", - "library(lfe) # high-dimensional econometrics library\n", - "library(glmnet) # glm net\n", - "\n", - "set.seed(1)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "j2WVUbBDzcL-", - "papermill": { - "duration": 1.846109, - "end_time": "2021-04-23T10:42:10.458406", - "exception": false, - "start_time": "2021-04-23T10:42:08.612297", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "vscode": { + "languageId": "r" + }, + "id": "kKZcvjhZSsJe" + }, + "outputs": [], + "source": [ + "library(hdm)\n", + "library(AER) # applied econometrics library\n", + "library(randomForest) # random Forest library\n", + "library(lfe) # high-dimensional econometrics library\n", + "library(glmnet) # glm net\n", + "\n", + "set.seed(1)" + ] }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML for PLIVM\n", - "\n", - "dml2_for_plivm <- function(x, d, z, y, dreg, yreg, zreg, nfold = 5) {\n", - " # this implements DML2 algorithm, where there moments are estimated via DML, before constructing\n", - " # the pooled estimate of theta randomly split data into folds\n", - " nobs <- nrow(x)\n", - " foldid <- rep.int(1:nfold, times = ceiling(nobs / nfold))[sample.int(nobs)]\n", - " I <- split(1:nobs, foldid)\n", - " # create residualized objects to fill\n", - " ytil <- dtil <- ztil <- rep(NA, nobs)\n", - " # obtain cross-fitted residuals\n", - " cat(\"fold: \")\n", - " for (b in seq_along(I)) {\n", - " dfit <- dreg(x[-I[[b]], ], d[-I[[b]]]) # take a fold out\n", - " zfit <- zreg(x[-I[[b]], ], z[-I[[b]]]) # take a fold out\n", - " yfit <- yreg(x[-I[[b]], ], y[-I[[b]]]) # take a folot out\n", - " dhat <- predict(dfit, x[I[[b]], ], type = \"response\") # predict the fold out\n", - " zhat <- predict(zfit, x[I[[b]], ], type = \"response\") # predict the fold out\n", - " yhat <- predict(yfit, x[I[[b]], ], type = \"response\") # predict the fold out\n", - " dtil[I[[b]]] <- (d[I[[b]]] - dhat) # record residual\n", - " ztil[I[[b]]] <- (z[I[[b]]] - zhat) # record residual\n", - " ytil[I[[b]]] <- (y[I[[b]]] - yhat) # record residial\n", - " cat(b, \" \")\n", - " }\n", - " ivfit <- tsls(y = ytil, d = dtil, x = NULL, z = ztil, intercept = FALSE)\n", - " coef_est <- ivfit$coef # extract coefficient\n", - " se <- ivfit$se # record standard error\n", - " cat(sprintf(\"\\ncoef (se) = %g (%g)\\n\", coef_est, se))\n", - " return(list(coef_est = coef_est, se = se, dtil = dtil, ytil = ytil, ztil = ztil))\n", - "}" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "x1g3XjsIzcL_", - "papermill": { - "duration": 0.011698, - "end_time": "2021-04-23T10:42:10.482689", - "exception": false, - "start_time": "2021-04-23T10:42:10.470991", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "j2WVUbBDzcL-", + "papermill": { + "duration": 1.846109, + "end_time": "2021-04-23T10:42:10.458406", + "exception": false, + "start_time": "2021-04-23T10:42:08.612297", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML for PLIVM\n", + "\n", + "dml2_for_plivm <- function(x, d, z, y, dreg, yreg, zreg, nfold = 5) {\n", + " # this implements DML2 algorithm, where there moments are estimated via DML, before constructing\n", + " # the pooled estimate of theta randomly split data into folds\n", + " nobs <- nrow(x)\n", + " foldid <- rep.int(1:nfold, times = ceiling(nobs / nfold))[sample.int(nobs)]\n", + " I <- split(1:nobs, foldid)\n", + " # create residualized objects to fill\n", + " ytil <- dtil <- ztil <- rep(NA, nobs)\n", + " # obtain cross-fitted residuals\n", + " cat(\"fold: \")\n", + " for (b in seq_along(I)) {\n", + " dfit <- dreg(x[-I[[b]], ], d[-I[[b]]]) # take a fold out\n", + " zfit <- zreg(x[-I[[b]], ], z[-I[[b]]]) # take a fold out\n", + " yfit <- yreg(x[-I[[b]], ], y[-I[[b]]]) # take a folot out\n", + " dhat <- predict(dfit, x[I[[b]], ], type = \"response\") # predict the fold out\n", + " zhat <- predict(zfit, x[I[[b]], ], type = \"response\") # predict the fold out\n", + " yhat <- predict(yfit, x[I[[b]], ], type = \"response\") # predict the fold out\n", + " dtil[I[[b]]] <- (d[I[[b]]] - dhat) # record residual\n", + " ztil[I[[b]]] <- (z[I[[b]]] - zhat) # record residual\n", + " ytil[I[[b]]] <- (y[I[[b]]] - yhat) # record residial\n", + " cat(b, \" \")\n", + " }\n", + " ivfit <- tsls(y = ytil, d = dtil, x = NULL, z = ztil, intercept = FALSE, homoscedastic = FALSE)\n", + " coef_est <- ivfit$coef # extract coefficient\n", + " se <- ivfit$se # record standard error\n", + " cat(sprintf(\"\\ncoef (se) = %g (%g)\\n\", coef_est, se))\n", + " return(list(coef_est = coef_est, se = se, dtil = dtil, ytil = ytil, ztil = ztil))\n", + "}" + ] }, - "tags": [] - }, - "source": [ - "-----\n", - "\n", - "# Emprical Example: Acemoglu, Johnson, Robinson (AER).\n", - "\n", - "\n", - "* Y is log GDP;\n", - "* D is a measure of Protection from Expropriation, a proxy for\n", - "quality of insitutions;\n", - "* Z is the log of Settler's mortality;\n", - "* W are geographical variables (latitude, latitude squared, continent dummies as well as interactions)\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "0Pc6OCp24rji", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "file <- \"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/AJR.csv\"\n", - "AJR <- read.csv(file)\n", - "dim(AJR)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "Z9uynanA9H8m", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "y <- AJR$GDP\n", - "d <- AJR$Exprop\n", - "z <- AJR$logMort\n", - "xraw <- model.matrix(~ Latitude + Africa + Asia + Namer + Samer, data = AJR)\n", - "x <- model.matrix(~ -1 + (Latitude + Latitude2 + Africa + Asia + Namer + Samer)^2, data = AJR)\n", - "dim(x)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "LwVXRiAqzcL_", - "papermill": { - "duration": 5.743953, - "end_time": "2021-04-23T10:42:16.240693", - "exception": false, - "start_time": "2021-04-23T10:42:10.496740", - "status": "completed" + { + "cell_type": "markdown", + "metadata": { + "id": "x1g3XjsIzcL_", + "papermill": { + "duration": 0.011698, + "end_time": "2021-04-23T10:42:10.482689", + "exception": false, + "start_time": "2021-04-23T10:42:10.470991", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "-----\n", + "\n", + "# Emprical Example: Acemoglu, Johnson, Robinson (AER).\n", + "\n", + "\n", + "* Y is log GDP;\n", + "* D is a measure of Protection from Expropriation, a proxy for\n", + "quality of insitutions;\n", + "* Z is the log of Settler's mortality;\n", + "* W are geographical variables (latitude, latitude squared, continent dummies as well as interactions)\n", + "\n" + ] }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "set.seed(1)\n", - "# DML with PostLasso\n", - "cat(sprintf(\"\\n DML with Post-Lasso \\n\"))\n", - "\n", - "dreg <- function(x, d) {\n", - " hdm::rlasso(x, d)\n", - "} # ML method=lasso\n", - "yreg <- function(x, y) {\n", - " hdm::rlasso(x, y)\n", - "} # ML method=lasso\n", - "zreg <- function(x, z) {\n", - " hdm::rlasso(x, z)\n", - "} # ML method=lasso\n", - "\n", - "dml2_lasso <- dml2_for_plivm(x, d, z, y, dreg, yreg, zreg, nfold = 5)\n", - "\n", - "\n", - "# DML with Random Forest\n", - "cat(sprintf(\"\\n DML with Random Forest \\n\"))\n", - "\n", - "dreg <- function(x, d) {\n", - " randomForest(x, d)\n", - "} # ML method=Forest\n", - "yreg <- function(x, y) {\n", - " randomForest(x, y)\n", - "} # ML method=Forest\n", - "zreg <- function(x, z) {\n", - " randomForest(x, z)\n", - "} # ML method=Forest\n", - "\n", - "dml2_rf <- dml2_for_plivm(xraw, d, z, y, dreg, yreg, zreg, nfold = 5)\n", - "\n", - "# Compare Forest vs Lasso\n", - "comp_tab <- matrix(NA, 3, 2)\n", - "comp_tab[1, ] <- c(sqrt(mean((dml2_rf$ytil)^2)), sqrt(mean((dml2_lasso$ytil)^2)))\n", - "comp_tab[2, ] <- c(sqrt(mean((dml2_rf$dtil)^2)), sqrt(mean((dml2_lasso$dtil)^2)))\n", - "comp_tab[3, ] <- c(sqrt(mean((dml2_rf$ztil)^2)), sqrt(mean((dml2_lasso$ztil)^2)))\n", - "rownames(comp_tab) <- c(\"RMSE for Y:\", \"RMSE for D:\", \"RMSE for Z:\")\n", - "colnames(comp_tab) <- c(\"RF\", \"LASSO\")\n", - "print(comp_tab, digits = 3)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "r7l6cFi2zcMA", - "papermill": { - "duration": 0.013703, - "end_time": "2021-04-23T10:42:16.269251", - "exception": false, - "start_time": "2021-04-23T10:42:16.255548", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "0Pc6OCp24rji", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "file <- \"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/AJR.csv\"\n", + "AJR <- read.csv(file)\n", + "dim(AJR)" + ] }, - "tags": [] - }, - "source": [ - "# Weak Instruments?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "rsUnPDfpzcMB", - "papermill": { - "duration": 16.107321, - "end_time": "2021-04-23T10:42:32.390552", - "exception": false, - "start_time": "2021-04-23T10:42:16.283231", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "Z9uynanA9H8m", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "y <- AJR$GDP\n", + "d <- AJR$Exprop\n", + "z <- AJR$logMort\n", + "xraw <- model.matrix(~ Latitude + Africa + Asia + Namer + Samer, data = AJR)\n", + "x <- model.matrix(~ -1 + (Latitude + Latitude2 + Africa + Asia + Namer + Samer)^2, data = AJR)\n", + "dim(x)" + ] }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# using lfe package\n", - "summary(felm(dml2_lasso$dtil ~ dml2_lasso$ztil), robust = TRUE)\n", - "summary(felm(dml2_rf$dtil ~ dml2_rf$ztil), robust = TRUE)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "L3fDDOmfzcMD", - "papermill": { - "duration": 0.015919, - "end_time": "2021-04-23T10:42:32.423865", - "exception": false, - "start_time": "2021-04-23T10:42:32.407946", - "status": "completed" + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "LwVXRiAqzcL_", + "papermill": { + "duration": 5.743953, + "end_time": "2021-04-23T10:42:16.240693", + "exception": false, + "start_time": "2021-04-23T10:42:10.496740", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "set.seed(1)\n", + "# DML with PostLasso\n", + "cat(sprintf(\"\\n DML with Post-Lasso \\n\"))\n", + "\n", + "dreg <- function(x, d) {\n", + " hdm::rlasso(x, d)\n", + "} # ML method=lasso\n", + "yreg <- function(x, y) {\n", + " hdm::rlasso(x, y)\n", + "} # ML method=lasso\n", + "zreg <- function(x, z) {\n", + " hdm::rlasso(x, z)\n", + "} # ML method=lasso\n", + "\n", + "dml2_lasso <- dml2_for_plivm(x, d, z, y, dreg, yreg, zreg, nfold = 5)\n", + "\n", + "\n", + "# DML with Random Forest\n", + "cat(sprintf(\"\\n DML with Random Forest \\n\"))\n", + "\n", + "dreg <- function(x, d) {\n", + " randomForest(x, d)\n", + "} # ML method=Forest\n", + "yreg <- function(x, y) {\n", + " randomForest(x, y)\n", + "} # ML method=Forest\n", + "zreg <- function(x, z) {\n", + " randomForest(x, z)\n", + "} # ML method=Forest\n", + "\n", + "dml2_rf <- dml2_for_plivm(xraw, d, z, y, dreg, yreg, zreg, nfold = 5)\n", + "\n", + "# Compare Forest vs Lasso\n", + "comp_tab <- matrix(NA, 3, 2)\n", + "comp_tab[1, ] <- c(sqrt(mean((dml2_rf$ytil)^2)), sqrt(mean((dml2_lasso$ytil)^2)))\n", + "comp_tab[2, ] <- c(sqrt(mean((dml2_rf$dtil)^2)), sqrt(mean((dml2_lasso$dtil)^2)))\n", + "comp_tab[3, ] <- c(sqrt(mean((dml2_rf$ztil)^2)), sqrt(mean((dml2_lasso$ztil)^2)))\n", + "rownames(comp_tab) <- c(\"RMSE for Y:\", \"RMSE for D:\", \"RMSE for Z:\")\n", + "colnames(comp_tab) <- c(\"RF\", \"LASSO\")\n", + "print(comp_tab, digits = 3)" + ] }, - "tags": [] - }, - "source": [ - "## Anderson-Rubin Idea for Inference with Weak Instruments\n", - "\n", - "As shown above, we may have weak instruments because the t-stat in the regression $\\tilde D \\sim \\tilde Z$ is small relative to standard rules of thumb -- for example Stock and Yogo (2005) suggest accounting for weak instruments if the first stage F-statistic is less than 10 (and more recent work suggests even larger cutoffs).\n", - "\n", - "\n", - " Here, we consider one specific approach (from Anderson and Rubin (1949)) to doing valid inference under weak identification based upon the statistic:\n", - "$$\n", - "C(\\theta) = \\frac{ |E_n [(\\tilde Y - \\theta \\tilde D) \\tilde Z]|^2}{ \\mathbb{V}_n [(\\tilde Y - \\theta \\tilde D) \\tilde Z ]/n}.\n", - "$$\n", - "The empirical variance $\\mathbb{V}_n$ is defined as:\n", - "\\begin{align*}\n", - "\\mathbb{V}_{n}[ g(W_i)] &:= \\mathbb{E}_{n}g(W_i)g(W_i)' - \\mathbb{E}_{n}[ g(W_i)]\\mathbb{E}_{n}[ g(W_i)]'.\n", - "\\end{align*}\n", - "\n", - "If $\\theta_0 = \\theta$, then $C(\\theta) \\overset{a}{\\sim} N(0,1)^2 = \\chi^2(1)$. Therefore, we can reject the hypothesis $\\theta_0 = \\theta$ at level $a$ (for example $a = .05$ for a 5\\% level test) if $C(\\theta)> c(1-a)$ where $c(1-a)$ is the $(1-a)$- quantile of a $\\chi^2(1)$ variable. The probability of falsely rejecting the true hypothesis is approximately $a \\times 100\\%$. \n", - "To construct a $(1-a) \\times 100$\\% confidence region for $\\theta$, we can then simply invert the test by collecting all parameter values that are not rejected at the $a$ level:\n", - "$$\n", - "CR(\\theta) = \\{ \\theta \\in \\Theta: C(\\theta) \\leq c(1-a)\\}.\n", - "$$\n", - "\n", - "\n", - "In more complex settings with many controls or controls that enter with unknown functional form, we can simply replace the residuals $\\tilde Y$, $\\tilde D$, and $\\tilde Z$ by machine\n", - "learned cross-fitted residuals $\\check Y$, $\\check D$, and $ \\check Z$. Thanks to the orthogonality of the IV moment condition underlying the formulation outlined above, we can formally assert that the properties of $C(\\theta)$ and the subsequent testing procedure and confidence region for $\\theta$ continue to hold when using cross-fitted residuals. We will further be able to apply the general procedure to cases where $D$\n", - "is a vector, with a suitable adjustment of the statistic $C(\\theta)$.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "zi5Gkqw2zcMD", - "papermill": { - "duration": 0.036055, - "end_time": "2021-04-23T10:42:32.507790", - "exception": false, - "start_time": "2021-04-23T10:42:32.471735", - "status": "completed" + { + "cell_type": "markdown", + "metadata": { + "id": "r7l6cFi2zcMA", + "papermill": { + "duration": 0.013703, + "end_time": "2021-04-23T10:42:16.269251", + "exception": false, + "start_time": "2021-04-23T10:42:16.255548", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Weak Instruments?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "rsUnPDfpzcMB", + "papermill": { + "duration": 16.107321, + "end_time": "2021-04-23T10:42:32.390552", + "exception": false, + "start_time": "2021-04-23T10:42:16.283231", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# using lfe package\n", + "summary(felm(dml2_lasso$dtil ~ dml2_lasso$ztil), robust = TRUE)\n", + "summary(felm(dml2_rf$dtil ~ dml2_rf$ztil), robust = TRUE)" + ] }, - "tags": [], - "vscode": { - "languageId": "r" + { + "cell_type": "markdown", + "metadata": { + "id": "L3fDDOmfzcMD", + "papermill": { + "duration": 0.015919, + "end_time": "2021-04-23T10:42:32.423865", + "exception": false, + "start_time": "2021-04-23T10:42:32.407946", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Anderson-Rubin Idea for Inference with Weak Instruments\n", + "\n", + "As shown above, we may have weak instruments because the t-stat in the regression $\\tilde D \\sim \\tilde Z$ is small relative to standard rules of thumb -- for example Stock and Yogo (2005) suggest accounting for weak instruments if the first stage F-statistic is less than 10 (and more recent work suggests even larger cutoffs).\n", + "\n", + "\n", + " Here, we consider one specific approach (from Anderson and Rubin (1949)) to doing valid inference under weak identification based upon the statistic:\n", + "$$\n", + "C(\\theta) = \\frac{ |E_n [(\\tilde Y - \\theta \\tilde D) \\tilde Z]|^2}{ \\mathbb{V}_n [(\\tilde Y - \\theta \\tilde D) \\tilde Z ]/n}.\n", + "$$\n", + "The empirical variance $\\mathbb{V}_n$ is defined as:\n", + "\\begin{align*}\n", + "\\mathbb{V}_{n}[ g(W_i)] &:= \\mathbb{E}_{n}g(W_i)g(W_i)' - \\mathbb{E}_{n}[ g(W_i)]\\mathbb{E}_{n}[ g(W_i)]'.\n", + "\\end{align*}\n", + "\n", + "If $\\theta_0 = \\theta$, then $C(\\theta) \\overset{a}{\\sim} N(0,1)^2 = \\chi^2(1)$. Therefore, we can reject the hypothesis $\\theta_0 = \\theta$ at level $a$ (for example $a = .05$ for a 5\\% level test) if $C(\\theta)> c(1-a)$ where $c(1-a)$ is the $(1-a)$- quantile of a $\\chi^2(1)$ variable. The probability of falsely rejecting the true hypothesis is approximately $a \\times 100\\%$. \n", + "To construct a $(1-a) \\times 100$\\% confidence region for $\\theta$, we can then simply invert the test by collecting all parameter values that are not rejected at the $a$ level:\n", + "$$\n", + "CR(\\theta) = \\{ \\theta \\in \\Theta: C(\\theta) \\leq c(1-a)\\}.\n", + "$$\n", + "\n", + "\n", + "In more complex settings with many controls or controls that enter with unknown functional form, we can simply replace the residuals $\\tilde Y$, $\\tilde D$, and $\\tilde Z$ by machine\n", + "learned cross-fitted residuals $\\check Y$, $\\check D$, and $ \\check Z$. Thanks to the orthogonality of the IV moment condition underlying the formulation outlined above, we can formally assert that the properties of $C(\\theta)$ and the subsequent testing procedure and confidence region for $\\theta$ continue to hold when using cross-fitted residuals. We will further be able to apply the general procedure to cases where $D$\n", + "is a vector, with a suitable adjustment of the statistic $C(\\theta)$.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "zi5Gkqw2zcMD", + "papermill": { + "duration": 0.036055, + "end_time": "2021-04-23T10:42:32.507790", + "exception": false, + "start_time": "2021-04-23T10:42:32.471735", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML-AR (DML with Anderson-Rubin)\n", + "\n", + "dml_ar_pliv <- function(rY, rD, rZ, grid, alpha = .05) {\n", + " n <- length(rY)\n", + " Cstat <- rep(0, length(grid))\n", + " for (i in seq_along(grid)) {\n", + " Cstat[i] <- n * (mean((rY - grid[i] * rD) * rZ))^2 / var((rY - grid[i] * rD) * rZ)\n", + " }\n", + " LB <- min(grid[Cstat < qchisq(1 - alpha, 1)])\n", + " UB <- max(grid[Cstat < qchisq(1 - alpha, 1)])\n", + " plot(range(grid), range(c(Cstat)), type = \"n\", xlab = \"Effect of institutions\", ylab = \"Statistic\", main = \" \")\n", + " lines(grid, Cstat, lty = 1, col = 1)\n", + " abline(h = qchisq(1 - alpha, 1), lty = 3, col = 4)\n", + " abline(v = LB, lty = 3, col = 2)\n", + " abline(v = UB, lty = 3, col = 2)\n", + " return(list(UB = UB, LB = LB))\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "k9bB2O13zcME", + "papermill": { + "duration": 0.478528, + "end_time": "2021-04-23T10:42:33.002469", + "exception": false, + "start_time": "2021-04-23T10:42:32.523941", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "dml_ar_pliv(\n", + " rY = dml2_lasso$ytil, rD = dml2_lasso$dtil, rZ = dml2_lasso$ztil,\n", + " grid = seq(-2, 2, by = .01)\n", + ")\n", + "\n", + "dml_ar_pliv(\n", + " rY = dml2_rf$ytil, rD = dml2_rf$dtil, rZ = dml2_rf$ztil,\n", + " grid = seq(-2, 2, by = .01)\n", + ")" + ] } - }, - "outputs": [], - "source": [ - "# DML-AR (DML with Anderson-Rubin)\n", - "\n", - "dml_ar_pliv <- function(rY, rD, rZ, grid, alpha = .05) {\n", - " n <- length(rY)\n", - " Cstat <- rep(0, length(grid))\n", - " for (i in seq_along(grid)) {\n", - " Cstat[i] <- n * (mean((rY - grid[i] * rD) * rZ))^2 / var((rY - grid[i] * rD) * rZ)\n", - " }\n", - " LB <- min(grid[Cstat < qchisq(1 - alpha, 1)])\n", - " UB <- max(grid[Cstat < qchisq(1 - alpha, 1)])\n", - " plot(range(grid), range(c(Cstat)), type = \"n\", xlab = \"Effect of institutions\", ylab = \"Statistic\", main = \" \")\n", - " lines(grid, Cstat, lty = 1, col = 1)\n", - " abline(h = qchisq(1 - alpha, 1), lty = 3, col = 4)\n", - " abline(v = LB, lty = 3, col = 2)\n", - " abline(v = UB, lty = 3, col = 2)\n", - " return(list(UB = UB, LB = LB))\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "k9bB2O13zcME", - "papermill": { - "duration": 0.478528, - "end_time": "2021-04-23T10:42:33.002469", - "exception": false, - "start_time": "2021-04-23T10:42:32.523941", - "status": "completed" + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "R", + "language": "R", + "name": "ir" }, - "tags": [], - "vscode": { - "languageId": "r" + "language_info": { + "codemirror_mode": "r", + "file_extension": ".r", + "mimetype": "text/x-r-source", + "name": "R", + "pygments_lexer": "r", + "version": "3.6.3" + }, + "papermill": { + "duration": 62.79319, + "end_time": "2021-04-23T10:42:34.038582", + "environment_variables": {}, + "exception": null, + "input_path": "__notebook__.ipynb", + "output_path": "__notebook__.ipynb", + "parameters": {}, + "start_time": "2021-04-23T10:41:31.245392", + "version": "2.1.3" } - }, - "outputs": [], - "source": [ - "dml_ar_pliv(\n", - " rY = dml2_lasso$ytil, rD = dml2_lasso$dtil, rZ = dml2_lasso$ztil,\n", - " grid = seq(-2, 2, by = .01)\n", - ")\n", - "\n", - "dml_ar_pliv(\n", - " rY = dml2_rf$ytil, rD = dml2_rf$dtil, rZ = dml2_rf$ztil,\n", - " grid = seq(-2, 2, by = .01)\n", - ")" - ] - } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "R", - "language": "R", - "name": "ir" - }, - "language_info": { - "codemirror_mode": "r", - "file_extension": ".r", - "mimetype": "text/x-r-source", - "name": "R", - "pygments_lexer": "r", - "version": "3.6.3" }, - "papermill": { - "duration": 62.79319, - "end_time": "2021-04-23T10:42:34.038582", - "environment_variables": {}, - "exception": null, - "input_path": "__notebook__.ipynb", - "output_path": "__notebook__.ipynb", - "parameters": {}, - "start_time": "2021-04-23T10:41:31.245392", - "version": "2.1.3" - } - }, - "nbformat": 4, - "nbformat_minor": 0 -} + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/AC2/r-dml-401k-IV.irnb b/AC2/r-dml-401k-IV.irnb index 213fda6c..15a6dd6a 100644 --- a/AC2/r-dml-401k-IV.irnb +++ b/AC2/r-dml-401k-IV.irnb @@ -1,2470 +1,2484 @@ { - "cells": [ - { - "cell_type": "markdown", - "id": "0", - "metadata": { - "id": "f02fa044", - "papermill": { - "duration": 0.012988, - "end_time": "2022-04-19T09:06:48.772902", - "exception": false, - "start_time": "2022-04-19T09:06:48.759914", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# Inference on Predictive and Causal Effects in High-Dimensional Nonlinear Models" - ] - }, - { - "cell_type": "markdown", - "id": "1", - "metadata": { - "id": "23154404", - "papermill": { - "duration": 0.009437, - "end_time": "2022-04-19T09:06:48.791895", - "exception": false, - "start_time": "2022-04-19T09:06:48.782458", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## Impact of 401(k) on Financial Wealth\n", - "\n", - "We consider estimation of the effect of 401(k) participation\n", - "on accumulated assets. 401(k) plans are pension accounts sponsored by employers. The key problem in determining the effect of participation in 401(k) plans on accumulated assets is saver heterogeneity coupled with the fact that the decision to enroll in a 401(k) is non-random. It is generally recognized that some people have a higher preference for saving than others. It also seems likely that those individuals with high unobserved preference for saving would be most likely to choose to participate in tax-advantaged retirement savings plans and would tend to have otherwise high amounts of accumulated assets. The presence of unobserved savings preferences with these properties then implies that conventional estimates that do not account for saver heterogeneity and endogeneity of participation will be biased upward, tending to overstate the savings effects of 401(k) participation.\n", - "\n", - "One can argue that eligibility for enrolling in a 401(k) plan in this data can be taken as exogenous after conditioning on a few observables of which the most important for their argument is income. The basic idea is that, at least around the time 401(k)’s initially became available, people were unlikely to be basing their employment decisions on whether an employer offered a 401(k) but would instead focus on income and other aspects of the job." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2", - "metadata": { - "id": "KmAkbDiVE7wm", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "install.packages(\"xtable\")\n", - "install.packages(\"hdm\")\n", - "install.packages(\"sandwich\")\n", - "install.packages(\"ggplot2\")\n", - "install.packages(\"randomForest\")\n", - "install.packages(\"glmnet\")\n", - "install.packages(\"rpart\")\n", - "install.packages(\"data.table\")\n", - "install.packages(\"gbm\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "3", - "metadata": { - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "library(xtable)\n", - "library(hdm)\n", - "library(sandwich)\n", - "library(ggplot2)\n", - "library(randomForest)\n", - "library(data.table)\n", - "library(glmnet)\n", - "library(rpart)\n", - "library(gbm)\n", - "\n", - "set.seed(123)" - ] - }, - { - "cell_type": "markdown", - "id": "4", - "metadata": { - "id": "7e23cba0", - "papermill": { - "duration": 0.009588, - "end_time": "2022-04-19T09:06:48.810853", - "exception": false, - "start_time": "2022-04-19T09:06:48.801265", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "### Data\n", - "\n", - "The raw dataset can be found [here](https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/401k.csv).\n", - "The data set can be loaded from the `hdm` package for R directly by typing:\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5", - "metadata": { - "id": "c442abdc", - "papermill": { - "duration": 0.46397, - "end_time": "2022-04-19T09:06:49.283933", - "exception": false, - "start_time": "2022-04-19T09:06:48.819963", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "data(pension)\n", - "data <- pension\n", - "dim(data)" - ] - }, - { - "cell_type": "markdown", - "id": "6", - "metadata": { - "id": "e47fa9d3", - "papermill": { - "duration": 0.009462, - "end_time": "2022-04-19T09:06:49.302928", - "exception": false, - "start_time": "2022-04-19T09:06:49.293466", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "See the \"Details\" section on the description of the data set, which can be accessed by\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7", - "metadata": { - "id": "00e04b82", - "papermill": { - "duration": 0.35227, - "end_time": "2022-04-19T09:06:49.664810", - "exception": false, - "start_time": "2022-04-19T09:06:49.312540", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "help(pension)" - ] - }, - { - "cell_type": "markdown", - "id": "8", - "metadata": { - "id": "24b41e4a", - "papermill": { - "duration": 0.009357, - "end_time": "2022-04-19T09:06:49.683784", - "exception": false, - "start_time": "2022-04-19T09:06:49.674427", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "The data consist of 9,915 observations at the household level drawn from the 1991 Survey of Income and Program Participation (SIPP). All the variables are referred to 1990. We use net financial assets (*net\\_tfa*) as the outcome variable, $Y$, in our analysis. The net financial assets are computed as the sum of IRA balances, 401(k) balances, checking accounts, saving bonds, other interest-earning accounts, other interest-earning assets, stocks, and mutual funds less non mortgage debts." - ] - }, - { - "cell_type": "markdown", - "id": "9", - "metadata": { - "id": "ed9d4e82", - "papermill": { - "duration": 0.009242, - "end_time": "2022-04-19T09:06:49.702401", - "exception": false, - "start_time": "2022-04-19T09:06:49.693159", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Among the $9915$ individuals, $3682$ are eligible to participate in the program. The variable *e401* indicates eligibility and *p401* indicates participation, respectively." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "10", - "metadata": { - "id": "63519184", - "papermill": { - "duration": 0.618528, - "end_time": "2022-04-19T09:06:50.330218", - "exception": false, - "start_time": "2022-04-19T09:06:49.711690", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "hist_e401 <- ggplot(data, aes(x = e401, fill = factor(e401))) +\n", - " geom_bar()\n", - "hist_e401" - ] - }, - { - "cell_type": "markdown", - "id": "11", - "metadata": { - "id": "823d2628", - "papermill": { - "duration": 0.009686, - "end_time": "2022-04-19T09:06:50.349766", - "exception": false, - "start_time": "2022-04-19T09:06:50.340080", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Eligibility is highly associated with financial wealth:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "12", - "metadata": { - "id": "5d8faf9c", - "papermill": { - "duration": 0.554613, - "end_time": "2022-04-19T09:06:50.914133", - "exception": false, - "start_time": "2022-04-19T09:06:50.359520", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "dens_net_tfa <- ggplot(data, aes(x = net_tfa, color = factor(e401), fill = factor(e401))) +\n", - " geom_density() +\n", - " xlim(c(-20000, 150000)) +\n", - " facet_wrap(. ~ e401)\n", - "\n", - "dens_net_tfa" - ] - }, - { - "cell_type": "markdown", - "id": "13", - "metadata": { - "id": "0f4f86a7", - "papermill": { - "duration": 0.010335, - "end_time": "2022-04-19T09:06:50.935024", - "exception": false, - "start_time": "2022-04-19T09:06:50.924689", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "The unconditional APE of e401 is about $19559$:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "14", - "metadata": { - "id": "836c6af7", - "papermill": { - "duration": 0.038096, - "end_time": "2022-04-19T09:06:50.983602", - "exception": false, - "start_time": "2022-04-19T09:06:50.945506", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "e1 <- data[data$e401 == 1, ]\n", - "e0 <- data[data$e401 == 0, ]\n", - "round(mean(e1$net_tfa) - mean(e0$net_tfa), 0)" - ] - }, - { - "cell_type": "markdown", - "id": "15", - "metadata": { - "id": "22b09926", - "papermill": { - "duration": 0.01047, - "end_time": "2022-04-19T09:06:51.004618", - "exception": false, - "start_time": "2022-04-19T09:06:50.994148", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Among the $3682$ individuals that are eligible, $2594$ decided to participate in the program. The unconditional APE of p401 is about $27372$:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "16", - "metadata": { - "id": "e78aaa58", - "papermill": { - "duration": 0.039305, - "end_time": "2022-04-19T09:06:51.054616", - "exception": false, - "start_time": "2022-04-19T09:06:51.015311", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "p1 <- data[data$p401 == 1, ]\n", - "p0 <- data[data$p401 == 0, ]\n", - "round(mean(p1$net_tfa) - mean(p0$net_tfa), 0)" - ] - }, - { - "cell_type": "markdown", - "id": "17", - "metadata": { - "id": "e0af3c81", - "papermill": { - "duration": 0.010831, - "end_time": "2022-04-19T09:06:51.076114", - "exception": false, - "start_time": "2022-04-19T09:06:51.065283", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "As discussed, these estimates are biased since they do not account for saver heterogeneity and endogeneity of participation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "18", - "metadata": { - "id": "A03YWrvUW0Sm", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# instrument variable\n", - "Z <- data[, \"e401\"]\n", - "# treatment variable\n", - "D <- data[, \"p401\"]\n", - "# outcome variable\n", - "y <- data[, \"net_tfa\"]" - ] - }, - { - "cell_type": "markdown", - "id": "19", - "metadata": { - "id": "RVUbOMRRWwBm" - }, - "source": [ - "### We construct the engineered features for controls" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "20", - "metadata": { - "id": "7vt1hbdBG8cb", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# Constructing the controls\n", - "x_formula <- paste(\"~ poly(age, 6, raw=TRUE) + poly(inc, 8, raw=TRUE) + poly(educ, 4, raw=TRUE) + \",\n", - " \"poly(fsize, 2, raw=TRUE) + male + marr + twoearn + db + pira + hown\")\n", - "X <- as.data.table(model.frame(x_formula, pension))\n", - "head(X)" - ] - }, - { - "cell_type": "markdown", - "id": "21", - "metadata": { - "id": "yzNigd7YYVuA" - }, - "source": [ - "# Instrumental Variables: Effect of 401k Participation on Financial Assets" - ] - }, - { - "cell_type": "markdown", - "id": "22", - "metadata": { - "id": "FI2u5KU7YWIF" - }, - "source": [ - "## Double ML IV under Partial Linearity" - ] - }, - { - "cell_type": "markdown", - "id": "23", - "metadata": { - "id": "uhDK6Em_YWSm" - }, - "source": [ - "Now, we consider estimation of average treatment effects of participation in 401k, i.e. `p401`, with the binary instrument being eligibility in 401k, i.e. `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. We consider a partially linear structural equation model:\n", - "\\begin{align}\n", - "Y :=~& g_Y(\\epsilon_Y) D + f_Y(A, X, \\epsilon_Y), \\\\\n", - "D :=~& f_D(Z, X, A, \\epsilon_D), \\\\\n", - "Z :=~& f_Z(X, \\epsilon_Z),\\\\\n", - "A :=~& f_A(X, \\epsilon_A), \\\\\n", - "X :=~& \\epsilon_X,\n", - "\\end{align}\n", - "where $A$ is a vector of un-observed confounders.\n", - "\n", - "Under this structural equation model, the average treatment effect:\n", - "\\begin{align}\n", - "\\alpha = E[Y(1) - Y(0)]\n", - "\\end{align}\n", - "can be identified by the moment restriction:\n", - "\\begin{align}\n", - "E[(\\tilde{Y} - \\alpha \\tilde{D}) \\tilde{Z}] = 0\n", - "\\end{align}\n", - "where for any variable $V$, we denote with $\\tilde{V} = V - E[V|X]$." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "24", - "metadata": { - "id": "bdUGB53AYf3S", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "set.seed(1)\n", - "# family gaussian means that we'll be using square loss\n", - "yfit_lasso_cv <- cv.glmnet(as.matrix(X), y, family = \"gaussian\", alpha = 1)\n", - "# family gaussian means that we'll be using square loss\n", - "dfit_lasso_cv <- cv.glmnet(as.matrix(X), D, family = \"gaussian\", alpha = 1)\n", - "# family gaussian means that we'll be using square loss\n", - "zfit_lasso_cv <- cv.glmnet(as.matrix(X), Z, family = \"gaussian\", alpha = 1)\n", - "\n", - "\n", - "yhat_lasso_cv <- predict(yfit_lasso_cv, newx = as.matrix(X)) # predictions\n", - "dhat_lasso_cv <- predict(dfit_lasso_cv, newx = as.matrix(X)) # predictions\n", - "zhat_lasso_cv <- predict(zfit_lasso_cv, newx = as.matrix(X)) # predictions\n", - "\n", - "resy <- y - yhat_lasso_cv\n", - "resD <- D - dhat_lasso_cv\n", - "resZ <- Z - zhat_lasso_cv\n", - "\n", - "# Estimate\n", - "mean(resy * resZ) / mean(resZ * resD)" - ] - }, - { - "cell_type": "markdown", - "id": "25", - "metadata": { - "id": "Fw1ZxeBKZcRm" - }, - "source": [ - "Recall if we want to do inference, we need to either use the theoretically driven penalty paramter for Lasso or perform cross-fitting." - ] - }, - { - "cell_type": "markdown", - "id": "26", - "metadata": { - "id": "jnBOtXXuZnkz" - }, - "source": [ - "### DML with Non-Linear ML Models and Cross-fitting" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "27", - "metadata": { - "id": "K_vQlMYmz91I", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML for PLIVM with D and Z as classifiers or regressors\n", - "dml2_for_plivm <- function(x, d, z, y, dreg, yreg, zreg, nfold = 5, method = \"regression\") {\n", - " nobs <- nrow(x)\n", - " foldid <- rep.int(1:nfold, times = ceiling(nobs / nfold))[sample.int(nobs)]\n", - " I <- split(1:nobs, foldid)\n", - " # create residualized objects to fill\n", - " ytil <- dtil <- ztil <- rep(NA, nobs)\n", - " # obtain cross-fitted residuals\n", - " cat(\"fold: \")\n", - " for (b in seq_along(I)) {\n", - " if (method == \"randomforest\") {\n", - " # take a fold out\n", - " dfit <- dreg(x[-I[[b]], ], d[-I[[b]]])\n", - " zfit <- zreg(x[-I[[b]], ], z[-I[[b]]])\n", - " yfit <- yreg(x[-I[[b]], ], y[-I[[b]]])\n", - " # predict the fold out\n", - " dhat <- predict(dfit, x[I[[b]], ], type = \"prob\")[, 2] # type = \"prob\" is like predict_proba in scikitlearn\n", - " zhat <- predict(zfit, x[I[[b]], ], type = \"prob\")[, 2]\n", - " # default type = \"response\" for regression for RF, type = \"vector\" for regression for Decision Trees\n", - " yhat <- predict(yfit, x[I[[b]], ])\n", - " # record residual\n", - " # as.numeric will turn d = as.factor(d) from 0,1 to 1,2 so subtract 1!\n", - " dtil[I[[b]]] <- (as.numeric(d[I[[b]]]) - 1 - dhat)\n", - " ztil[I[[b]]] <- (as.numeric(z[I[[b]]]) - 1 - zhat)\n", - " ytil[I[[b]]] <- (y[I[[b]]] - yhat)\n", - " } else if (method == \"regression\") { # works for both boosted trees and glmnet\n", - " # take a fold out\n", - " dfit <- dreg(x[-I[[b]], ], d[-I[[b]]])\n", - " zfit <- zreg(x[-I[[b]], ], z[-I[[b]]])\n", - " yfit <- yreg(x[-I[[b]], ], y[-I[[b]]])\n", - " # predict the fold out\n", - " dhat <- predict(dfit, x[I[[b]], ], type = \"response\")\n", - " zhat <- predict(zfit, x[I[[b]], ], type = \"response\")\n", - " yhat <- predict(yfit, x[I[[b]], ], type = \"response\")\n", - " # record residual\n", - " dtil[I[[b]]] <- (d[I[[b]]] - dhat)\n", - " ztil[I[[b]]] <- (z[I[[b]]] - zhat)\n", - " ytil[I[[b]]] <- (y[I[[b]]] - yhat)\n", - " } else if (method == \"decisiontrees\") {\n", - " # take a fold out\n", - " dfit <- dreg(x[-I[[b]], ], as.factor(d)[-I[[b]]])\n", - " zfit <- zreg(x[-I[[b]], ], as.factor(z)[-I[[b]]])\n", - " yfit <- yreg(x[-I[[b]], ], y[-I[[b]]])\n", - " # predict the fold out\n", - " dhat <- predict(dfit, x[I[[b]], ])[, 2]\n", - " zhat <- predict(zfit, x[I[[b]], ])[, 2]\n", - " yhat <- predict(yfit, x[I[[b]], ])\n", - " # record residual\n", - " dtil[I[[b]]] <- (d[I[[b]]] - dhat)\n", - " ztil[I[[b]]] <- (z[I[[b]]] - zhat)\n", - " ytil[I[[b]]] <- (y[I[[b]]] - yhat)\n", - " }\n", - "\n", - " cat(b, \" \")\n", - " }\n", - " ivfit <- tsls(y = ytil, d = dtil, x = NULL, z = ztil, intercept = FALSE)\n", - " coef_est <- ivfit$coef # extract coefficient\n", - " se <- ivfit$se # record standard error\n", - " cat(sprintf(\"\\ncoef (se) = %g (%g)\\n\", coef_est, se))\n", - "\n", - " return(list(coef_est = coef_est, se = se, dtil = dtil, ytil = ytil, ztil = ztil))\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "28", - "metadata": { - "id": "puSCLNvofQxA", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "summary_for_plivm <- function(point, stderr, resy, resD, resZ, name) {\n", - " data <- data.frame(\n", - " estimate = point, # point estimate\n", - " stderr = stderr, # standard error\n", - " lower = point - 1.96 * stderr, # lower end of 95% confidence interval\n", - " upper = point + 1.96 * stderr, # upper end of 95% confidence interval\n", - " `rmse y` = sqrt(mean(resy^2)), # RMSE of model that predicts outcome y\n", - " `rmse D` = sqrt(mean(resD^2)), # RMSE of model that predicts treatment D\n", - " `rmse Z` = sqrt(mean(resZ^2)), # RMSE of model that predicts treatment D\n", - " `accuracy D` = mean(abs(resD) < 0.5), # binary classification accuracy of model for D\n", - " `accuracy Z` = mean(abs(resZ) < 0.5) # binary classification accuracy of model for Z\n", - " )\n", - " rownames(data) <- name\n", - " return(data)\n", - "}" - ] - }, - { - "cell_type": "markdown", - "id": "29", - "metadata": { - "id": "1Z5vrvrlbuPj" - }, - "source": [ - "#### Double Lasso with Cross-Fitting" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "30", - "metadata": { - "id": "vBJm7BkUYgsG", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML with LassoCV\n", - "set.seed(123)\n", - "cat(sprintf(\"\\nDML with Lasso CV \\n\"))\n", - "\n", - "dreg_lasso_cv <- function(x, d) {\n", - " cv.glmnet(x, d, family = \"gaussian\", alpha = 1, nfolds = 5)\n", - "}\n", - "yreg_lasso_cv <- function(x, y) {\n", - " cv.glmnet(x, y, family = \"gaussian\", alpha = 1, nfolds = 5)\n", - "}\n", - "zreg_lasso_cv <- function(x, z) {\n", - " cv.glmnet(x, z, family = \"gaussian\", alpha = 1, nfolds = 5)\n", - "}\n", - "\n", - "dml2_results <- dml2_for_plivm(as.matrix(X), D, Z, y, dreg_lasso_cv, yreg_lasso_cv, zreg_lasso_cv,\n", - " nfold = 5, method = \"regression\")\n", - "sum_lasso_cv <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", - " dml2_results$ztil, name = \"LassoCV\")\n", - "tableplr <- data.frame()\n", - "tableplr <- rbind(sum_lasso_cv)\n", - "tableplr\n", - "\n", - "ytil_lasso <- dml2_results$ytil\n", - "dtil_lasso <- dml2_results$dtil\n", - "ztil_lasso <- dml2_results$ztil" - ] - }, - { - "cell_type": "markdown", - "id": "31", - "metadata": { - "id": "pyrem2YniNls" - }, - "source": [ - "#### Using a $\\ell_2$ Penalized Logistic Regression for D and Z" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "32", - "metadata": { - "id": "FM6WvQXKYgxL", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML with Lasso/Ridge\n", - "set.seed(123)\n", - "cat(sprintf(\"\\nDML with Lasso/Logistic \\n\"))\n", - "\n", - "dreg_ridge_cv <- function(x, d) {\n", - " cv.glmnet(x, d, family = \"binomial\", alpha = 0, nfolds = 5)\n", - "}\n", - "yreg_ridge_cv <- function(x, y) {\n", - " cv.glmnet(x, y, family = \"gaussian\", alpha = 1, nfolds = 5)\n", - "}\n", - "zreg_ridge_cv <- function(x, z) {\n", - " cv.glmnet(x, z, family = \"binomial\", alpha = 0, nfolds = 5)\n", - "}\n", - "\n", - "dml2_results <- dml2_for_plivm(as.matrix(X), D, Z, y, dreg_ridge_cv, yreg_ridge_cv, zreg_ridge_cv,\n", - " nfold = 5, method = \"regression\")\n", - "sum_lasso_ridge_cv <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", - " dml2_results$ztil, name = \"LassoCV/LogisticCV\")\n", - "tableplr <- rbind(tableplr, sum_lasso_ridge_cv)\n", - "tableplr\n", - "\n", - "ytil_ridge <- dml2_results$ytil\n", - "dtil_ridge <- dml2_results$dtil\n", - "ztil_ridge <- dml2_results$ztil" - ] - }, - { - "cell_type": "markdown", - "id": "33", - "metadata": { - "id": "yfTdX3__jcwI" - }, - "source": [ - "### Random Forests" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34", - "metadata": { - "id": "mMvJT6NZHW1_", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML with Random Forest\n", - "set.seed(123)\n", - "cat(sprintf(\"\\nDML with Random Forest \\n\"))\n", - "\n", - "dreg_rf <- function(x, d) {\n", - " randomForest(x, d, ntree = 1000, nodesize = 10)\n", - "} # ML method=Forest\n", - "yreg_rf <- function(x, y) {\n", - " randomForest(x, y, ntree = 1000, nodesize = 10)\n", - "} # ML method=Forest\n", - "zreg_rf <- function(x, z) {\n", - " randomForest(x, z, ntree = 1000, nodesize = 10)\n", - "} # ML method=Forest\n", - "\n", - "dml2_results <- dml2_for_plivm(as.matrix(X), as.factor(D), as.factor(Z), y, dreg_rf, yreg_rf, zreg_rf,\n", - " nfold = 5, method = \"randomforest\")\n", - "sum_rf <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", - " dml2_results$ztil, name = \"RF\")\n", - "tableplr <- rbind(tableplr, sum_rf)\n", - "tableplr\n", - "\n", - "ytil_rf <- dml2_results$ytil\n", - "dtil_rf <- dml2_results$dtil\n", - "ztil_rf <- dml2_results$ztil" - ] - }, - { - "cell_type": "markdown", - "id": "35", - "metadata": { - "id": "4I1oVQutjeqE" - }, - "source": [ - "### Decision Trees" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "36", - "metadata": { - "id": "ayrnTPeBHW88", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML with Decision Trees\n", - "set.seed(123)\n", - "cat(sprintf(\"\\nDML with Decision Trees \\n\"))\n", - "\n", - "# decision tree takes in X as dataframe, not matrix/array\n", - "dreg_tr <- function(x, d) {\n", - " rpart(as.formula(\"D~.\"), cbind(data.frame(D = d), x), method = \"class\", minbucket = 10, cp = 0.001)\n", - "}\n", - "yreg_tr <- function(x, y) {\n", - " rpart(as.formula(\"y~.\"), cbind(data.frame(y = y), x), minbucket = 10, cp = 0.001)\n", - "}\n", - "zreg_tr <- function(x, z) {\n", - " rpart(as.formula(\"Z~.\"), cbind(data.frame(Z = z), x), method = \"class\", minbucket = 10, cp = 0.001)\n", - "}\n", - "\n", - "dml2_results <- dml2_for_plivm(X, D, Z, y, dreg_tr, yreg_tr, zreg_tr,\n", - " nfold = 5, method = \"decisiontrees\")\n", - "sum_tr <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", - " dml2_results$ztil, name = \"Decision Trees\")\n", - "tableplr <- rbind(tableplr, sum_tr)\n", - "tableplr\n", - "\n", - "ytil_tr <- dml2_results$ytil\n", - "dtil_tr <- dml2_results$dtil\n", - "ztil_tr <- dml2_results$ztil" - ] - }, - { - "cell_type": "markdown", - "id": "37", - "metadata": { - "id": "h7Jo_WXUjgjb" - }, - "source": [ - "### Boosted Trees" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "38", - "metadata": { - "id": "nzlszy9zjiSy", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML with Boosted Trees\n", - "set.seed(123)\n", - "cat(sprintf(\"\\nDML with Boosted Trees \\n\"))\n", - "\n", - "# NB: early stopping cannot easily be implemented with gbm\n", - "## set n.trees = best, where best <- gbm.perf(dreg_boost, plot.it = FALSE)\n", - "dreg_boost <- function(x, d) {\n", - " gbm(as.formula(\"D~.\"), cbind(data.frame(D = d), x), distribution = \"bernoulli\",\n", - " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", - "}\n", - "yreg_boost <- function(x, y) {\n", - " gbm(as.formula(\"y~.\"), cbind(data.frame(y = y), x), distribution = \"gaussian\",\n", - " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", - "}\n", - "zreg_boost <- function(x, z) {\n", - " gbm(as.formula(\"Z~.\"), cbind(data.frame(Z = z), x), distribution = \"bernoulli\",\n", - " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", - "}\n", - "\n", - "# passing these through regression as type=\"response\", and D and Z should not be factors!\n", - "dml2_results <- dml2_for_plivm(X, D, Z, y, dreg_boost, yreg_boost, zreg_boost,\n", - " nfold = 5, method = \"regression\")\n", - "sum_boost <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", - " dml2_results$ztil, name = \"Boosted Trees\")\n", - "tableplr <- rbind(tableplr, sum_boost)\n", - "tableplr\n", - "\n", - "ytil_boost <- dml2_results$ytil\n", - "dtil_boost <- dml2_results$dtil\n", - "ztil_boost <- dml2_results$ztil" - ] - }, - { - "cell_type": "markdown", - "id": "39", - "metadata": { - "id": "oQpoYedAc4Ic" - }, - "source": [ - "## Ensembles" - ] - }, - { - "cell_type": "markdown", - "id": "40", - "metadata": { - "id": "_LLsorarc8Mh" - }, - "source": [ - "Boosted trees give the best RMSE for Y, D, and Z, so the ensemble based on choosing the best performing prediction rule is identical to boosting in this case." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "41", - "metadata": { - "id": "kAePILCadEVh", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# Best fit is boosted trees for D, Z, Y\n", - "\n", - "sum_best <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", - " dml2_results$ztil, name = \"Best\")\n", - "tableplr <- rbind(tableplr, sum_best)\n", - "tableplr" - ] - }, - { - "cell_type": "markdown", - "id": "42", - "metadata": { - "id": "KaaDX4kkdIMx" - }, - "source": [ - "We'll form a model average with unconstrained least squares weights." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "43", - "metadata": { - "id": "mCsyY3iJdHm_", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# Least squares model average\n", - "\n", - "dhat_lasso <- D - dtil_lasso\n", - "dhat_ridge <- D - dtil_ridge\n", - "dhat_rf <- D - dtil_rf\n", - "dhat_tr <- D - dtil_tr\n", - "dhat_boost <- D - dtil_boost\n", - "\n", - "yhat_lasso <- y - ytil_lasso\n", - "yhat_ridge <- y - ytil_ridge\n", - "yhat_rf <- y - ytil_rf\n", - "yhat_tr <- y - ytil_tr\n", - "yhat_boost <- y - ytil_boost\n", - "\n", - "zhat_lasso <- Z - ztil_lasso\n", - "zhat_ridge <- Z - ztil_ridge\n", - "zhat_rf <- Z - ztil_rf\n", - "zhat_tr <- Z - ztil_tr\n", - "zhat_boost <- Z - ztil_boost\n", - "\n", - "ma_dtil <- lm(D ~ dhat_lasso + dhat_ridge + dhat_rf + dhat_tr + dhat_boost)$residuals\n", - "ma_ytil <- lm(y ~ yhat_lasso + yhat_ridge + yhat_rf + yhat_tr + yhat_boost)$residuals\n", - "ma_ztil <- lm(Z ~ zhat_lasso + zhat_ridge + zhat_rf + zhat_tr + zhat_boost)$residuals\n", - "\n", - "ivfit <- tsls(y = ma_ytil, d = ma_dtil, x = NULL, z = ma_ztil, intercept = FALSE)\n", - "coef_est <- ivfit$coef # extract coefficient\n", - "se <- ivfit$se # record standard error\n", - "\n", - "sum_ma <- summary_for_plivm(coef_est, se, ma_ytil, ma_dtil, ma_ztil, name = \"Model Average\")\n", - "tableplr <- rbind(tableplr, sum_ma)\n", - "tableplr" - ] - }, - { - "cell_type": "markdown", - "id": "44", - "metadata": { - "id": "8OUusM2BpZH4" - }, - "source": [ - "## Inference Robust to Weak Identification\n", - "\n", - "Now we turn toward robustness when the instrument is weak.\n", - "\n", - "Ideally, we would do (semi) cross-fitting with AutoML in order to find good first-stage models and re-run DML with these models. Unfortunately this is not easy to do in R. In the case of semi cross-fitting, we can use R's H20 AutoML trained on the entire training set $y\\sim X$, $D \\sim X$, $Z\\sim X$ to determine the best model (eg ensemble), but H20 does not allow you to extract the best model so we can re-use that in DML.\n", - "\n", - "Thus, in the below analysis of robust inference, we choose Boosted Trees as they perform well." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "45", - "metadata": { - "id": "UeNF5j1ApYYy", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "robust_inference <- function(point, stderr, resD, resy, resZ, grid, alpha = 0.05) {\n", - " # Inference in the partially linear IV model that is robust to weak identification.\n", - " # grid: grid of theta values to search over when trying to identify the confidence region\n", - " # alpha: confidence level\n", - "\n", - " n <- dim(X)[1]\n", - " thr <- qchisq(1 - alpha, df = 1)\n", - " accept <- c()\n", - "\n", - " for (theta in grid) {\n", - " moment <- (resy - theta * resD) * resZ\n", - " test <- n * mean(moment)^2 / var(moment)\n", - " if (test <= thr) {\n", - " accept <- c(accept, theta)\n", - " }\n", - " }\n", - "\n", - " return(accept)\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "46", - "metadata": { - "id": "X21PuuUnsa25", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "grid <- seq(0, 20000, length.out = 10000)\n", - "region <- robust_inference(dml2_results$coef_est, dml2_results$stderr, dml2_results$dtil, dml2_results$ytil,\n", - " dml2_results$ztil, grid = grid)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47", - "metadata": { - "id": "x-ZSzMkVqI45", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "grid <- seq(0, 20000, length.out = 10000)\n", - "region <- robust_inference(dml2_results$coef_est, dml2_results$stderr, dml2_results$dtil, dml2_results$ytil,\n", - " dml2_results$ztil, grid = grid)\n", - "# Calculate min and max\n", - "min_region <- min(region)\n", - "max_region <- max(region)\n", - "\n", - "print(min_region)\n", - "print(max_region)" - ] - }, - { - "cell_type": "markdown", - "id": "48", - "metadata": { - "id": "nKQGPfXWIKmh" - }, - "source": [ - "# Interactive IV Model and LATE" - ] - }, - { - "cell_type": "markdown", - "id": "49", - "metadata": { - "id": "bCayhAlaINjL" - }, - "source": [ - "Now, we consider estimation of local average treatment effects (LATE) of participation `p401`, with the binary instrument `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. Here the structural equation model is:\n", - "\\begin{align}\n", - "Y :=~& f_Y (D, X, A, \\epsilon_Y) \\\\\n", - "D :=~& f_D(Z, X, A, \\epsilon_D) \\in \\{0,1\\}, \\\\\n", - "Z :=~& f_Z(X,\\epsilon_Z) \\in \\{0,1\\}, \\\\\n", - "X :=~& \\epsilon_X, \\quad A = \\epsilon_A,\n", - "\\end{align}\n", - "where $\\epsilon$'s are all exogenous and independent,\n", - "and\n", - "$$\n", - "z \\mapsto f_D(z , A, X, \\epsilon_D) \\text{ is weakly increasing (weakly monotone)}.\n", - "$$\n", - "and $A$ is a vector of unobserved confounders. Note that in our setting monotonicity is satisfied, since participation is only feasible when it is eligible. Thus we have that $D=0$ whenever $Z=0$. Thus it can only be that $f_D(1, A, X, \\epsilon_D) \\geq 0 = f_D(0, A, X, \\epsilon_D)$.\n", - "\n", - "In this case, we can estimate the local average treatment effect (LATE):\n", - "$$\n", - "\\alpha = E[Y(1) - Y(0) | D(1) > D(0)]\n", - "$$\n", - "This can be identified using the Neyman orthogonal moment equation:\n", - "\\begin{align}\n", - "E\\left[g(1, X) - g(0, X) + H(Z) (Y - g(Z, X)) - \\alpha \\cdot (m(1, X) - m(0, X) + H(Z) (D - m(Z, X))\\right] = 0\n", - "\\end{align}\n", - "where\n", - "\\begin{align}\n", - "g(Z,X) =~& E[Y|Z,X],\\\\\n", - "m(Z,X) =~& E[D|Z,X],\\\\\n", - "H(Z) =~& \\frac{Z}{Pr(Z=1|X)} - \\frac{1 - Z}{1 - Pr(Z=1|X)}\n", - "\\end{align}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "50", - "metadata": { - "id": "rQYifUnFIt5z", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "get_dhat0 <- function(XZ0, DZ0, Xb, dreg0, type = NULL, DZ0factor = NULL) {\n", - " # train a treatment model on training data that received Z=0 and predict treatment on all data in test set\n", - " if (mean(DZ0) > 0) { # it could be that D=0, whenever Z=0 deterministically\n", - " dreg0_ <- dreg0\n", - " if (is.null(DZ0factor)) {\n", - " dfit0 <- dreg0_((XZ0), DZ0)\n", - " } else {\n", - " dfit0 <- dreg0_((XZ0), DZ0factor)\n", - " }\n", - " if (is.null(type)) {\n", - " return(predict(dfit0, (Xb))[, 2])\n", - " } else if (type == \"prob\") {\n", - " return(predict(dfit0, (Xb), type = \"prob\")[, 2])\n", - " } else if (type == \"reponse\") {\n", - " return(predict(dfit0, (Xb), type = \"response\"))\n", - " } else {\n", - " stop(\"Invalid argument `type`.\")\n", - " }\n", - " } else {\n", - " return(0)\n", - " }\n", - "}\n", - "\n", - "get_dhat1 <- function(XZ1, DZ1, Xb, dreg1, type = NULL, DZ1factor = NULL) {\n", - " # train a treamtent model on training data that received Z=1 and predict treatment on all data in test set\n", - " if (mean(DZ1) < 1) { # it could be that D=1, whenever Z=1 deterministically\n", - " dreg1_ <- dreg1\n", - " if (is.null(DZ1factor)) {\n", - " dfit1 <- dreg1_((XZ1), DZ1)\n", - " } else {\n", - " dfit1 <- dreg1_((XZ1), DZ1factor)\n", - " }\n", - " if (is.null(type)) {\n", - " return(predict(dfit1, (Xb))[, 2])\n", - " } else if (type == \"prob\") {\n", - " return(predict(dfit1, (Xb), type = \"prob\")[, 2])\n", - " } else if (type == \"response\") {\n", - " return(predict(dfit1, (Xb), type = \"response\"))\n", - " } else {\n", - " stop(\"Invalid argument `type`.\")\n", - " }\n", - " } else {\n", - " return(1)\n", - " }\n", - "}\n", - "\n", - "# DML for IIVM with D and Z as classifiers or regressors\n", - "dml2_for_iivm <- function(x, d, z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", - " trimming = 0.01, nfold = 5, method = \"classification\", dt = 0, bt = 0) {\n", - " # this implements DML2 algorithm, where there moments are estimated via DML, before constructing\n", - " # the pooled estimate of theta randomly split data into folds\n", - "\n", - " ## NB This method has many if statements to accommodate the various estimators we will use.\n", - " ## Unlike Python's sklearn, all methods have idfferent default arguments in their predict functions.\n", - " ## See official R documentation for details.\n", - "\n", - " yhat0 <- rep(0, length(y))\n", - " yhat1 <- rep(0, length(y))\n", - " dhat0 <- rep(0, length(d))\n", - " dhat1 <- rep(0, length(d))\n", - " zhat <- rep(0, length(Z))\n", - "\n", - " nobs <- nrow(X)\n", - " foldid <- rep.int(1:nfold, times = ceiling(nobs / nfold))[sample.int(nobs)]\n", - " I <- split(1:nobs, foldid)\n", - " # create residualized objects to fill\n", - " ytil <- dtil <- ztil <- rep(NA, nobs)\n", - "\n", - " # obtain cross-fitted residuals\n", - " cat(\"fold: \")\n", - " for (b in seq_along(I)) {\n", - " # define helpful variables\n", - " Xb <- X[I[[b]], ]\n", - " Xnotb <- X[-I[[b]], ]\n", - " Znotb <- Z[-I[[b]]]\n", - "\n", - " # training dfs subsetted on the -I[[b]] fold\n", - " XZ0 <- X[-I[[b]], ][Z[-I[[b]]] == 0]\n", - " yZ0 <- y[-I[[b]]][Z[-I[[b]]] == 0]\n", - " XZ1 <- X[-I[[b]], ][Z[-I[[b]]] == 1]\n", - " yZ1 <- y[-I[[b]]][Z[-I[[b]]] == 1]\n", - " DZ0 <- d[-I[[b]]][Z[-I[[b]]] == 0]\n", - " DZ1 <- d[-I[[b]]][Z[-I[[b]]] == 1]\n", - "\n", - "\n", - " if (method == \"regression\") {\n", - " XZ0 <- as.matrix(XZ0)\n", - " XZ1 <- as.matrix(XZ1)\n", - " Xb <- as.matrix(Xb)\n", - " Xnotb <- as.matrix(Xnotb)\n", - "\n", - " # Train an outcome model on training data that received Z=0 and predict outcome on all data in the test set\n", - " yfit0 <- yreg0((XZ0), yZ0)\n", - " yhat0[I[[b]]] <- predict(yfit0, (Xb)) # default type = \"response\"\n", - "\n", - " # train an outcome model on training data that received Z=1 and predict outcome on all data in test set\n", - " yfit1 <- yreg1((XZ1), yZ1)\n", - " yhat1[I[[b]]] <- predict(yfit1, (Xb))\n", - "\n", - " # train a treatment model on training data that received Z=0 and predict treatment on all data in test set\n", - " # default type = \"response\", but for family binomial it's logg odds\n", - " dhat0[I[[b]]] <- get_dhat0(XZ0, DZ0, Xb, dreg0, type = \"response\")\n", - " dhat1[I[[b]]] <- get_dhat1(XZ1, DZ1, Xb, dreg1, type = \"response\")\n", - "\n", - " } else if (method == \"randomforest\") {\n", - " DZ0factor <- as.factor(D)[-I[[b]]][Z[-I[[b]]] == 0]\n", - " DZ1factor <- as.factor(D)[-I[[b]]][Z[-I[[b]]] == 1]\n", - " Znotb <- as.factor(Znotb)\n", - "\n", - " yfit0 <- yreg0((XZ0), yZ0)\n", - " yhat0[I[[b]]] <- predict(yfit0, (Xb), type = \"response\")\n", - " yfit1 <- yreg1((XZ1), yZ1)\n", - " yhat1[I[[b]]] <- predict(yfit1, (Xb), type = \"response\")\n", - "\n", - " dhat0[I[[b]]] <- get_dhat0(XZ0, DZ0, Xb, dreg0, type = \"prob\", DZ0factor = DZ0factor)\n", - " dhat1[I[[b]]] <- get_dhat1(XZ1, DZ1, Xb, dreg1, type = \"prob\", DZ1factor = DZ1factor)\n", - "\n", - " } else if (method == \"decisiontrees\") {\n", - " XZ0 <- as.data.frame(XZ0)\n", - " XZ1 <- as.data.frame(XZ1)\n", - " Xb <- as.data.frame(Xb)\n", - " Xnotb <- as.data.frame(Xnotb)\n", - "\n", - " yfit0 <- yreg0((XZ0), yZ0)\n", - " # default type = \"response\" for decision trees for continuous response\n", - " yhat0[I[[b]]] <- predict(yfit0, (Xb))\n", - "\n", - " yfit1 <- yreg1((XZ1), yZ1)\n", - " yhat1[I[[b]]] <- predict(yfit1, (Xb))\n", - "\n", - " dhat0[I[[b]]] <- get_dhat0(XZ0, DZ0, Xb, dreg0, DZ0factor = as.factor(DZ0))\n", - " dhat1[I[[b]]] <- get_dhat1(XZ1, DZ1, Xb, dreg1, DZ1factor = as.factor(DZ1))\n", - "\n", - " } else if (method == \"boostedtrees\") {\n", - " XZ0 <- as.data.frame(XZ0)\n", - " XZ1 <- as.data.frame(XZ1)\n", - " Xb <- as.data.frame(Xb)\n", - " Xnotb <- as.data.frame(Xnotb)\n", - "\n", - " yfit0 <- yreg0((XZ0), yZ0)\n", - " yhat0[I[[b]]] <- predict(yfit0, (Xb)) # default type = \"response\" for boosted trees\n", - " yfit1 <- yreg1((XZ1), yZ1)\n", - " yhat1[I[[b]]] <- predict(yfit1, (Xb))\n", - "\n", - " dhat0[I[[b]]] <- get_dhat0(XZ0, DZ0, Xb, dreg0, type = \"response\")\n", - " dhat1[I[[b]]] <- get_dhat1(XZ1, DZ1, Xb, dreg1, type = \"response\")\n", - "\n", - " }\n", - "\n", - " # propensity scores:\n", - " if (method == \"regression\") {\n", - " zfit_b <- zreg((Xnotb), Znotb)\n", - " zhat_b <- predict(zfit_b, (Xb), type = \"response\")\n", - " } else if (method == \"randomforest\") {\n", - " zfit_b <- zreg((Xnotb), Znotb)\n", - " zhat_b <- predict(zfit_b, (Xb), type = \"prob\")[, 2]\n", - " } else if (method == \"decisiontrees\") {\n", - " zfit_b <- zreg((Xnotb), as.factor(Znotb))\n", - " zhat_b <- predict(zfit_b, (Xb)) # default is prob, so get second column\n", - " zhat_b <- zhat_b[, 2]\n", - " } else if (method == \"boostedtrees\") {\n", - " zfit_b <- zreg((Xnotb), Znotb)\n", - " zhat_b <- predict(zfit_b, (Xb), type = \"response\")\n", - " }\n", - " zhat_b <- pmax(pmin(zhat_b, 1 - trimming), trimming) # trimming so scores are between [trimming, (1-trimming)]\n", - " zhat[I[[b]]] <- zhat_b\n", - "\n", - " cat(b, \" \")\n", - " }\n", - "\n", - "\n", - " # Prediction of treatment and outcome for observed instrument\n", - " yhat <- yhat0 * (1 - Z) + yhat1 * Z\n", - " dhat <- dhat0 * (1 - Z) + dhat1 * Z\n", - "\n", - " # residuals\n", - " ytil <- y - yhat\n", - " dtil <- D - dhat\n", - " ztil <- Z - zhat\n", - "\n", - " # doubly robust quantity for every sample\n", - " HZ <- Z / zhat - (1 - Z) / (1 - zhat)\n", - " drZ <- yhat1 - yhat0 + (y - yhat) * HZ\n", - " drD <- dhat1 - dhat0 + (D - dhat) * HZ\n", - " coef_est <- mean(drZ) / mean(drD)\n", - " cat(\"point\", coef_est)\n", - " psi <- drZ - coef_est * drD\n", - " Jhat <- mean(drD)\n", - " variance <- mean(psi^2) / Jhat^2\n", - " se <- sqrt(variance / nrow(X))\n", - " cat(\"se\", se)\n", - "\n", - " return(list(coef_est = coef_est, se = se, yhat = yhat, dhat = dhat, zhat = zhat, ytil = ytil,\n", - " dtil = dtil, ztil = ztil, drZ = drZ, drD = drD,\n", - " yhat0 = yhat0, yhat1 = yhat1, dhat0 = dhat0, dhat1 = dhat1))\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "51", - "metadata": { - "id": "iArB2WQHBXuV", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "summary_for_iivm <- function(coef_est, se, yhat, dhat, zhat, ytil, dtil, ztil, drZ, drD, X, Z, D, y, name) {\n", - " summary_data <- data.frame(\n", - " estimate = coef_est, # point estimate\n", - " se = se, # standard error\n", - " lower = coef_est - 1.96 * se, # lower end of 95% confidence interval\n", - " upper = coef_est + 1.96 * se, # upper end of 95% confidence interval\n", - " rmse_y = sqrt(mean(ytil^2)), # res of model that predicts outcome y\n", - " rmse_D = sqrt(mean(dtil^2)), # res of model that predicts treatment D\n", - " rmse_Z = sqrt(mean(ztil^2)), # res of model that predicts instrument Z\n", - " accuracy_D = mean(abs(dtil) < 0.5), # binary classification accuracy of model for D\n", - " accuracy_Z = mean(abs(ztil) < 0.5) # binary classification accuracy of model for Z\n", - " )\n", - " row.names(summary_data) <- name\n", - " return(summary_data)\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "52", - "metadata": { - "id": "Tj-8FFF3BXxV", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML with Lasso/Ridge\n", - "set.seed(123)\n", - "cat(sprintf(\"\\nDML with Lasso/Logistic \\n\"))\n", - "# DML with Lasso/Ridge\n", - "dreg0 <- function(x, d) {\n", - " cv.glmnet(x, d, family = \"binomial\", alpha = 0, nfolds = 5)\n", - "}\n", - "dreg1 <- function(x, d) {\n", - " cv.glmnet(x, d, family = \"binomial\", alpha = 0, nfolds = 5)\n", - "}\n", - "yreg0 <- function(x, y) {\n", - " cv.glmnet(x, y, family = \"gaussian\", alpha = 1, nfolds = 5)\n", - "}\n", - "yreg1 <- function(x, y) {\n", - " cv.glmnet(x, y, family = \"gaussian\", alpha = 1, nfolds = 5)\n", - "}\n", - "zreg <- function(x, z) {\n", - " cv.glmnet(x, z, family = \"binomial\", alpha = 0, nfolds = 5)\n", - "}\n", - "\n", - "dml2_results <- dml2_for_iivm(as.matrix(X), D, Z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", - " trimming = 0.01, nfold = 5, method = \"regression\")\n", - "sum_lasso_ridge_cv <- summary_for_iivm(dml2_results$coef_est, dml2_results$se, dml2_results$yhat, dml2_results$dhat,\n", - " dml2_results$zhat, dml2_results$ytil, dml2_results$dtil, dml2_results$ztil,\n", - " dml2_results$drZ, dml2_results$drD, name = \"LassoCV/LogisticCV\")\n", - "table <- data.frame()\n", - "table <- rbind(table, sum_lasso_ridge_cv)\n", - "table\n", - "\n", - "yhat_lasso <- dml2_results$yhat\n", - "dhat_lasso <- dml2_results$dhat\n", - "yhat0_lasso <- dml2_results$yhat0\n", - "yhat1_lasso <- dml2_results$yhat1\n", - "dhat0_lasso <- dml2_results$dhat0\n", - "dhat1_lasso <- dml2_results$dhat1\n", - "zhat_lasso <- dml2_results$zhat" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "53", - "metadata": { - "id": "sXjbvMbEkYJd", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML with Random Forest\n", - "set.seed(123)\n", - "cat(sprintf(\"\\nDML with Random Forest \\n\"))\n", - "\n", - "dreg0 <- function(x, d) {\n", - " randomForest(x, d, ntree = 1000, nodesize = 10)\n", - "} # ML method=Forest\n", - "dreg1 <- function(x, d) {\n", - " randomForest(x, d, ntree = 1000, nodesize = 10)\n", - "} # ML method=Forest\n", - "yreg0 <- function(x, y) {\n", - " randomForest(x, y, ntree = 1000, nodesize = 10)\n", - "} # ML method=Forest\n", - "yreg1 <- function(x, y) {\n", - " randomForest(x, y, ntree = 1000, nodesize = 10)\n", - "} # ML method=Forest\n", - "zreg <- function(x, z) {\n", - " randomForest(x, z, ntree = 1000, nodesize = 10)\n", - "} # ML method=Forest\n", - "\n", - "dml2_results <- dml2_for_iivm(X, D, Z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", - " trimming = 0.01, nfold = 5, method = \"randomforest\")\n", - "sum_rf <- summary_for_iivm(dml2_results$coef_est, dml2_results$se, dml2_results$yhat, dml2_results$dhat,\n", - " dml2_results$zhat, dml2_results$ytil, dml2_results$dtil, dml2_results$ztil,\n", - " dml2_results$drZ, dml2_results$drD, name = \"RF\")\n", - "table <- rbind(table, sum_rf)\n", - "table\n", - "\n", - "yhat_rf <- dml2_results$yhat\n", - "dhat_rf <- dml2_results$dhat\n", - "yhat0_rf <- dml2_results$yhat0\n", - "yhat1_rf <- dml2_results$yhat1\n", - "dhat0_rf <- dml2_results$dhat0\n", - "dhat1_rf <- dml2_results$dhat1\n", - "zhat_rf <- dml2_results$zhat" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "54", - "metadata": { - "id": "ZZRXpY8YkYNN", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML with Decision Trees\n", - "set.seed(123)\n", - "cat(sprintf(\"\\nDML with Decision Trees \\n\"))\n", - "\n", - "dreg0 <- function(x, d) {\n", - " rpart(as.formula(\"D ~ .\"), cbind(data.frame(D = d), x), method = \"class\", minbucket = 10, cp = 0.001)\n", - "}\n", - "dreg1 <- function(x, d) {\n", - " rpart(as.formula(\"D ~ .\"), cbind(data.frame(D = d), x), method = \"class\", minbucket = 10, cp = 0.001)\n", - "}\n", - "yreg0 <- function(x, y) {\n", - " rpart(as.formula(\"y ~ .\"), cbind(data.frame(y = y), x), minbucket = 10, cp = 0.001)\n", - "}\n", - "yreg1 <- function(x, y) {\n", - " rpart(as.formula(\"y ~ .\"), cbind(data.frame(y = y), x), minbucket = 10, cp = 0.001)\n", - "}\n", - "zreg <- function(x, z) {\n", - " rpart(as.formula(\"Z ~ .\"), cbind(data.frame(Z = z), x), method = \"class\", minbucket = 10, cp = 0.001)\n", - "}\n", - "\n", - "dml2_results <- dml2_for_iivm(X, D, Z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", - " trimming = 0.01, nfold = 5, method = \"decisiontrees\")\n", - "sum_tr <- summary_for_iivm(dml2_results$coef_est, dml2_results$se, dml2_results$yhat, dml2_results$dhat,\n", - " dml2_results$zhat, dml2_results$ytil, dml2_results$dtil, dml2_results$ztil,\n", - " dml2_results$drZ, dml2_results$drD, name = \"Decision Trees\")\n", - "table <- rbind(table, sum_tr)\n", - "table\n", - "\n", - "yhat_tr <- dml2_results$yhat\n", - "dhat_tr <- dml2_results$dhat\n", - "yhat0_tr <- dml2_results$yhat0\n", - "yhat1_tr <- dml2_results$yhat1\n", - "dhat0_tr <- dml2_results$dhat0\n", - "dhat1_tr <- dml2_results$dhat1\n", - "zhat_tr <- dml2_results$zhat" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "55", - "metadata": { - "id": "RYqykjPskYQJ", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# DML with Boosted Trees\n", - "set.seed(123)\n", - "cat(sprintf(\"\\nDML with Boosted Trees \\n\"))\n", - "\n", - "# NB: early stopping cannot easily be implemented with gbm\n", - "## set n.trees = best, where best <- gbm.perf(dreg_boost, plot.it = FALSE)\n", - "dreg0 <- function(x, d) {\n", - " gbm(as.formula(\"D ~ .\"), cbind(data.frame(D = d), x), distribution = \"bernoulli\",\n", - " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", - "}\n", - "dreg1 <- function(x, d) {\n", - " gbm(as.formula(\"D ~ .\"), cbind(data.frame(D = d), x), distribution = \"bernoulli\",\n", - " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", - "}\n", - "yreg0 <- function(x, y) {\n", - " gbm(as.formula(\"y ~ .\"), cbind(data.frame(y = y), x), distribution = \"gaussian\",\n", - " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", - "}\n", - "yreg1 <- function(x, y) {\n", - " gbm(as.formula(\"y ~ .\"), cbind(data.frame(y = y), x), distribution = \"gaussian\",\n", - " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", - "}\n", - "zreg <- function(x, z) {\n", - " gbm(as.formula(\"Z ~ .\"), cbind(data.frame(Z = z), x), distribution = \"bernoulli\",\n", - " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", - "}\n", - "\n", - "# passing these through regression as type=\"response\", and D and Z should not be factors!\n", - "dml2_results <- dml2_for_iivm(X, D, Z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", - " trimming = 0.01, nfold = 5, method = \"boostedtrees\")\n", - "sum_boost <- summary_for_iivm(dml2_results$coef_est, dml2_results$se, dml2_results$yhat, dml2_results$dhat,\n", - " dml2_results$zhat, dml2_results$ytil, dml2_results$dtil, dml2_results$ztil,\n", - " dml2_results$drZ, dml2_results$drD, name = \"Boosted Trees\")\n", - "table <- rbind(table, sum_boost)\n", - "table\n", - "\n", - "yhat_boost <- dml2_results$yhat\n", - "dhat_boost <- dml2_results$dhat\n", - "yhat0_boost <- dml2_results$yhat0\n", - "yhat1_boost <- dml2_results$yhat1\n", - "dhat0_boost <- dml2_results$dhat0\n", - "dhat1_boost <- dml2_results$dhat1\n", - "zhat_boost <- dml2_results$zhat" - ] - }, - { - "cell_type": "markdown", - "id": "56", - "metadata": { - "id": "29vcyCYsktQ3" - }, - "source": [ - "## Ensembles" - ] - }, - { - "cell_type": "markdown", - "id": "57", - "metadata": { - "id": "vuyfd9UJkw9G" - }, - "source": [ - "Boosted trees give the best RMSE for D and Z and random forests give the best RMSE for Y." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "58", - "metadata": { - "id": "Y9_T5SMUk3Rd", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# Best fit is boosted trees for D, Z and random forests for Y\n", - "\n", - "best_yhat0 <- yhat0_rf\n", - "best_yhat1 <- yhat1_rf\n", - "best_yhat <- yhat_rf\n", - "\n", - "best_dhat0 <- dhat0_boost\n", - "best_dhat1 <- dhat1_boost\n", - "best_dhat <- dhat_boost\n", - "\n", - "best_zhat <- zhat_boost\n", - "\n", - "ytil_best <- y - best_yhat\n", - "dtil_best <- D - best_dhat\n", - "ztil_best <- Z - best_zhat\n", - "\n", - "# doubly robust quantity for every sample\n", - "HZ <- Z / best_zhat - (1 - Z) / (1 - best_zhat)\n", - "drZ <- best_yhat1 - best_yhat0 + (y - best_yhat) * HZ\n", - "drD <- best_dhat1 - best_dhat0 + (D - best_dhat) * HZ\n", - "coef_est <- mean(drZ) / mean(drD)\n", - "psi <- drZ - coef_est * drD\n", - "Jhat <- mean(drD)\n", - "variance <- mean(psi^2) / Jhat^2\n", - "se <- sqrt(variance / nrow(X))\n", - "\n", - "sum_best <- summary_for_iivm(coef_est, se, best_yhat, best_dhat, best_zhat,\n", - " ytil_best, dtil_best, ztil_best, drZ, drD, name = \"Best\")\n", - "table <- rbind(table, sum_best)\n", - "table" - ] - }, - { - "cell_type": "markdown", - "id": "59", - "metadata": { - "id": "RyRS9zNUlMCF" - }, - "source": [ - "We'll form a model average with unconstrained least squares weights." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "60", - "metadata": { - "id": "1H4sCbO2lLpJ", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# Least squares model average\n", - "ma_dcoef <- lm(D ~ dhat_lasso + dhat_rf + dhat_tr + dhat_boost - 1)$coef\n", - "ma_ycoef <- lm(y ~ yhat_lasso + yhat_rf + yhat_tr + yhat_boost - 1)$coef\n", - "ma_zcoef <- lm(Z ~ zhat_lasso + zhat_rf + zhat_tr + zhat_boost - 1)$coef\n", - "\n", - "ma_yhat0 <- cbind(yhat0_lasso, yhat0_rf, yhat0_tr, yhat0_boost) %*% as.matrix(ma_ycoef)\n", - "ma_yhat1 <- cbind(yhat1_lasso, yhat1_rf, yhat1_tr, yhat1_boost) %*% as.matrix(ma_ycoef)\n", - "ma_dhat0 <- cbind(dhat0_lasso, dhat0_rf, dhat0_tr, dhat0_boost) %*% as.matrix(ma_dcoef)\n", - "ma_dhat1 <- cbind(dhat1_lasso, dhat1_rf, dhat1_tr, dhat1_boost) %*% as.matrix(ma_dcoef)\n", - "ma_zhat <- cbind(zhat_lasso, zhat_rf, zhat_tr, zhat_boost) %*% as.matrix(ma_zcoef)\n", - "\n", - "# Prediction of treatment and outcome for observed instrument\n", - "ma_yhat <- ma_yhat0 * (1 - Z) + ma_yhat1 * Z\n", - "ma_dhat <- ma_dhat0 * (1 - Z) + ma_dhat1 * Z\n", - "\n", - "# residuals\n", - "ma_ytil <- y - ma_yhat\n", - "ma_dtil <- D - ma_dhat\n", - "ma_ztil <- Z - ma_zhat\n", - "\n", - "# doubly robust quantity for every sample\n", - "HZ <- Z / ma_zhat - (1 - Z) / (1 - ma_zhat)\n", - "drZ <- ma_yhat1 - ma_yhat0 + (y - ma_yhat) * HZ\n", - "drD <- ma_dhat1 - ma_dhat0 + (D - ma_dhat) * HZ\n", - "coef_est <- mean(drZ) / mean(drD)\n", - "psi <- drZ - coef_est * drD\n", - "Jhat <- mean(drD)\n", - "variance <- mean(psi^2) / Jhat^2\n", - "se <- sqrt(variance / nrow(X))\n", - "\n", - "sum_ma <- summary_for_iivm(coef_est, se, ma_yhat, ma_dhat, ma_zhat,\n", - " ma_ytil, ma_dtil, ma_ztil, drZ, drD, name = \"Model Average\")\n", - "table <- rbind(table, sum_ma)\n", - "table" - ] - }, - { - "cell_type": "markdown", - "id": "61", - "metadata": { - "id": "UflbjTEG5SXV" - }, - "source": [ - "Comparing with the PLR model" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "62", - "metadata": { - "id": "CIS-58oi4sa1", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "tableplr" - ] - }, - { - "cell_type": "markdown", - "id": "63", - "metadata": { - "id": "M4Zi0FPH5VZG" - }, - "source": [ - "We find that the PLR model overestimates the effect by around 1k; though both sets of results have overlapping confidence intervals." - ] - }, - { - "cell_type": "markdown", - "id": "64", - "metadata": { - "id": "VrBkj_pc5qgm" - }, - "source": [ - "\n", - "Again as before, ideally we would do (semi) cross-fitting with AutoML in order to find good first-stage models and re-run DML with these models. Unfortunately this is not easy to do in R.\n", - "\n", - "As before, in the below analysis of robust inference, we choose Boosted Trees as they perform well in RMSE and accuracy on first-stage models." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "65", - "metadata": { - "id": "bj67nsgcCDoS", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "iivm_robust_inference <- function(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ,\n", - " drZ, drD, X, Z, D, y, grid, alpha = 0.05) {\n", - " # Inference in the partially linear IV model that is robust to weak identification.\n", - " # grid: grid of theta values to search over when trying to identify the confidence region\n", - " # alpha: confidence level\n", - "\n", - " n <- dim(X)[1]\n", - " thr <- qchisq(1 - alpha, df = 1)\n", - " accept <- c()\n", - "\n", - " for (theta in grid) {\n", - " moment <- drZ - theta * drD\n", - " test <- n * mean(moment)^2 / var(moment)\n", - " if (test <= thr) {\n", - " accept <- c(accept, theta)\n", - " }\n", - " }\n", - "\n", - " return(accept)\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "66", - "metadata": { - "id": "KqgPk1Jm4sdo", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "grid <- seq(0, 20000, length.out = 10000)\n", - "region <- iivm_robust_inference(point = dml2_results$coef_est, stderr = dml2_results$se,\n", - " yhat = dml2_results$yhat, Dhat = dml2_results$dhat, Zhat = dml2_results$zhat,\n", - " resy = dml2_results$ytil, resD = dml2_results$dtil, resZ = dml2_results$ztil,\n", - " drZ = dml2_results$drZ, drD = dml2_results$drD,\n", - " X = X, Z = Z, D = D, y = y, grid = grid)\n", - "\n", - "# Calculate min and max\n", - "min_region <- min(region)\n", - "max_region <- max(region)\n", - "\n", - "print(min_region)\n", - "print(max_region)" - ] - }, - { - "cell_type": "markdown", - "id": "67", - "metadata": { - "id": "akCGDMZJCN3h" - }, - "source": [ - "We find again that the robust inference confidence region is almost identical to the normal based inference. We are most probably in the strong instrument regime. We can check the t-statistic for the effect of the instrument on the treatment to verify this." - ] - }, - { - "cell_type": "markdown", - "id": "68", - "metadata": { - "id": "01de9f24", - "papermill": { - "duration": 0.010725, - "end_time": "2022-04-19T09:06:51.098483", - "exception": false, - "start_time": "2022-04-19T09:06:51.087758", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "# DoubleML package\n", - "\n", - "There exist nice packages out there that can help us do our estimation with the simple call of a function. Such packages include `EconML` (Python) and `DoubleML` (Python and R).\n", - "\n", - "We run through IIVM using `DoubleML` below to illustrate. The `DoubleML` package internally builds on `mlr3`. We use the meta package `mlr3` to generate predictions with machine learning methods. A comprehensive introduction and description of the `mlr3` package is provided in the [mlr3book](https://mlr3book.mlr-org.com/). A list of all learners that you can use in `mlr3` can be found [here](https://mlr3extralearners.mlr-org.com/articles/learners/list_learners.html). The entry in the columns *mlr3 Package* and *Packages* indicate which packages must be installed/loaded in your R session.\n", - "\n", - "You find additional information about `DoubleML` on the package on the package website https://docs.doubleml.org/ and the R documentation page https://docs.doubleml.org/r/stable/." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "69", - "metadata": { - "id": "2846a36a", - "papermill": { - "duration": 20.239271, - "end_time": "2022-04-19T09:07:11.369618", - "exception": false, - "start_time": "2022-04-19T09:06:51.130347", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "install.packages(\"DoubleML\")\n", - "install.packages(\"mlr3learners\")\n", - "install.packages(\"mlr3\")\n", - "install.packages(\"data.table\")\n", - "install.packages(\"ranger\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "70", - "metadata": { - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "library(DoubleML)\n", - "library(mlr3learners)\n", - "library(mlr3)\n", - "library(data.table)\n", - "library(ranger)" - ] - }, - { - "cell_type": "markdown", - "id": "71", - "metadata": { - "id": "2259ae1c", - "papermill": { - "duration": 0.015455, - "end_time": "2022-04-19T09:12:00.920079", - "exception": false, - "start_time": "2022-04-19T09:12:00.904624", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## Local Average Treatment Effects of 401(k) Participation on Net Financial Assets" - ] - }, - { - "cell_type": "markdown", - "id": "72", - "metadata": { - "id": "9c27e413", - "papermill": { - "duration": 0.015158, - "end_time": "2022-04-19T09:12:00.950542", - "exception": false, - "start_time": "2022-04-19T09:12:00.935384", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "## Interactive IV Model (IIVM)" - ] - }, - { - "cell_type": "markdown", - "id": "73", - "metadata": { - "id": "4fa23c70", - "papermill": { - "duration": 0.015304, - "end_time": "2022-04-19T09:12:00.981285", - "exception": false, - "start_time": "2022-04-19T09:12:00.965981", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Now, we consider estimation of local average treatment effects (LATE) of participation with the binary instrument `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. Here the structural equation model is:\n", - "\n", - "\\begin{align}\n", - "Y :=~& g_0(Z,X) + U, &\\quad E[U\\mid Z,X] = 0,\\\\\n", - "D :=~& r_0(Z,X) + V, &\\quad E[V\\mid Z, X] = 0,\\\\\n", - "Z :=~& m_0(X) + \\zeta, &\\quad E[\\zeta \\mid X] = 0.\n", - "\\end{align}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "74", - "metadata": { - "id": "cb223b75", - "papermill": { - "duration": 0.06823, - "end_time": "2022-04-19T09:12:01.064957", - "exception": false, - "start_time": "2022-04-19T09:12:00.996727", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# Constructing the data (as DoubleMLData)\n", - "formula_flex2 <- paste(\"net_tfa ~ p401+ e401 + poly(age, 6, raw=TRUE) + poly(inc, 8, raw=TRUE) + \",\n", - " \"poly(educ, 4, raw=TRUE) + poly(fsize, 2, raw=TRUE) + male + marr + twoearn + db + pira + hown\")\n", - "model_flex2 <- as.data.table(model.frame(formula_flex2, data))\n", - "x_cols <- colnames(model_flex2)[-c(1, 2, 3)]\n", - "data_iv <- DoubleMLData$new(model_flex2, y_col = \"net_tfa\", d_cols = \"p401\", z_cols = \"e401\", x_cols = x_cols)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "75", - "metadata": { - "id": "e652ffad", - "papermill": { - "duration": 20.934595, - "end_time": "2022-04-19T09:12:22.014866", - "exception": false, - "start_time": "2022-04-19T09:12:01.080271", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "lgr::get_logger(\"mlr3\")$set_threshold(\"warn\")\n", - "lasso <- lrn(\"regr.cv_glmnet\", nfolds = 5, s = \"lambda.min\")\n", - "lasso_class <- lrn(\"classif.cv_glmnet\", nfolds = 5, s = \"lambda.min\")\n", - "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", - " ml_g = lasso,\n", - " ml_m = lasso_class, ml_r = lasso_class, n_folds = 5, subgroups = list(\n", - " always_takers = FALSE,\n", - " never_takers = TRUE\n", - " )\n", - ")\n", - "dml_mliivm$fit(store_predictions = TRUE)\n", - "dml_mliivm$summary()\n", - "lasso_mliivm <- dml_mliivm$coef\n", - "lasso_std_mliivm <- dml_mliivm$se" - ] - }, - { - "cell_type": "markdown", - "id": "76", - "metadata": { - "id": "63103667", - "papermill": { - "duration": 0.015382, - "end_time": "2022-04-19T09:12:22.045989", - "exception": false, - "start_time": "2022-04-19T09:12:22.030607", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "The confidence interval for the local average treatment effect of participation is given by" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "77", - "metadata": { - "id": "322855c4", - "papermill": { - "duration": 0.042067, - "end_time": "2022-04-19T09:12:22.103953", - "exception": false, - "start_time": "2022-04-19T09:12:22.061886", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "dml_mliivm$confint(level = 0.95)" - ] - }, - { - "cell_type": "markdown", - "id": "78", - "metadata": { - "id": "2965410d", - "papermill": { - "duration": 0.015374, - "end_time": "2022-04-19T09:12:22.134875", - "exception": false, - "start_time": "2022-04-19T09:12:22.119501", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Here we can also check the accuracy of the model:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "79", - "metadata": { - "id": "1476fd27", - "papermill": { - "duration": 0.056054, - "end_time": "2022-04-19T09:12:22.206157", - "exception": false, - "start_time": "2022-04-19T09:12:22.150103", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# variables\n", - "y <- as.matrix(pension$net_tfa) # true observations\n", - "d <- as.matrix(pension$p401)\n", - "z <- as.matrix(pension$e401)\n", - "\n", - "# predictions\n", - "dml_mliivm$params_names()\n", - "g0_hat <- as.matrix(dml_mliivm$predictions$ml_g0) # predictions of g_0(z=0, X)\n", - "g1_hat <- as.matrix(dml_mliivm$predictions$ml_g1) # predictions of g_0(z=1, X)\n", - "g_hat <- z * g1_hat + (1 - z) * g0_hat # predictions of g_0\n", - "r0_hat <- as.matrix(dml_mliivm$predictions$ml_r0) # predictions of r_0(z=0, X)\n", - "r1_hat <- as.matrix(dml_mliivm$predictions$ml_r1) # predictions of r_0(z=1, X)\n", - "r_hat <- z * r1_hat + (1 - z) * r0_hat # predictions of r_0\n", - "m_hat <- as.matrix(dml_mliivm$predictions$ml_m) # predictions of m_o" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "80", - "metadata": { - "id": "444c53f4", - "papermill": { - "duration": 0.056945, - "end_time": "2022-04-19T09:12:22.278593", - "exception": false, - "start_time": "2022-04-19T09:12:22.221648", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# cross-fitted RMSE: outcome\n", - "lasso_y_mliivm <- sqrt(mean((y - g_hat)^2))\n", - "lasso_y_mliivm\n", - "\n", - "# cross-fitted RMSE: treatment\n", - "lasso_d_mliivm <- sqrt(mean((d - r_hat)^2))\n", - "lasso_d_mliivm\n", - "\n", - "# cross-fitted RMSE: instrument\n", - "lasso_z_mliivm <- sqrt(mean((z - m_hat)^2))\n", - "lasso_z_mliivm" - ] - }, - { - "cell_type": "markdown", - "id": "81", - "metadata": { - "id": "a7461966", - "papermill": { - "duration": 0.016468, - "end_time": "2022-04-19T09:12:22.311250", - "exception": false, - "start_time": "2022-04-19T09:12:22.294782", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "Again, we repeat the procedure for the other machine learning methods:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "82", - "metadata": { - "id": "59YzwIcpEnyV", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# needed to run boosting\n", - "remotes::install_github(\"mlr-org/mlr3extralearners\")\n", - "install.packages(\"mlr3extralearners\")\n", - "install.packages(\"mboost\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "83", - "metadata": { - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "library(mlr3extralearners)\n", - "library(mboost)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "84", - "metadata": { - "id": "Ec0g3ch3EjAl", - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "# Forest\n", - "randomForest <- lrn(\"regr.ranger\")\n", - "random_forest_class <- lrn(\"classif.ranger\")\n", - "\n", - "# Trees\n", - "trees <- lrn(\"regr.rpart\")\n", - "trees_class <- lrn(\"classif.rpart\")\n", - "\n", - "# Boosting\n", - "boost <- lrn(\"regr.glmboost\")\n", - "boost_class <- lrn(\"classif.glmboost\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "85", - "metadata": { - "id": "3935dfc5", - "papermill": { - "duration": 69.414354, - "end_time": "2022-04-19T09:13:31.742249", - "exception": false, - "start_time": "2022-04-19T09:12:22.327895", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" - } - }, - "outputs": [], - "source": [ - "### random forest ###\n", - "\n", - "lgr::get_logger(\"mlr3\")$set_threshold(\"warn\")\n", - "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", - " ml_g = randomForest,\n", - " ml_m = random_forest_class, ml_r = random_forest_class, n_folds = 3, subgroups = list(\n", - " always_takers = FALSE,\n", - " never_takers = TRUE\n", - " )\n", - ")\n", - "dml_mliivm$fit(store_predictions = TRUE)\n", - "dml_mliivm$summary()\n", - "forest_mliivm <- dml_mliivm$coef\n", - "forest_std_mliivm <- dml_mliivm$se\n", - "\n", - "# predictions\n", - "g0_hat <- as.matrix(dml_mliivm$predictions$ml_g0) # predictions of g_0(Z=0, X)\n", - "g1_hat <- as.matrix(dml_mliivm$predictions$ml_g1) # predictions of g_0(Z=1, X)\n", - "g_hat <- z * g1_hat + (1 - z) * g0_hat # predictions of g_0\n", - "r0_hat <- as.matrix(dml_mliivm$predictions$ml_r0) # predictions of r_0(Z=0, X)\n", - "r1_hat <- as.matrix(dml_mliivm$predictions$ml_r1) # predictions of r_0(Z=1, X)\n", - "r_hat <- z * r1_hat + (1 - z) * r0_hat # predictions of r_0\n", - "m_hat <- as.matrix(dml_mliivm$predictions$ml_m) # predictions of m_o\n", - "\n", - "# cross-fitted RMSE: outcome\n", - "forest_y_mliivm <- sqrt(mean((y - g_hat)^2))\n", - "forest_y_mliivm\n", - "\n", - "# cross-fitted RMSE: treatment\n", - "forest_d_mliivm <- sqrt(mean((d - r_hat)^2))\n", - "forest_d_mliivm\n", - "\n", - "# cross-fitted RMSE: instrument\n", - "forest_z_mliivm <- sqrt(mean((z - m_hat)^2))\n", - "forest_z_mliivm\n", - "\n", - "### trees ###\n", - "\n", - "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", - " ml_g = trees,\n", - " ml_m = trees_class, ml_r = trees_class, n_folds = 3, subgroups = list(\n", - " always_takers = FALSE,\n", - " never_takers = TRUE\n", - " )\n", - ")\n", - "dml_mliivm$fit(store_predictions = TRUE)\n", - "dml_mliivm$summary()\n", - "tree_mliivm <- dml_mliivm$coef\n", - "tree_std_mliivm <- dml_mliivm$se\n", - "\n", - "# predictions\n", - "g0_hat <- as.matrix(dml_mliivm$predictions$ml_g0) # predictions of g_0(Z=0, X)\n", - "g1_hat <- as.matrix(dml_mliivm$predictions$ml_g1) # predictions of g_0(Z=1, X)\n", - "g_hat <- z * g1_hat + (1 - z) * g0_hat # predictions of g_0\n", - "r0_hat <- as.matrix(dml_mliivm$predictions$ml_r0) # predictions of r_0(Z=0, X)\n", - "r1_hat <- as.matrix(dml_mliivm$predictions$ml_r1) # predictions of r_0(Z=1, X)\n", - "r_hat <- z * r1_hat + (1 - z) * r0_hat # predictions of r_0\n", - "m_hat <- as.matrix(dml_mliivm$predictions$ml_m) # predictions of m_o\n", - "\n", - "# cross-fitted RMSE: outcome\n", - "tree_y_mliivm <- sqrt(mean((y - g_hat)^2))\n", - "tree_y_mliivm\n", - "\n", - "# cross-fitted RMSE: treatment\n", - "tree_d_mliivm <- sqrt(mean((d - r_hat)^2))\n", - "tree_d_mliivm\n", - "\n", - "# cross-fitted RMSE: instrument\n", - "tree_z_mliivm <- sqrt(mean((z - m_hat)^2))\n", - "tree_z_mliivm\n", - "\n", - "\n", - "### boosting ###\n", - "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", - " ml_g = boost,\n", - " ml_m = boost_class, ml_r = boost_class, n_folds = 3, subgroups = list(\n", - " always_takers = FALSE,\n", - " never_takers = TRUE\n", - " )\n", - ")\n", - "dml_mliivm$fit(store_predictions = TRUE)\n", - "dml_mliivm$summary()\n", - "boost_mliivm <- dml_mliivm$coef\n", - "boost_std_mliivm <- dml_mliivm$se\n", - "\n", - "# predictions\n", - "g0_hat <- as.matrix(dml_mliivm$predictions$ml_g0) # predictions of g_0(Z=0, X)\n", - "g1_hat <- as.matrix(dml_mliivm$predictions$ml_g1) # predictions of g_0(Z=1, X)\n", - "g_hat <- z * g1_hat + (1 - z) * g0_hat # predictions of g_0\n", - "r0_hat <- as.matrix(dml_mliivm$predictions$ml_r0) # predictions of r_0(Z=0, X)\n", - "r1_hat <- as.matrix(dml_mliivm$predictions$ml_r1) # predictions of r_0(Z=1, X)\n", - "r_hat <- z * r1_hat + (1 - z) * r0_hat # predictions of r_0\n", - "m_hat <- as.matrix(dml_mliivm$predictions$ml_m) # predictions of m_o\n", - "\n", - "# cross-fitted RMSE: outcome\n", - "boost_y_mliivm <- sqrt(mean((y - g_hat)^2))\n", - "boost_y_mliivm\n", - "\n", - "# cross-fitted RMSE: treatment\n", - "boost_d_mliivm <- sqrt(mean((d - r_hat)^2))\n", - "boost_d_mliivm\n", - "\n", - "# cross-fitted RMSE: instrument\n", - "boost_z_mliivm <- sqrt(mean((z - m_hat)^2))\n", - "boost_z_mliivm" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "86", - "metadata": { - "id": "7187fc74", - "papermill": { - "duration": 0.061872, - "end_time": "2022-04-19T09:13:31.824148", - "exception": false, - "start_time": "2022-04-19T09:13:31.762276", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": { + "id": "0", + "papermill": { + "duration": 0.012988, + "end_time": "2022-04-19T09:06:48.772902", + "exception": false, + "start_time": "2022-04-19T09:06:48.759914", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# Inference on Predictive and Causal Effects in High-Dimensional Nonlinear Models" + ] + }, + { + "cell_type": "markdown", + "id": "1", + "metadata": { + "id": "1", + "papermill": { + "duration": 0.009437, + "end_time": "2022-04-19T09:06:48.791895", + "exception": false, + "start_time": "2022-04-19T09:06:48.782458", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Impact of 401(k) on Financial Wealth\n", + "\n", + "We consider estimation of the effect of 401(k) participation\n", + "on accumulated assets. 401(k) plans are pension accounts sponsored by employers. The key problem in determining the effect of participation in 401(k) plans on accumulated assets is saver heterogeneity coupled with the fact that the decision to enroll in a 401(k) is non-random. It is generally recognized that some people have a higher preference for saving than others. It also seems likely that those individuals with high unobserved preference for saving would be most likely to choose to participate in tax-advantaged retirement savings plans and would tend to have otherwise high amounts of accumulated assets. The presence of unobserved savings preferences with these properties then implies that conventional estimates that do not account for saver heterogeneity and endogeneity of participation will be biased upward, tending to overstate the savings effects of 401(k) participation.\n", + "\n", + "One can argue that eligibility for enrolling in a 401(k) plan in this data can be taken as exogenous after conditioning on a few observables of which the most important for their argument is income. The basic idea is that, at least around the time 401(k)’s initially became available, people were unlikely to be basing their employment decisions on whether an employer offered a 401(k) but would instead focus on income and other aspects of the job." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2", + "metadata": { + "id": "2", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "install.packages(\"xtable\")\n", + "install.packages(\"hdm\")\n", + "install.packages(\"sandwich\")\n", + "install.packages(\"ggplot2\")\n", + "install.packages(\"randomForest\")\n", + "install.packages(\"glmnet\")\n", + "install.packages(\"rpart\")\n", + "install.packages(\"data.table\")\n", + "install.packages(\"gbm\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3", + "metadata": { + "vscode": { + "languageId": "r" + }, + "id": "3" + }, + "outputs": [], + "source": [ + "library(xtable)\n", + "library(hdm)\n", + "library(sandwich)\n", + "library(ggplot2)\n", + "library(randomForest)\n", + "library(data.table)\n", + "library(glmnet)\n", + "library(rpart)\n", + "library(gbm)\n", + "\n", + "set.seed(123)" + ] + }, + { + "cell_type": "markdown", + "id": "4", + "metadata": { + "id": "4", + "papermill": { + "duration": 0.009588, + "end_time": "2022-04-19T09:06:48.810853", + "exception": false, + "start_time": "2022-04-19T09:06:48.801265", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "### Data\n", + "\n", + "The raw dataset can be found [here](https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/main/data/401k.csv).\n", + "The data set can be loaded from the `hdm` package for R directly by typing:\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5", + "metadata": { + "id": "5", + "papermill": { + "duration": 0.46397, + "end_time": "2022-04-19T09:06:49.283933", + "exception": false, + "start_time": "2022-04-19T09:06:48.819963", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "data(pension)\n", + "data <- pension\n", + "dim(data)" + ] + }, + { + "cell_type": "markdown", + "id": "6", + "metadata": { + "id": "6", + "papermill": { + "duration": 0.009462, + "end_time": "2022-04-19T09:06:49.302928", + "exception": false, + "start_time": "2022-04-19T09:06:49.293466", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "See the \"Details\" section on the description of the data set, which can be accessed by\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": { + "id": "7", + "papermill": { + "duration": 0.35227, + "end_time": "2022-04-19T09:06:49.664810", + "exception": false, + "start_time": "2022-04-19T09:06:49.312540", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "help(pension)" + ] + }, + { + "cell_type": "markdown", + "id": "8", + "metadata": { + "id": "8", + "papermill": { + "duration": 0.009357, + "end_time": "2022-04-19T09:06:49.683784", + "exception": false, + "start_time": "2022-04-19T09:06:49.674427", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "The data consist of 9,915 observations at the household level drawn from the 1991 Survey of Income and Program Participation (SIPP). All the variables are referred to 1990. We use net financial assets (*net\\_tfa*) as the outcome variable, $Y$, in our analysis. The net financial assets are computed as the sum of IRA balances, 401(k) balances, checking accounts, saving bonds, other interest-earning accounts, other interest-earning assets, stocks, and mutual funds less non mortgage debts." + ] + }, + { + "cell_type": "markdown", + "id": "9", + "metadata": { + "id": "9", + "papermill": { + "duration": 0.009242, + "end_time": "2022-04-19T09:06:49.702401", + "exception": false, + "start_time": "2022-04-19T09:06:49.693159", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Among the $9915$ individuals, $3682$ are eligible to participate in the program. The variable *e401* indicates eligibility and *p401* indicates participation, respectively." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10", + "metadata": { + "id": "10", + "papermill": { + "duration": 0.618528, + "end_time": "2022-04-19T09:06:50.330218", + "exception": false, + "start_time": "2022-04-19T09:06:49.711690", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "hist_e401 <- ggplot(data, aes(x = e401, fill = factor(e401))) +\n", + " geom_bar()\n", + "hist_e401" + ] + }, + { + "cell_type": "markdown", + "id": "11", + "metadata": { + "id": "11", + "papermill": { + "duration": 0.009686, + "end_time": "2022-04-19T09:06:50.349766", + "exception": false, + "start_time": "2022-04-19T09:06:50.340080", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Eligibility is highly associated with financial wealth:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12", + "metadata": { + "id": "12", + "papermill": { + "duration": 0.554613, + "end_time": "2022-04-19T09:06:50.914133", + "exception": false, + "start_time": "2022-04-19T09:06:50.359520", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "dens_net_tfa <- ggplot(data, aes(x = net_tfa, color = factor(e401), fill = factor(e401))) +\n", + " geom_density() +\n", + " xlim(c(-20000, 150000)) +\n", + " facet_wrap(. ~ e401)\n", + "\n", + "dens_net_tfa" + ] + }, + { + "cell_type": "markdown", + "id": "13", + "metadata": { + "id": "13", + "papermill": { + "duration": 0.010335, + "end_time": "2022-04-19T09:06:50.935024", + "exception": false, + "start_time": "2022-04-19T09:06:50.924689", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "The unconditional APE of e401 is about $19559$:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14", + "metadata": { + "id": "14", + "papermill": { + "duration": 0.038096, + "end_time": "2022-04-19T09:06:50.983602", + "exception": false, + "start_time": "2022-04-19T09:06:50.945506", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "e1 <- data[data$e401 == 1, ]\n", + "e0 <- data[data$e401 == 0, ]\n", + "round(mean(e1$net_tfa) - mean(e0$net_tfa), 0)" + ] + }, + { + "cell_type": "markdown", + "id": "15", + "metadata": { + "id": "15", + "papermill": { + "duration": 0.01047, + "end_time": "2022-04-19T09:06:51.004618", + "exception": false, + "start_time": "2022-04-19T09:06:50.994148", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Among the $3682$ individuals that are eligible, $2594$ decided to participate in the program. The unconditional APE of p401 is about $27372$:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16", + "metadata": { + "id": "16", + "papermill": { + "duration": 0.039305, + "end_time": "2022-04-19T09:06:51.054616", + "exception": false, + "start_time": "2022-04-19T09:06:51.015311", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "p1 <- data[data$p401 == 1, ]\n", + "p0 <- data[data$p401 == 0, ]\n", + "round(mean(p1$net_tfa) - mean(p0$net_tfa), 0)" + ] + }, + { + "cell_type": "markdown", + "id": "17", + "metadata": { + "id": "17", + "papermill": { + "duration": 0.010831, + "end_time": "2022-04-19T09:06:51.076114", + "exception": false, + "start_time": "2022-04-19T09:06:51.065283", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "As discussed, these estimates are biased since they do not account for saver heterogeneity and endogeneity of participation." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18", + "metadata": { + "id": "18", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# instrument variable\n", + "Z <- data[, \"e401\"]\n", + "# treatment variable\n", + "D <- data[, \"p401\"]\n", + "# outcome variable\n", + "y <- data[, \"net_tfa\"]" + ] + }, + { + "cell_type": "markdown", + "id": "19", + "metadata": { + "id": "19" + }, + "source": [ + "### We construct the engineered features for controls" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20", + "metadata": { + "id": "20", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Constructing the controls\n", + "x_formula <- paste(\"~ poly(age, 6, raw=TRUE) + poly(inc, 8, raw=TRUE) + poly(educ, 4, raw=TRUE) + \",\n", + " \"poly(fsize, 2, raw=TRUE) + male + marr + twoearn + db + pira + hown\")\n", + "X <- as.data.table(model.frame(x_formula, pension))\n", + "head(X)" + ] + }, + { + "cell_type": "markdown", + "id": "21", + "metadata": { + "id": "21" + }, + "source": [ + "# Instrumental Variables: Effect of 401k Participation on Financial Assets" + ] + }, + { + "cell_type": "markdown", + "id": "22", + "metadata": { + "id": "22" + }, + "source": [ + "## Double ML IV under Partial Linearity" + ] + }, + { + "cell_type": "markdown", + "id": "23", + "metadata": { + "id": "23" + }, + "source": [ + "Now, we consider estimation of average treatment effects of participation in 401k, i.e. `p401`, with the binary instrument being eligibility in 401k, i.e. `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. We consider a partially linear structural equation model:\n", + "\\begin{align}\n", + "Y :=~& g_Y(\\epsilon_Y) D + f_Y(A, X, \\epsilon_Y), \\\\\n", + "D :=~& f_D(Z, X, A, \\epsilon_D), \\\\\n", + "Z :=~& f_Z(X, \\epsilon_Z),\\\\\n", + "A :=~& f_A(X, \\epsilon_A), \\\\\n", + "X :=~& \\epsilon_X,\n", + "\\end{align}\n", + "where $A$ is a vector of un-observed confounders.\n", + "\n", + "Under this structural equation model, the average treatment effect:\n", + "\\begin{align}\n", + "\\alpha = E[Y(1) - Y(0)]\n", + "\\end{align}\n", + "can be identified by the moment restriction:\n", + "\\begin{align}\n", + "E[(\\tilde{Y} - \\alpha \\tilde{D}) \\tilde{Z}] = 0\n", + "\\end{align}\n", + "where for any variable $V$, we denote with $\\tilde{V} = V - E[V|X]$." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "24", + "metadata": { + "id": "24", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "set.seed(1)\n", + "# family gaussian means that we'll be using square loss\n", + "yfit_lasso_cv <- cv.glmnet(as.matrix(X), y, family = \"gaussian\", alpha = 1)\n", + "# family gaussian means that we'll be using square loss\n", + "dfit_lasso_cv <- cv.glmnet(as.matrix(X), D, family = \"gaussian\", alpha = 1)\n", + "# family gaussian means that we'll be using square loss\n", + "zfit_lasso_cv <- cv.glmnet(as.matrix(X), Z, family = \"gaussian\", alpha = 1)\n", + "\n", + "\n", + "yhat_lasso_cv <- predict(yfit_lasso_cv, newx = as.matrix(X)) # predictions\n", + "dhat_lasso_cv <- predict(dfit_lasso_cv, newx = as.matrix(X)) # predictions\n", + "zhat_lasso_cv <- predict(zfit_lasso_cv, newx = as.matrix(X)) # predictions\n", + "\n", + "resy <- y - yhat_lasso_cv\n", + "resD <- D - dhat_lasso_cv\n", + "resZ <- Z - zhat_lasso_cv\n", + "\n", + "# Estimate\n", + "mean(resy * resZ) / mean(resZ * resD)" + ] + }, + { + "cell_type": "markdown", + "id": "25", + "metadata": { + "id": "25" + }, + "source": [ + "Recall if we want to do inference, we need to either use the theoretically driven penalty paramter for Lasso or perform cross-fitting." + ] + }, + { + "cell_type": "markdown", + "id": "26", + "metadata": { + "id": "26" + }, + "source": [ + "### DML with Non-Linear ML Models and Cross-fitting" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27", + "metadata": { + "id": "27", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML for PLIVM with D and Z as classifiers or regressors\n", + "dml2_for_plivm <- function(x, d, z, y, dreg, yreg, zreg, nfold = 5, method = \"regression\") {\n", + " nobs <- nrow(x)\n", + " foldid <- rep.int(1:nfold, times = ceiling(nobs / nfold))[sample.int(nobs)]\n", + " I <- split(1:nobs, foldid)\n", + " # create residualized objects to fill\n", + " ytil <- dtil <- ztil <- rep(NA, nobs)\n", + " # obtain cross-fitted residuals\n", + " cat(\"fold: \")\n", + " for (b in seq_along(I)) {\n", + " if (method == \"randomforest\") {\n", + " # take a fold out\n", + " dfit <- dreg(x[-I[[b]], ], d[-I[[b]]])\n", + " zfit <- zreg(x[-I[[b]], ], z[-I[[b]]])\n", + " yfit <- yreg(x[-I[[b]], ], y[-I[[b]]])\n", + " # predict the fold out\n", + " dhat <- predict(dfit, x[I[[b]], ], type = \"prob\")[, 2] # type = \"prob\" is like predict_proba in scikitlearn\n", + " zhat <- predict(zfit, x[I[[b]], ], type = \"prob\")[, 2]\n", + " # default type = \"response\" for regression for RF, type = \"vector\" for regression for Decision Trees\n", + " yhat <- predict(yfit, x[I[[b]], ])\n", + " # record residual\n", + " # as.numeric will turn d = as.factor(d) from 0,1 to 1,2 so subtract 1!\n", + " dtil[I[[b]]] <- (as.numeric(d[I[[b]]]) - 1 - dhat)\n", + " ztil[I[[b]]] <- (as.numeric(z[I[[b]]]) - 1 - zhat)\n", + " ytil[I[[b]]] <- (y[I[[b]]] - yhat)\n", + " } else if (method == \"regression\") { # works for both boosted trees and glmnet\n", + " # take a fold out\n", + " dfit <- dreg(x[-I[[b]], ], d[-I[[b]]])\n", + " zfit <- zreg(x[-I[[b]], ], z[-I[[b]]])\n", + " yfit <- yreg(x[-I[[b]], ], y[-I[[b]]])\n", + " # predict the fold out\n", + " dhat <- predict(dfit, x[I[[b]], ], type = \"response\")\n", + " zhat <- predict(zfit, x[I[[b]], ], type = \"response\")\n", + " yhat <- predict(yfit, x[I[[b]], ], type = \"response\")\n", + " # record residual\n", + " dtil[I[[b]]] <- (d[I[[b]]] - dhat)\n", + " ztil[I[[b]]] <- (z[I[[b]]] - zhat)\n", + " ytil[I[[b]]] <- (y[I[[b]]] - yhat)\n", + " } else if (method == \"decisiontrees\") {\n", + " # take a fold out\n", + " dfit <- dreg(x[-I[[b]], ], as.factor(d)[-I[[b]]])\n", + " zfit <- zreg(x[-I[[b]], ], as.factor(z)[-I[[b]]])\n", + " yfit <- yreg(x[-I[[b]], ], y[-I[[b]]])\n", + " # predict the fold out\n", + " dhat <- predict(dfit, x[I[[b]], ])[, 2]\n", + " zhat <- predict(zfit, x[I[[b]], ])[, 2]\n", + " yhat <- predict(yfit, x[I[[b]], ])\n", + " # record residual\n", + " dtil[I[[b]]] <- (d[I[[b]]] - dhat)\n", + " ztil[I[[b]]] <- (z[I[[b]]] - zhat)\n", + " ytil[I[[b]]] <- (y[I[[b]]] - yhat)\n", + " }\n", + "\n", + " cat(b, \" \")\n", + " }\n", + " ivfit <- tsls(y = ytil, d = dtil, x = NULL, z = ztil, intercept = FALSE)\n", + " coef_est <- ivfit$coef # extract coefficient\n", + " se <- ivfit$se # record standard error\n", + " cat(sprintf(\"\\ncoef (se) = %g (%g)\\n\", coef_est, se))\n", + "\n", + " return(list(coef_est = coef_est, se = se, dtil = dtil, ytil = ytil, ztil = ztil))\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "28", + "metadata": { + "id": "28", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "summary_for_plivm <- function(point, stderr, resy, resD, resZ, name) {\n", + " data <- data.frame(\n", + " estimate = point, # point estimate\n", + " stderr = stderr, # standard error\n", + " lower = point - 1.96 * stderr, # lower end of 95% confidence interval\n", + " upper = point + 1.96 * stderr, # upper end of 95% confidence interval\n", + " `rmse y` = sqrt(mean(resy^2)), # RMSE of model that predicts outcome y\n", + " `rmse D` = sqrt(mean(resD^2)), # RMSE of model that predicts treatment D\n", + " `rmse Z` = sqrt(mean(resZ^2)), # RMSE of model that predicts treatment D\n", + " `accuracy D` = mean(abs(resD) < 0.5), # binary classification accuracy of model for D\n", + " `accuracy Z` = mean(abs(resZ) < 0.5) # binary classification accuracy of model for Z\n", + " )\n", + " rownames(data) <- name\n", + " return(data)\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "29", + "metadata": { + "id": "29" + }, + "source": [ + "#### Double Lasso with Cross-Fitting" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30", + "metadata": { + "id": "30", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML with LassoCV\n", + "set.seed(123)\n", + "cat(sprintf(\"\\nDML with Lasso CV \\n\"))\n", + "\n", + "dreg_lasso_cv <- function(x, d) {\n", + " cv.glmnet(x, d, family = \"gaussian\", alpha = 1, nfolds = 5)\n", + "}\n", + "yreg_lasso_cv <- function(x, y) {\n", + " cv.glmnet(x, y, family = \"gaussian\", alpha = 1, nfolds = 5)\n", + "}\n", + "zreg_lasso_cv <- function(x, z) {\n", + " cv.glmnet(x, z, family = \"gaussian\", alpha = 1, nfolds = 5)\n", + "}\n", + "\n", + "dml2_results <- dml2_for_plivm(as.matrix(X), D, Z, y, dreg_lasso_cv, yreg_lasso_cv, zreg_lasso_cv,\n", + " nfold = 5, method = \"regression\")\n", + "sum_lasso_cv <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", + " dml2_results$ztil, name = \"LassoCV\")\n", + "tableplr <- data.frame()\n", + "tableplr <- rbind(sum_lasso_cv)\n", + "tableplr\n", + "\n", + "ytil_lasso <- dml2_results$ytil\n", + "dtil_lasso <- dml2_results$dtil\n", + "ztil_lasso <- dml2_results$ztil" + ] + }, + { + "cell_type": "markdown", + "id": "31", + "metadata": { + "id": "31" + }, + "source": [ + "#### Using a $\\ell_2$ Penalized Logistic Regression for D and Z" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "32", + "metadata": { + "id": "32", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML with Lasso/Ridge\n", + "set.seed(123)\n", + "cat(sprintf(\"\\nDML with Lasso/Logistic \\n\"))\n", + "\n", + "dreg_ridge_cv <- function(x, d) {\n", + " cv.glmnet(x, d, family = \"binomial\", alpha = 0, nfolds = 5)\n", + "}\n", + "yreg_ridge_cv <- function(x, y) {\n", + " cv.glmnet(x, y, family = \"gaussian\", alpha = 1, nfolds = 5)\n", + "}\n", + "zreg_ridge_cv <- function(x, z) {\n", + " cv.glmnet(x, z, family = \"binomial\", alpha = 0, nfolds = 5)\n", + "}\n", + "\n", + "dml2_results <- dml2_for_plivm(as.matrix(X), D, Z, y, dreg_ridge_cv, yreg_ridge_cv, zreg_ridge_cv,\n", + " nfold = 5, method = \"regression\")\n", + "sum_lasso_ridge_cv <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", + " dml2_results$ztil, name = \"LassoCV/LogisticCV\")\n", + "tableplr <- rbind(tableplr, sum_lasso_ridge_cv)\n", + "tableplr\n", + "\n", + "ytil_ridge <- dml2_results$ytil\n", + "dtil_ridge <- dml2_results$dtil\n", + "ztil_ridge <- dml2_results$ztil" + ] + }, + { + "cell_type": "markdown", + "id": "33", + "metadata": { + "id": "33" + }, + "source": [ + "### Random Forests" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "34", + "metadata": { + "id": "34", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML with Random Forest\n", + "set.seed(123)\n", + "cat(sprintf(\"\\nDML with Random Forest \\n\"))\n", + "\n", + "dreg_rf <- function(x, d) {\n", + " randomForest(x, d, ntree = 1000, nodesize = 10)\n", + "} # ML method=Forest\n", + "yreg_rf <- function(x, y) {\n", + " randomForest(x, y, ntree = 1000, nodesize = 10)\n", + "} # ML method=Forest\n", + "zreg_rf <- function(x, z) {\n", + " randomForest(x, z, ntree = 1000, nodesize = 10)\n", + "} # ML method=Forest\n", + "\n", + "dml2_results <- dml2_for_plivm(as.matrix(X), as.factor(D), as.factor(Z), y, dreg_rf, yreg_rf, zreg_rf,\n", + " nfold = 5, method = \"randomforest\")\n", + "sum_rf <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", + " dml2_results$ztil, name = \"RF\")\n", + "tableplr <- rbind(tableplr, sum_rf)\n", + "tableplr\n", + "\n", + "ytil_rf <- dml2_results$ytil\n", + "dtil_rf <- dml2_results$dtil\n", + "ztil_rf <- dml2_results$ztil" + ] + }, + { + "cell_type": "markdown", + "id": "35", + "metadata": { + "id": "35" + }, + "source": [ + "### Decision Trees" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36", + "metadata": { + "id": "36", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML with Decision Trees\n", + "set.seed(123)\n", + "cat(sprintf(\"\\nDML with Decision Trees \\n\"))\n", + "\n", + "# decision tree takes in X as dataframe, not matrix/array\n", + "dreg_tr <- function(x, d) {\n", + " rpart(as.formula(\"D~.\"), cbind(data.frame(D = d), x), method = \"class\", minbucket = 10, cp = 0.001)\n", + "}\n", + "yreg_tr <- function(x, y) {\n", + " rpart(as.formula(\"y~.\"), cbind(data.frame(y = y), x), minbucket = 10, cp = 0.001)\n", + "}\n", + "zreg_tr <- function(x, z) {\n", + " rpart(as.formula(\"Z~.\"), cbind(data.frame(Z = z), x), method = \"class\", minbucket = 10, cp = 0.001)\n", + "}\n", + "\n", + "dml2_results <- dml2_for_plivm(X, D, Z, y, dreg_tr, yreg_tr, zreg_tr,\n", + " nfold = 5, method = \"decisiontrees\")\n", + "sum_tr <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", + " dml2_results$ztil, name = \"Decision Trees\")\n", + "tableplr <- rbind(tableplr, sum_tr)\n", + "tableplr\n", + "\n", + "ytil_tr <- dml2_results$ytil\n", + "dtil_tr <- dml2_results$dtil\n", + "ztil_tr <- dml2_results$ztil" + ] + }, + { + "cell_type": "markdown", + "id": "37", + "metadata": { + "id": "37" + }, + "source": [ + "### Boosted Trees" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "38", + "metadata": { + "id": "38", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML with Boosted Trees\n", + "set.seed(123)\n", + "cat(sprintf(\"\\nDML with Boosted Trees \\n\"))\n", + "\n", + "# NB: early stopping cannot easily be implemented with gbm\n", + "## set n.trees = best, where best <- gbm.perf(dreg_boost, plot.it = FALSE)\n", + "dreg_boost <- function(x, d) {\n", + " gbm(as.formula(\"D~.\"), cbind(data.frame(D = d), x), distribution = \"bernoulli\",\n", + " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", + "}\n", + "yreg_boost <- function(x, y) {\n", + " gbm(as.formula(\"y~.\"), cbind(data.frame(y = y), x), distribution = \"gaussian\",\n", + " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", + "}\n", + "zreg_boost <- function(x, z) {\n", + " gbm(as.formula(\"Z~.\"), cbind(data.frame(Z = z), x), distribution = \"bernoulli\",\n", + " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", + "}\n", + "\n", + "# passing these through regression as type=\"response\", and D and Z should not be factors!\n", + "dml2_results <- dml2_for_plivm(X, D, Z, y, dreg_boost, yreg_boost, zreg_boost,\n", + " nfold = 5, method = \"regression\")\n", + "sum_boost <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", + " dml2_results$ztil, name = \"Boosted Trees\")\n", + "tableplr <- rbind(tableplr, sum_boost)\n", + "tableplr\n", + "\n", + "ytil_boost <- dml2_results$ytil\n", + "dtil_boost <- dml2_results$dtil\n", + "ztil_boost <- dml2_results$ztil" + ] + }, + { + "cell_type": "markdown", + "id": "39", + "metadata": { + "id": "39" + }, + "source": [ + "## Ensembles" + ] + }, + { + "cell_type": "markdown", + "id": "40", + "metadata": { + "id": "40" + }, + "source": [ + "Boosted trees give the best RMSE for Y, D, and Z, so the ensemble based on choosing the best performing prediction rule is identical to boosting in this case." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "41", + "metadata": { + "id": "41", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Best fit is boosted trees for D, Z, Y\n", + "\n", + "sum_best <- summary_for_plivm(dml2_results$coef_est, dml2_results$se, dml2_results$ytil, dml2_results$dtil,\n", + " dml2_results$ztil, name = \"Best\")\n", + "tableplr <- rbind(tableplr, sum_best)\n", + "tableplr" + ] + }, + { + "cell_type": "markdown", + "id": "42", + "metadata": { + "id": "42" + }, + "source": [ + "We'll form a model average with unconstrained least squares weights." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43", + "metadata": { + "id": "43", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Least squares model average\n", + "\n", + "dhat_lasso <- D - dtil_lasso\n", + "dhat_ridge <- D - dtil_ridge\n", + "dhat_rf <- D - dtil_rf\n", + "dhat_tr <- D - dtil_tr\n", + "dhat_boost <- D - dtil_boost\n", + "\n", + "yhat_lasso <- y - ytil_lasso\n", + "yhat_ridge <- y - ytil_ridge\n", + "yhat_rf <- y - ytil_rf\n", + "yhat_tr <- y - ytil_tr\n", + "yhat_boost <- y - ytil_boost\n", + "\n", + "zhat_lasso <- Z - ztil_lasso\n", + "zhat_ridge <- Z - ztil_ridge\n", + "zhat_rf <- Z - ztil_rf\n", + "zhat_tr <- Z - ztil_tr\n", + "zhat_boost <- Z - ztil_boost\n", + "\n", + "ma_dtil <- lm(D ~ dhat_lasso + dhat_ridge + dhat_rf + dhat_tr + dhat_boost)$residuals\n", + "ma_ytil <- lm(y ~ yhat_lasso + yhat_ridge + yhat_rf + yhat_tr + yhat_boost)$residuals\n", + "ma_ztil <- lm(Z ~ zhat_lasso + zhat_ridge + zhat_rf + zhat_tr + zhat_boost)$residuals\n", + "\n", + "ivfit <- tsls(y = ma_ytil, d = ma_dtil, x = NULL, z = ma_ztil, intercept = FALSE)\n", + "coef_est <- ivfit$coef # extract coefficient\n", + "se <- ivfit$se # record standard error\n", + "\n", + "sum_ma <- summary_for_plivm(coef_est, se, ma_ytil, ma_dtil, ma_ztil, name = \"Model Average\")\n", + "tableplr <- rbind(tableplr, sum_ma)\n", + "tableplr" + ] + }, + { + "cell_type": "markdown", + "id": "44", + "metadata": { + "id": "44" + }, + "source": [ + "## Inference Robust to Weak Identification\n", + "\n", + "Now we turn toward robustness when the instrument is weak.\n", + "\n", + "Ideally, we would do (semi) cross-fitting with AutoML in order to find good first-stage models and re-run DML with these models. Unfortunately this is not easy to do in R. In the case of semi cross-fitting, we can use R's H20 AutoML trained on the entire training set $y\\sim X$, $D \\sim X$, $Z\\sim X$ to determine the best model (eg ensemble), but H20 does not allow you to extract the best model so we can re-use that in DML.\n", + "\n", + "Thus, in the below analysis of robust inference, we choose Boosted Trees as they perform well." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "45", + "metadata": { + "id": "45", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "robust_inference <- function(point, stderr, resD, resy, resZ, grid, alpha = 0.05) {\n", + " # Inference in the partially linear IV model that is robust to weak identification.\n", + " # grid: grid of theta values to search over when trying to identify the confidence region\n", + " # alpha: confidence level\n", + "\n", + " n <- dim(X)[1]\n", + " thr <- qchisq(1 - alpha, df = 1)\n", + " accept <- c()\n", + "\n", + " for (theta in grid) {\n", + " moment <- (resy - theta * resD) * resZ\n", + " test <- n * mean(moment)^2 / var(moment)\n", + " if (test <= thr) {\n", + " accept <- c(accept, theta)\n", + " }\n", + " }\n", + "\n", + " return(accept)\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "46", + "metadata": { + "id": "46", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "grid <- seq(0, 20000, length.out = 10000)\n", + "region <- robust_inference(dml2_results$coef_est, dml2_results$stderr, dml2_results$dtil, dml2_results$ytil,\n", + " dml2_results$ztil, grid = grid)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "47", + "metadata": { + "id": "47", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "grid <- seq(0, 20000, length.out = 10000)\n", + "region <- robust_inference(dml2_results$coef_est, dml2_results$stderr, dml2_results$dtil, dml2_results$ytil,\n", + " dml2_results$ztil, grid = grid)\n", + "# Calculate min and max\n", + "min_region <- min(region)\n", + "max_region <- max(region)\n", + "\n", + "print(min_region)\n", + "print(max_region)" + ] + }, + { + "cell_type": "markdown", + "id": "48", + "metadata": { + "id": "48" + }, + "source": [ + "# Interactive IV Model and LATE" + ] + }, + { + "cell_type": "markdown", + "id": "49", + "metadata": { + "id": "49" + }, + "source": [ + "Now, we consider estimation of local average treatment effects (LATE) of participation `p401`, with the binary instrument `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. Here the structural equation model is:\n", + "\\begin{align}\n", + "Y :=~& f_Y (D, X, A, \\epsilon_Y) \\\\\n", + "D :=~& f_D(Z, X, A, \\epsilon_D) \\in \\{0,1\\}, \\\\\n", + "Z :=~& f_Z(X,\\epsilon_Z) \\in \\{0,1\\}, \\\\\n", + "X :=~& \\epsilon_X, \\quad A = \\epsilon_A,\n", + "\\end{align}\n", + "where $\\epsilon$'s are all exogenous and independent,\n", + "and\n", + "$$\n", + "z \\mapsto f_D(z , A, X, \\epsilon_D) \\text{ is weakly increasing (weakly monotone)}.\n", + "$$\n", + "and $A$ is a vector of unobserved confounders. Note that in our setting monotonicity is satisfied, since participation is only feasible when it is eligible. Thus we have that $D=0$ whenever $Z=0$. Thus it can only be that $f_D(1, A, X, \\epsilon_D) \\geq 0 = f_D(0, A, X, \\epsilon_D)$.\n", + "\n", + "In this case, we can estimate the local average treatment effect (LATE):\n", + "$$\n", + "\\alpha = E[Y(1) - Y(0) | D(1) > D(0)]\n", + "$$\n", + "This can be identified using the Neyman orthogonal moment equation:\n", + "\\begin{align}\n", + "E\\left[g(1, X) - g(0, X) + H(Z) (Y - g(Z, X)) - \\alpha \\cdot (m(1, X) - m(0, X) + H(Z) (D - m(Z, X))\\right] = 0\n", + "\\end{align}\n", + "where\n", + "\\begin{align}\n", + "g(Z,X) =~& E[Y|Z,X],\\\\\n", + "m(Z,X) =~& E[D|Z,X],\\\\\n", + "H(Z) =~& \\frac{Z}{Pr(Z=1|X)} - \\frac{1 - Z}{1 - Pr(Z=1|X)}\n", + "\\end{align}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "50", + "metadata": { + "id": "50", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "get_dhat0 <- function(XZ0, DZ0, Xb, dreg0, type = NULL, DZ0factor = NULL) {\n", + " # train a treatment model on training data that received Z=0 and predict treatment on all data in test set\n", + " if (mean(DZ0) > 0) { # it could be that D=0, whenever Z=0 deterministically\n", + " dreg0_ <- dreg0\n", + " if (is.null(DZ0factor)) {\n", + " dfit0 <- dreg0_((XZ0), DZ0)\n", + " } else {\n", + " dfit0 <- dreg0_((XZ0), DZ0factor)\n", + " }\n", + " if (is.null(type)) {\n", + " return(predict(dfit0, (Xb))[, 2])\n", + " } else if (type == \"prob\") {\n", + " return(predict(dfit0, (Xb), type = \"prob\")[, 2])\n", + " } else if (type == \"reponse\") {\n", + " return(predict(dfit0, (Xb), type = \"response\"))\n", + " } else {\n", + " stop(\"Invalid argument `type`.\")\n", + " }\n", + " } else {\n", + " return(0)\n", + " }\n", + "}\n", + "\n", + "get_dhat1 <- function(XZ1, DZ1, Xb, dreg1, type = NULL, DZ1factor = NULL) {\n", + " # train a treamtent model on training data that received Z=1 and predict treatment on all data in test set\n", + " if (mean(DZ1) < 1) { # it could be that D=1, whenever Z=1 deterministically\n", + " dreg1_ <- dreg1\n", + " if (is.null(DZ1factor)) {\n", + " dfit1 <- dreg1_((XZ1), DZ1)\n", + " } else {\n", + " dfit1 <- dreg1_((XZ1), DZ1factor)\n", + " }\n", + " if (is.null(type)) {\n", + " return(predict(dfit1, (Xb))[, 2])\n", + " } else if (type == \"prob\") {\n", + " return(predict(dfit1, (Xb), type = \"prob\")[, 2])\n", + " } else if (type == \"response\") {\n", + " return(predict(dfit1, (Xb), type = \"response\"))\n", + " } else {\n", + " stop(\"Invalid argument `type`.\")\n", + " }\n", + " } else {\n", + " return(1)\n", + " }\n", + "}\n", + "\n", + "# DML for IIVM with D and Z as classifiers or regressors\n", + "dml2_for_iivm <- function(x, d, z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", + " trimming = 0.01, nfold = 5, method = \"classification\", dt = 0, bt = 0) {\n", + " # this implements DML2 algorithm, where there moments are estimated via DML, before constructing\n", + " # the pooled estimate of theta randomly split data into folds\n", + "\n", + " ## NB This method has many if statements to accommodate the various estimators we will use.\n", + " ## Unlike Python's sklearn, all methods have idfferent default arguments in their predict functions.\n", + " ## See official R documentation for details.\n", + "\n", + " yhat0 <- rep(0, length(y))\n", + " yhat1 <- rep(0, length(y))\n", + " dhat0 <- rep(0, length(d))\n", + " dhat1 <- rep(0, length(d))\n", + " zhat <- rep(0, length(Z))\n", + "\n", + " nobs <- nrow(X)\n", + " foldid <- rep.int(1:nfold, times = ceiling(nobs / nfold))[sample.int(nobs)]\n", + " I <- split(1:nobs, foldid)\n", + " # create residualized objects to fill\n", + " ytil <- dtil <- ztil <- rep(NA, nobs)\n", + "\n", + " # obtain cross-fitted residuals\n", + " cat(\"fold: \")\n", + " for (b in seq_along(I)) {\n", + " # define helpful variables\n", + " Xb <- X[I[[b]], ]\n", + " Xnotb <- X[-I[[b]], ]\n", + " Znotb <- Z[-I[[b]]]\n", + "\n", + " # training dfs subsetted on the -I[[b]] fold\n", + " XZ0 <- X[-I[[b]], ][Z[-I[[b]]] == 0]\n", + " yZ0 <- y[-I[[b]]][Z[-I[[b]]] == 0]\n", + " XZ1 <- X[-I[[b]], ][Z[-I[[b]]] == 1]\n", + " yZ1 <- y[-I[[b]]][Z[-I[[b]]] == 1]\n", + " DZ0 <- d[-I[[b]]][Z[-I[[b]]] == 0]\n", + " DZ1 <- d[-I[[b]]][Z[-I[[b]]] == 1]\n", + "\n", + "\n", + " if (method == \"regression\") {\n", + " XZ0 <- as.matrix(XZ0)\n", + " XZ1 <- as.matrix(XZ1)\n", + " Xb <- as.matrix(Xb)\n", + " Xnotb <- as.matrix(Xnotb)\n", + "\n", + " # Train an outcome model on training data that received Z=0 and predict outcome on all data in the test set\n", + " yfit0 <- yreg0((XZ0), yZ0)\n", + " yhat0[I[[b]]] <- predict(yfit0, (Xb)) # default type = \"response\"\n", + "\n", + " # train an outcome model on training data that received Z=1 and predict outcome on all data in test set\n", + " yfit1 <- yreg1((XZ1), yZ1)\n", + " yhat1[I[[b]]] <- predict(yfit1, (Xb))\n", + "\n", + " # train a treatment model on training data that received Z=0 and predict treatment on all data in test set\n", + " # default type = \"response\", but for family binomial it's logg odds\n", + " dhat0[I[[b]]] <- get_dhat0(XZ0, DZ0, Xb, dreg0, type = \"response\")\n", + " dhat1[I[[b]]] <- get_dhat1(XZ1, DZ1, Xb, dreg1, type = \"response\")\n", + "\n", + " } else if (method == \"randomforest\") {\n", + " DZ0factor <- as.factor(D)[-I[[b]]][Z[-I[[b]]] == 0]\n", + " DZ1factor <- as.factor(D)[-I[[b]]][Z[-I[[b]]] == 1]\n", + " Znotb <- as.factor(Znotb)\n", + "\n", + " yfit0 <- yreg0((XZ0), yZ0)\n", + " yhat0[I[[b]]] <- predict(yfit0, (Xb), type = \"response\")\n", + " yfit1 <- yreg1((XZ1), yZ1)\n", + " yhat1[I[[b]]] <- predict(yfit1, (Xb), type = \"response\")\n", + "\n", + " dhat0[I[[b]]] <- get_dhat0(XZ0, DZ0, Xb, dreg0, type = \"prob\", DZ0factor = DZ0factor)\n", + " dhat1[I[[b]]] <- get_dhat1(XZ1, DZ1, Xb, dreg1, type = \"prob\", DZ1factor = DZ1factor)\n", + "\n", + " } else if (method == \"decisiontrees\") {\n", + " XZ0 <- as.data.frame(XZ0)\n", + " XZ1 <- as.data.frame(XZ1)\n", + " Xb <- as.data.frame(Xb)\n", + " Xnotb <- as.data.frame(Xnotb)\n", + "\n", + " yfit0 <- yreg0((XZ0), yZ0)\n", + " # default type = \"response\" for decision trees for continuous response\n", + " yhat0[I[[b]]] <- predict(yfit0, (Xb))\n", + "\n", + " yfit1 <- yreg1((XZ1), yZ1)\n", + " yhat1[I[[b]]] <- predict(yfit1, (Xb))\n", + "\n", + " dhat0[I[[b]]] <- get_dhat0(XZ0, DZ0, Xb, dreg0, DZ0factor = as.factor(DZ0))\n", + " dhat1[I[[b]]] <- get_dhat1(XZ1, DZ1, Xb, dreg1, DZ1factor = as.factor(DZ1))\n", + "\n", + " } else if (method == \"boostedtrees\") {\n", + " XZ0 <- as.data.frame(XZ0)\n", + " XZ1 <- as.data.frame(XZ1)\n", + " Xb <- as.data.frame(Xb)\n", + " Xnotb <- as.data.frame(Xnotb)\n", + "\n", + " yfit0 <- yreg0((XZ0), yZ0)\n", + " yhat0[I[[b]]] <- predict(yfit0, (Xb)) # default type = \"response\" for boosted trees\n", + " yfit1 <- yreg1((XZ1), yZ1)\n", + " yhat1[I[[b]]] <- predict(yfit1, (Xb))\n", + "\n", + " dhat0[I[[b]]] <- get_dhat0(XZ0, DZ0, Xb, dreg0, type = \"response\")\n", + " dhat1[I[[b]]] <- get_dhat1(XZ1, DZ1, Xb, dreg1, type = \"response\")\n", + "\n", + " }\n", + "\n", + " # propensity scores:\n", + " if (method == \"regression\") {\n", + " zfit_b <- zreg((Xnotb), Znotb)\n", + " zhat_b <- predict(zfit_b, (Xb), type = \"response\")\n", + " } else if (method == \"randomforest\") {\n", + " zfit_b <- zreg((Xnotb), Znotb)\n", + " zhat_b <- predict(zfit_b, (Xb), type = \"prob\")[, 2]\n", + " } else if (method == \"decisiontrees\") {\n", + " zfit_b <- zreg((Xnotb), as.factor(Znotb))\n", + " zhat_b <- predict(zfit_b, (Xb)) # default is prob, so get second column\n", + " zhat_b <- zhat_b[, 2]\n", + " } else if (method == \"boostedtrees\") {\n", + " zfit_b <- zreg((Xnotb), Znotb)\n", + " zhat_b <- predict(zfit_b, (Xb), type = \"response\")\n", + " }\n", + " zhat_b <- pmax(pmin(zhat_b, 1 - trimming), trimming) # trimming so scores are between [trimming, (1-trimming)]\n", + " zhat[I[[b]]] <- zhat_b\n", + "\n", + " cat(b, \" \")\n", + " }\n", + "\n", + "\n", + " # Prediction of treatment and outcome for observed instrument\n", + " yhat <- yhat0 * (1 - Z) + yhat1 * Z\n", + " dhat <- dhat0 * (1 - Z) + dhat1 * Z\n", + "\n", + " # residuals\n", + " ytil <- y - yhat\n", + " dtil <- D - dhat\n", + " ztil <- Z - zhat\n", + "\n", + " # doubly robust quantity for every sample\n", + " HZ <- Z / zhat - (1 - Z) / (1 - zhat)\n", + " drZ <- yhat1 - yhat0 + (y - yhat) * HZ\n", + " drD <- dhat1 - dhat0 + (D - dhat) * HZ\n", + " coef_est <- mean(drZ) / mean(drD)\n", + " cat(\"point\", coef_est)\n", + " psi <- drZ - coef_est * drD\n", + " Jhat <- mean(drD)\n", + " variance <- mean(psi^2) / Jhat^2\n", + " se <- sqrt(variance / nrow(X))\n", + " cat(\"se\", se)\n", + "\n", + " return(list(coef_est = coef_est, se = se, yhat = yhat, dhat = dhat, zhat = zhat, ytil = ytil,\n", + " dtil = dtil, ztil = ztil, drZ = drZ, drD = drD,\n", + " yhat0 = yhat0, yhat1 = yhat1, dhat0 = dhat0, dhat1 = dhat1))\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "51", + "metadata": { + "id": "51", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "summary_for_iivm <- function(coef_est, se, yhat, dhat, zhat, ytil, dtil, ztil, drZ, drD, X, Z, D, y, name) {\n", + " summary_data <- data.frame(\n", + " estimate = coef_est, # point estimate\n", + " se = se, # standard error\n", + " lower = coef_est - 1.96 * se, # lower end of 95% confidence interval\n", + " upper = coef_est + 1.96 * se, # upper end of 95% confidence interval\n", + " rmse_y = sqrt(mean(ytil^2)), # res of model that predicts outcome y\n", + " rmse_D = sqrt(mean(dtil^2)), # res of model that predicts treatment D\n", + " rmse_Z = sqrt(mean(ztil^2)), # res of model that predicts instrument Z\n", + " accuracy_D = mean(abs(dtil) < 0.5), # binary classification accuracy of model for D\n", + " accuracy_Z = mean(abs(ztil) < 0.5) # binary classification accuracy of model for Z\n", + " )\n", + " row.names(summary_data) <- name\n", + " return(summary_data)\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "52", + "metadata": { + "id": "52", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML with Lasso/Ridge\n", + "set.seed(123)\n", + "cat(sprintf(\"\\nDML with Lasso/Logistic \\n\"))\n", + "# DML with Lasso/Ridge\n", + "dreg0 <- function(x, d) {\n", + " cv.glmnet(x, d, family = \"binomial\", alpha = 0, nfolds = 5)\n", + "}\n", + "dreg1 <- function(x, d) {\n", + " cv.glmnet(x, d, family = \"binomial\", alpha = 0, nfolds = 5)\n", + "}\n", + "yreg0 <- function(x, y) {\n", + " cv.glmnet(x, y, family = \"gaussian\", alpha = 1, nfolds = 5)\n", + "}\n", + "yreg1 <- function(x, y) {\n", + " cv.glmnet(x, y, family = \"gaussian\", alpha = 1, nfolds = 5)\n", + "}\n", + "zreg <- function(x, z) {\n", + " cv.glmnet(x, z, family = \"binomial\", alpha = 0, nfolds = 5)\n", + "}\n", + "\n", + "dml2_results <- dml2_for_iivm(as.matrix(X), D, Z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", + " trimming = 0.01, nfold = 5, method = \"regression\")\n", + "sum_lasso_ridge_cv <- summary_for_iivm(dml2_results$coef_est, dml2_results$se, dml2_results$yhat, dml2_results$dhat,\n", + " dml2_results$zhat, dml2_results$ytil, dml2_results$dtil, dml2_results$ztil,\n", + " dml2_results$drZ, dml2_results$drD, name = \"LassoCV/LogisticCV\")\n", + "table <- data.frame()\n", + "table <- rbind(table, sum_lasso_ridge_cv)\n", + "table\n", + "\n", + "yhat_lasso <- dml2_results$yhat\n", + "dhat_lasso <- dml2_results$dhat\n", + "yhat0_lasso <- dml2_results$yhat0\n", + "yhat1_lasso <- dml2_results$yhat1\n", + "dhat0_lasso <- dml2_results$dhat0\n", + "dhat1_lasso <- dml2_results$dhat1\n", + "zhat_lasso <- dml2_results$zhat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "53", + "metadata": { + "id": "53", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML with Random Forest\n", + "set.seed(123)\n", + "cat(sprintf(\"\\nDML with Random Forest \\n\"))\n", + "\n", + "dreg0 <- function(x, d) {\n", + " randomForest(x, d, ntree = 1000, nodesize = 10)\n", + "} # ML method=Forest\n", + "dreg1 <- function(x, d) {\n", + " randomForest(x, d, ntree = 1000, nodesize = 10)\n", + "} # ML method=Forest\n", + "yreg0 <- function(x, y) {\n", + " randomForest(x, y, ntree = 1000, nodesize = 10)\n", + "} # ML method=Forest\n", + "yreg1 <- function(x, y) {\n", + " randomForest(x, y, ntree = 1000, nodesize = 10)\n", + "} # ML method=Forest\n", + "zreg <- function(x, z) {\n", + " randomForest(x, z, ntree = 1000, nodesize = 10)\n", + "} # ML method=Forest\n", + "\n", + "dml2_results <- dml2_for_iivm(X, D, Z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", + " trimming = 0.01, nfold = 5, method = \"randomforest\")\n", + "sum_rf <- summary_for_iivm(dml2_results$coef_est, dml2_results$se, dml2_results$yhat, dml2_results$dhat,\n", + " dml2_results$zhat, dml2_results$ytil, dml2_results$dtil, dml2_results$ztil,\n", + " dml2_results$drZ, dml2_results$drD, name = \"RF\")\n", + "table <- rbind(table, sum_rf)\n", + "table\n", + "\n", + "yhat_rf <- dml2_results$yhat\n", + "dhat_rf <- dml2_results$dhat\n", + "yhat0_rf <- dml2_results$yhat0\n", + "yhat1_rf <- dml2_results$yhat1\n", + "dhat0_rf <- dml2_results$dhat0\n", + "dhat1_rf <- dml2_results$dhat1\n", + "zhat_rf <- dml2_results$zhat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54", + "metadata": { + "id": "54", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML with Decision Trees\n", + "set.seed(123)\n", + "cat(sprintf(\"\\nDML with Decision Trees \\n\"))\n", + "\n", + "dreg0 <- function(x, d) {\n", + " rpart(as.formula(\"D ~ .\"), cbind(data.frame(D = d), x), method = \"class\", minbucket = 10, cp = 0.001)\n", + "}\n", + "dreg1 <- function(x, d) {\n", + " rpart(as.formula(\"D ~ .\"), cbind(data.frame(D = d), x), method = \"class\", minbucket = 10, cp = 0.001)\n", + "}\n", + "yreg0 <- function(x, y) {\n", + " rpart(as.formula(\"y ~ .\"), cbind(data.frame(y = y), x), minbucket = 10, cp = 0.001)\n", + "}\n", + "yreg1 <- function(x, y) {\n", + " rpart(as.formula(\"y ~ .\"), cbind(data.frame(y = y), x), minbucket = 10, cp = 0.001)\n", + "}\n", + "zreg <- function(x, z) {\n", + " rpart(as.formula(\"Z ~ .\"), cbind(data.frame(Z = z), x), method = \"class\", minbucket = 10, cp = 0.001)\n", + "}\n", + "\n", + "dml2_results <- dml2_for_iivm(X, D, Z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", + " trimming = 0.01, nfold = 5, method = \"decisiontrees\")\n", + "sum_tr <- summary_for_iivm(dml2_results$coef_est, dml2_results$se, dml2_results$yhat, dml2_results$dhat,\n", + " dml2_results$zhat, dml2_results$ytil, dml2_results$dtil, dml2_results$ztil,\n", + " dml2_results$drZ, dml2_results$drD, name = \"Decision Trees\")\n", + "table <- rbind(table, sum_tr)\n", + "table\n", + "\n", + "yhat_tr <- dml2_results$yhat\n", + "dhat_tr <- dml2_results$dhat\n", + "yhat0_tr <- dml2_results$yhat0\n", + "yhat1_tr <- dml2_results$yhat1\n", + "dhat0_tr <- dml2_results$dhat0\n", + "dhat1_tr <- dml2_results$dhat1\n", + "zhat_tr <- dml2_results$zhat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55", + "metadata": { + "id": "55", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# DML with Boosted Trees\n", + "set.seed(123)\n", + "cat(sprintf(\"\\nDML with Boosted Trees \\n\"))\n", + "\n", + "# NB: early stopping cannot easily be implemented with gbm\n", + "## set n.trees = best, where best <- gbm.perf(dreg_boost, plot.it = FALSE)\n", + "dreg0 <- function(x, d) {\n", + " gbm(as.formula(\"D ~ .\"), cbind(data.frame(D = d), x), distribution = \"bernoulli\",\n", + " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", + "}\n", + "dreg1 <- function(x, d) {\n", + " gbm(as.formula(\"D ~ .\"), cbind(data.frame(D = d), x), distribution = \"bernoulli\",\n", + " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", + "}\n", + "yreg0 <- function(x, y) {\n", + " gbm(as.formula(\"y ~ .\"), cbind(data.frame(y = y), x), distribution = \"gaussian\",\n", + " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", + "}\n", + "yreg1 <- function(x, y) {\n", + " gbm(as.formula(\"y ~ .\"), cbind(data.frame(y = y), x), distribution = \"gaussian\",\n", + " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", + "}\n", + "zreg <- function(x, z) {\n", + " gbm(as.formula(\"Z ~ .\"), cbind(data.frame(Z = z), x), distribution = \"bernoulli\",\n", + " interaction.depth = 2, n.trees = 100, shrinkage = .1)\n", + "}\n", + "\n", + "# passing these through regression as type=\"response\", and D and Z should not be factors!\n", + "dml2_results <- dml2_for_iivm(X, D, Z, y, dreg0, dreg1, yreg0, yreg1, zreg,\n", + " trimming = 0.01, nfold = 5, method = \"boostedtrees\")\n", + "sum_boost <- summary_for_iivm(dml2_results$coef_est, dml2_results$se, dml2_results$yhat, dml2_results$dhat,\n", + " dml2_results$zhat, dml2_results$ytil, dml2_results$dtil, dml2_results$ztil,\n", + " dml2_results$drZ, dml2_results$drD, name = \"Boosted Trees\")\n", + "table <- rbind(table, sum_boost)\n", + "table\n", + "\n", + "yhat_boost <- dml2_results$yhat\n", + "dhat_boost <- dml2_results$dhat\n", + "yhat0_boost <- dml2_results$yhat0\n", + "yhat1_boost <- dml2_results$yhat1\n", + "dhat0_boost <- dml2_results$dhat0\n", + "dhat1_boost <- dml2_results$dhat1\n", + "zhat_boost <- dml2_results$zhat" + ] + }, + { + "cell_type": "markdown", + "id": "56", + "metadata": { + "id": "56" + }, + "source": [ + "## Ensembles" + ] + }, + { + "cell_type": "markdown", + "id": "57", + "metadata": { + "id": "57" + }, + "source": [ + "Boosted trees give the best RMSE for D and Z and random forests give the best RMSE for Y." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58", + "metadata": { + "id": "58", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Best fit is boosted trees for D, Z and random forests for Y\n", + "\n", + "best_yhat0 <- yhat0_rf\n", + "best_yhat1 <- yhat1_rf\n", + "best_yhat <- yhat_rf\n", + "\n", + "best_dhat0 <- dhat0_boost\n", + "best_dhat1 <- dhat1_boost\n", + "best_dhat <- dhat_boost\n", + "\n", + "best_zhat <- zhat_boost\n", + "\n", + "ytil_best <- y - best_yhat\n", + "dtil_best <- D - best_dhat\n", + "ztil_best <- Z - best_zhat\n", + "\n", + "# doubly robust quantity for every sample\n", + "HZ <- Z / best_zhat - (1 - Z) / (1 - best_zhat)\n", + "drZ <- best_yhat1 - best_yhat0 + (y - best_yhat) * HZ\n", + "drD <- best_dhat1 - best_dhat0 + (D - best_dhat) * HZ\n", + "coef_est <- mean(drZ) / mean(drD)\n", + "psi <- drZ - coef_est * drD\n", + "Jhat <- mean(drD)\n", + "variance <- mean(psi^2) / Jhat^2\n", + "se <- sqrt(variance / nrow(X))\n", + "\n", + "sum_best <- summary_for_iivm(coef_est, se, best_yhat, best_dhat, best_zhat,\n", + " ytil_best, dtil_best, ztil_best, drZ, drD, name = \"Best\")\n", + "table <- rbind(table, sum_best)\n", + "table" + ] + }, + { + "cell_type": "markdown", + "id": "59", + "metadata": { + "id": "59" + }, + "source": [ + "We'll form a model average with unconstrained least squares weights." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60", + "metadata": { + "id": "60", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Least squares model average\n", + "ma_dcoef <- lm(D ~ dhat_lasso + dhat_rf + dhat_tr + dhat_boost - 1)$coef\n", + "ma_ycoef <- lm(y ~ yhat_lasso + yhat_rf + yhat_tr + yhat_boost - 1)$coef\n", + "ma_zcoef <- lm(Z ~ zhat_lasso + zhat_rf + zhat_tr + zhat_boost - 1)$coef\n", + "\n", + "ma_yhat0 <- cbind(yhat0_lasso, yhat0_rf, yhat0_tr, yhat0_boost) %*% as.matrix(ma_ycoef)\n", + "ma_yhat1 <- cbind(yhat1_lasso, yhat1_rf, yhat1_tr, yhat1_boost) %*% as.matrix(ma_ycoef)\n", + "ma_dhat0 <- cbind(dhat0_lasso, dhat0_rf, dhat0_tr, dhat0_boost) %*% as.matrix(ma_dcoef)\n", + "ma_dhat1 <- cbind(dhat1_lasso, dhat1_rf, dhat1_tr, dhat1_boost) %*% as.matrix(ma_dcoef)\n", + "ma_zhat <- cbind(zhat_lasso, zhat_rf, zhat_tr, zhat_boost) %*% as.matrix(ma_zcoef)\n", + "\n", + "# Prediction of treatment and outcome for observed instrument\n", + "ma_yhat <- ma_yhat0 * (1 - Z) + ma_yhat1 * Z\n", + "ma_dhat <- ma_dhat0 * (1 - Z) + ma_dhat1 * Z\n", + "\n", + "# residuals\n", + "ma_ytil <- y - ma_yhat\n", + "ma_dtil <- D - ma_dhat\n", + "ma_ztil <- Z - ma_zhat\n", + "\n", + "# doubly robust quantity for every sample\n", + "HZ <- Z / ma_zhat - (1 - Z) / (1 - ma_zhat)\n", + "drZ <- ma_yhat1 - ma_yhat0 + (y - ma_yhat) * HZ\n", + "drD <- ma_dhat1 - ma_dhat0 + (D - ma_dhat) * HZ\n", + "coef_est <- mean(drZ) / mean(drD)\n", + "psi <- drZ - coef_est * drD\n", + "Jhat <- mean(drD)\n", + "variance <- mean(psi^2) / Jhat^2\n", + "se <- sqrt(variance / nrow(X))\n", + "\n", + "sum_ma <- summary_for_iivm(coef_est, se, ma_yhat, ma_dhat, ma_zhat,\n", + " ma_ytil, ma_dtil, ma_ztil, drZ, drD, name = \"Model Average\")\n", + "table <- rbind(table, sum_ma)\n", + "table" + ] + }, + { + "cell_type": "markdown", + "id": "61", + "metadata": { + "id": "61" + }, + "source": [ + "Comparing with the PLR model" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62", + "metadata": { + "id": "62", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "tableplr" + ] + }, + { + "cell_type": "markdown", + "id": "63", + "metadata": { + "id": "63" + }, + "source": [ + "We find that the PLR model estimates of the effect are generally larger; though both sets of results have overlapping confidence intervals." + ] + }, + { + "cell_type": "markdown", + "id": "64", + "metadata": { + "id": "64" + }, + "source": [ + "\n", + "Again as before, ideally we would do (semi) cross-fitting with AutoML in order to find good first-stage models and re-run DML with these models. Unfortunately this is not easy to do in R.\n", + "\n", + "As before, in the below analysis of robust inference, we choose Boosted Trees as they perform well in RMSE and accuracy on first-stage models." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "65", + "metadata": { + "id": "65", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "iivm_robust_inference <- function(point, stderr, yhat, Dhat, Zhat, resy, resD, resZ,\n", + " drZ, drD, X, Z, D, y, grid, alpha = 0.05) {\n", + " # Inference in the partially linear IV model that is robust to weak identification.\n", + " # grid: grid of theta values to search over when trying to identify the confidence region\n", + " # alpha: confidence level\n", + "\n", + " n <- dim(X)[1]\n", + " thr <- qchisq(1 - alpha, df = 1)\n", + " accept <- c()\n", + "\n", + " for (theta in grid) {\n", + " moment <- drZ - theta * drD\n", + " test <- n * mean(moment)^2 / var(moment)\n", + " if (test <= thr) {\n", + " accept <- c(accept, theta)\n", + " }\n", + " }\n", + "\n", + " return(accept)\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "66", + "metadata": { + "id": "66", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "grid <- seq(0, 20000, length.out = 10000)\n", + "region <- iivm_robust_inference(point = dml2_results$coef_est, stderr = dml2_results$se,\n", + " yhat = dml2_results$yhat, Dhat = dml2_results$dhat, Zhat = dml2_results$zhat,\n", + " resy = dml2_results$ytil, resD = dml2_results$dtil, resZ = dml2_results$ztil,\n", + " drZ = dml2_results$drZ, drD = dml2_results$drD,\n", + " X = X, Z = Z, D = D, y = y, grid = grid)\n", + "\n", + "# Calculate min and max\n", + "min_region <- min(region)\n", + "max_region <- max(region)\n", + "\n", + "print(min_region)\n", + "print(max_region)" + ] + }, + { + "cell_type": "markdown", + "id": "67", + "metadata": { + "id": "67" + }, + "source": [ + "We find again that the robust inference confidence region is almost identical to the normal based inference. We are most probably in the strong instrument regime. We can check the t-statistic for the effect of the instrument on the treatment to verify this." + ] + }, + { + "cell_type": "markdown", + "id": "68", + "metadata": { + "id": "68", + "papermill": { + "duration": 0.010725, + "end_time": "2022-04-19T09:06:51.098483", + "exception": false, + "start_time": "2022-04-19T09:06:51.087758", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "# DoubleML package\n", + "\n", + "There exist nice packages out there that can help us do our estimation with the simple call of a function. Such packages include `EconML` (Python) and `DoubleML` (Python and R).\n", + "\n", + "We run through IIVM using `DoubleML` below to illustrate. The `DoubleML` package internally builds on `mlr3`. We use the meta package `mlr3` to generate predictions with machine learning methods. A comprehensive introduction and description of the `mlr3` package is provided in the [mlr3book](https://mlr3book.mlr-org.com/). A list of all learners that you can use in `mlr3` can be found [here](https://mlr3extralearners.mlr-org.com/articles/learners/list_learners.html). The entry in the columns *mlr3 Package* and *Packages* indicate which packages must be installed/loaded in your R session.\n", + "\n", + "You find additional information about `DoubleML` on the package on the package website https://docs.doubleml.org/ and the R documentation page https://docs.doubleml.org/r/stable/." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "69", + "metadata": { + "id": "69", + "papermill": { + "duration": 20.239271, + "end_time": "2022-04-19T09:07:11.369618", + "exception": false, + "start_time": "2022-04-19T09:06:51.130347", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "install.packages(\"DoubleML\")\n", + "install.packages(\"mlr3learners\")\n", + "install.packages(\"mlr3\")\n", + "install.packages(\"data.table\")\n", + "install.packages(\"ranger\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "70", + "metadata": { + "vscode": { + "languageId": "r" + }, + "id": "70" + }, + "outputs": [], + "source": [ + "library(DoubleML)\n", + "library(mlr3learners)\n", + "library(mlr3)\n", + "library(data.table)\n", + "library(ranger)" + ] + }, + { + "cell_type": "markdown", + "id": "71", + "metadata": { + "id": "71", + "papermill": { + "duration": 0.015455, + "end_time": "2022-04-19T09:12:00.920079", + "exception": false, + "start_time": "2022-04-19T09:12:00.904624", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Local Average Treatment Effects of 401(k) Participation on Net Financial Assets" + ] + }, + { + "cell_type": "markdown", + "id": "72", + "metadata": { + "id": "72", + "papermill": { + "duration": 0.015158, + "end_time": "2022-04-19T09:12:00.950542", + "exception": false, + "start_time": "2022-04-19T09:12:00.935384", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## Interactive IV Model (IIVM)" + ] + }, + { + "cell_type": "markdown", + "id": "73", + "metadata": { + "id": "73", + "papermill": { + "duration": 0.015304, + "end_time": "2022-04-19T09:12:00.981285", + "exception": false, + "start_time": "2022-04-19T09:12:00.965981", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Now, we consider estimation of local average treatment effects (LATE) of participation with the binary instrument `e401`. As before, $Y$ denotes the outcome `net_tfa`, and $X$ is the vector of covariates. Here the structural equation model is:\n", + "\n", + "\\begin{align}\n", + "Y :=~& g_0(Z,X) + U, &\\quad E[U\\mid Z,X] = 0,\\\\\n", + "D :=~& r_0(Z,X) + V, &\\quad E[V\\mid Z, X] = 0,\\\\\n", + "Z :=~& m_0(X) + \\zeta, &\\quad E[\\zeta \\mid X] = 0.\n", + "\\end{align}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "74", + "metadata": { + "id": "74", + "papermill": { + "duration": 0.06823, + "end_time": "2022-04-19T09:12:01.064957", + "exception": false, + "start_time": "2022-04-19T09:12:00.996727", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Constructing the data (as DoubleMLData)\n", + "formula_flex2 <- paste(\"net_tfa ~ p401+ e401 + poly(age, 6, raw=TRUE) + poly(inc, 8, raw=TRUE) + \",\n", + " \"poly(educ, 4, raw=TRUE) + poly(fsize, 2, raw=TRUE) + male + marr + twoearn + db + pira + hown\")\n", + "model_flex2 <- as.data.table(model.frame(formula_flex2, data))\n", + "x_cols <- colnames(model_flex2)[-c(1, 2, 3)]\n", + "data_iv <- DoubleMLData$new(model_flex2, y_col = \"net_tfa\", d_cols = \"p401\", z_cols = \"e401\", x_cols = x_cols)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "75", + "metadata": { + "id": "75", + "papermill": { + "duration": 20.934595, + "end_time": "2022-04-19T09:12:22.014866", + "exception": false, + "start_time": "2022-04-19T09:12:01.080271", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "lgr::get_logger(\"mlr3\")$set_threshold(\"warn\")\n", + "lasso <- lrn(\"regr.cv_glmnet\", nfolds = 5, s = \"lambda.min\")\n", + "lasso_class <- lrn(\"classif.cv_glmnet\", nfolds = 5, s = \"lambda.min\")\n", + "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", + " ml_g = lasso,\n", + " ml_m = lasso_class, ml_r = lasso_class, n_folds = 5, subgroups = list(\n", + " always_takers = FALSE,\n", + " never_takers = TRUE\n", + " )\n", + ")\n", + "dml_mliivm$fit(store_predictions = TRUE)\n", + "dml_mliivm$summary()\n", + "lasso_mliivm <- dml_mliivm$coef\n", + "lasso_std_mliivm <- dml_mliivm$se" + ] + }, + { + "cell_type": "markdown", + "id": "76", + "metadata": { + "id": "76", + "papermill": { + "duration": 0.015382, + "end_time": "2022-04-19T09:12:22.045989", + "exception": false, + "start_time": "2022-04-19T09:12:22.030607", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "The confidence interval for the local average treatment effect of participation is given by" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "77", + "metadata": { + "id": "77", + "papermill": { + "duration": 0.042067, + "end_time": "2022-04-19T09:12:22.103953", + "exception": false, + "start_time": "2022-04-19T09:12:22.061886", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "dml_mliivm$confint(level = 0.95)" + ] + }, + { + "cell_type": "markdown", + "id": "78", + "metadata": { + "id": "78", + "papermill": { + "duration": 0.015374, + "end_time": "2022-04-19T09:12:22.134875", + "exception": false, + "start_time": "2022-04-19T09:12:22.119501", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Here we can also check the accuracy of the model:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "79", + "metadata": { + "id": "79", + "papermill": { + "duration": 0.056054, + "end_time": "2022-04-19T09:12:22.206157", + "exception": false, + "start_time": "2022-04-19T09:12:22.150103", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# variables\n", + "y <- as.matrix(pension$net_tfa) # true observations\n", + "d <- as.matrix(pension$p401)\n", + "z <- as.matrix(pension$e401)\n", + "\n", + "# predictions\n", + "dml_mliivm$params_names()\n", + "g0_hat <- as.matrix(dml_mliivm$predictions$ml_g0) # predictions of g_0(z=0, X)\n", + "g1_hat <- as.matrix(dml_mliivm$predictions$ml_g1) # predictions of g_0(z=1, X)\n", + "g_hat <- z * g1_hat + (1 - z) * g0_hat # predictions of g_0\n", + "r0_hat <- as.matrix(dml_mliivm$predictions$ml_r0) # predictions of r_0(z=0, X)\n", + "r1_hat <- as.matrix(dml_mliivm$predictions$ml_r1) # predictions of r_0(z=1, X)\n", + "r_hat <- z * r1_hat + (1 - z) * r0_hat # predictions of r_0\n", + "m_hat <- as.matrix(dml_mliivm$predictions$ml_m) # predictions of m_o" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "80", + "metadata": { + "id": "80", + "papermill": { + "duration": 0.056945, + "end_time": "2022-04-19T09:12:22.278593", + "exception": false, + "start_time": "2022-04-19T09:12:22.221648", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# cross-fitted RMSE: outcome\n", + "lasso_y_mliivm <- sqrt(mean((y - g_hat)^2))\n", + "lasso_y_mliivm\n", + "\n", + "# cross-fitted RMSE: treatment\n", + "lasso_d_mliivm <- sqrt(mean((d - r_hat)^2))\n", + "lasso_d_mliivm\n", + "\n", + "# cross-fitted RMSE: instrument\n", + "lasso_z_mliivm <- sqrt(mean((z - m_hat)^2))\n", + "lasso_z_mliivm" + ] + }, + { + "cell_type": "markdown", + "id": "81", + "metadata": { + "id": "81", + "papermill": { + "duration": 0.016468, + "end_time": "2022-04-19T09:12:22.311250", + "exception": false, + "start_time": "2022-04-19T09:12:22.294782", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "Again, we repeat the procedure for the other machine learning methods:" + ] + }, + { + "cell_type": "code", + "source": [ + "install.packages(\"remotes\")\n", + "library(remotes)" + ], + "metadata": { + "id": "1XXIPOR6fGKO" + }, + "id": "1XXIPOR6fGKO", + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "82", + "metadata": { + "id": "82", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# needed to run boosting\n", + "remotes::install_github(\"mlr-org/mlr3extralearners\")\n", + "install.packages(\"mlr3extralearners\")\n", + "install.packages(\"mboost\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83", + "metadata": { + "vscode": { + "languageId": "r" + }, + "id": "83" + }, + "outputs": [], + "source": [ + "library(mlr3extralearners)\n", + "library(mboost)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84", + "metadata": { + "id": "84", + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Forest\n", + "randomForest <- lrn(\"regr.ranger\")\n", + "random_forest_class <- lrn(\"classif.ranger\")\n", + "\n", + "# Trees\n", + "trees <- lrn(\"regr.rpart\")\n", + "trees_class <- lrn(\"classif.rpart\")\n", + "\n", + "# Boosting\n", + "boost <- lrn(\"regr.glmboost\")\n", + "boost_class <- lrn(\"classif.glmboost\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85", + "metadata": { + "id": "85", + "papermill": { + "duration": 69.414354, + "end_time": "2022-04-19T09:13:31.742249", + "exception": false, + "start_time": "2022-04-19T09:12:22.327895", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "### random forest ###\n", + "\n", + "lgr::get_logger(\"mlr3\")$set_threshold(\"warn\")\n", + "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", + " ml_g = randomForest,\n", + " ml_m = random_forest_class, ml_r = random_forest_class, n_folds = 3, subgroups = list(\n", + " always_takers = FALSE,\n", + " never_takers = TRUE\n", + " )\n", + ")\n", + "dml_mliivm$fit(store_predictions = TRUE)\n", + "dml_mliivm$summary()\n", + "forest_mliivm <- dml_mliivm$coef\n", + "forest_std_mliivm <- dml_mliivm$se\n", + "\n", + "# predictions\n", + "g0_hat <- as.matrix(dml_mliivm$predictions$ml_g0) # predictions of g_0(Z=0, X)\n", + "g1_hat <- as.matrix(dml_mliivm$predictions$ml_g1) # predictions of g_0(Z=1, X)\n", + "g_hat <- z * g1_hat + (1 - z) * g0_hat # predictions of g_0\n", + "r0_hat <- as.matrix(dml_mliivm$predictions$ml_r0) # predictions of r_0(Z=0, X)\n", + "r1_hat <- as.matrix(dml_mliivm$predictions$ml_r1) # predictions of r_0(Z=1, X)\n", + "r_hat <- z * r1_hat + (1 - z) * r0_hat # predictions of r_0\n", + "m_hat <- as.matrix(dml_mliivm$predictions$ml_m) # predictions of m_o\n", + "\n", + "# cross-fitted RMSE: outcome\n", + "forest_y_mliivm <- sqrt(mean((y - g_hat)^2))\n", + "forest_y_mliivm\n", + "\n", + "# cross-fitted RMSE: treatment\n", + "forest_d_mliivm <- sqrt(mean((d - r_hat)^2))\n", + "forest_d_mliivm\n", + "\n", + "# cross-fitted RMSE: instrument\n", + "forest_z_mliivm <- sqrt(mean((z - m_hat)^2))\n", + "forest_z_mliivm\n", + "\n", + "### trees ###\n", + "\n", + "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", + " ml_g = trees,\n", + " ml_m = trees_class, ml_r = trees_class, n_folds = 3, subgroups = list(\n", + " always_takers = FALSE,\n", + " never_takers = TRUE\n", + " )\n", + ")\n", + "dml_mliivm$fit(store_predictions = TRUE)\n", + "dml_mliivm$summary()\n", + "tree_mliivm <- dml_mliivm$coef\n", + "tree_std_mliivm <- dml_mliivm$se\n", + "\n", + "# predictions\n", + "g0_hat <- as.matrix(dml_mliivm$predictions$ml_g0) # predictions of g_0(Z=0, X)\n", + "g1_hat <- as.matrix(dml_mliivm$predictions$ml_g1) # predictions of g_0(Z=1, X)\n", + "g_hat <- z * g1_hat + (1 - z) * g0_hat # predictions of g_0\n", + "r0_hat <- as.matrix(dml_mliivm$predictions$ml_r0) # predictions of r_0(Z=0, X)\n", + "r1_hat <- as.matrix(dml_mliivm$predictions$ml_r1) # predictions of r_0(Z=1, X)\n", + "r_hat <- z * r1_hat + (1 - z) * r0_hat # predictions of r_0\n", + "m_hat <- as.matrix(dml_mliivm$predictions$ml_m) # predictions of m_o\n", + "\n", + "# cross-fitted RMSE: outcome\n", + "tree_y_mliivm <- sqrt(mean((y - g_hat)^2))\n", + "tree_y_mliivm\n", + "\n", + "# cross-fitted RMSE: treatment\n", + "tree_d_mliivm <- sqrt(mean((d - r_hat)^2))\n", + "tree_d_mliivm\n", + "\n", + "# cross-fitted RMSE: instrument\n", + "tree_z_mliivm <- sqrt(mean((z - m_hat)^2))\n", + "tree_z_mliivm\n", + "\n", + "\n", + "### boosting ###\n", + "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", + " ml_g = boost,\n", + " ml_m = boost_class, ml_r = boost_class, n_folds = 3, subgroups = list(\n", + " always_takers = FALSE,\n", + " never_takers = TRUE\n", + " )\n", + ")\n", + "dml_mliivm$fit(store_predictions = TRUE)\n", + "dml_mliivm$summary()\n", + "boost_mliivm <- dml_mliivm$coef\n", + "boost_std_mliivm <- dml_mliivm$se\n", + "\n", + "# predictions\n", + "g0_hat <- as.matrix(dml_mliivm$predictions$ml_g0) # predictions of g_0(Z=0, X)\n", + "g1_hat <- as.matrix(dml_mliivm$predictions$ml_g1) # predictions of g_0(Z=1, X)\n", + "g_hat <- z * g1_hat + (1 - z) * g0_hat # predictions of g_0\n", + "r0_hat <- as.matrix(dml_mliivm$predictions$ml_r0) # predictions of r_0(Z=0, X)\n", + "r1_hat <- as.matrix(dml_mliivm$predictions$ml_r1) # predictions of r_0(Z=1, X)\n", + "r_hat <- z * r1_hat + (1 - z) * r0_hat # predictions of r_0\n", + "m_hat <- as.matrix(dml_mliivm$predictions$ml_m) # predictions of m_o\n", + "\n", + "# cross-fitted RMSE: outcome\n", + "boost_y_mliivm <- sqrt(mean((y - g_hat)^2))\n", + "boost_y_mliivm\n", + "\n", + "# cross-fitted RMSE: treatment\n", + "boost_d_mliivm <- sqrt(mean((d - r_hat)^2))\n", + "boost_d_mliivm\n", + "\n", + "# cross-fitted RMSE: instrument\n", + "boost_z_mliivm <- sqrt(mean((z - m_hat)^2))\n", + "boost_z_mliivm" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "86", + "metadata": { + "id": "86", + "papermill": { + "duration": 0.061872, + "end_time": "2022-04-19T09:13:31.824148", + "exception": false, + "start_time": "2022-04-19T09:13:31.762276", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "table <- matrix(0, 5, 4)\n", + "table[1, 1:4] <- c(lasso_mliivm, forest_mliivm, tree_mliivm, boost_mliivm)\n", + "table[2, 1:4] <- c(lasso_std_mliivm, forest_std_mliivm, tree_std_mliivm, boost_std_mliivm)\n", + "table[3, 1:4] <- c(lasso_y_mliivm, forest_y_mliivm, tree_y_mliivm, boost_y_mliivm)\n", + "table[4, 1:4] <- c(lasso_d_mliivm, forest_d_mliivm, tree_d_mliivm, boost_d_mliivm)\n", + "table[5, 1:4] <- c(lasso_z_mliivm, forest_z_mliivm, tree_z_mliivm, boost_z_mliivm)\n", + "rownames(table) <- c(\"Estimate\", \"Std.Error\", \"RMSE Y\", \"RMSE D\", \"RMSE Z\")\n", + "colnames(table) <- c(\"Lasso\", \"Random Forest\", \"Trees\", \"Boosting\")\n", + "tab <- xtable(table, digits = 2)\n", + "tab" + ] + }, + { + "cell_type": "markdown", + "id": "87", + "metadata": { + "id": "87", + "papermill": { + "duration": 0.017437, + "end_time": "2022-04-19T09:13:31.859052", + "exception": false, + "start_time": "2022-04-19T09:13:31.841615", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "We report results based on four ML methods for estimating the nuisance functions used in forming the orthogonal estimating equations. All four point estimates are positive, but their magnitudes and precision vary. Lasso and trees yield precise estimates near $12,000; forest and boosting yield smaller, less precise estimates. The forest estimate is not statistically distinguishable from zero at the 5% level." + ] + }, + { + "cell_type": "markdown", + "id": "88", + "metadata": { + "id": "88", + "papermill": { + "duration": 0.017163, + "end_time": "2022-04-19T09:13:31.893361", + "exception": false, + "start_time": "2022-04-19T09:13:31.876198", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "We might rerun the model using the best ML method for each equation to get a final estimate for the treatment effect of participation:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89", + "metadata": { + "id": "89", + "papermill": { + "duration": 20.780029, + "end_time": "2022-04-19T09:13:52.690594", + "exception": false, + "start_time": "2022-04-19T09:13:31.910565", + "status": "completed" + }, + "tags": [], + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "lgr::get_logger(\"mlr3\")$set_threshold(\"warn\")\n", + "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", + " ml_g = randomForest,\n", + " ml_m = boost_class, ml_r = lasso_class, n_folds = 5, subgroups = list(\n", + " always_takers = FALSE,\n", + " never_takers = TRUE\n", + " )\n", + ")\n", + "dml_mliivm$fit(store_predictions = TRUE)\n", + "dml_mliivm$summary()\n", + "best_mliivm <- dml_mliivm$coef\n", + "best_std_mliivm <- dml_mliivm$se" + ] } - }, - "outputs": [], - "source": [ - "table <- matrix(0, 5, 4)\n", - "table[1, 1:4] <- c(lasso_mliivm, forest_mliivm, tree_mliivm, boost_mliivm)\n", - "table[2, 1:4] <- c(lasso_std_mliivm, forest_std_mliivm, tree_std_mliivm, boost_std_mliivm)\n", - "table[3, 1:4] <- c(lasso_y_mliivm, forest_y_mliivm, tree_y_mliivm, boost_y_mliivm)\n", - "table[4, 1:4] <- c(lasso_d_mliivm, forest_d_mliivm, tree_d_mliivm, boost_d_mliivm)\n", - "table[5, 1:4] <- c(lasso_z_mliivm, forest_z_mliivm, tree_z_mliivm, boost_z_mliivm)\n", - "rownames(table) <- c(\"Estimate\", \"Std.Error\", \"RMSE Y\", \"RMSE D\", \"RMSE Z\")\n", - "colnames(table) <- c(\"Lasso\", \"Random Forest\", \"Trees\", \"Boosting\")\n", - "tab <- xtable(table, digits = 2)\n", - "tab" - ] - }, - { - "cell_type": "markdown", - "id": "87", - "metadata": { - "id": "f4ce7be1", - "papermill": { - "duration": 0.017437, - "end_time": "2022-04-19T09:13:31.859052", - "exception": false, - "start_time": "2022-04-19T09:13:31.841615", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "We report results based on four ML methods for estimating the nuisance functions used in\n", - "forming the orthogonal estimating equations. We find again that the estimates of the treatment effect are stable across ML methods. The estimates are highly significant, hence we would reject the hypothesis\n", - "that the effect of 401(k) participation has no effect on financial health." - ] - }, - { - "cell_type": "markdown", - "id": "88", - "metadata": { - "id": "4939cd9c", - "papermill": { - "duration": 0.017163, - "end_time": "2022-04-19T09:13:31.893361", - "exception": false, - "start_time": "2022-04-19T09:13:31.876198", - "status": "completed" - }, - "tags": [] - }, - "source": [ - "We might rerun the model using the best ML method for each equation to get a final estimate for the treatment effect of participation:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "89", - "metadata": { - "id": "ca612b71", + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "R", + "language": "R", + "name": "ir" + }, + "language_info": { + "codemirror_mode": "r", + "file_extension": ".r", + "mimetype": "text/x-r-source", + "name": "R", + "pygments_lexer": "r", + "version": "4.0.5" + }, "papermill": { - "duration": 20.780029, - "end_time": "2022-04-19T09:13:52.690594", - "exception": false, - "start_time": "2022-04-19T09:13:31.910565", - "status": "completed" - }, - "tags": [], - "vscode": { - "languageId": "r" + "default_parameters": {}, + "duration": 427.936706, + "end_time": "2022-04-19T09:13:53.230849", + "environment_variables": {}, + "exception": null, + "input_path": "__notebook__.ipynb", + "output_path": "__notebook__.ipynb", + "parameters": {}, + "start_time": "2022-04-19T09:06:45.294143", + "version": "2.3.4" } - }, - "outputs": [], - "source": [ - "lgr::get_logger(\"mlr3\")$set_threshold(\"warn\")\n", - "dml_mliivm <- DoubleMLIIVM$new(data_iv,\n", - " ml_g = randomForest,\n", - " ml_m = lasso_class, ml_r = lasso_class, n_folds = 5, subgroups = list(\n", - " always_takers = FALSE,\n", - " never_takers = TRUE\n", - " )\n", - ")\n", - "dml_mliivm$fit(store_predictions = TRUE)\n", - "dml_mliivm$summary()\n", - "best_mliivm <- dml_mliivm$coef\n", - "best_std_mliivm <- dml_mliivm$se" - ] - } - ], - "metadata": { - "colab": { - "provenance": [] - }, - "kernelspec": { - "display_name": "R", - "language": "R", - "name": "ir" - }, - "language_info": { - "codemirror_mode": "r", - "file_extension": ".r", - "mimetype": "text/x-r-source", - "name": "R", - "pygments_lexer": "r", - "version": "4.0.5" }, - "papermill": { - "default_parameters": {}, - "duration": 427.936706, - "end_time": "2022-04-19T09:13:53.230849", - "environment_variables": {}, - "exception": null, - "input_path": "__notebook__.ipynb", - "output_path": "__notebook__.ipynb", - "parameters": {}, - "start_time": "2022-04-19T09:06:45.294143", - "version": "2.3.4" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} + "nbformat": 4, + "nbformat_minor": 5 +} \ No newline at end of file diff --git a/CM1/python-rct-penn-precision-adj.ipynb b/CM1/python-rct-penn-precision-adj.ipynb index b90bc08c..e694c2f1 100644 --- a/CM1/python-rct-penn-precision-adj.ipynb +++ b/CM1/python-rct-penn-precision-adj.ipynb @@ -376,9 +376,9 @@ " data)\n", "# Omitted dummies: q1, nondurable, muld\n", "\n", - "cl_results = cl.fit(cov_type=\"HC0\")\n", + "cl_results = cl.fit(cov_type=\"HC1\")\n", "cl_est = cl_results.params['T4']\n", - "cl_se = cl_results.HC0_se['T4']\n", + "cl_se = cl_results.HC1_se['T4']\n", "print(f\"ATE: {cl_est:.4f}, (std={cl_se:.4f})\")" ] }, @@ -390,9 +390,9 @@ }, "outputs": [], "source": [ - "cra_results = cra.fit(cov_type=\"HC0\")\n", + "cra_results = cra.fit(cov_type=\"HC1\")\n", "cra_est = cra_results.params['T4']\n", - "cra_se = cra_results.HC0_se['T4']\n", + "cra_se = cra_results.HC1_se['T4']\n", "print(f\"ATE: {cra_est:.4f}, (std={cra_se:.4f})\")" ] }, @@ -441,17 +441,27 @@ "X['T4'] = data['T4']\n", "X = patsy.dmatrix(ira_formula, X, return_type='dataframe')\n", "ira = sm.OLS(np.log(data[[\"inuidur1\"]]), X)\n", - "ira_results = ira.fit(cov_type=\"HC0\")\n", + "ira_results = ira.fit(cov_type=\"HC1\")\n", "ira_est = ira_results.params['T4']\n", "\n", "# because we de-meaned the covariates and interacted them with the treamtent\n", "# we need to account for the error in the means of X, which has a first-order\n", "# effect on the ATE estimate\n", - "interaction_cols = list(map(lambda x: x.startswith('T4:'), list(X.columns)))\n", - "cate = X.iloc[:, interaction_cols] @ ira_results.params[interaction_cols]\n", - "ira_se = np.sqrt(ira_results.HC0_se['T4']**2 + np.var(cate) / X.shape[0])\n", + "interaction_cols = [\n", + " col for col in X.columns if col.startswith(\"T4:\")\n", + "]\n", + "covariate_cols = [\n", + " col[len(\"T4:\"):] for col in interaction_cols\n", + "]\n", "\n", - "print(f\"ATE: {ira_est:.4f}, (std={ira_se:.4f})\")" + "cate = (\n", + " X.loc[:, covariate_cols].to_numpy()\n", + " @ ira_results.params.loc[interaction_cols].to_numpy()\n", + ")\n", + "\n", + "ira_se = np.sqrt(ira_results.bse[\"T4\"]**2 + np.var(cate, ddof=1) / len(X))\n", + "\n", + "print(f\"ATE: {ira_est:.4f}, (std={ira_se:.4f})\")\n" ] }, { @@ -543,7 +553,9 @@ { "cell_type": "code", "execution_count": null, - "metadata": {}, + "metadata": { + "id": "0YGFcOC91xZM" + }, "outputs": [], "source": [ "y = np.log(data[\"inuidur1\"])\n", @@ -555,9 +567,9 @@ "Dres = D - np.mean(D)\n", "yres = y - lasso_model().fit(X, y).predict(X)\n", "\n", - "cra_lasso_results = sm.OLS(yres, Dres).fit(cov_type='HC0')\n", + "cra_lasso_results = sm.OLS(yres, Dres).fit(cov_type='HC1')\n", "cra_lasso_est = cra_lasso_results.params['T4']\n", - "cra_lasso_se = cra_lasso_results.HC0_se['T4']\n", + "cra_lasso_se = cra_lasso_results.HC1_se['T4']\n", "print(f\"ATE: {cra_lasso_est:.4f}, (std={cra_lasso_se:.4f})\")" ] }, @@ -600,15 +612,25 @@ "yres = y - modely.predict(X)\n", "\n", "\n", - "ira_lasso_results = sm.OLS(yres, Dres).fit(cov_type='HC0')\n", + "ira_lasso_results = sm.OLS(yres, Dres).fit(cov_type='HC1')\n", "ira_lasso_est = ira_lasso_results.params['T4']\n", "\n", "# because we de-meaned the covariates and interacted them with the treamtent\n", "# we need to account for the error in the means of X, which has a first-order\n", "# effect on the ATE estimate\n", - "interaction_cols = list(map(lambda x: x.startswith('T4:'), list(X.columns)))\n", - "cate = X.iloc[:, interaction_cols] @ modely.coef_[interaction_cols]\n", - "ira_lasso_se = np.sqrt(ira_lasso_results.HC0_se['T4']**2 + np.var(cate) / X.shape[0])" + "interaction_mask = np.array([\n", + " col.startswith(\"T4:\") for col in X.columns\n", + "])\n", + "covariate_cols = [\n", + " col[len(\"T4:\"):] for col in X.columns[interaction_mask]\n", + "]\n", + "\n", + "cate = (\n", + " X.loc[:, covariate_cols].to_numpy()\n", + " @ np.asarray(modely.coef_)[interaction_mask]\n", + ")\n", + "\n", + "ira_lasso_se = np.sqrt(ira_lasso_results.bse[\"T4\"]**2 + np.var(cate, ddof=1) / len(X))" ] }, { @@ -678,15 +700,6 @@ "\n", "\n" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "odb5eio_AUfI" - }, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/CM1/python-rct-vaccines.ipynb b/CM1/python-rct-vaccines.ipynb index 9edce34c..584b7022 100644 --- a/CM1/python-rct-vaccines.ipynb +++ b/CM1/python-rct-vaccines.ipynb @@ -14,7 +14,9 @@ "tags": [] }, "source": [ - "# Vaccine RCT Examples\n" + "# Vaccine RCT Examples\n", + "\n", + "We use vaccine trial counts to illustrate estimation of risk differences and vaccine efficacy, then compare several confidence interval methods. Reported risks and efficacy estimates are proportions unless explicitly expressed as percentages." ] }, { @@ -45,29 +47,19 @@ "tags": [] }, "source": [ - " \n", "# Polio RCT\n", "\n", - "One of the earliest randomized experiments were the Polio vaccination trials conducted by the Public Health Service in 1954. The question was whether Salk vaccine prevented polio. Children in the study were randomly assigned either a treatment (polio vaccine shot) or a placebo (saline solution shot), without knowing which one they received. The doctors in the study, making the diagnosis, did not know whether a child received a vaccine or not. In other words, the trial was a double-blind, randomized control trial. The trial had to be large, because the rate at which Polio occured in the population was 50 per 100,000. The treatment group saw 33 polio cases per 200,745; the control group saw 115 cases per 201,229. The estimated average treatment effect is about\n", - "$$\n", - "-40\n", - "$$\n", - "with 95% confidence band (based on approximate normality of the two sample means and their differences)\n", - "$$[-52, -28].$$\n", - "The confidence suggests that the Polio vaccine **caused** the reduction in the risk of polio.\n", + "In the randomized portion of the 1954 Salk polio vaccine trial, children received either the vaccine or a placebo. Participants and the doctors assessing outcomes did not know the assignments. The vaccine group had 33 polio cases among 200,745 children; the placebo group had 115 among 201,229.\n", "\n", - "The interesting thing here is that we don't need the underlying individual data to evaluate the effectivess of the vaccine. This is because the outcomes are Bernoulli random variabales, and we have enough information to compute the estimate of ATE as well as the confidence intervals.\n", + "We estimate the average treatment effect as the difference in case proportions. The estimate is about $-40.7$ cases per 100,000 children, with an approximate 95% confidence interval of $[-52.6,-28.9]$. Under the RCT assumptions, the difference estimates the causal effect of vaccination on the risk of polio.\n", "\n", - "\n", - "We also compute Vaccine Efficacy metric, which (I googled [CDC](https://www.cdc.gov/csels/dsepd/ss1978/lesson3/section6.html)) refers to the following measure:\n", + "Because the outcomes are Bernoulli, the group totals and case counts suffice to calculate the difference in means and its estimated standard error. We also estimate vaccine efficacy,\n", "$$\n", - "\\operatorname{VE} = \\frac{\\text{Risk for Unvaccianted - Risk for Vaccinated}}{\\text{Risk for Unvaccianted}}.\n", + "\\mathsf{VE}=1-\\frac{\\text{Risk for Vaccinated}}{\\text{Risk for Unvaccinated}},\n", "$$\n", - "It describes the relative reduction in risk caused by vaccination.\n", - "\n", + "which measures the relative reduction in risk. The point estimate is approximately 71.2%.\n", "\n", - "It is staighborward to get VE estimate by just plugging-in the numbers, but how do we get the approximate variance estimate. I am too lazy to do calculations for the delta methods, so I will just use a simulation (a form of approximate bootstrap) to obtain the confidence intervals.\n", - "\n" + "For the risk difference, we use a normal confidence interval. For vaccine efficacy, we simulate independent Gaussian draws for the two estimated risks using their estimated variances, calculate efficacy for each draw, and take the 2.5th and 97.5th percentiles. This is an approximate simulation-based interval, not an exact interval." ] }, { @@ -170,19 +162,15 @@ "tags": [] }, "source": [ - "# Pfizer/BNTX Covid-19 RCT\n", + "# Pfizer/BioNTech COVID-19 RCT\n", "\n", - "Here is a link to the FDA [briefing](https://www.fda.gov/media/144245/download) and an interesting [discussion](\n", - "https://garycornell.com/2020/12/09/statistics-in-the-pfizer-data-how-good-is-the-vaccine/?fbclid=IwAR282lS0Vl3tWmicQDDhIJAQCMO8NIsCXyWbUWwTtPuKcnuJ2v0VWXRDQac), as well as data.\n", + "The [FDA briefing](https://www.fda.gov/media/144245/download) reports results from a randomized trial comparing a two-dose vaccine regimen with placebo. Participants and the observers assessing outcomes were blinded to assignment. The table below reports vaccine efficacy against symptomatic, confirmed COVID-19, overall and by age group.\n", "\n", - "Pfizer/BNTX is the first vaccine approved for emergency use to reduce the risk of Covid-19. Volunteers were randomly assigned to receive either a treatment (2-dose vaccination) or a placebo, without knowing which they received. The doctors making the diagnoses did not know now whether a given volunteer received a vaccination or not. The results of the study are given in the following table:\n", + "![Pfizer/BioNTech trial efficacy results](https://lh6.googleusercontent.com/oiO6gYom1UZyrOhgpFx2iq8ike979u3805JHiVygP-Efh1Yaz2ttyPcgWKlT1AqHDM4v46th3EPIkOvRLyXA0fNUloPL-mL9eOFmSAzfbNOHyCZSQ0DyzMhcFUtQuZ520R5Qd2lj)\n", "\n", - "![pfizer/biontech result table](https://lh6.googleusercontent.com/oiO6gYom1UZyrOhgpFx2iq8ike979u3805JHiVygP-Efh1Yaz2ttyPcgWKlT1AqHDM4v46th3EPIkOvRLyXA0fNUloPL-mL9eOFmSAzfbNOHyCZSQ0DyzMhcFUtQuZ520R5Qd2lj)\n", + "For a simple illustration of the two-means approach, we treat the reported case counts and group totals as binomial data, abstracting from differences in follow-up. The calculations illustrate inference methods rather than reproduce the trial analysis.\n", "\n", - "Here we see both the overall effects and the effects by age group. The confidence intervals for the overall ATE are tight and suggest high effectivness of the vaccine. The confidence intervals for the age groups 65-74 and 75+ are much wider. We could group the 65-74 and >75 groups to evaluate the effectiveness of the vaccine and also narrow down the width of the confidence band.\n", - "\n", - "In this case, the reported results are for vaccine effectiveness. We use the same approach as above.\n", - "\n" + "We first apply the normal and Gaussian simulation approaches used in the polio example. We then pool the 65–74 and 75-and-older groups to illustrate how interval estimates differ when there are few observed cases." ] }, { @@ -199,7 +187,7 @@ "tags": [] }, "source": [ - "In the code cell below we calculate the overall effectiveness of the vaccine and construct confidence intervals for it." + "The following cells estimate the overall risk difference and vaccine efficacy, using a normal interval for the risk difference and Gaussian simulation for efficacy." ] }, { @@ -288,7 +276,9 @@ "tags": [] }, "source": [ - "In the code cell below, we calculate the effectiveness of the vaccine for the two groups that are 65 or older" + "## Participants Aged 65 and Older\n", + "\n", + "Pooling the two older age groups gives 1 case among 4,044 vaccinated participants and 19 among 4,067 placebo participants. Estimated efficacy is approximately 94.7%. We repeat the Gaussian simulation to construct two-sided intervals and one-sided lower confidence bounds. With so few cases, the approximation can produce negative simulated risks and efficacy values above 100%." ] }, { @@ -344,7 +334,9 @@ "id": "UQw0zHWGegrK" }, "source": [ - "Let's try the Binomial parametric bootstrap using the fact that outcomes are Bernoulli" + "## Binomial Parametric Bootstrap\n", + "\n", + "We next simulate case counts from binomial distributions with the observed group sizes and estimated risks. The cell uses the ratio of simulated counts as an approximation to the risk ratio because the group sizes are nearly equal. The resulting percentile intervals remain approximate; simulating binomial counts does not make a bootstrap interval exact." ] }, { @@ -400,11 +392,9 @@ "id": "jPZWoSzsegrM" }, "source": [ - "# More Accurate Confidence Intervals\n", + "# Log-Risk-Ratio Confidence Intervals\n", "\n", - "The table from the FDA uses exact inference by inverting tests based on the exact binomial nature of the outcome variable. This method is known as the Cornfield Procedure to find the exact confidence interval on the estimate of vaccine efficacy.\n", - "\n", - "Another typical more accurate approximation is to approximate the log of the risks by a normal distribution, construct confidence intervals for the quantity $\\log(RV) - \\log(RU)$ and then invert. This is for instance method C in [this paper](https://www.jstor.org/stable/pdf/2530610.pdf) and is implemented in the statsmodels package (and also in the `scipy.stats.contengency_table` package)." + "The next cells use `statsmodels.stats.Table2x2.riskratio_confint` to construct a normal interval for the log risk ratio and exponentiate the endpoints. Transforming the risk-ratio interval $[L,U]$ to $[1-U,1-L]$ gives an interval for vaccine efficacy. This is an approximate method, distinct from the exact conditional odds-ratio interval introduced below." ] }, { @@ -438,7 +428,7 @@ "id": "d9rPuODEegrP" }, "source": [ - "We see that this matches much more accurately the table from the FDA." + "The overall log-risk-ratio calculation gives an efficacy interval of approximately **[89.5%, 97.3%]**. The result is close to the interval in the FDA table, but uses a different method." ] }, { @@ -447,7 +437,7 @@ "id": "8ntswBDwrfTt" }, "source": [ - "Next we repeat this procedure to find a more accurate confidence interval on vaccine effectiveness for the two groups that are 65 or older. Here we see a big discrepancy between various asymptotic approaches and the exact finite-sample inference. This occurs because the binomial counts are too low for central limit theorems to work successfully." + "We repeat the log-risk-ratio calculation for participants aged 65 and older. The interval is approximately **[60.5%, 99.3%]**. With only one vaccinated case and 19 placebo cases, different interval methods can give substantially different lower endpoints." ] }, { @@ -472,6 +462,62 @@ "lb, ub = tb.riskratio_confint(alpha=.05)\n", "print(f\"Approximate 95% confidence interval of VE: [{1 - ub:.4f}, {1 - lb:.4f}]\")" ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cornfield-method-description" + }, + "source": [ + "# Cornfield Exact Conditional Interval\n", + "\n", + "We now compute the Cornfield exact conditional confidence interval for the odds ratio; see [Cornfield (1956), *A Statistical Problem Arising from Retrospective Studies*](https://digicoll.lib.berkeley.edu/record/112867).\n", + "\n", + "For these rare outcomes, the odds ratio approximates the risk ratio. If $[L,U]$ is the odds-ratio interval, we therefore use $[1-U,1-L]$ as an approximate interval for vaccine efficacy. The conditional interval is exact for the odds ratio; its interpretation as an efficacy interval uses the rare-outcome approximation.\n", + "\n", + "The following cell calculates intervals for the full sample and for participants aged 65 and older." + ] + }, + { + "cell_type": "code", + "source": [ + "from scipy.stats.contingency import odds_ratio\n", + "\n", + "\n", + "def cornfield_ve_ci(cases_v, n_v, cases_u, n_u):\n", + " table = [\n", + " [cases_v, n_v - cases_v],\n", + " [cases_u, n_u - cases_u],\n", + " ]\n", + "\n", + " ci_or = odds_ratio(\n", + " table, kind=\"conditional\"\n", + " ).confidence_interval(confidence_level=0.95)\n", + "\n", + " # Approximate VE interval: odds ratio approximates risk ratio\n", + " return 1 - ci_or.high, 1 - ci_or.low\n", + "\n", + "\n", + "# Overall\n", + "print(cornfield_ve_ci(9, 19965, 169, 20172))\n", + "\n", + "# Ages 65 and older\n", + "print(cornfield_ve_ci(1, 3239 + 805, 19, 3255 + 812))" + ], + "metadata": { + "id": "zPeHWmFHLuGW" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cornfield-results-description" + }, + "source": [ + "The Cornfield calculations give approximate efficacy intervals of **[89.6%, 97.6%] overall** and **[66.8%, 99.9%] for participants aged 65 and older**. The wider interval for older participants reflects the limited information in the small case counts. Differences across interval methods are particularly noticeable in that group." + ] } ], "metadata": { diff --git a/CM1/r-rct-penn-precision-adj.irnb b/CM1/r-rct-penn-precision-adj.irnb index 8673799f..bc39f7e8 100644 --- a/CM1/r-rct-penn-precision-adj.irnb +++ b/CM1/r-rct-penn-precision-adj.irnb @@ -1,15 +1,5 @@ { "cells": [ - { - "cell_type": "markdown", - "metadata": { - "colab_type": "text", - "id": "view-in-github" - }, - "source": [ - "\"Open" - ] - }, { "cell_type": "markdown", "metadata": { diff --git a/CM1/r-rct-vaccines.irnb b/CM1/r-rct-vaccines.irnb index 720c2c58..e35ccec0 100644 --- a/CM1/r-rct-vaccines.irnb +++ b/CM1/r-rct-vaccines.irnb @@ -6,7 +6,9 @@ "id": "Di8kfLCYerNJ" }, "source": [ - "This notebook contains some RCT examples for teaching." + "# Vaccine RCT Examples\n", + "\n", + "We use vaccine trial counts to illustrate estimation of risk differences and vaccine efficacy, then compare several confidence interval methods. Reported risks and efficacy estimates are proportions unless explicitly expressed as percentages." ] }, { @@ -20,7 +22,7 @@ }, "outputs": [], "source": [ - "install.packages(\"PropCIs\") # Exact CI exploiting Bernoulli outcome using the Cornfield Procedure" + "install.packages(\"PropCIs\")" ] }, { @@ -42,28 +44,19 @@ "id": "Id8Df7PUerNX" }, "source": [ - " \n", "# Polio RCT\n", "\n", - "One of the earliest randomized experiments were the Polio vaccination trials conducted by the Public Health Service in 1954. The question was whether Salk vaccine prevented polio. Children in the study were randomly assigned either a treatment (polio vaccine shot) or a placebo (saline solution shot), without knowing which one they received. The doctors in the study, making the diagnosis, did not know whether a child received a vaccine or not. In other words, the trial was a double-blind, randomized controlled trial. The trial had to be large, because the rate at which Polio occured in the population was 50 per 100,000. The treatment group saw 33 polio cases per 200,745; the control group saw 115 cases per 201,229. The estimated average treatment effect is about\n", - "$$\n", - "-40\n", - "$$\n", - "with the 95% confidence band (based on approximate normality of the two sample means and their differences):\n", - "$$[-52, -28].$$\n", - "As this is an RCT, the confidence band suggests that the Polio vaccine **caused** the reduction in the risk of polio.\n", + "In the randomized portion of the 1954 Salk polio vaccine trial, children received either the vaccine or a placebo. Participants and the doctors assessing outcomes did not know the assignments. The vaccine group had 33 polio cases among 200,745 children; the placebo group had 115 among 201,229.\n", "\n", - "The interesting thing here is that we don't need the underlying individual data to evaluate the effectivess of the vaccine. This is because the outcomes are Bernoulli random variables, and we have enough information to compute the estimate of ATE as well as the confidence intervals from the group case counts.\n", + "We estimate the average treatment effect as the difference in case proportions. The estimate is about $-40.7$ cases per 100,000 children, with an approximate 95% confidence interval of $[-52.6,-28.9]$. Under the RCT assumptions, the difference estimates the causal effect of vaccination on the risk of polio.\n", "\n", - "We also compute the Vaccine Efficacy metric, which refers to the following measure according to the [CDC](https://www.cdc.gov/csels/dsepd/ss1978/lesson3/section6.html):\n", + "Because the outcomes are Bernoulli, the group totals and case counts suffice to calculate the difference in means and its estimated standard error. We also estimate vaccine efficacy,\n", "$$\n", - "VE = \\frac{\\text{Risk for Unvaccinated - Risk for Vaccinated}}{\\text{Risk for Unvaccinated}}.\n", + "\\mathsf{VE}=1-\\frac{\\text{Risk for Vaccinated}}{\\text{Risk for Unvaccinated}},\n", "$$\n", - "It describes the relative reduction in risk caused by vaccination.\n", + "which measures the relative reduction in risk. The point estimate is approximately 71.2%.\n", "\n", - "\n", - "It is staightforward to get the VE estimate by just plugging-in the numbers, but how do we get the approximate variance estimate? I am too lazy to do calculations for the delta method, so I will just use a simulation (a form of approximate bootstrap) to obtain the confidence intervals.\n", - "\n" + "For the risk difference, we use a normal confidence interval. For vaccine efficacy, we simulate independent Gaussian draws for the two estimated risks using their estimated variances, calculate efficacy for each draw, and take the 2.5th and 97.5th percentiles. This is an approximate simulation-based interval, not an exact interval." ] }, { @@ -143,18 +136,15 @@ "id": "ahcRWgyEerNk" }, "source": [ - "# Pfizer/BNTX Covid-19 RCT\n", - "\n", - "Here is a link to the FDA [briefing](https://www.fda.gov/media/144245/download) and an interesting [discussion](\n", - "https://garycornell.com/2020/12/09/statistics-in-the-pfizer-data-how-good-is-the-vaccine/?fbclid=IwAR282lS0Vl3tWmicQDDhIJAQCMO8NIsCXyWbUWwTtPuKcnuJ2v0VWXRDQac), as well as data.\n", + "# Pfizer/BioNTech COVID-19 RCT\n", "\n", - "Pfizer/BNTX was the first vaccine approved for emergency use to reduce the risk of Covid-19 decease. In studies to assess vaccine efficacy, volunteers were randomly assigned to receive either a treatment (2-dose vaccination) or a placebo, without knowing which they received. The doctors making the diagnoses did not know now whether a given volunteer received a vaccination or not. The results of the study are given in the following table.\n", + "The [FDA briefing](https://www.fda.gov/media/144245/download) reports results from a randomized trial comparing a two-dose vaccine regimen with placebo. Participants and the observers assessing outcomes were blinded to assignment. The table below reports vaccine efficacy against symptomatic, confirmed COVID-19, overall and by age group.\n", "\n", - "![](https://lh6.googleusercontent.com/oiO6gYom1UZyrOhgpFx2iq8ike979u3805JHiVygP-Efh1Yaz2ttyPcgWKlT1AqHDM4v46th3EPIkOvRLyXA0fNUloPL-mL9eOFmSAzfbNOHyCZSQ0DyzMhcFUtQuZ520R5Qd2lj):\n", + "![Pfizer/BioNTech trial efficacy results](https://lh6.googleusercontent.com/oiO6gYom1UZyrOhgpFx2iq8ike979u3805JHiVygP-Efh1Yaz2ttyPcgWKlT1AqHDM4v46th3EPIkOvRLyXA0fNUloPL-mL9eOFmSAzfbNOHyCZSQ0DyzMhcFUtQuZ520R5Qd2lj)\n", "\n", - "Here we see both the overall effects and the effects by age group. The confidence intervals for the overall ATE are tight and suggest high effectiveness of the vaccine. The confidence intervals for the age groups 65-74 and 75+ are much wider due to the relatively small number of people in these groups. We could group 65-74 and >75 groups to evaluate the effectiveness of the vaccine for this broader age group and narrow the width of the confidence band.\n", + "For a simple illustration of the two-means approach, we treat the reported case counts and group totals as binomial data, abstracting from differences in follow-up. The calculations illustrate inference methods rather than reproduce the trial analysis.\n", "\n", - "We use the same approach as that for the Polio example. This gives slightly different results than the FDA result, because the FDA used inversion of exact binomial tests to construct confidence intervals. We use asymptotic approches based on approximate normality, which is more crude, but delivers a rather similar result.\n" + "We first apply the normal and Gaussian simulation approaches used in the polio example. We then pool the 65–74 and 75-and-older groups to illustrate how interval estimates differ when there are few observed cases." ] }, { @@ -238,7 +228,9 @@ "id": "kqupG5u7erNn" }, "source": [ - "In the code cell below we calculate the effectiveness of the vaccine for the two groups that are 65 or older" + "## Participants Aged 65 and Older\n", + "\n", + "Pooling the two older age groups gives 1 case among 4,044 vaccinated participants and 19 among 4,067 placebo participants. Estimated efficacy is approximately 94.7%. We repeat the Gaussian simulation to construct two-sided intervals and one-sided lower confidence bounds. With so few cases, the approximation can produce negative simulated risks and efficacy values above 100%." ] }, { @@ -295,7 +287,9 @@ "id": "A8wEW0sQerNq" }, "source": [ - "Let's try the parametric boostrap next, using the fact that the outcome is Bernouli." + "## Binomial Parametric Bootstrap\n", + "\n", + "We next simulate case counts from binomial distributions with the observed group sizes and estimated risks. The cell uses the ratio of simulated counts as an approximation to the risk ratio because the group sizes are nearly equal. The resulting percentile intervals remain approximate; simulating binomial counts does not make a bootstrap interval exact." ] }, { @@ -342,9 +336,9 @@ "id": "MjenLiQAerNw" }, "source": [ - "# Exact Binomial Test Inversion\n", + "# Score-Based Confidence Intervals for the Risk Ratio\n", "\n", - "It is possible to use exact inference by inverting tests based on the exact binomial nature of the outcome variable. Here, we perform the Cornfield Procedure to find the exact confidence interval on the estimate of vaccine efficacy." + "The next cells use `PropCIs::riskscoreci` to construct an approximate score confidence interval for the risk ratio. Transforming its endpoints from $[L,U]$ to $[1-U,1-L]$ gives an interval for vaccine efficacy. This is a score-based approximation, not the exact Cornfield procedure introduced below." ] }, { @@ -375,7 +369,7 @@ "id": "jQ64-QaxerN0" }, "source": [ - "Note that this exactly recovers the result in the FDA table (first row)." + "The overall score-based efficacy interval is approximately **[89.6%, 97.2%]**. It is close to, but does not exactly reproduce, the interval in the FDA table." ] }, { @@ -384,7 +378,7 @@ "id": "iQ_lO8userN2" }, "source": [ - "Next we repeat the cornfield procedure to find the exact confidence interval on vaccine effectiveness for the two groups that are 65 or older. Here we see a big discrepancy between various asymptotic approaches and the exact finite-sample inference. This occurs because the binomial counts are too low for central limit theorems to work successfully." + "We repeat the score-based calculation for participants aged 65 and older. The interval is approximately **[68.9%, 99.1%]**. With only one vaccinated case and 19 placebo cases, the choice of interval method has a substantial effect on the lower endpoint." ] }, { @@ -408,6 +402,58 @@ "1 - riskscoreci(1, NV, 19, NU, 0.95)$conf.int[2]\n", "1 - riskscoreci(1, NV, 19, NU, 0.95)$conf.int[1]" ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cornfield-method-description" + }, + "source": [ + "# Cornfield Exact Conditional Interval\n", + "\n", + "We now compute the Cornfield exact conditional confidence interval for the odds ratio; see [Cornfield (1956), *A Statistical Problem Arising from Retrospective Studies*](https://digicoll.lib.berkeley.edu/record/112867).\n", + "\n", + "For these rare outcomes, the odds ratio approximates the risk ratio. If $[L,U]$ is the odds-ratio interval, we therefore use $[1-U,1-L]$ as an approximate interval for vaccine efficacy. The conditional interval is exact for the odds ratio; its interpretation as an efficacy interval uses the rare-outcome approximation.\n", + "\n", + "The following cell calculates intervals for the full sample and for participants aged 65 and older." + ] + }, + { + "cell_type": "code", + "source": [ + "cornfield_ve_ci <- function(cases_v, n_v, cases_u, n_u) {\n", + " tab <- matrix(\n", + " c(cases_v, n_v - cases_v,\n", + " cases_u, n_u - cases_u),\n", + " nrow = 2, byrow = TRUE\n", + " )\n", + "\n", + " ci_or <- fisher.test(tab, conf.level = 0.95)$conf.int\n", + "\n", + " # Approximate VE interval: odds ratio approximates risk ratio\n", + " c(lower = 1 - ci_or[2], upper = 1 - ci_or[1])\n", + "}\n", + "\n", + "# Overall\n", + "cornfield_ve_ci(9, 19965, 169, 20172)\n", + "\n", + "# Ages 65 and older\n", + "cornfield_ve_ci(1, 3239 + 805, 19, 3255 + 812)" + ], + "metadata": { + "id": "pvs4wwrbLpdF" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cornfield-results-description" + }, + "source": [ + "The Cornfield calculations give approximate efficacy intervals of **[89.6%, 97.6%] overall** and **[66.8%, 99.9%] for participants aged 65 and older**. The wider interval for older participants reflects the limited information in the small case counts. Differences across interval methods are particularly noticeable in that group." + ] } ], "metadata": { diff --git a/CM2/python-colliderbias-hollywood.ipynb b/CM2/python-colliderbias-hollywood.ipynb index 28d23240..8e2fa6e6 100644 --- a/CM2/python-colliderbias-hollywood.ipynb +++ b/CM2/python-colliderbias-hollywood.ipynb @@ -50,9 +50,7 @@ "import numpy as np\n", "import statsmodels.formula.api as smf\n", "import networkx as nx\n", - "from pgmpy.base.DAG import DAG\n", - "from pgmpy.models.BayesianModel import BayesianNetwork\n", - "from pgmpy.inference.CausalInference import CausalInference\n", + "from pgmpy.base import DAG\n", "import pylab as plt" ] }, @@ -131,9 +129,14 @@ }, "outputs": [], "source": [ - "inference = CausalInference(BayesianNetwork(g))\n", - "inference.get_all_backdoor_adjustment_sets('T', 'B')\n", - "# empty set -- we should not condition on the additional variable C." + "from pgmpy.base import DAG\n", + "from pgmpy.identification import Adjustment\n", + "\n", + "model = DAG(g, roles={\"exposures\": \"T\", \"outcomes\": \"B\"})\n", + "adjusted_graphs, success = Adjustment(variant=\"all\").identify(model)\n", + "\n", + "[graph.get_role(\"adjustment\") for graph in adjusted_graphs]\n", + "# Should return [[]] -- the empty adjustment set; no conditioning is needed." ] } ], diff --git a/CM3/python-dosearch.ipynb b/CM3/python-dosearch.ipynb index e7f5e59f..0cd1ecc0 100644 --- a/CM3/python-dosearch.ipynb +++ b/CM3/python-dosearch.ipynb @@ -42,8 +42,7 @@ "import numpy as np\n", "import statsmodels.formula.api as smf\n", "import rpy2\n", - "from rpy2.robjects import r, pandas2ri\n", - "pandas2ri.activate()" + "from rpy2.robjects import r, pandas2ri" ] }, { diff --git a/CM3/python-pgmpy.ipynb b/CM3/python-pgmpy.ipynb index 834f730a..045643a7 100644 --- a/CM3/python-pgmpy.ipynb +++ b/CM3/python-pgmpy.ipynb @@ -183,10 +183,10 @@ }, "outputs": [], "source": [ - "from pgmpy.models.BayesianModel import BayesianNetwork\n", - "from pgmpy.inference.CausalInference import CausalInference\n", + "from pgmpy.models import DiscreteBayesianNetwork\n", + "from pgmpy.inference import CausalInference\n", "\n", - "inference = CausalInference(BayesianNetwork(G))" + "inference = CausalInference(DiscreteBayesianNetwork(G))" ] }, { @@ -500,15 +500,6 @@ "source": [ "print(estimate)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "NgGRQ5cas94t" - }, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/PM1/python-ols-and-lasso-for-wage-gap-inference.ipynb b/PM1/python-ols-and-lasso-for-wage-gap-inference.ipynb index b9eebc10..4a7658fd 100644 --- a/PM1/python-ols-and-lasso-for-wage-gap-inference.ipynb +++ b/PM1/python-ols-and-lasso-for-wage-gap-inference.ipynb @@ -490,7 +490,7 @@ "source": [ "!pip install multiprocess\n", "!pip install pyreadr\n", - "!git clone https://github.com/maxhuppertz/hdmpy.git" + "!pip install hdmpy" ] }, { diff --git a/PM1/r-ols-and-lasso-for-wage-prediction.irnb b/PM1/r-ols-and-lasso-for-wage-prediction.irnb index 3f45551c..b02ac5ac 100644 --- a/PM1/r-ols-and-lasso-for-wage-prediction.irnb +++ b/PM1/r-ols-and-lasso-for-wage-prediction.irnb @@ -734,11 +734,12 @@ "r2_adjextra <- sumextra$adj.r.squared\n", "cat(\"adjusted R-squared for the extra flexible model (in-sample): \", r2_adjextra, \"\\n\")\n", "\n", + "p_use <- sumextra$df[1]\n", "# MSE and adjusted MSE\n", "mse_extra <- mean(sumextra$res^2)\n", "cat(\"MSE for the extra flexible model (in-sample): \", mse_extra, \"\\n\")\n", - "mse_adjextra <- (ntrain / (ntrain - p)) * mse_extra\n", - "cat(\"adjusted MSE for the basic model (in-sample): \", mse_adj1, \"\\n\")" + "mse_adjextra <- (ntrain / (ntrain - p_use)) * mse_extra\n", + "cat(\"adjusted MSE for the extra flexible model (in-sample): \", mse_adjextra, \"\\n\")" ] }, { diff --git a/PM2/python_convergence_hypothesis_double_lasso.ipynb b/PM2/python_convergence_hypothesis_double_lasso.ipynb index e469fe3a..00dc2ef0 100644 --- a/PM2/python_convergence_hypothesis_double_lasso.ipynb +++ b/PM2/python_convergence_hypothesis_double_lasso.ipynb @@ -32,7 +32,7 @@ "source": [ "!pip install multiprocess\n", "!pip install pyreadr\n", - "!git clone https://github.com/maxhuppertz/hdmpy.git" + "!pip install hdmpy" ] }, { diff --git a/PM2/python_experiment_non_orthogonal.ipynb b/PM2/python_experiment_non_orthogonal.ipynb index 7d0948d2..6214d6af 100644 --- a/PM2/python_experiment_non_orthogonal.ipynb +++ b/PM2/python_experiment_non_orthogonal.ipynb @@ -27,7 +27,7 @@ "```\n", "!pip install multiprocess\n", "!pip install pyreadr\n", - "!git clone https://github.com/maxhuppertz/hdmpy.git\n", + "!pip install hdmpy\n", "```" ] }, @@ -46,7 +46,7 @@ "source": [ "!pip install multiprocess\n", "!pip install pyreadr\n", - "!git clone https://github.com/maxhuppertz/hdmpy.git" + "!pip install hdmpy" ] }, { diff --git a/PM2/python_heterogeneous_wage_effects.ipynb b/PM2/python_heterogeneous_wage_effects.ipynb index edc2592b..1ab72687 100644 --- a/PM2/python_heterogeneous_wage_effects.ipynb +++ b/PM2/python_heterogeneous_wage_effects.ipynb @@ -167,7 +167,7 @@ "To estimate lasso using the theoretically motivated penalty level, we just use the hdmpy package. To install it run\n", "```\n", "!pip install multiprocess\n", - "!git clone https://github.com/maxhuppertz/hdmpy.git\n", + "!pip install hdmpy\n", "```\n", "\n", "You can run the cells below and then repeat the whole analysis above using the newly defined `lasso_model` variable." @@ -186,7 +186,7 @@ "outputs": [], "source": [ "!pip install multiprocess\n", - "!git clone https://github.com/maxhuppertz/hdmpy.git" + "!pip install hdmpy" ] }, { @@ -318,13 +318,6 @@ "summary['CI upper'] = df['point'] + c * df['stderr']\n", "summary" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/PM2/python_linear_penalized_regs.ipynb b/PM2/python_linear_penalized_regs.ipynb index 95cfe0ed..9a5eb07f 100644 --- a/PM2/python_linear_penalized_regs.ipynb +++ b/PM2/python_linear_penalized_regs.ipynb @@ -348,7 +348,7 @@ }, "outputs": [], "source": [ - "!git clone https://github.com/maxhuppertz/hdmpy.git\n", + "!pip install hdmpy\n", "!pip install multiprocess" ] }, diff --git a/PM2/python_ml_for_wage_prediction.ipynb b/PM2/python_ml_for_wage_prediction.ipynb index 8552a3e0..42b265c6 100644 --- a/PM2/python_ml_for_wage_prediction.ipynb +++ b/PM2/python_ml_for_wage_prediction.ipynb @@ -689,7 +689,7 @@ }, "outputs": [], "source": [ - "!git clone https://github.com/maxhuppertz/hdmpy.git\n", + "!pip install hdmpy\n", "!pip install multiprocess" ] }, diff --git a/PM2/python_orthogonal_orig.ipynb b/PM2/python_orthogonal_orig.ipynb index 91215793..d48b6fcf 100644 --- a/PM2/python_orthogonal_orig.ipynb +++ b/PM2/python_orthogonal_orig.ipynb @@ -34,7 +34,7 @@ "# As before, we import clone hdmpy to use rlasso functions in python\n", "!pip install multiprocess\n", "!pip install pyreadr\n", - "!git clone https://github.com/maxhuppertz/hdmpy.git" + "!pip install hdmpy" ] }, { @@ -45,6 +45,8 @@ }, "outputs": [], "source": [ + "import sys\n", + "sys.path.insert(0, '/content/hdmpy')\n", "import hdmpy\n", "import seaborn as sns\n", "import numpy as np\n", @@ -88,11 +90,12 @@ "\n", " # Single selection method using rlasso\n", " r_lasso_estimation = hdmpy.rlasso(np.concatenate((D, X), axis=1), Y, post=True)\n", + "\n", " coef_array = r_lasso_estimation.est['coefficients'].iloc[2:, :].to_numpy()\n", " SX_IDs = np.where(coef_array != 0)[0]\n", "\n", " # Check if any X coefficients are selected\n", - " if sum(SX_IDs) == 0:\n", + " if SX_IDs.size == 0:\n", " # If no X coefficients are selected, regress Y on D only\n", " Naive = sm.OLS(Y, sm.add_constant(D)).fit().params[1]\n", " else:\n", diff --git a/PM2/r_heterogenous_wage_effects.irnb b/PM2/r_heterogenous_wage_effects.irnb index f869b712..9f3370c3 100644 --- a/PM2/r_heterogenous_wage_effects.irnb +++ b/PM2/r_heterogenous_wage_effects.irnb @@ -117,11 +117,33 @@ "source": [ "# this cell takes 30 minutes to run\n", "index_sex <- grep(\"sex\", colnames(X))\n", - "effects_female <- hdm::rlassoEffects(x = X, y = y, index = index_sex, post = FALSE)\n", + "effects_female <- hdm::rlassoEffects(x = X, y = y, index = index_sex, post = FALSE)" + ] + }, + { + "cell_type": "code", + "source": [ + "# Heteroskedasticity-robust covariance, matching the Python notebook\n", + "e <- effects_female$residuals$e\n", + "v <- effects_female$residuals$v\n", + "n <- nrow(v)\n", + "\n", + "scores <- sweep(e * v, 2, colMeans(v^2), FUN = \"/\")\n", + "V <- crossprod(scores) / n\n", + "\n", + "effects_female$se <- sqrt(diag(V) / n)\n", + "effects_female$t <- effects_female$coefficients / effects_female$se\n", + "effects_female$pval <- 2 * pnorm(-abs(effects_female$t))\n", + "\n", "result <- summary(effects_female)\n", "result$coef\n", "print(xtable(result$coef[, c(1, 2, 4)], type = \"latex\"), digits = 3)" - ] + ], + "metadata": { + "id": "FQp-qd1qNeWX" + }, + "execution_count": null, + "outputs": [] }, { "cell_type": "markdown", @@ -181,15 +203,6 @@ "joint_ci\n", "print(xtable(joint_ci), type = \"latex\")" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "pAPpZBivh15T" - }, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/PM2/r_orthogonal_orig.irnb b/PM2/r_orthogonal_orig.irnb index 29ad277d..838a47d8 100644 --- a/PM2/r_orthogonal_orig.irnb +++ b/PM2/r_orthogonal_orig.irnb @@ -181,6 +181,57 @@ "print(hist_plot)\n" ] }, + { + "cell_type": "code", + "source": [ + "df <- data.frame(\n", + " Method = factor(\n", + " rep(c(\"Single selection\", \"Double Lasso\"),\n", + " times = c(length(Naive), length(Orthogonal))),\n", + " levels = c(\"Single selection\", \"Double Lasso\")\n", + " ),\n", + " Value = c(as.numeric(Naive) - 1, as.numeric(Orthogonal) - 1)\n", + ")\n", + "\n", + "hist_plot <- ggplot(df, aes(x = Value, fill = Method)) +\n", + " geom_histogram(\n", + " aes(y = after_stat(density)),\n", + " binwidth = 0.1, boundary = 0,\n", + " position = \"identity\",\n", + " alpha = 0.45,\n", + " colour = \"white\", linewidth = 0.2\n", + " ) +\n", + " geom_vline(\n", + " xintercept = 0, colour = \"grey30\",\n", + " linetype = \"dashed\", linewidth = 0.5\n", + " ) +\n", + " scale_fill_manual(values = c(\n", + " \"Single selection\" = \"#D55E00\",\n", + " \"Double Lasso\" = \"#0072B2\"\n", + " )) +\n", + " scale_x_continuous(breaks = seq(-2, 2, 0.5)) +\n", + " scale_y_continuous(expand = expansion(mult = c(0, 0.05))) +\n", + " labs(\n", + " x = expression(\"Estimation error, \" * hat(alpha) - alpha),\n", + " y = \"Density\",\n", + " fill = NULL\n", + " ) +\n", + " theme_classic(base_size = 11) +\n", + " theme(legend.position = \"top\")\n", + "\n", + "options(repr.plot.width = 5.5, repr.plot.height = 3.5)\n", + "print(hist_plot)\n", + "\n", + "# Optional export\n", + "ggsave(\"orthogonal_vs_naive.pdf\", hist_plot,\n", + " width = 5.5, height = 3.5, units = \"in\")" + ], + "metadata": { + "id": "XA3v_xLtnHr7" + }, + "execution_count": null, + "outputs": [] + }, { "cell_type": "markdown", "metadata": { diff --git a/PM3/python-functional-approximation-by-nn-and-rf.ipynb b/PM3/python-functional-approximation-by-nn-and-rf.ipynb index 1188e4dd..5860e5d9 100644 --- a/PM3/python-functional-approximation-by-nn-and-rf.ipynb +++ b/PM3/python-functional-approximation-by-nn-and-rf.ipynb @@ -314,7 +314,7 @@ }, "outputs": [], "source": [ - "nnet = MLPRegressor((200, 20,), 'relu',\n", + "nnet = MLPRegressor(hidden_layer_sizes=(200, 20,), activation='relu',\n", " learning_rate_init=0.01,\n", " batch_size=10, max_iter=1)\n", "nnet" diff --git a/PM3/python-nonlinear-ml-for-wage-prediction.ipynb b/PM3/python-nonlinear-ml-for-wage-prediction.ipynb index 16e5c266..8daf6111 100644 --- a/PM3/python-nonlinear-ml-for-wage-prediction.ipynb +++ b/PM3/python-nonlinear-ml-for-wage-prediction.ipynb @@ -458,7 +458,7 @@ }, "outputs": [], "source": [ - "!git clone https://github.com/maxhuppertz/hdmpy.git\n", + "!pip install hdmpy\n", "!pip install multiprocess" ] }, @@ -475,7 +475,7 @@ "\n", "\n", "# We wrap the package so that it has the familiar sklearn API\n", - "class RLasso(BaseEstimator, RegressorMixin):\n", + "class RLasso(RegressorMixin, BaseEstimator):\n", "\n", " def __init__(self, *, post=True):\n", " self.post = post\n", diff --git a/PM4/README_PM4_simulation.md b/PM4/README_PM4_simulation.md new file mode 100644 index 00000000..6b8f10da --- /dev/null +++ b/PM4/README_PM4_simulation.md @@ -0,0 +1,150 @@ +# PM-4 figures: one learner throughout + +`dml_illustration_sim.py` fits **the same neural-network regressor +in every nuisance regression**, with identical architecture and hyperparameters. + +## Run + +```sh +python -m pip install -r notebooks/requirements-pm4.txt +python notebooks/dml_illustration_sim.py +``` + +`python notebooks/SimOrthogonality.py` and `python notebooks/SimCrossFitting.py` are equivalent +entry points for making just one figure; both reuse the same simulation cache. + +Defaults are 500 repetitions, n=1,000, p=10, and up to eight parallel processes. +Use `--reps 1000` to extend the saved run, or `--jobs 2` to reduce CPU use. +The simulation checkpoints every 25 completed repetitions and resumes on a +subsequent invocation. Replot cached results with `--plot-only`. + +Results are saved in `notebooks/figures/pm4_uniform/` as: + +- `SimOrthogonality.pdf` and `.png`; +- `SimCrossFitting.pdf` and `.png`; +- `simulation.npz`, `simulation.csv`, `summary.json`, and `plot_settings.json`. + +The uploaded figures in `notebooks/figures/pm4/` are not replaced by this script. +Changing simulation parameters requires a different `--output-dir`. Replotting +is possible with newer library versions; resuming a simulation requires the +versions recorded in its metadata so one run cannot mix implementations. + +## Shared design + +In both figures, each repetition draws independent controls X1,...,X10 and +independent errors V and epsilon, all standard normal. The partially linear +model is + +```text +Q = X2^2 - 1 +D = X1 + 0.2 Q + V +Y = 0.5 D + 2 Q + epsilon. +``` + +Thus the true treatment effect is 0.5. The nonlinear component is relatively +weak in treatment prediction but important in outcome prediction. This is a +standard weak-confounding-signal example: small errors in predicting treatment +can matter for an unprotected estimating equation. The population nuisance +functions enter only data generation and optional prediction-error diagnostics. + +## One learning algorithm + +Every fitted nuisance function uses `sklearn.neural_network.MLPRegressor`: + +- two hidden layers, each with 128 ReLU units; +- Adam, learning rate 0.001, minibatches of 128 observations; +- L2 penalty `alpha=0.01`; +- 100 training epochs, no validation-based early stopping; +- feature standardization and target centering learned on the training set only; +- targets are not divided by their standard deviations, so the same penalty and + squared-error objective apply in original outcome/treatment units. + +The network has 18,049 parameters for ten inputs, compared with 500 observations +in each training fold. Treatment and outcome are fitted in **separate scalar-output +networks**; there is no special multi-output architecture. Within a training set, +the two fits use the same random seed, giving matched initialization and batch +order. They do not pass fitted weights or predictions to one another. All these +settings are also used for the full-sample fits in Figure 2. + +## Estimators and why the nonorthogonal estimator is defensible + +Let m0(X) = E[D|X], ell0(X) = E[Y|X], and V = D - m0(X). In a partially linear +model, V is a valid instrument for D in the outcome equation: + +```text +E[(D - m0(X)) (Y - beta D)] = 0. +``` + +This moment identifies beta because E[V g0(X)] = E[V epsilon] = 0 and +E[V D] = E[V^2] > 0. Its directional derivative with respect to m is +`-E[h(X) g0(X)]`, which generally does not vanish. It is therefore a valid, +nonorthogonal moment, rather than an inconsistent estimator constructed to fail. +It is also the treatment-residual IV moment already computed in the original +`Figure1.m` (`rfsss`), although that script's main plotted comparison used its +other nonorthogonal estimator. + +For the two cross-fitted estimators, randomly divide the observations into two +folds. Train the same network procedure for D and Y on one fold, predict on the +other, reverse the roles, and pool all held-out predictions. Write v = D - m_hat. + +1. **Nonorthogonal, cross-fitted:** `sum(v * Y) / sum(v * D)`. + This uses the learned treatment residual as an instrument and does not + residualize the outcome. It needs no g_hat or preliminary coefficient. +2. **Orthogonal, cross-fitted:** `sum(v * (Y - ell_hat)) / sum(v**2)`. + This is the chapter's partialling-out estimator. +3. **Orthogonal, without cross-fitting:** use formula 2 with nuisance predictions + made on the same observations used to train both networks. + +Figure 1 compares estimators 1 and 2, using **exactly the same treatment +predictions**. Figure 2 compares estimators 3 and 2. The blue distribution is +identical in both figures. No extra learner is used in any stage. + +The nonorthogonal estimator also has higher variance even with oracle m0, since +it leaves g0(X) in the outcome. Its broader histogram is not exclusively an +effect of nuisance estimation. The visible displacement from zero is the +regularization-bias contrast; the narrower blue distribution is an additional +benefit of partialling out the outcome. + +## Plotting and reproducibility + +The completed validation run used 500 fresh-seed repetitions. With true effect +0.5, it produced: + +| Estimator | Mean estimate | Mean estimation error | +| --- | ---: | ---: | +| Nonorthogonal, cross-fitted | 0.5824 | +0.0824 | +| Orthogonal, without cross-fitting | 0.6245 | +0.1245 | +| Orthogonal, cross-fitted | 0.4864 | -0.0136 | + +Both comparisons show a rightward displacement relative to the cross-fitted +orthogonal estimate. The latter retains modest finite-sample bias; the plot does +not correct it. All score denominators stayed away from zero (minimum normalized +nonorthogonal denominator 0.814; minimum full-sample orthogonal denominator 0.108). + +Both plots use raw estimation error (estimate minus 0.5), the same bins and both +axis limits, a zero reference line, and the same blue cross-fitted estimates. + +Each repetition has its own seed, independent of worker scheduling. The final +validation seed 726031 is different from the exploration seed 395721. All +500 validation repetitions are retained. Network iteration-limit warnings are +recorded in the diagnostics because a fixed epoch budget is intentional. + +Prediction diagnostics distinguish training error, held-out error including +outcome noise, and error relative to the true conditional means. Score +denominators are saved to make numerical instability visible rather than +silently filtering repetitions. Monte Carlo standard deviations in the summary +describe the saved distributions; they are not estimated sampling standard +errors and never enter the plots. + +## Exploration record + +Pilots compared random forests, boosted trees, and neural networks across +linear, smooth nonlinear, interaction, and weak-confounding designs. Uniform +tree learners often made the cross-fitting comparison small; several network +configurations left appreciable bias after cross-fitting. A joint-output network +gave a strong cross-fitting example, but is not needed in the selected design. + +The selected weak quadratic design gave both contrasts using two ordinary +scalar-output networks and identical settings everywhere. A clean standalone +implementation was checked against the corresponding pilot before running the +fresh-seed validation. diff --git a/PM4/SimCrossFitting.py b/PM4/SimCrossFitting.py new file mode 100644 index 00000000..a6f148c7 --- /dev/null +++ b/PM4/SimCrossFitting.py @@ -0,0 +1,9 @@ +"""PM-4 Figure 2: orthogonal estimation with and without cross-fitting. + +Arguments are shared with dml_illustration_sim.py. All nuisance predictions come from +feasible fitted learners; no oracle predictions or manufactured fitting errors. +""" +from dml_illustration_sim import main + +if __name__ == "__main__": + main(figures=(2,)) diff --git a/PM4/SimOrthogonality.py b/PM4/SimOrthogonality.py new file mode 100644 index 00000000..792f6791 --- /dev/null +++ b/PM4/SimOrthogonality.py @@ -0,0 +1,9 @@ +"""PM-4 Figure 1: nonorthogonal versus orthogonal, both cross-fitted. + +Arguments are shared with dml_illustration_sim.py. The simulation cache is also shared +with SimCrossFitting.py, so making the second figure does not repeat the experiment. +""" +from dml_illustration_sim import main + +if __name__ == "__main__": + main(figures=(1,)) diff --git a/PM4/dml_illustration_sim.py b/PM4/dml_illustration_sim.py new file mode 100644 index 00000000..f96924b5 --- /dev/null +++ b/PM4/dml_illustration_sim.py @@ -0,0 +1,311 @@ +"""PM-4 figures using the same neural-network learner for every nuisance fit. + +Run `python notebooks/dml_illustration_sim.py` to simulate and draw both figures. +All figures show raw estimation errors. No standard errors are estimated. +See README_PM4_uniform.md for the design and the nonorthogonal moment equation. +""" +from __future__ import annotations + +import argparse +from dataclasses import asdict, dataclass +import csv +import json +import os +from pathlib import Path +import platform +import time +import warnings + +import numpy as np +import sklearn +from joblib import Parallel, delayed, parallel_config +from sklearn.exceptions import ConvergenceWarning +from sklearn.neural_network import MLPRegressor +from sklearn.preprocessing import StandardScaler +from threadpoolctl import threadpool_limits + +DEFAULT_OUTPUT = Path(__file__).resolve().parent / "figures" / "pm4_uniform" +ESTIMATORS = ("nonorthogonal_crossfit", "orthogonal_insample", "orthogonal_crossfit") +COLUMNS = ESTIMATORS + ( + "m_train_mse", "ell_train_mse", "m_heldout_mse", "ell_heldout_mse", + "m_function_mse", "ell_function_mse", "full_m_train_mse", + "full_ell_train_mse", "nonorthogonal_denominator", "orthogonal_denominator", + "full_orthogonal_denominator", "training_iteration_limits", +) + + +@dataclass(frozen=True) +class Config: + n: int = 1000 + p: int = 10 + beta: float = 0.5 + seed: int = 726031 + width: int = 128 + epochs: int = 100 + alpha: float = 0.01 + learning_rate: float = 0.001 + treatment_curvature: float = 0.2 + outcome_curvature: float = 2.0 + + +def generate_data(config, rng): + """Independent Gaussian controls, one weak nonlinear confounding component.""" + x = rng.standard_normal((config.n, config.p)) + q = x[:, 1] ** 2 - 1 + m = x[:, 0] + config.treatment_curvature * q + g = config.outcome_curvature * q + d = m + rng.standard_normal(config.n) + y = config.beta * d + g + rng.standard_normal(config.n) + return x, d, y, m, config.beta * m + g + + +def fit_nuisances(x_train, d_train, y_train, config, seed): + """Two separate scalar-output fits of exactly the same learning algorithm. + + Inputs are standardized using this training sample only. Targets are + centered on training means, but not rescaled: both networks minimize squared + error in the variables' original units with the same L2 penalty. The shared + random_state makes initialization and minibatch order reproducible and equal. + No coefficients, weights, or predictions are passed between the networks. + """ + scaler = StandardScaler().fit(x_train) + scaled = scaler.transform(x_train) + models, means = [], [] + limits = 0 + for target in (d_train, y_train): + model = MLPRegressor( + hidden_layer_sizes=(config.width, config.width), activation="relu", + solver="adam", alpha=config.alpha, batch_size=min(128, len(x_train)), + learning_rate_init=config.learning_rate, max_iter=config.epochs, + early_stopping=False, tol=0, n_iter_no_change=config.epochs + 1, + random_state=seed, + ) + mean = float(target.mean()) + with warnings.catch_warnings(record=True) as caught: + warnings.simplefilter("always", ConvergenceWarning) + model.fit(scaled, target - mean) + limits += sum(issubclass(w.category, ConvergenceWarning) for w in caught) + models.append(model) + means.append(mean) + + def predict(x): + z = scaler.transform(x) + return tuple(model.predict(z) + mean for model, mean in zip(models, means)) + + return predict, limits + + +def score_estimates(y, d, m_hat, ell_hat): + """Valid nonorthogonal IV score and orthogonal partialling-out score. + + At the population m0, V = D-m0(X) has conditional mean zero and is a valid + instrument for D in Y = beta D + g0(X) + epsilon. Thus E[V(Y-beta D)]=0. + Its derivative with respect to m in direction h is -E[h(X)g0(X)], generally + nonzero. Partialling out Y as well gives the Neyman-orthogonal score. + """ + v = d - m_hat + nonorth_denom = float(v @ d) + orth_denom = float(v @ v) + if abs(nonorth_denom) <= np.finfo(float).eps or orth_denom <= np.finfo(float).eps: + raise ValueError("Numerically singular score denominator; no repetition was discarded.") + return ( + float(v @ y / nonorth_denom), + float(v @ (y - ell_hat) / orth_denom), + nonorth_denom / len(d), orth_denom / len(d), + ) + + +def mse(a, b): + return float(np.mean((a - b) ** 2)) + + +def one_replication(rep, config): + # Separate deterministic streams for data and model fitting; independent of + # worker scheduling. This reproduces the pilot stream layout on a fresh seed. + seeds = np.random.SeedSequence([config.seed, rep]).spawn(10) + rng = np.random.default_rng(seeds[0]) + model_seeds = [int(s.generate_state(1)[0]) for s in seeds[1:]] + with threadpool_limits(limits=1): + x, d, y, m0, ell0 = generate_data(config, rng) + folds = np.array_split(rng.permutation(config.n), 2) + m_hat, ell_hat = np.empty(config.n), np.empty(config.n) + training_mse = np.zeros(2) + limits = 0 + for k in range(2): + test, train = folds[k], folds[1 - k] + predict, count = fit_nuisances(x[train], d[train], y[train], config, model_seeds[2 * k]) + m_hat[test], ell_hat[test] = predict(x[test]) + mt, lt = predict(x[train]) + training_mse += 0.5 * np.array([mse(d[train], mt), mse(y[train], lt)]) + limits += count + + naive, cf, naive_denom, cf_denom = score_estimates(y, d, m_hat, ell_hat) + predict, count = fit_nuisances(x, d, y, config, model_seeds[4]) + full_m, full_l = predict(x) + full_v = d - full_m + full_denom = float(full_v @ full_v) + if full_denom <= np.finfo(float).eps: + raise ValueError("Numerically zero training residual variation; no repetition was discarded.") + full = float(full_v @ (y - full_l) / full_denom) + row = np.array([ + naive, full, cf, *training_mse, mse(d, m_hat), mse(y, ell_hat), + mse(m_hat, m0), mse(ell_hat, ell0), mse(d, full_m), mse(y, full_l), + naive_denom, cf_denom, full_denom / config.n, limits + count, + ]) + if row.shape != (len(COLUMNS),) or not np.isfinite(row).all(): + raise ValueError(f"Invalid result in repetition {rep}; no repetition was discarded.") + return rep, row + + +def metadata(config): + return { + "simulation_version": 1, "config": asdict(config), "columns": list(COLUMNS), + "python_version": platform.python_version(), "numpy_version": np.__version__, + "sklearn_version": sklearn.__version__, + } + + +def save_cache(path, meta, rows): + temporary = path.with_suffix(".tmp.npz") + np.savez_compressed(temporary, metadata=json.dumps(meta, sort_keys=True), results=rows) + for attempt in range(10): + try: + os.replace(temporary, path) + return + except PermissionError: + if attempt == 9: + raise + time.sleep(min(0.2 * 2 ** attempt, 2.0)) + + +def simulate(config, reps, jobs, directory, plot_only=False): + directory.mkdir(parents=True, exist_ok=True) + path = directory / "simulation.npz" + meta, saved_meta = metadata(config), None + rows = np.full((reps, len(COLUMNS)), np.nan) + if path.exists(): + with np.load(path, allow_pickle=False) as saved: + saved_meta = json.loads(str(saved["metadata"])) + if any(saved_meta[k] != meta[k] for k in ("simulation_version", "config", "columns")): + raise ValueError("Different cached configuration; choose a new --output-dir.") + previous = saved["results"] + if len(previous) > reps: + raise ValueError(f"Cache has {len(previous)} repetitions; increase --reps.") + rows[:len(previous)] = previous + pending = np.flatnonzero(~np.isfinite(rows).all(axis=1)) + if saved_meta is not None: + if len(pending) and meta != saved_meta: + raise ValueError("Software versions differ; use a new --output-dir to simulate.") + meta = saved_meta + if plot_only and len(pending): + raise ValueError("The simulation is incomplete; omit --plot-only to compute missing repetitions.") + if len(pending): + done, start = reps - len(pending), time.monotonic() + print(f"Running {len(pending)} repetitions ({done} cached).", flush=True) + try: + with parallel_config(backend="loky", inner_max_num_threads=1), Parallel( + n_jobs=jobs, return_as="generator_unordered" + ) as pool: + for rep, row in pool(delayed(one_replication)(int(r), config) for r in pending): + rows[rep] = row + done += 1 + if done % 25 == 0 or done == reps: + save_cache(path, meta, rows) + print(f" {done}/{reps} complete ({time.monotonic()-start:.0f}s)", flush=True) + finally: + save_cache(path, meta, rows) + return rows, meta + + +def write_results(rows, meta, directory): + with (directory / "simulation.csv").open("w", newline="", encoding="utf-8") as f: + writer = csv.writer(f) + writer.writerow(("replication",) + COLUMNS) + writer.writerows((r, *row) for r, row in enumerate(rows)) + summary = { + "metadata": meta, "repetitions": len(rows), + "estimators": { + name: {"mean": float(rows[:, k].mean()), + "bias": float(rows[:, k].mean() - meta["config"]["beta"]), + "monte_carlo_sd": float(rows[:, k].std(ddof=1))} + for k, name in enumerate(ESTIMATORS) + }, + "mean_diagnostics": {name: float(rows[:, k].mean()) for k, name in enumerate(COLUMNS) if k >= 3}, + } + (directory / "summary.json").write_text(json.dumps(summary, indent=2) + "\n", encoding="utf-8") + return summary + + +def plot_figures(rows, config, directory, figures=(1, 2), bins=40): + import matplotlib + matplotlib.use("Agg") + import matplotlib.pyplot as plt + from matplotlib.ticker import MaxNLocator + error = rows[:, :3] - config.beta + lo, hi = min(float(error.min()), 0.), max(float(error.max()), 0.) + pad = max(.035 * (hi - lo), .01) + edges = np.linspace(lo - pad, hi + pad, bins + 1) + ymax = 1.12 * max(np.histogram(error[:, j], edges, density=True)[0].max() for j in range(3)) + plot_cases = { + 1: (0, "Nonorthogonal, cross-fitted", "SimOrthogonality"), + 2: (1, "Orthogonal, without cross-fitting", "SimCrossFitting"), + } + style = {"font.family": "sans-serif", "font.size": 12, "axes.labelsize": 14, + "axes.spines.top": False, "axes.spines.right": False, "axes.linewidth": .9, + "xtick.labelsize": 11, "ytick.labelsize": 11, "pdf.fonttype": 42, + "savefig.facecolor": "white", "figure.facecolor": "white"} + with plt.rc_context(style): + for number in figures: + j, label, filename = plot_cases[number] + fig, ax = plt.subplots(figsize=(8., 4.6)) + fig.subplots_adjust(left=.10, right=.985, bottom=.17, top=.79) + for col, color, name in ((j, "#E69F69", label), (2, "#6BAED0", "Orthogonal, cross-fitted")): + ax.hist(error[:, col], bins=edges, density=True, alpha=.65, color=color, + edgecolor="white", linewidth=.4, label=name) + ax.axvline(0, color="#4A4A4A", linestyle=(0, (5, 4)), linewidth=1.25, zorder=3) + ax.set(xlim=(edges[0], edges[-1]), ylim=(0, ymax), ylabel="Density", + xlabel=r"Estimation error, $\widehat{\beta}-\beta$") + ax.xaxis.set_major_locator(MaxNLocator(nbins=7)) + ax.yaxis.set_major_locator(MaxNLocator(nbins=5)) + ax.tick_params(direction="out", length=4, width=.9) + ax.legend(loc="lower center", bbox_to_anchor=(.5, 1.025), frameon=False, + fontsize=11, handlelength=1.6, labelspacing=.5) + for suffix in ("pdf", "png"): + fig.savefig(directory / f"{filename}.{suffix}", dpi=220) + plt.close(fig) + (directory / "plot_settings.json").write_text(json.dumps({ + "quantity": "estimate minus true beta; no studentization", + "bin_edges": edges.tolist(), "y_limits": [0, float(ymax)], + "all_repetitions_included": True, + }, indent=2) + "\n", encoding="utf-8") + + +def main(figures=(1, 2)): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--reps", type=int, default=500) + parser.add_argument("--jobs", type=int, default=min(8, os.cpu_count() or 1)) + for name in ("n", "p", "seed", "width", "epochs"): + parser.add_argument(f"--{name}", type=int, default=getattr(Config(), name)) + for name in ("alpha", "learning_rate", "treatment_curvature", "outcome_curvature"): + parser.add_argument(f"--{name.replace('_', '-')}", type=float, default=getattr(Config(), name)) + parser.add_argument("--bins", type=int, default=40) + parser.add_argument("--output-dir", type=Path, default=DEFAULT_OUTPUT) + parser.add_argument("--plot-only", action="store_true") + args = parser.parse_args() + if min(args.reps, args.n, args.p) < 2 or min(args.width, args.epochs, args.bins) < 1 or args.jobs == 0: + parser.error("Invalid sample, model, bin, or process count.") + if args.seed < 0 or args.alpha < 0 or args.learning_rate <= 0 or not all(np.isfinite(getattr(args, k)) for k in ( + "alpha", "learning_rate", "treatment_curvature", "outcome_curvature" + )): + parser.error("Invalid seed, regularization, learning rate, or DGP coefficient.") + config = Config(**{k: getattr(args, k) for k in asdict(Config()) if k != "beta"}) + rows, meta = simulate(config, args.reps, args.jobs, args.output_dir, args.plot_only) + summary = write_results(rows, meta, args.output_dir) + plot_figures(rows, config, args.output_dir, figures, args.bins) + for name, stats in summary["estimators"].items(): + print(f"{name}: mean={stats['mean']:.4f}, bias={stats['bias']:+.4f}") + print(f"Saved figures and results to {args.output_dir.resolve()}") + + +if __name__ == "__main__": + main() diff --git a/PM4/python-dml-401k.ipynb b/PM4/python-dml-401k.ipynb index 441c3c8f..22ca8c0e 100644 --- a/PM4/python-dml-401k.ipynb +++ b/PM4/python-dml-401k.ipynb @@ -1439,7 +1439,7 @@ }, "outputs": [], "source": [ - "!pip install econml==0.15.1" + "!pip install econml==0.16.0" ] }, { diff --git a/PM4/python-identification-analysis-of-401-k-example-w-dags.ipynb b/PM4/python-identification-analysis-of-401-k-example-w-dags.ipynb index ef0a5e9f..e4428d25 100644 --- a/PM4/python-identification-analysis-of-401-k-example-w-dags.ipynb +++ b/PM4/python-identification-analysis-of-401-k-example-w-dags.ipynb @@ -50,7 +50,7 @@ "import warnings\n", "warnings.simplefilter('ignore')\n", "import pylab as plt\n", - "from pgmpy.models.BayesianModel import BayesianNetwork" + "from pgmpy.models import DiscreteBayesianNetwork as BayesianNetwork" ] }, { diff --git a/PM4/python_debiased_ml_for_partially_linear_model_growth.ipynb b/PM4/python_debiased_ml_for_partially_linear_model_growth.ipynb index 05887083..c531d365 100644 --- a/PM4/python_debiased_ml_for_partially_linear_model_growth.ipynb +++ b/PM4/python_debiased_ml_for_partially_linear_model_growth.ipynb @@ -277,7 +277,7 @@ "!pip install multiprocess\n", "\n", "\n", - "!git clone https://github.com/maxhuppertz/hdmpy.git" + "!pip install hdmpy" ] }, { diff --git a/PM4/r_dml_inference_for_gun_ownership.irnb b/PM4/r_dml_inference_for_gun_ownership.irnb index 568a7031..77883b29 100644 --- a/PM4/r_dml_inference_for_gun_ownership.irnb +++ b/PM4/r_dml_inference_for_gun_ownership.irnb @@ -648,13 +648,13 @@ " )\n", "\n", " byk <- xgb.cv(\n", - " data = xgb_train_y,\n", - " nrounds = 1000, verbose = 0, eta = .1, max_depth = 4, nfold = 5\n", + " params = list(eta = .1, max_depth = 4), data = xgb_train_y,\n", + " nrounds = 1000, verbose = 0, nfold = 5\n", " )\n", " best_iter <- which.min(as.matrix(byk$evaluation_log[, 4]))\n", - " byk <- xgboost(\n", - " data = xgb_train_y,\n", - " nrounds = 1000, verbose = 0, eta = .1, max_depth = 4\n", + " byk <- xgb.train(\n", + " params = list(eta = .1, max_depth = 4), data = xgb_train_y,\n", + " nrounds = 1000, verbose = 0\n", " )\n", " yhat_r[indk, 8] <- ktest$logghomr - predict(byk,\n", " newdata = xgb_test_y,\n", @@ -662,13 +662,13 @@ " )\n", "\n", " bdk <- xgb.cv(\n", - " data = xgb_train_d,\n", - " nrounds = 1000, verbose = 0, eta = .1, max_depth = 4, nfold = 5\n", + " params = list(eta = .1, max_depth = 4), data = xgb_train_d,\n", + " nrounds = 1000, verbose = 0, nfold = 5\n", " )\n", " best_iter <- which.min(as.matrix(bdk$evaluation_log[, 4]))\n", - " bdk <- xgboost(\n", - " data = xgb_train_d,\n", - " nrounds = 1000, verbose = 0, eta = .1, max_depth = 4\n", + " bdk <- xgb.train(\n", + " params = list(eta = .1, max_depth = 4), data = xgb_train_d,\n", + " nrounds = 1000, verbose = 0\n", " )\n", " dhat_r[indk, 8] <- ktest$logfssl - predict(bdk,\n", " newdata = xgb_test_d,\n", diff --git a/T-ADML/gasoline_example/.DS_Store b/T-ADML/gasoline_example/.DS_Store new file mode 100644 index 00000000..266cc7e8 Binary files /dev/null and b/T-ADML/gasoline_example/.DS_Store differ diff --git a/T-ADML/gasoline_example/BHP2017/data_BHP2_with_region.csv b/T-ADML/gasoline_example/BHP2017/data_BHP2_with_region.csv new file mode 100644 index 00000000..5c0b86a7 --- /dev/null +++ b/T-ADML/gasoline_example/BHP2017/data_BHP2_with_region.csv @@ -0,0 +1,3641 @@ +log_q,log_p,log_y,cl5_secondcity_d,cl5_smtown_d,cl5_suburban_d,cl5_urban_d,distance_oil1000,log_driver,log_hhr_age,log_hhsize,popdensity_d2,popdensity_d3,popdensity_d4,popdensity_d5,popdensity_d6,popdensity_d7,popdensity_d8,publictransit_d,share,state_fips,total_wrkr,region +8.14354515075684,0.229807317256927,9.43348407745361,1,0,0,0,0.657087683677673,1.3862943649292,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,0,0.346410274505615,1,3,5.0 +8.03497219085693,0.229909151792526,11.1198825836182,1,0,0,0,0.657087683677673,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0575557090342045,1,1,5.0 +7.60823488235474,0.229825988411903,10.7684850692749,0,1,0,0,0.657087683677673,0.6931471824646,3.25809645652771,1.0986123085022,0,1,0,0,0,0,0,0,0.0533743910491467,1,2,5.0 +7.45286798477173,0.229807123541832,11.6952466964722,0,1,0,0,0.657087683677673,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0180868171155453,1,2,5.0 +7.80745410919189,0.229786187410355,11.6952466964722,0,1,0,0,0.657087683677673,1.0986123085022,3.93182563781738,1.3862943649292,1,0,0,0,0,0,0,0,0.025783859193325,1,2,5.0 +7.69646644592285,0.229903757572174,11.1913414001465,0,0,1,0,0.657087683677673,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0381980203092098,1,2,5.0 +6.9479775428772,0.229754358530045,9.76995658874512,0,1,0,0,0.657087683677673,0.6931471824646,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.074853353202343,1,2,5.0 +7.18938446044922,0.229991376399994,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.25809645652771,1.3862943649292,0,1,0,0,0,0,0,0,0.0290085561573505,1,2,5.0 +7.28610515594482,0.229757860302925,11.6952466964722,0,1,0,0,0.657087683677673,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,0,0.0153079321607947,1,2,5.0 +7.42884588241577,0.229708597064018,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0368468314409256,1,2,5.0 +6.68552112579346,0.22936774790287,9.76995658874512,0,0,1,0,0.657087683677673,0.6931471824646,4.33073329925537,1.0986123085022,0,0,0,0,1,0,0,0,0.057551946491003,1,1,5.0 +5.85761785507202,0.229740247130394,9.76995658874512,0,0,1,0,0.657087683677673,0.6931471824646,3.09104251861572,1.3862943649292,0,0,1,0,0,0,0,0,0.0251575261354446,1,1,5.0 +6.36310052871704,0.229808449745178,9.76995658874512,0,1,0,0,0.657087683677673,0.6931471824646,3.21887588500977,1.3862943649292,1,0,0,0,0,0,0,0,0.0417086221277714,1,2,5.0 +7.18008756637573,0.229662746191025,11.4075651168823,0,1,0,0,0.657087683677673,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0183557085692883,1,2,5.0 +7.80207300186157,0.229862362146378,11.6952466964722,0,0,1,0,0.657087683677673,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0256474353373051,1,2,5.0 +7.66930866241455,0.229771792888641,11.6952466964722,0,1,0,0,0.657087683677673,1.3862943649292,3.76120018959045,1.7917594909668,0,0,1,0,0,0,0,0,0.0224566906690598,1,1,5.0 +6.75077295303345,0.22990745306015,11.1198825836182,0,1,0,0,0.657087683677673,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0159355569630861,1,1,5.0 +7.14134550094604,0.2296322286129,10.5320959091187,0,1,0,0,0.657087683677673,0.6931471824646,3.33220458030701,1.0986123085022,1,0,0,0,0,0,0,0,0.0423783175647259,1,2,5.0 +7.62325382232666,0.229756534099579,11.6952466964722,0,1,0,0,0.657087683677673,1.0986123085022,2.89037179946899,1.3862943649292,1,0,0,0,0,0,0,0,0.0214455835521221,1,2,5.0 +6.89191484451294,0.229701682925224,11.4075651168823,1,0,0,0,0.657087683677673,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0137605620548129,1,0,5.0 +6.55819797515869,0.229657918214798,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.33220458030701,1.0986123085022,1,0,0,0,0,0,0,0,0.0154262529686093,1,2,5.0 +6.52172756195068,0.229563638567924,11.4075651168823,0,1,0,0,0.657087683677673,1.3862943649292,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0095018008723855,1,1,5.0 +6.96481895446777,0.229638680815697,11.6952466964722,1,0,0,0,0.657087683677673,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0111002326011658,1,2,5.0 +7.54013204574585,0.229733988642693,10.7684850692749,0,1,0,0,0.657087683677673,1.0986123085022,2.89037179946899,1.3862943649292,1,0,0,0,0,0,0,0,0.0498558655381203,1,3,5.0 +6.80123043060303,0.229551792144775,10.6572589874268,1,0,0,0,0.657087683677673,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0266097635030746,1,1,5.0 +6.4829044342041,0.229542210698128,11.2580327987671,1,0,0,0,0.657087683677673,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0106139434501529,1,2,5.0 +7.22562265396118,0.229666635394096,10.7684850692749,0,1,0,0,0.657087683677673,0.6931471824646,3.66356158256531,1.0986123085022,1,0,0,0,0,0,0,0,0.0363996587693691,1,2,5.0 +7.42064762115479,0.229821339249611,11.1198825836182,0,0,1,0,0.657087683677673,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0311352722346783,1,1,5.0 +7.47492218017578,0.229843884706497,11.4075651168823,0,1,0,0,0.657087683677673,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0246544238179922,1,2,5.0 +7.58418560028076,0.229903280735016,11.1913414001465,0,1,0,0,0.657087683677673,1.3862943649292,3.8712010383606,1.60943794250488,1,0,0,0,0,0,0,0,0.0341411083936691,1,4,5.0 +7.71461820602417,0.229811206459999,11.6952466964722,0,0,1,0,0.657087683677673,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0234985258430243,1,1,5.0 +7.89360284805298,0.229848816990852,11.6952466964722,0,1,0,0,0.657087683677673,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,0,0.0281053446233273,1,1,5.0 +7.61509132385254,0.229873433709145,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0443973541259766,1,2,5.0 +7.28466463088989,0.229742422699928,11.6952466964722,0,0,1,0,0.657087683677673,0.6931471824646,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0152856595814228,1,1,5.0 +6.98814725875854,0.22969126701355,11.6952466964722,1,0,0,0,0.657087683677673,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0113628208637238,1,2,5.0 +8.31843566894531,0.229865103960037,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,0,0,0,0,0.0897040292620659,1,2,5.0 +8.0898609161377,0.229823991656303,11.1913414001465,0,1,0,0,0.657087683677673,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.05660505220294,1,1,5.0 +7.55494785308838,0.229832991957664,11.1913414001465,0,1,0,0,0.657087683677673,0.6931471824646,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,0,0.033155020326376,1,2,5.0 +5.0011739730835,0.229115232825279,10.0212707519531,1,0,0,0,0.657087683677673,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0083043053746223,1,1,5.0 +7.59668731689453,0.229874759912491,11.1913414001465,0,1,0,0,0.657087683677673,0.6931471824646,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,0,0.0345696210861206,1,2,5.0 +6.76188993453979,0.229887455701828,10.2219409942627,0,1,0,0,0.657087683677673,0.0,3.04452252388,1.0986123085022,0,1,0,0,0,0,0,0,0.0395510196685791,1,2,5.0 +6.92230844497681,0.300158470869064,10.9595403671265,0,0,1,0,2.14094996452332,0.6931471824646,3.40119743347168,1.7917594909668,0,0,0,1,0,0,0,0,0.0238237213343382,4,1,7.0 +7.24779462814331,0.300243139266968,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,1,0,0,0,0.0158084705471992,4,1,7.0 +7.92939519882202,0.300165712833405,11.1913414001465,0,1,0,0,2.14094996452332,1.0986123085022,3.04452252388,1.3862943649292,0,0,0,1,0,0,0,0,0.0517267100512981,4,3,7.0 +7.26699638366699,0.300394028425217,10.8685684204102,0,0,1,0,2.14094996452332,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0368397459387779,4,2,7.0 +6.88653135299683,0.300131618976593,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,0,0.0110140470787883,4,1,7.0 +7.26554870605469,0.300237864255905,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0160915553569794,4,2,7.0 +7.07388257980347,0.299990683794022,10.7684850692749,0,0,1,0,2.14094996452332,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0335535854101181,4,1,7.0 +7.32958936691284,0.300527125597,11.1198825836182,0,1,0,0,2.14094996452332,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,0,0,0,0.0305079929530621,4,2,7.0 +7.10652875900269,0.300414770841599,10.9595403671265,0,0,0,1,2.14094996452332,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0286501459777355,4,2,7.0 +7.41018390655518,0.300362855195999,11.6952466964722,0,0,1,0,2.14094996452332,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0185980200767517,4,1,7.0 +7.50922822952271,0.300364196300507,10.9595403671265,0,0,1,0,2.14094996452332,0.6931471824646,3.29583692550659,1.3862943649292,0,0,1,0,0,0,0,0,0.0428543537855148,4,1,7.0 +6.73765087127686,0.300134003162384,10.8685684204102,0,0,1,0,2.14094996452332,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.0216926150023937,4,0,7.0 +5.86807870864868,0.299432754516602,10.2219409942627,0,0,1,0,2.14094996452332,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0173453688621521,4,2,7.0 +7.99600648880005,0.300467193126678,11.6952466964722,0,0,1,0,2.14094996452332,1.0986123085022,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,0,0.0334142334759235,4,1,7.0 +8.05698394775391,0.300388544797897,11.4075651168823,0,0,1,0,2.14094996452332,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0473497919738293,4,2,7.0 +7.80543661117554,0.300310254096985,11.1198825836182,0,0,1,0,2.14094996452332,0.6931471824646,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,0,0.049088217318058,4,2,7.0 +6.46841955184937,0.300309717655182,11.1198825836182,0,0,0,1,2.14094996452332,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0128919323906302,4,2,7.0 +7.31834125518799,0.300352185964584,11.1198825836182,0,0,1,0,2.14094996452332,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0301614832133055,4,2,7.0 +6.47345876693726,0.299939632415771,11.4075651168823,0,0,1,0,2.14094996452332,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,0,0.00971420109272,4,1,7.0 +7.29416370391846,0.300268054008484,10.8685684204102,0,1,0,0,2.14094996452332,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,0,0.0378495343029499,4,1,7.0 +7.40720129013062,0.300357729196548,10.7684850692749,0,0,1,0,2.14094996452332,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0468443036079407,4,1,7.0 +5.65942573547363,0.30007529258728,11.1198825836182,0,0,0,1,2.14094996452332,0.6931471824646,3.93182563781738,1.3862943649292,0,0,0,0,1,0,0,0,0.0057395072653889,4,2,7.0 +7.51760387420654,0.300322353839874,10.0212707519531,0,0,1,0,2.14094996452332,0.6931471824646,3.25809645652771,1.0986123085022,0,1,0,0,0,0,0,0,0.110433220863342,4,2,7.0 +5.45264101028442,0.299642860889435,10.3889951705933,0,1,0,0,2.14094996452332,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0096895107999444,4,1,7.0 +7.35922765731812,0.300363659858704,10.6572589874268,0,0,0,1,2.14094996452332,1.3862943649292,3.55534815788269,1.7917594909668,0,0,0,1,0,0,0,0,0.0499033145606518,4,3,7.0 +7.70188140869141,0.30044424533844,11.1198825836182,0,1,0,0,2.14094996452332,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0442651584744453,4,1,7.0 +5.75793313980103,0.300147086381912,10.2219409942627,0,0,1,0,2.14094996452332,0.0,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.0155474087223411,4,1,7.0 +6.54472160339355,0.300331622362137,11.2580327987671,1,0,0,0,2.14094996452332,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.0121190100908279,4,2,7.0 +5.64473438262939,0.299900859594345,9.76995658874512,0,0,0,1,2.14094996452332,0.6931471824646,3.21887588500977,1.60943794250488,0,0,0,0,1,0,0,0,0.0218114331364632,4,1,7.0 +7.30093145370483,0.300303727388382,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,1,0,0,0.0166722163558006,4,2,7.0 +7.9639048576355,0.300381571054459,10.9595403671265,0,0,0,1,2.14094996452332,1.3862943649292,2.89037179946899,1.7917594909668,0,0,0,0,0,1,0,0,0.0675252601504326,4,4,7.0 +6.88173484802246,0.300197839736938,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0109620671719313,4,1,7.0 +7.14857816696167,0.300037682056427,10.9595403671265,0,0,1,0,2.14094996452332,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,1,0,0,0,0.0298692900687456,4,1,7.0 +5.816237449646,0.300569951534271,10.6572589874268,0,0,1,0,2.14094996452332,0.6931471824646,3.49650764465332,1.0986123085022,0,0,1,0,0,0,0,0,0.010668583214283,4,2,7.0 +7.37615489959717,0.300336211919785,11.0429220199585,0,0,1,0,2.14094996452332,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0345126017928123,4,1,7.0 +6.94676446914673,0.300287395715714,11.2580327987671,0,0,1,0,2.14094996452332,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0181156098842621,4,2,7.0 +7.78791093826294,0.300398617982864,10.7684850692749,0,0,1,0,2.14094996452332,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0685511380434036,4,1,7.0 +6.88436555862427,0.300046414136887,10.2219409942627,0,1,0,0,2.14094996452332,1.0986123085022,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0479532107710838,4,2,7.0 +6.9339861869812,0.300200074911118,11.1913414001465,0,1,0,0,2.14094996452332,1.0986123085022,3.76120018959045,1.7917594909668,0,0,1,0,0,0,0,0,0.0191174130886793,4,3,7.0 +6.44149875640869,0.299874991178513,11.6952466964722,0,0,0,1,2.14094996452332,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0070560257881879,4,2,7.0 +7.00756025314331,0.300043046474457,11.0429220199585,0,0,1,0,2.14094996452332,1.3862943649292,3.49650764465332,1.60943794250488,0,0,0,1,0,0,0,0,0.0238655656576157,4,3,7.0 +6.70512533187866,0.300360113382339,11.1198825836182,0,0,0,1,2.14094996452332,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0163357798010111,4,2,7.0 +7.6456151008606,0.300307959318161,11.1913414001465,0,0,1,0,2.14094996452332,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.038952250033617,4,2,7.0 +7.0152153968811,0.300311028957367,11.1913414001465,0,0,1,0,2.14094996452332,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0207374189049006,4,2,7.0 +7.12650632858276,0.300941288471222,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0140125835314393,4,1,7.0 +7.08801603317261,0.299927532672882,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.013469822704792,4,2,7.0 +6.9565749168396,0.300376981496811,10.3889951705933,0,0,0,1,2.14094996452332,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0436285436153412,4,2,7.0 +6.60233879089355,0.300110340118408,10.7684850692749,0,0,0,1,2.14094996452332,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.020941223949194,4,1,7.0 +7.87707471847534,0.300373375415802,11.4075651168823,0,0,1,0,2.14094996452332,0.6931471824646,4.09434461593628,1.0986123085022,0,0,0,1,0,0,0,0,0.0395528711378574,4,2,7.0 +6.9615592956543,0.300403028726578,10.0212707519531,0,1,0,0,2.14094996452332,0.0,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0633355602622032,4,4,7.0 +5.53407096862793,0.300079971551895,10.3889951705933,0,0,1,0,2.14094996452332,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0105161378160119,4,2,7.0 +7.32885217666626,0.300482034683228,7.82404613494873,0,0,1,0,2.14094996452332,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.823071777820587,4,1,7.0 +7.29011583328247,0.300314038991928,11.1198825836182,0,1,0,0,2.14094996452332,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,1,0,0,0,0.0293209552764893,4,2,7.0 +7.49775981903076,0.30031606554985,11.4075651168823,0,1,0,0,2.14094996452332,0.6931471824646,3.82864141464233,1.3862943649292,0,0,1,0,0,0,0,0,0.0270656701177359,4,2,7.0 +6.57732629776001,0.300067961215973,10.0212707519531,1,0,0,0,2.14094996452332,1.3862943649292,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0431153401732445,4,2,7.0 +7.10736465454102,0.300384491682053,11.4075651168823,0,0,1,0,2.14094996452332,0.6931471824646,3.43398714065552,1.60943794250488,1,0,0,0,0,0,0,0,0.0183190144598484,4,2,7.0 +7.17075061798096,0.300255507230759,11.4075651168823,0,1,0,0,2.14094996452332,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0195152517408133,4,2,7.0 +6.46041297912598,0.300057023763657,10.5320959091187,0,1,0,0,2.14094996452332,1.0986123085022,4.09434461593628,1.60943794250488,0,0,0,0,1,0,0,0,0.0230146031826735,4,2,7.0 +7.14115905761719,0.300289690494537,10.9595403671265,0,0,1,0,2.14094996452332,0.6931471824646,3.49650764465332,1.60943794250488,1,0,0,0,0,0,0,0,0.0296559818089008,4,2,7.0 +7.04332160949707,0.300184607505798,11.1198825836182,0,0,1,0,2.14094996452332,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0229055415838957,4,1,7.0 +7.31073236465454,0.300369471311569,11.1913414001465,0,0,0,1,2.14094996452332,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,0,0.0278690084815025,4,2,7.0 +8.82238006591797,0.300357222557068,11.6952466964722,0,0,1,0,2.14094996452332,1.60943794250488,3.76120018959045,1.94591009616852,0,0,0,0,1,0,0,0,0.0763437300920486,4,5,7.0 +6.70007991790771,0.300634920597076,11.1913414001465,1,0,0,0,2.14094996452332,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0151367913931608,4,2,7.0 +8.17409801483154,0.300410985946655,11.6952466964722,0,0,1,0,2.14094996452332,1.3862943649292,4.06044292449951,1.60943794250488,0,0,0,1,0,0,0,0,0.039925578981638,4,4,7.0 +7.02543067932129,0.300265043973923,11.6952466964722,0,1,0,0,2.14094996452332,0.6931471824646,3.49650764465332,1.7917594909668,0,0,0,0,0,0,0,0,0.0126569168642163,4,2,7.0 +7.33388805389404,0.300132244825363,11.0429220199585,1,0,0,0,2.14094996452332,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,0,0,0,0,0.0330775193870068,4,2,7.0 +6.98643207550049,0.300166517496109,11.6952466964722,0,0,0,1,2.14094996452332,0.6931471824646,4.12713432312012,1.0986123085022,0,0,0,1,0,0,0,0,0.0121716167777777,4,1,7.0 +7.54064559936523,0.250623226165771,10.5320959091187,0,1,0,0,0.785452961921692,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0645169466733932,5,2,6.0 +7.38371801376343,0.250349402427673,11.6952466964722,0,1,0,0,0.785452961921692,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0172286815941334,5,2,6.0 +6.96019124984741,0.250500857830048,10.5320959091187,0,1,0,0,0.785452961921692,1.0986123085022,3.7376697063446,1.60943794250488,1,0,0,0,0,0,0,0,0.0361021123826504,5,2,6.0 +6.85423040390015,0.250318676233292,10.2219409942627,0,1,0,0,0.785452961921692,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0442724712193012,5,2,6.0 +6.82614231109619,0.250356823205948,10.7684850692749,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,0,0.0249224621802568,5,2,6.0 +7.29318523406982,0.250316739082336,11.6952466964722,0,1,0,0,0.785452961921692,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0157369282096624,5,1,6.0 +7.22384929656982,0.250376403331757,10.9595403671265,0,1,0,0,0.785452961921692,1.0986123085022,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,0,0.0306441262364388,5,2,6.0 +7.8818941116333,0.250490933656693,11.2580327987671,1,0,0,0,0.785452961921692,1.60943794250488,3.89182019233704,1.60943794250488,0,0,0,1,0,0,0,0,0.0439084582030773,5,2,6.0 +7.08247900009155,0.250440806150436,9.76995658874512,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0874195396900177,5,2,6.0 +7.45432138442993,0.250490188598633,10.9595403671265,0,1,0,0,0.785452961921692,0.6931471824646,3.8712010383606,1.3862943649292,0,1,0,0,0,0,0,0,0.0385912992060184,5,2,6.0 +7.23000049591064,0.250586867332458,11.1198825836182,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.7917594909668,0,0,0,0,1,0,0,0,0.0262708403170109,5,2,6.0 +6.87248277664185,0.250369995832443,11.1198825836182,1,0,0,0,0.785452961921692,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0183701161295176,5,1,6.0 +7.7079963684082,0.250468462705612,10.7684850692749,0,1,0,0,0.785452961921692,1.0986123085022,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0602037869393826,5,2,6.0 +7.59286212921143,0.25055855512619,11.0429220199585,1,0,0,0,0.785452961921692,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0407825410366058,5,2,6.0 +7.07969903945923,0.250387728214264,10.5320959091187,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.0406803824007511,5,2,6.0 +7.78256273269653,0.250567466020584,10.7684850692749,0,1,0,0,0.785452961921692,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0648709908127785,5,2,6.0 +7.30146837234497,0.25053071975708,11.1198825836182,0,1,0,0,0.785452961921692,0.0,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0282154977321625,5,2,6.0 +7.67624950408936,0.250605523586273,10.3889951705933,1,0,0,0,0.785452961921692,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0852522999048233,5,2,6.0 +6.86861944198608,0.25051486492157,11.6952466964722,0,1,0,0,0.785452961921692,0.6931471824646,3.82864141464233,1.0986123085022,1,0,0,0,0,0,0,0,0.0102948378771544,5,2,6.0 +7.52289199829102,0.250536769628525,10.5320959091187,0,1,0,0,0.785452961921692,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.063376173377037,5,2,6.0 +8.10739421844482,0.250504940748215,11.6952466964722,0,1,0,0,0.785452961921692,1.0986123085022,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0355310663580894,5,1,6.0 +7.41225099563599,0.250520348548889,10.9595403671265,0,1,0,0,0.785452961921692,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0370025299489498,5,2,6.0 +6.99659538269043,0.25029444694519,10.7684850692749,0,1,0,0,0.785452961921692,0.6931471824646,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,0,0.0295522511005402,5,2,6.0 +7.65506315231323,0.250452697277069,11.6952466964722,0,1,0,0,0.785452961921692,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0226016733795404,5,2,6.0 +6.757981300354,0.250280827283859,10.3889951705933,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.034022506326437,5,1,6.0 +5.5767970085144,0.250124514102936,9.43348407745361,0,1,0,0,0.785452961921692,0.6931471824646,3.178053855896,1.3862943649292,0,1,0,0,0,0,0,0,0.0271450020372868,5,1,6.0 +7.4190092086792,0.250616103410721,11.0429220199585,1,0,0,0,0.785452961921692,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0342764593660831,5,2,6.0 +7.70693969726562,0.250533699989319,11.6952466964722,0,1,0,0,0.785452961921692,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0238070525228977,5,2,6.0 +7.33941650390625,0.361510068178177,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,1,0.0184199586510658,6,2,8.0 +8.19931602478027,0.361570954322815,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.09104251861572,1.7917594909668,1,0,0,0,0,0,0,1,0.0908402353525162,6,2,8.0 +7.45563983917236,0.361718833446503,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,1,0.020694475620985,6,1,8.0 +6.76983022689819,0.361375719308853,10.5320959091187,0,0,1,0,2.86372566223145,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,1,0.0333435721695423,6,1,8.0 +7.75610876083374,0.361682623624802,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0462566316127777,6,1,8.0 +7.29971599578857,0.361547023057938,11.1198825836182,1,0,0,0,2.86372566223145,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0314731746912003,6,2,8.0 +7.46206665039062,0.361580908298492,11.4075651168823,1,0,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.0277667175978422,6,2,8.0 +7.19514799118042,0.361479014158249,11.0429220199585,0,0,1,0,2.86372566223145,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0306140910834074,6,2,8.0 +5.84522008895874,0.360310703516006,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.00412901584059,6,2,8.0 +6.91726493835449,0.361131489276886,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,0,1,0,1,0.0160962585359812,6,2,8.0 +6.4792308807373,0.361659377813339,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,1,0.0077943452633917,6,2,8.0 +8.04209041595459,0.361408114433289,11.2580327987671,0,0,1,0,2.86372566223145,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0575826093554497,6,3,8.0 +6.50439023971558,0.361563473939896,10.3889951705933,0,0,0,1,2.86372566223145,0.6931471824646,3.21887588500977,1.60943794250488,0,0,0,0,1,0,0,0,0.0295095406472683,6,1,8.0 +7.42384672164917,0.361553519964218,10.6572589874268,1,0,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.056593619287014,6,2,8.0 +6.62246513366699,0.361140877008438,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,1,0,0,0,0.0089900130406022,6,1,8.0 +6.93350982666016,0.36145693063736,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0122738983482122,6,2,8.0 +7.20510053634644,0.361536234617233,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0161052420735359,6,1,8.0 +5.79821491241455,0.361178427934647,11.2580327987671,0,0,1,0,2.86372566223145,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,0,1,0,1,0.0061050448566675,6,1,8.0 +6.81028890609741,0.361707955598831,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,1,0.0347318165004253,6,1,8.0 +8.4028434753418,0.361833900213242,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0711554884910583,6,2,8.0 +7.63729476928711,0.361615300178528,11.1198825836182,0,1,0,0,2.86372566223145,1.0986123085022,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,1,0.0441142208874226,6,2,8.0 +6.99138355255127,0.361637473106384,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,1,0.0271461773663759,6,2,8.0 +7.19094800949097,0.361605584621429,11.1913414001465,1,0,0,0,2.86372566223145,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0262841768562794,6,2,8.0 +7.49925088882446,0.361536085605621,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0216129999607801,6,2,8.0 +5.72813320159912,0.360739976167679,11.0429220199585,1,0,0,0,2.86372566223145,1.3862943649292,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,1,0.0070547880604863,6,5,8.0 +7.22963523864746,0.36151847243309,11.2580327987671,1,0,0,0,2.86372566223145,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.0255560930818319,6,2,8.0 +8.32771110534668,0.361805438995361,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,4.06044292449951,1.0986123085022,0,0,1,0,0,0,0,1,0.0495025776326656,6,2,8.0 +7.26242351531982,0.36159610748291,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,1,0.0170564446598291,6,1,8.0 +8.14262104034424,0.361648410558701,11.6952466964722,0,0,1,0,2.86372566223145,1.3862943649292,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0411316491663456,6,3,8.0 +7.36305618286133,0.361582338809967,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,0,0.0188619494438171,6,2,8.0 +7.04030466079712,0.361362516880035,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0136559512466192,6,2,8.0 +7.59529829025269,0.361590623855591,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,0,0.0317241810262203,6,2,8.0 +6.92006254196167,0.361528426408768,10.0212707519531,0,0,1,0,2.86372566223145,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,1,0.0645910277962685,6,1,8.0 +8.08080387115479,0.361622095108032,10.9595403671265,0,1,0,0,2.86372566223145,1.60943794250488,3.98898410797119,1.7917594909668,0,0,0,0,1,0,0,1,0.0806921198964119,6,4,8.0 +6.49543142318726,0.360958188772202,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,0,1,0,1,0.0079160938039422,6,2,8.0 +7.25602769851685,0.361500769853592,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,0,1,0,1,0.0169460810720921,6,2,8.0 +7.59972143173218,0.361616551876068,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,1,0.0238992273807526,6,2,8.0 +7.25537014007568,0.361129343509674,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0280198380351067,6,2,8.0 +6.54541635513306,0.361243396997452,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0173722580075264,6,2,8.0 +5.6257963180542,0.361077427864075,8.92265796661377,0,1,0,0,2.86372566223145,0.0,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0530890449881554,6,0,8.0 +7.70807790756226,0.361545205116272,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0266324728727341,6,2,8.0 +8.27594375610352,0.361513912677765,10.3889951705933,0,0,0,1,2.86372566223145,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,0,1,0,1,0.173506990075111,6,2,8.0 +6.99905633926392,0.361347794532776,10.3889951705933,0,0,1,0,2.86372566223145,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,1,0,0,0,0,0.0483837611973286,6,1,8.0 +7.85812902450562,0.361644446849823,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,1,0.0309471730142832,6,2,8.0 +6.47462034225464,0.361439913511276,10.3889951705933,0,0,0,1,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0286404583603144,6,2,8.0 +6.46281242370605,0.361693680286407,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,4.00733327865601,1.0986123085022,0,0,0,0,1,0,0,1,0.0076676825992763,6,1,8.0 +5.22470712661743,0.360587775707245,11.1198825836182,0,0,0,1,2.86372566223145,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,1,0.0039478344842791,6,1,8.0 +7.09656810760498,0.361381530761719,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,1,0,0,0.0277374349534512,6,2,8.0 +7.02167081832886,0.36127445101738,11.4075651168823,0,1,0,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,1,0.0178702175617218,6,2,8.0 +7.60423135757446,0.361555099487305,11.2580327987671,0,0,0,1,2.86372566223145,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,1,0.0371702425181866,6,2,8.0 +6.76079225540161,0.361042529344559,11.2580327987671,1,0,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.0159834995865822,6,2,8.0 +7.16205978393555,0.361082553863525,11.0429220199585,1,0,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0296059660613537,6,2,8.0 +6.82866811752319,0.361289501190186,10.7684850692749,0,0,0,1,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.02791678160429,6,2,8.0 +7.80719804763794,0.361499190330505,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.029406201094389,6,3,8.0 +5.57139682769775,0.361024916172028,9.76995658874512,1,0,0,0,2.86372566223145,0.0,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0215466637164354,6,1,8.0 +7.46855354309082,0.361218303442001,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0209529660642147,6,2,8.0 +6.76251316070557,0.361248284578323,10.0212707519531,1,0,0,0,2.86372566223145,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,0,0.0551604405045509,6,1,8.0 +7.20369052886963,0.360970556735992,11.2580327987671,0,0,0,1,2.86372566223145,1.0986123085022,3.40119743347168,1.3862943649292,0,0,0,0,0,0,1,1,0.0248879306018353,6,3,8.0 +6.9963755607605,0.361467242240906,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.013070410117507,6,2,8.0 +6.50237560272217,0.361104398965836,11.0429220199585,0,0,0,1,2.86372566223145,1.0986123085022,3.78418970108032,1.7917594909668,0,0,0,0,1,0,0,1,0.015307049266994,6,2,8.0 +7.6282811164856,0.361294984817505,11.6952466964722,1,0,0,0,2.86372566223145,1.3862943649292,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0245837140828371,6,3,8.0 +7.05236434936523,0.361400127410889,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,1,0.0288462340831757,6,1,8.0 +6.03533601760864,0.361354619264603,11.0429220199585,0,0,0,1,2.86372566223145,0.0,3.98898410797119,1.0986123085022,0,0,0,0,0,1,0,1,0.0095977066084742,6,1,8.0 +7.394362449646,0.361489653587341,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,1,0.0194599851965904,6,2,8.0 +6.96228551864624,0.361005872488022,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0126265240833163,6,1,8.0 +7.83109378814697,0.361621260643005,11.6952466964722,0,0,1,0,2.86372566223145,1.3862943649292,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0301210153847933,6,3,8.0 +8.01270294189453,0.361645698547363,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,0,0.059785433113575,6,1,8.0 +7.96479892730713,0.361706554889679,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,1,0.0344329476356506,6,1,8.0 +6.21141195297241,0.361850261688232,11.4075651168823,1,0,0,0,2.86372566223145,1.0986123085022,2.99573230743408,1.3862943649292,0,0,0,0,1,0,0,0,0.0079522309824824,6,3,8.0 +7.0792121887207,0.361430764198303,10.8685684204102,1,0,0,0,2.86372566223145,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,0,0.0324541889131069,6,2,8.0 +6.61691665649414,0.361124932765961,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,1,0.0171650424599648,6,2,8.0 +5.48596620559692,0.360879421234131,10.3889951705933,0,0,1,0,2.86372566223145,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.0106504857540131,6,1,8.0 +7.82423305511475,0.361516654491425,10.8685684204102,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,1,0.0683701634407043,6,1,8.0 +7.53200149536133,0.361418396234512,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0223299339413643,6,2,8.0 +7.57991647720337,0.361398309469223,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0234254486858845,6,1,8.0 +8.39144229888916,0.361806750297546,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0527602210640907,6,2,8.0 +7.71182537078857,0.3616563975811,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0675421580672264,6,1,8.0 +7.85979318618774,0.361719578504562,9.76995658874512,1,0,0,0,2.86372566223145,0.6931471824646,2.99573230743408,1.0986123085022,0,0,0,1,0,0,0,0,0.212578564882278,6,2,8.0 +7.33988809585571,0.361629903316498,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,1,0.0184308607131243,6,1,8.0 +7.40339422225952,0.3615383207798,11.6952466964722,0,1,0,0,2.86372566223145,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,0,0,0,1,0.0196374990046024,6,3,8.0 +7.31751012802124,0.361530929803848,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0180212091654539,6,1,8.0 +6.89556741714478,0.361885696649551,10.9595403671265,0,0,0,1,2.86372566223145,0.6931471824646,3.40119743347168,1.7917594909668,0,0,0,1,0,0,0,1,0.0246719773858786,6,1,8.0 +7.32756805419922,0.361522704362869,11.4075651168823,1,0,0,0,2.86372566223145,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0242709740996361,6,2,8.0 +7.52720212936401,0.361625343561172,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.55534815788269,1.94591009616852,0,0,0,1,0,0,0,0,0.022227618843317,6,2,8.0 +6.52653074264526,0.36160135269165,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0081714009866118,6,1,8.0 +8.70983505249023,0.361572861671448,11.6952466964722,0,0,0,1,2.86372566223145,1.3862943649292,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0725238993763924,6,3,8.0 +6.68962907791138,0.361104756593704,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,0,0.0128189446404576,6,1,8.0 +7.72207450866699,0.361653834581375,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0270107910037041,6,2,8.0 +8.1355152130127,0.361773639917374,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0408455356955528,6,2,8.0 +6.55584192276001,0.361549526453018,10.3889951705933,0,0,0,1,2.86372566223145,0.6931471824646,4.07753753662109,1.0986123085022,0,0,0,0,1,0,0,1,0.0310671590268612,6,2,8.0 +7.60784339904785,0.36116424202919,11.2580327987671,0,0,0,1,2.86372566223145,1.60943794250488,3.78418970108032,1.60943794250488,0,0,0,0,0,1,0,1,0.0372901633381844,6,3,8.0 +7.49428796768188,0.361538738012314,10.9595403671265,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0448822230100632,6,1,8.0 +6.95321798324585,0.361337423324585,9.76995658874512,1,0,0,0,2.86372566223145,0.0,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,1,0.0858288109302521,6,1,8.0 +7.27111911773682,0.361407190561295,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,1,0.0172021500766277,6,1,8.0 +7.128502368927,0.36147403717041,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0149167506024241,6,2,8.0 +7.85958623886108,0.361574679613113,11.6952466964722,1,0,0,0,2.86372566223145,1.0986123085022,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,1,0.0309901423752308,6,3,8.0 +7.5475025177002,0.361580848693848,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0226824525743723,6,1,8.0 +6.00856065750122,0.361408770084381,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.015574399381876,6,2,8.0 +6.94349670410156,0.36164203286171,9.43348407745361,0,0,1,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,0,0.119034111499786,6,1,8.0 +7.35409069061279,0.361426204442978,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.60943794250488,0,0,1,0,0,0,0,1,0.0249209068715572,6,2,8.0 +6.6425838470459,0.361190140247345,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,1,0.0091731641441583,6,2,8.0 +6.6915283203125,0.361619025468826,10.9595403671265,0,0,0,1,2.86372566223145,0.0,3.40119743347168,1.3862943649292,0,0,0,0,0,1,0,1,0.0201129168272018,6,2,8.0 +6.53509759902954,0.361152112483978,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0082380045205354,6,2,8.0 +7.31368112564087,0.361786156892776,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,1,0.0179569218307734,6,1,8.0 +7.45749568939209,0.361644178628922,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0398042313754559,6,2,8.0 +7.10544395446777,0.361371487379074,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,1,0.0145752327516675,6,1,8.0 +6.58824253082275,0.361209183931351,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,1,0.0181317925453186,6,1,8.0 +7.68816900253296,0.362050145864487,11.4075651168823,0,0,1,0,2.86372566223145,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,1,0.0348275750875473,6,3,8.0 +5.63807773590088,0.361181825399399,10.0212707519531,0,0,0,1,2.86372566223145,0.0,3.13549423217773,1.0986123085022,0,0,0,0,0,1,0,1,0.0179168991744518,6,1,8.0 +6.90922784805298,0.361310094594955,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,1,0,0,0,0.0159702636301517,6,2,8.0 +7.17770910263062,0.361283600330353,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,1,0.0208881702274084,6,1,8.0 +7.81066608428955,0.361246287822723,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.80666255950928,1.7917594909668,0,0,0,0,1,0,0,0,0.0566417314112186,6,1,8.0 +6.04106044769287,0.360503405332565,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0104832528159022,6,1,8.0 +8.13655853271484,0.361536234617233,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,1,0.0408784635365009,6,2,8.0 +6.87533330917358,0.361386746168137,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0191659200936556,6,2,8.0 +7.87972354888916,0.361681789159775,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0316239222884178,6,2,8.0 +6.54757213592529,0.361152589321136,11.2580327987671,0,0,1,0,2.86372566223145,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,0,0.01291573792696,6,2,8.0 +7.45078754425049,0.361551612615585,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0205908622592688,6,2,8.0 +7.07794666290283,0.361191987991333,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,0,1,0,1,0.0189031604677439,6,2,8.0 +7.52741003036499,0.361241728067398,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0222237128764391,6,2,8.0 +4.78251266479492,0.360210686922073,10.5320959091187,0,0,0,1,2.86372566223145,0.0,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,1,0.0045648356899619,6,1,8.0 +7.61401510238647,0.361703902482986,11.1198825836182,0,1,0,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,0,0,1,0.0431029424071312,6,1,8.0 +7.36841201782227,0.361371636390686,11.2580327987671,1,0,0,0,2.86372566223145,1.0986123085022,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,1,0.0293562598526478,6,3,8.0 +7.06223917007446,0.361382514238358,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0139590771868825,6,2,8.0 +7.02030086517334,0.361047655344009,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,0,0.0133812827989459,6,2,8.0 +7.63549137115479,0.361659049987793,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,1,0.024770624935627,6,1,8.0 +6.85225439071655,0.361164808273315,11.0429220199585,1,0,0,0,2.86372566223145,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0217204131186008,6,2,8.0 +6.67545652389526,0.361101686954498,9.43348407745361,0,0,0,1,2.86372566223145,0.6931471824646,3.76120018959045,1.94591009616852,0,0,0,0,1,0,0,1,0.0909972861409187,6,3,8.0 +7.38282775878906,0.361355930566788,11.1198825836182,1,0,0,0,2.86372566223145,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,1,0.0341942086815834,6,2,8.0 +7.46620941162109,0.361280202865601,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0209051966667175,6,1,8.0 +7.6508936882019,0.36148402094841,10.0212707519531,0,0,0,1,2.86372566223145,0.0,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,1,0.134137108922005,6,2,8.0 +7.90778970718384,0.36147552728653,10.3889951705933,0,0,1,0,2.86372566223145,1.3862943649292,3.36729574203491,1.7917594909668,0,0,0,1,0,0,0,0,0.120064049959183,6,3,8.0 +7.41224431991577,0.361546546220779,11.4075651168823,1,0,0,0,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,1,0,0,0,0,1,0.0264162998646498,6,2,8.0 +7.54708337783813,0.361550688743591,10.3889951705933,1,0,0,0,2.86372566223145,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0837129577994347,6,2,8.0 +7.14309406280518,0.361403793096542,11.2580327987671,0,0,1,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0234347470104694,6,2,8.0 +7.62290096282959,0.361676394939423,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.0782756507396698,6,2,8.0 +7.09808731079102,0.361450701951981,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0192927289754152,6,2,8.0 +6.67586326599121,0.361130505800247,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,1,0.0126440180465579,6,2,8.0 +6.85720872879028,0.361327528953552,10.6572589874268,1,0,0,0,2.86372566223145,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,1,0,0,0,1,0.0321056582033634,6,1,8.0 +6.55500268936157,0.361213237047195,11.0429220199585,0,0,0,1,2.86372566223145,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0161359440535307,6,2,8.0 +6.37515449523926,0.360858798027039,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.0070183048956096,6,1,8.0 +6.94312047958374,0.361269801855087,10.8685684204102,0,0,1,0,2.86372566223145,0.6931471824646,3.09104251861572,1.3862943649292,0,0,0,0,0,1,0,1,0.0283202547580004,6,2,8.0 +6.89843893051147,0.361357510089874,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,0,1,0,1,0.0118497274816036,6,1,8.0 +5.10026550292969,0.36037340760231,10.0212707519531,1,0,0,0,2.86372566223145,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,1,0.0104554500430822,6,0,8.0 +7.3389949798584,0.361481666564941,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,1,0.0184116717427969,6,1,8.0 +6.94563770294189,0.361353278160095,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0397516004741192,6,2,8.0 +7.54328489303589,0.361628323793411,10.7684850692749,0,1,0,0,2.86372566223145,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0570645704865456,6,2,8.0 +7.22600936889648,0.361459016799927,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0219256822019815,6,2,8.0 +6.95335149765015,0.361358672380447,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,1,0.0125186378136277,6,1,8.0 +7.15513753890991,0.361457169055939,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.020425520837307,6,1,8.0 +7.30016899108887,0.361442983150482,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0177098382264376,6,2,8.0 +6.4972505569458,0.361579179763794,9.43348407745361,1,0,0,0,2.86372566223145,0.6931471824646,2.94443893432617,1.0986123085022,0,0,0,1,0,0,0,0,0.0761801525950432,6,1,8.0 +7.58559417724609,0.361537247896194,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,0,1,0,1,0.0314161367714405,6,2,8.0 +6.45222949981689,0.361509323120117,10.3889951705933,0,1,0,0,2.86372566223145,0.0,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0280082430690527,6,2,8.0 +7.57254695892334,0.36171567440033,10.0212707519531,1,0,0,0,2.86372566223145,0.6931471824646,3.68887948989868,2.19722461700439,0,0,0,0,1,0,0,1,0.12405776232481,6,2,8.0 +8.83853626251221,0.361857384443283,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0825085192918777,6,1,8.0 +8.02189826965332,0.361690104007721,10.7684850692749,0,1,0,0,2.86372566223145,0.6931471824646,3.29583692550659,1.60943794250488,0,1,0,0,0,0,0,0,0.0920984745025635,6,1,8.0 +7.34142398834229,0.361376881599426,11.4075651168823,0,0,0,1,2.86372566223145,1.3862943649292,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,1,0.0246060192584991,6,3,8.0 +8.14392566680908,0.361733853816986,11.6952466964722,0,1,0,0,2.86372566223145,1.0986123085022,4.20469284057617,1.3862943649292,1,0,0,0,0,0,0,0,0.0411888733506203,6,1,8.0 +7.38641834259033,0.361554086208344,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,1,0,0,0,0,0.0319568254053593,6,1,8.0 +7.74035692214966,0.361700803041458,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0528200753033161,6,2,8.0 +7.7642936706543,0.361544370651245,11.1198825836182,1,0,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,0,0,0,1,0.0500844419002533,6,1,8.0 +7.19175243377686,0.361516714096069,10.8685684204102,0,0,0,1,2.86372566223145,0.6931471824646,3.91202306747437,1.60943794250488,0,0,0,0,1,0,0,1,0.0363231711089611,6,1,8.0 +5.70451068878174,0.360945969820023,11.4075651168823,0,1,0,0,2.86372566223145,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0047857710160315,6,2,8.0 +7.92101526260376,0.361737847328186,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,1,0.0439452044665813,6,2,8.0 +7.18532657623291,0.361426711082458,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,1,0.0157881807535887,6,3,8.0 +7.46168279647827,0.361546367406845,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,0,0,0,1,0.0208163224160671,6,2,8.0 +6.85315608978271,0.361530005931854,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0187482349574566,6,1,8.0 +6.93463039398193,0.361462503671646,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,0,1,0,0,0.0256439559161663,6,3,8.0 +6.63203573226929,0.360989272594452,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,1,0.0090750912204384,6,1,8.0 +8.00495719909668,0.361516296863556,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0358370430767536,6,2,8.0 +7.77170181274414,0.361483186483383,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,1,0.0283802393823862,6,2,8.0 +7.99675846099854,0.36150187253952,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,0,0.0355438962578773,6,3,8.0 +7.62926578521729,0.361514747142792,11.6952466964722,0,0,0,1,2.86372566223145,1.0986123085022,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,1,0.0246133450418711,6,3,8.0 +7.3489785194397,0.361604332923889,11.1198825836182,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,1,0.0330643393099308,6,2,8.0 +7.24791717529297,0.361186653375626,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0168039202690125,6,2,8.0 +7.44575166702271,0.361233919858932,11.6952466964722,0,1,0,0,2.86372566223145,1.0986123085022,3.66356158256531,1.60943794250488,1,0,0,0,0,0,0,0,0.0204809233546257,6,3,8.0 +7.44499778747559,0.361539721488953,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,1,0.0204717423766851,6,2,8.0 +6.95417547225952,0.361411929130554,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,0,0,0,1,1,0.0167061612010002,6,2,8.0 +7.51942205429077,0.361603587865829,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0220548845827579,6,2,8.0 +7.56058359146118,0.361508429050446,10.9595403671265,0,0,1,0,2.86372566223145,1.0986123085022,4.11087369918823,1.3862943649292,0,0,0,1,0,0,0,1,0.0479570999741554,6,3,8.0 +5.34432888031006,0.360026568174362,8.92265796661377,1,0,0,0,2.86372566223145,0.6931471824646,3.21887588500977,1.60943794250488,0,0,0,1,0,0,0,1,0.0400229208171368,6,1,8.0 +7.66553735733032,0.361493051052094,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,1,0.0255219433456659,6,2,8.0 +6.71128702163696,0.361527681350708,10.7684850692749,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,0,0.0248308070003986,6,1,8.0 +6.36781692504883,0.361036360263824,10.7684850692749,0,0,0,1,2.86372566223145,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,0,0,1,1,0.0176039505749941,6,1,8.0 +6.71828985214233,0.361707210540771,11.1198825836182,0,1,0,0,2.86372566223145,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0175994839519262,6,3,8.0 +6.38917303085327,0.360918790102005,10.2219409942627,0,0,0,1,2.86372566223145,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,1,0.0310595370829105,6,1,8.0 +7.25125789642334,0.360929936170578,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0351773649454117,6,2,8.0 +7.06115102767944,0.361689269542694,11.0429220199585,1,0,0,0,2.86372566223145,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,0,0,1,0,0,0.0267804879695177,6,2,8.0 +7.9347767829895,0.361529588699341,11.2580327987671,0,1,0,0,2.86372566223145,1.0986123085022,3.8712010383606,1.60943794250488,0,0,0,0,0,0,0,0,0.0517295002937317,6,2,8.0 +7.06650972366333,0.361380100250244,11.2580327987671,0,0,0,1,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0217065047472715,6,1,8.0 +6.65323162078857,0.361304372549057,10.2219409942627,0,0,0,1,2.86372566223145,0.6931471824646,4.00733327865601,1.0986123085022,0,0,0,0,0,0,1,1,0.0404614582657814,6,1,8.0 +6.34565114974976,0.360831886529922,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,1,0.011278479360044,6,2,8.0 +7.01569795608521,0.361154437065125,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0133212544023991,6,1,8.0 +7.99216079711914,0.361628323793411,10.9595403671265,0,1,0,0,2.86372566223145,1.0986123085022,3.97029185295105,1.3862943649292,1,0,0,0,0,0,0,0,0.0738476365804672,6,3,8.0 +7.04973268508911,0.361384272575378,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,0,0.0137856062501669,6,2,8.0 +7.40616273880005,0.361413091421127,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.026252631098032,6,2,8.0 +6.78266954421997,0.36104542016983,10.5320959091187,0,1,0,0,2.86372566223145,0.6931471824646,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0337632931768894,6,2,8.0 +7.3509578704834,0.361426711082458,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,1,0.0308395586907864,6,2,8.0 +7.6989278793335,0.361610651016235,11.6952466964722,0,0,0,1,2.86372566223145,1.0986123085022,3.61091780662537,1.3862943649292,0,0,0,0,0,1,0,1,0.0263916235417128,6,2,8.0 +7.01526784896851,0.361522793769836,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,1,0.02557522803545,6,2,8.0 +7.35739707946777,0.361610323190689,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0250080488622189,6,2,8.0 +4.36624431610107,0.363582789897919,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0009439662680961,6,2,8.0 +7.45347738265991,0.361412674188614,11.6952466964722,1,0,0,0,2.86372566223145,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0206434559077024,6,3,8.0 +7.65186405181885,0.361564815044403,11.6952466964722,0,0,0,1,2.86372566223145,1.0986123085022,3.89182019233704,1.60943794250488,0,0,0,0,1,0,0,0,0.0251771565526724,6,3,8.0 +7.70712232589722,0.362023234367371,11.2580327987671,0,1,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0412176996469498,6,1,8.0 +7.56901121139526,0.361587226390839,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,1,0.0231757592409849,6,2,8.0 +6.88062286376953,0.361390650272369,10.5320959091187,0,0,1,0,2.86372566223145,1.3862943649292,4.11087369918823,1.7917594909668,0,0,0,0,1,0,0,1,0.0372507721185684,6,2,8.0 +7.65070390701294,0.361619770526886,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0251493491232395,6,1,8.0 +7.4199161529541,0.361462235450745,11.6952466964722,1,0,0,0,2.86372566223145,1.0986123085022,3.465735912323,1.60943794250488,0,0,0,0,1,0,0,1,0.0199631191790104,6,3,8.0 +7.05752277374268,0.361353278160095,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,0,0.0138929877430201,6,1,8.0 +5.1614089012146,0.360138922929764,7.82404613494873,0,0,1,0,2.86372566223145,0.0,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,1,0.100008696317673,6,2,8.0 +7.10981559753418,0.361342310905457,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0146386651322246,6,2,8.0 +7.1352219581604,0.361275553703308,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0150143392384052,6,2,8.0 +7.78553915023804,0.361349284648895,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,1,0.0287718251347542,6,2,8.0 +7.18062257766724,0.361234575510025,11.0429220199585,0,0,0,1,2.86372566223145,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0301652550697327,6,3,8.0 +7.92937517166138,0.361502289772034,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.8712010383606,1.3862943649292,0,1,0,0,0,0,0,0,0.033227764070034,6,2,8.0 +7.68880653381348,0.361536651849747,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0348319001495838,6,1,8.0 +7.45618200302124,0.361589223146439,11.0429220199585,0,0,0,1,2.86372566223145,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,0,1,0,1,0.0397497937083244,6,2,8.0 +7.38949155807495,0.36140501499176,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,1,0.0193637926131487,6,2,8.0 +7.41731309890747,0.361602932214737,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,1,0.019914023578167,6,1,8.0 +7.29051351547241,0.361440241336823,10.3889951705933,1,0,0,0,2.86372566223145,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,1,0.064761646091938,6,1,8.0 +7.6242413520813,0.361485421657562,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,0,0.0244892705231905,6,2,8.0 +7.29711818695068,0.361355781555176,11.1198825836182,0,1,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0313855037093163,6,1,8.0 +8.18052101135254,0.361680239439011,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0820258408784866,6,2,8.0 +7.76744508743286,0.361520975828171,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,4.27666616439819,1.3862943649292,1,0,0,0,0,0,0,1,0.0282607600092888,6,2,8.0 +6.62288331985474,0.361582070589066,10.5320959091187,0,1,0,0,2.86372566223145,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,0,0,0,0,0.0287927705794573,6,2,8.0 +7.69581127166748,0.361640870571136,10.5320959091187,0,0,0,1,2.86372566223145,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,1,0.0841929614543915,6,2,8.0 +5.42345905303955,0.360941648483276,10.2219409942627,0,1,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0118249878287315,6,2,8.0 +7.28585910797119,0.361446052789688,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0288964509963989,6,1,8.0 +7.49376583099365,0.361514985561371,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,1,0,0,1,0.0286591053009033,6,2,8.0 +7.09736585617065,0.361413985490799,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,1,0.027760474011302,6,1,8.0 +7.07662105560303,0.361445546150208,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,1,0.0141621772199869,6,1,8.0 +4.10282039642334,0.363582789897919,10.5320959091187,1,0,0,0,2.86372566223145,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,0,0,0,0,0.0023211492225527,6,2,8.0 +6.520432472229,0.361115962266922,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0081177791580557,6,2,8.0 +7.97773313522339,0.361513316631317,11.1913414001465,1,0,0,0,2.86372566223145,1.0986123085022,2.94443893432617,1.3862943649292,0,0,0,1,0,0,0,0,0.057723231613636,6,3,8.0 +6.94762945175171,0.361603170633316,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,0,1,0,1,0.0206073168665171,6,2,8.0 +6.98291969299316,0.361336350440979,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0128940287977457,6,2,8.0 +7.07259368896484,0.361509501934052,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,1,0,0,0,0,1,0.0141061563044786,6,1,8.0 +8.50000762939453,0.361364156007767,11.6952466964722,1,0,0,0,2.86372566223145,1.3862943649292,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,1,0.0587846115231514,6,3,8.0 +3.65179514884949,0.363582789897919,9.43348407745361,1,0,0,0,2.86372566223145,0.0,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0044355392456054,6,1,8.0 +7.35366725921631,0.361334025859833,11.6952466964722,0,0,0,1,2.86372566223145,1.3862943649292,3.76120018959045,1.94591009616852,0,0,0,0,0,1,0,1,0.018681051209569,6,3,8.0 +7.07539558410645,0.361519396305084,11.0429220199585,1,0,0,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,1,0.0271600857377052,6,2,8.0 +7.36296701431274,0.361673176288605,11.1198825836182,0,1,0,0,2.86372566223145,0.6931471824646,3.78418970108032,1.0986123085022,1,0,0,0,0,0,0,1,0.0335324183106422,6,1,8.0 +7.24834489822388,0.361424624919891,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,1,0.0168151091784239,6,2,8.0 +5.34805154800415,0.360727101564407,11.1198825836182,0,0,0,1,2.86372566223145,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,0,1,0,1,0.0044667059555649,6,2,8.0 +7.02707815170288,0.361451715230942,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,0,0.0134777221828699,6,2,8.0 +6.85105991363525,0.361160904169083,10.7684850692749,1,0,0,0,2.86372566223145,1.0986123085022,3.63758611679077,1.7917594909668,0,0,0,0,0,1,0,0,0.0285452660173178,6,2,8.0 +7.53231334686279,0.361121356487274,10.2219409942627,0,0,0,1,2.86372566223145,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0974411815404892,6,2,8.0 +7.15916967391968,0.361510336399078,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,1,0.015381851233542,6,1,8.0 +7.31577348709106,0.361381947994232,11.1198825836182,0,1,0,0,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,1,0.0319773480296135,6,1,8.0 +7.31826734542847,0.361524701118469,10.3889951705933,0,1,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.3862943649292,0,0,1,0,0,0,0,0,0.0665898248553276,6,2,8.0 +6.57236909866333,0.361700654029846,11.2580327987671,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0132472719997168,6,2,8.0 +8.10151672363281,0.361783355474472,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0394805744290352,6,2,8.0 +6.41047763824463,0.361116707324982,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,1,0.0096966894343495,6,1,8.0 +6.23613500595093,0.360918641090393,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,0,1,0,1,0.0061077722348272,6,1,8.0 +7.23302173614502,0.361618787050247,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,1,0.0274140015244484,6,2,8.0 +6.20611715316772,0.360790401697159,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,0,1,0,1,0.0189644563943148,6,2,8.0 +7.77443838119507,0.361455768346786,11.2580327987671,0,1,0,0,2.86372566223145,1.0986123085022,3.82864141464233,1.60943794250488,0,0,1,0,0,0,0,0,0.0440628081560135,6,3,8.0 +6.61291646957397,0.36058047413826,11.1913414001465,0,0,1,0,2.86372566223145,0.0,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,0,0.0147303557023406,6,1,8.0 +7.48211526870728,0.361342251300812,10.3889951705933,0,0,1,0,2.86372566223145,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,1,0.0784308686852455,6,2,8.0 +7.42660474777222,0.361540049314499,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,0,0,0,0,1,0.0200986545532942,6,1,8.0 +7.15978860855103,0.361445128917694,10.5320959091187,0,1,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,1,0.0492491759359837,6,2,8.0 +7.66817855834961,0.36148127913475,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,1,0.0255891401320696,6,3,8.0 +7.29596948623657,0.361286997795105,10.7684850692749,0,0,0,1,2.86372566223145,1.0986123085022,3.85014748573303,1.7917594909668,0,0,0,0,0,1,0,0,0.0445462055504322,6,2,8.0 +7.1565728187561,0.361421316862106,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0153405908495188,6,2,8.0 +7.90330076217651,0.361486911773682,11.1198825836182,0,0,0,1,2.86372566223145,1.0986123085022,3.97029185295105,1.7917594909668,0,0,0,0,1,0,0,1,0.0575503334403038,6,2,8.0 +7.38138771057129,0.361575603485107,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0192107763141394,6,2,8.0 +7.02381801605225,0.361115634441376,10.5320959091187,0,1,0,0,2.86372566223145,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,1,0.0429738983511925,6,2,8.0 +6.80756139755249,0.361411184072495,10.2219409942627,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,0,0.0472185276448727,6,2,8.0 +7.3010082244873,0.361359775066376,10.8685684204102,0,0,0,1,2.86372566223145,1.0986123085022,3.36729574203491,1.7917594909668,0,0,0,0,0,1,0,0,0.0405102446675301,6,2,8.0 +6.86648559570312,0.360971242189407,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,4.11087369918823,1.0986123085022,0,0,1,0,0,0,0,1,0.0114726396277547,6,1,8.0 +6.63145160675049,0.361231774091721,9.76995658874512,0,0,1,0,2.86372566223145,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,1,0,0,0,0.0622079186141491,6,2,8.0 +6.54477119445801,0.361479103565216,10.7684850692749,0,1,0,0,2.86372566223145,1.0986123085022,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,0,0.0210209731012583,6,2,8.0 +7.21449041366577,0.361428618431091,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0216739121824503,6,2,8.0 +7.28349637985229,0.361424803733826,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,1,0.0334400534629822,6,1,8.0 +7.01019430160522,0.36121854186058,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,1,0.0132489902898669,6,1,8.0 +6.12938737869263,0.36061903834343,10.8685684204102,0,0,1,0,2.86372566223145,0.6931471824646,4.29045963287354,1.0986123085022,1,0,0,0,0,0,0,1,0.0125433811917901,6,0,8.0 +7.11503410339355,0.361371874809265,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,0,0.0243570003658533,6,2,8.0 +6.99021434783936,0.361243218183517,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,0,1,0,1,0.0129872215911746,6,2,8.0 +7.86951351165771,0.361544370651245,11.4075651168823,1,0,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,1,0.041731171309948,6,1,8.0 +7.81629419326782,0.36167898774147,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,1,0.0296802334487438,6,2,8.0 +7.97127962112427,0.36172804236412,11.1198825836182,0,0,1,0,2.86372566223145,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,1,0.0616134442389011,6,1,8.0 +6.8412914276123,0.361242651939392,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.13549423217773,1.3862943649292,0,0,1,0,0,0,0,0,0.0282700844109058,6,2,8.0 +7.12458848953247,0.36132487654686,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0148562649264932,6,2,8.0 +7.17466306686401,0.361577272415161,10.3889951705933,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0576851740479469,6,2,8.0 +7.56844615936279,0.361724138259888,10.5320959091187,0,0,0,1,2.86372566223145,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,0,0,1,0,1,0.0741306617856026,6,1,8.0 +7.2703800201416,0.360867947340012,10.2219409942627,0,0,1,0,2.86372566223145,1.0986123085022,4.07753753662109,1.60943794250488,0,0,0,0,0,1,0,1,0.0749680548906326,6,3,8.0 +6.99078369140625,0.361496061086655,11.1913414001465,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.0215137712657452,6,2,8.0 +7.12640523910522,0.361427783966064,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0376037359237671,6,2,8.0 +7.39802217483521,0.361398875713348,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,1,0.0407573543488979,6,1,8.0 +7.21186065673828,0.361527264118195,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.021619126200676,6,2,8.0 +7.23684358596802,0.361523538827896,11.6952466964722,0,0,1,0,2.86372566223145,1.3862943649292,3.63758611679077,1.94591009616852,0,0,0,0,0,1,0,0,0.0166244618594646,6,1,8.0 +7.71024703979492,0.361338585615158,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0266847889870405,6,3,8.0 +7.5103006362915,0.361529171466827,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,0,1,0,1,0.0456062480807304,6,2,8.0 +5.54846000671387,0.3604916036129,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.0077541009522974,6,1,8.0 +7.38189840316772,0.361456692218781,10.9595403671265,1,0,0,0,2.86372566223145,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0401077717542648,6,2,8.0 +7.21434831619263,0.361433774232864,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0162532087415457,6,2,8.0 +7.11485147476196,0.361385345458984,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.60943794250488,0,1,0,0,0,0,0,0,0.0307058077305555,6,2,8.0 +7.21467447280884,0.361289501190186,10.6572589874268,0,0,0,1,2.86372566223145,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0458997525274754,6,3,8.0 +7.52790832519531,0.361590623855591,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.97029185295105,1.3862943649292,0,0,0,0,0,1,0,1,0.0222425553947687,6,2,8.0 +7.57266569137573,0.361615806818008,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,0,1,0,1,0.0232612658292055,6,1,8.0 +5.92294549942017,0.361282020807266,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.0112852659076452,6,1,8.0 +6.95212459564209,0.361408442258835,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,0,1,0,0,0.0125039061531425,6,2,8.0 +7.00920152664185,0.361338257789612,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0334419123828411,6,1,8.0 +7.69421291351318,0.361489742994308,11.2580327987671,0,0,1,0,2.86372566223145,1.7917594909668,3.25809645652771,1.94591009616852,0,0,0,0,1,0,0,1,0.0406673140823841,6,5,8.0 +6.55426168441772,0.360408306121826,11.4075651168823,0,0,0,1,2.86372566223145,1.0986123085022,3.04452252388,1.3862943649292,0,0,0,0,1,0,0,1,0.0111882053315639,6,3,8.0 +6.63765096664429,0.361135900020599,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0292080938816071,6,1,8.0 +7.03240394592285,0.361425220966339,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.94591009616852,0,0,0,1,0,0,0,1,0.0135493353009224,6,1,8.0 +7.60074710845947,0.361610323190689,11.6952466964722,0,0,0,1,2.86372566223145,1.0986123085022,2.99573230743408,1.3862943649292,0,0,0,0,1,0,0,1,0.0239236112684011,6,2,8.0 +6.38039064407349,0.360406398773193,10.3889951705933,0,0,0,1,2.86372566223145,1.0986123085022,4.18965482711792,1.7917594909668,0,0,0,0,1,0,0,1,0.0260379984974861,6,1,8.0 +6.04660940170288,0.360734641551971,10.2219409942627,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0220465902239084,6,2,8.0 +7.67248153686523,0.361596286296844,11.4075651168823,1,0,0,0,2.86372566223145,1.0986123085022,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,1,0.034269917756319,6,4,8.0 +7.35742950439453,0.36140701174736,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0391363352537155,6,2,8.0 +7.34462022781372,0.361516296863556,11.1198825836182,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0329176522791386,6,1,8.0 +7.33151435852051,0.361479341983795,11.2580327987671,0,0,1,0,2.86372566223145,0.0,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,1,0.0282958745956421,6,1,8.0 +7.33853197097778,0.361533254384995,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,0,1,0,1,0.030461959540844,6,2,8.0 +7.61975049972534,0.361657381057739,11.4075651168823,0,1,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,1,0.0325116366147995,6,2,8.0 +7.35176086425781,0.361488074064255,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,1,0.0248644519597292,6,2,8.0 +7.48886108398438,0.361472547054291,11.6952466964722,1,0,0,0,2.86372566223145,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0213882531970739,6,3,8.0 +7.60856533050537,0.361396223306656,11.4075651168823,0,0,1,0,2.86372566223145,1.0986123085022,3.76120018959045,2.0794415473938,0,0,0,0,1,0,0,1,0.0321416296064854,6,1,8.0 +7.05978775024414,0.36105489730835,10.3889951705933,1,0,0,0,2.86372566223145,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0513981617987156,6,2,8.0 +7.05620241165161,0.361383020877838,11.0429220199585,0,0,0,1,2.86372566223145,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,1,0,0,0,0.0266401283442974,6,2,8.0 +7.3759241104126,0.361274123191833,10.5320959091187,0,0,1,0,2.86372566223145,1.0986123085022,3.98898410797119,1.7917594909668,0,0,0,0,1,0,0,0,0.0611211247742176,6,2,8.0 +7.45281648635864,0.361165136098862,11.6952466964722,1,0,0,0,2.86372566223145,0.0,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,1,0.0206247065216303,6,2,8.0 +7.26001834869385,0.361542969942093,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0170145593583584,6,2,8.0 +7.45486402511597,0.361623585224152,9.43348407745361,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,1,0.198494046926498,6,1,8.0 +7.13186407089233,0.361429363489151,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0199550781399012,6,2,8.0 +6.40478181838989,0.360919386148453,9.76995658874512,0,1,0,0,2.86372566223145,1.0986123085022,4.20469284057617,1.60943794250488,0,0,0,0,0,1,0,0,0.0495756864547729,6,1,8.0 +5.95676612854004,0.361191630363464,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,1,0.0046203290112316,6,1,8.0 +7.02422571182251,0.36141574382782,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.022243607789278,6,1,8.0 +6.22018957138062,0.361263424158096,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,1,0.0080176349729299,6,1,8.0 +7.60022830963135,0.361712783575058,10.9595403671265,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0499067418277264,6,2,8.0 +6.90918731689453,0.361440241336823,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,1,0,1,0.0198269300162792,6,1,8.0 +7.34144496917725,0.361576586961746,10.7684850692749,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0466322265565395,6,1,8.0 +6.1847620010376,0.361416071653366,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0077397408895194,6,1,8.0 +7.54864740371704,0.361529260873795,11.2580327987671,0,0,0,1,2.86372566223145,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,0,1,0,0,1,0.035159632563591,6,1,8.0 +6.43303823471069,0.360971659421921,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,1,0.0074373777024447,6,2,8.0 +7.44189310073853,0.361617207527161,10.7684850692749,1,0,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,1,0.0515617728233337,6,2,8.0 +7.13260555267334,0.361389338970184,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.7917594909668,0,0,1,0,0,0,0,1,0.0149768134579062,6,2,8.0 +6.47991228103638,0.361679404973984,10.7684850692749,0,0,0,1,2.86372566223145,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0197047926485538,6,1,8.0 +8.17490291595459,0.361681044101715,10.5320959091187,0,0,0,1,2.86372566223145,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,1,0.135943993926048,6,4,8.0 +7.04066801071167,0.361441731452942,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,1,0.0136619945988059,6,2,8.0 +7.47754907608032,0.361525684595108,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,1,0.021148793399334,6,2,8.0 +7.00753116607666,0.361503601074219,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0176233556121588,6,2,8.0 +7.32250595092773,0.361575931310654,10.5320959091187,0,0,0,1,2.86372566223145,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0579592995345592,6,3,8.0 +7.52828311920166,0.361575186252594,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.78418970108032,1.7917594909668,1,0,0,0,0,0,0,1,0.0222505461424589,6,2,8.0 +7.61689615249634,0.361634224653244,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,1,0,0,0,0.0243136715143919,6,2,8.0 +6.55585193634033,0.361051738262177,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.016147043555975,6,2,8.0 +6.3800573348999,0.360868126153946,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,1,0.0070528634823858,6,1,8.0 +7.04144954681396,0.361496061086655,10.8685684204102,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0312535278499126,6,1,8.0 +7.14326190948486,0.361493974924088,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,0,0.0151388514786959,6,2,8.0 +8.32414054870605,0.361610144376755,11.4075651168823,0,0,1,0,2.86372566223145,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0657553374767303,6,4,8.0 +7.39306211471558,0.361395239830017,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0259104873985052,6,2,8.0 +7.79277992248535,0.361805498600006,11.2580327987671,0,0,0,1,2.86372566223145,1.0986123085022,4.12713432312012,1.3862943649292,0,0,0,1,0,0,0,1,0.0448941476643085,6,1,8.0 +7.18755054473877,0.361543536186218,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0158251784741879,6,2,8.0 +6.54968786239624,0.361603081226349,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0111504681408405,6,2,8.0 +7.74011278152466,0.377071410417557,11.0429220199585,0,0,1,0,1.85373759269714,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0536251217126846,8,2,7.0 +6.84853458404541,0.376948744058609,10.5320959091187,0,1,0,0,1.85373759269714,0.6931471824646,3.29583692550659,1.60943794250488,0,0,0,1,0,0,0,0,0.0366400741040707,8,1,7.0 +7.65850400924683,0.376966655254364,11.1198825836182,0,1,0,0,1.85373759269714,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0457569286227226,8,2,7.0 +6.92526817321777,0.376832783222198,11.6952466964722,1,0,0,0,1.85373759269714,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,0,0.0123617798089981,8,2,7.0 +7.4944920539856,0.376840323209763,11.1198825836182,0,0,0,1,1.85373759269714,0.0,3.71357202529907,0.6931471824646,0,0,0,0,1,0,0,0,0.0388304442167282,8,1,7.0 +7.34306144714355,0.376994043588638,10.7684850692749,0,0,1,0,1.85373759269714,1.0986123085022,2.94443893432617,1.60943794250488,0,0,0,0,1,0,0,0,0.0474333614110947,8,3,7.0 +7.44169616699219,0.377020537853241,10.6572589874268,0,1,0,0,1.85373759269714,0.6931471824646,3.04452252388,1.3862943649292,1,0,0,0,0,0,0,0,0.0585108697414398,8,2,7.0 +6.75214433670044,0.376840084791183,10.3889951705933,0,0,0,1,1.85373759269714,0.6931471824646,3.49650764465332,1.7917594909668,0,0,0,0,1,0,0,0,0.038387980312109,8,1,7.0 +6.73080205917358,0.377490013837814,10.9595403671265,1,0,0,0,1.85373759269714,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0212531946599483,8,2,7.0 +6.96369457244873,0.376394599676132,10.9595403671265,0,1,0,0,1.85373759269714,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,0,0,0,0,0.0267973784357309,8,2,7.0 +7.31377792358398,0.376883655786514,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0243091266602278,8,1,7.0 +7.47198963165283,0.376816838979721,10.5320959091187,0,1,0,0,1.85373759269714,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.068337969481945,8,1,7.0 +7.50129079818726,0.37703549861908,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,1,0,0,0,0,0.021995423361659,8,2,7.0 +4.97503137588501,0.376736789941788,10.6572589874268,0,1,0,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,0,0,0,0.0049642599187791,8,2,7.0 +6.87705278396606,0.376882344484329,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0157072991132736,8,2,7.0 +6.95147705078125,0.376642048358917,10.7684850692749,0,0,1,0,1.85373759269714,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0320529565215111,8,2,7.0 +6.63406562805176,0.376780301332474,11.4075651168823,1,0,0,0,1.85373759269714,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0123176882043481,8,2,7.0 +7.39753484725952,0.377088487148285,11.6952466964722,0,1,0,0,1.85373759269714,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0198287200182676,8,1,7.0 +5.96446228027344,0.376053690910339,10.6572589874268,1,0,0,0,1.85373759269714,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0133432652801275,8,1,7.0 +6.94102096557617,0.376808345317841,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.29583692550659,1.7917594909668,0,0,0,0,1,0,0,0,0.0167436562478542,8,1,7.0 +7.22479009628296,0.376912206411362,10.0212707519531,1,0,0,0,1.85373759269714,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0889599993824959,8,2,7.0 +5.19438886642456,0.376066535711288,10.9595403671265,0,0,1,0,1.85373759269714,0.0,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0045661493204534,8,2,7.0 +7.20377779006958,0.376694411039352,11.6952466964722,0,0,1,0,1.85373759269714,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0163296200335026,8,3,7.0 +6.98412799835205,0.376835733652115,10.6572589874268,0,0,1,0,1.85373759269714,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0370200499892235,8,2,7.0 +7.88692283630371,0.37703076004982,11.1198825836182,1,0,0,0,1.85373759269714,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,0,0.0575023666024208,8,2,7.0 +7.86800193786621,0.377050548791885,11.1913414001465,0,0,1,0,1.85373759269714,1.3862943649292,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0525342859327793,8,3,7.0 +7.20408582687378,0.376886427402496,10.8685684204102,0,1,0,0,1.85373759269714,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0373435094952583,8,2,7.0 +7.58384275436401,0.376840710639954,10.8685684204102,1,0,0,0,1.85373759269714,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.054591067135334,8,1,7.0 +8.03803157806396,0.377091914415359,11.6952466964722,0,0,1,0,1.85373759269714,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.03762361779809,8,2,7.0 +7.76913928985596,0.377027571201324,11.6952466964722,0,1,0,0,1.85373759269714,1.3862943649292,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,0,0.028751078993082,8,2,7.0 +7.01560258865356,0.376975804567337,10.5320959091187,0,0,1,0,1.85373759269714,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,0,0.0433036759495735,8,2,7.0 +7.56653642654419,0.377093315124512,10.6572589874268,1,0,0,0,1.85373759269714,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,0,0.066295750439167,8,2,7.0 +6.78842258453369,0.37687474489212,11.1198825836182,1,0,0,0,1.85373759269714,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,0,1,0,0,0.0191666129976511,8,1,7.0 +5.81870889663696,0.3766830265522,10.3889951705933,1,0,0,0,1.85373759269714,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,0,0.0150918057188392,8,1,7.0 +6.79999446868896,0.376807361841202,11.4075651168823,0,0,0,1,1.85373759269714,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.0145412907004356,8,2,7.0 +6.84762811660767,0.37671110033989,11.1198825836182,0,0,1,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0203323140740395,8,1,7.0 +7.20872640609741,0.376907378435135,11.2580327987671,0,0,1,0,1.85373759269714,1.0986123085022,3.82864141464233,1.7917594909668,0,0,0,0,1,0,0,0,0.0254154149442911,8,2,7.0 +6.82046461105347,0.376764833927155,10.2219409942627,0,0,1,0,1.85373759269714,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0485718064010143,8,1,7.0 +8.0525598526001,0.377106636762619,10.5320959091187,1,0,0,0,1.85373759269714,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.122159242630005,8,2,7.0 +7.98888969421387,0.377073675394058,11.1913414001465,0,0,1,0,1.85373759269714,1.0986123085022,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0592862144112587,8,2,7.0 +6.39193773269653,0.376717954874039,10.8685684204102,0,0,0,1,1.85373759269714,0.6931471824646,3.68887948989868,1.0986123085022,0,1,0,0,0,0,0,0,0.0165741257369518,8,2,7.0 +6.20364236831665,0.37645760178566,10.6572589874268,0,1,0,0,1.85373759269714,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0169555582106113,8,2,7.0 +7.79095363616943,0.377063155174255,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0293862018734217,8,2,7.0 +7.15020227432251,0.377002477645874,11.4075651168823,0,1,0,0,1.85373759269714,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0206433851271868,8,1,7.0 +7.26675224304199,0.376856029033661,11.4075651168823,0,0,1,0,1.85373759269714,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0231917966157198,8,2,7.0 +8.3576602935791,0.377115786075592,11.4075651168823,0,0,1,0,1.85373759269714,1.3862943649292,3.80666255950928,1.7917594909668,1,0,0,0,0,0,0,0,0.0690593868494034,8,2,7.0 +7.64209127426147,0.377099692821503,10.8685684204102,0,1,0,0,1.85373759269714,1.0986123085022,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0578803457319736,8,2,7.0 +5.92854261398315,0.376646637916565,11.1198825836182,1,0,0,0,1.85373759269714,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0081097045913338,8,1,7.0 +7.79017448425293,0.377126663923264,11.1198825836182,1,0,0,0,1.85373759269714,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0522047653794289,8,1,7.0 +6.83143329620361,0.376783967018127,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0150053650140762,8,2,7.0 +6.35908651351929,0.376856029033661,9.76995658874512,0,1,0,0,1.85373759269714,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0481221079826355,8,2,7.0 +6.77936983108521,0.376461505889893,10.7684850692749,1,0,0,0,1.85373759269714,0.6931471824646,3.36729574203491,1.3862943649292,0,0,1,0,0,0,0,0,0.0269801579415798,8,2,7.0 +5.92321062088013,0.376822084188461,10.0212707519531,0,1,0,0,1.85373759269714,0.0,3.13549423217773,1.3862943649292,0,0,0,0,0,0,0,0,0.0242039877921343,8,1,7.0 +7.65835905075073,0.377026110887527,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0257360693067312,8,2,7.0 +6.22770500183105,0.376479506492615,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,0,0.0061514792032539,8,1,7.0 +6.95220613479614,0.376849383115768,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0126995136961341,8,1,7.0 +7.0441746711731,0.376890778541565,11.6952466964722,0,1,0,0,1.85373759269714,0.6931471824646,3.71357202529907,1.0986123085022,0,1,0,0,0,0,0,0,0.01392344199121,8,2,7.0 +7.09036684036255,0.377112209796906,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0145849091932178,8,2,7.0 +6.61276388168335,0.376883089542389,10.8685684204102,0,1,0,0,1.85373759269714,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0206731092184782,8,2,7.0 +5.85920381546021,0.376780599355698,11.4075651168823,0,0,0,1,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0056755905970931,8,2,7.0 +7.06202363967896,0.376926332712173,10.8685684204102,0,1,0,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,0,0,0,0.03239930793643,8,2,7.0 +6.7470498085022,0.376825839281082,10.7684850692749,0,0,0,1,1.85373759269714,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,0,0.0261316169053316,8,2,7.0 +6.81511640548706,0.376781672239304,10.2219409942627,1,0,0,0,1.85373759269714,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0483135581016541,8,1,7.0 +7.28757476806641,0.377011209726334,10.5320959091187,0,1,0,0,1.85373759269714,1.0986123085022,3.8712010383606,1.60943794250488,0,0,0,1,0,0,0,0,0.0568402744829655,8,3,7.0 +7.8221640586853,0.377092242240906,10.7684850692749,0,0,1,0,1.85373759269714,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0765945836901665,8,1,7.0 +5.7675142288208,0.376841455698013,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0038839937187731,8,1,7.0 +7.24279260635376,0.376887172460556,11.4075651168823,1,0,0,0,1.85373759269714,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0226434357464314,8,2,7.0 +6.33118152618408,0.376681089401245,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.80666255950928,1.3862943649292,0,1,0,0,0,0,0,0,0.0090979859232902,8,2,7.0 +6.7302131652832,0.376823872327805,11.1913414001465,0,0,1,0,1.85373759269714,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0168348383158445,8,2,7.0 +7.65685033798218,0.376750588417053,11.4075651168823,0,1,0,0,1.85373759269714,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,0,0,0,0,0,0.0342535823583603,8,2,7.0 +7.14277219772339,0.377028465270996,11.1198825836182,0,0,1,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0273214764893055,8,2,7.0 +6.88528156280518,0.376846373081207,11.4075651168823,1,0,0,0,1.85373759269714,1.0986123085022,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,0,0.0158365108072758,8,2,7.0 +6.13574457168579,0.376817256212234,10.5320959091187,1,0,0,0,1.85373759269714,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,0,0.0179613307118416,8,2,7.0 +7.18705987930298,0.376653671264648,11.4075651168823,1,0,0,0,1.85373759269714,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0214109849184752,8,2,7.0 +7.40967416763306,0.37709978222847,11.0429220199585,0,0,1,0,1.85373759269714,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0385365635156631,8,2,7.0 +7.73647880554199,0.376958250999451,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0278252903372049,8,1,7.0 +7.43890571594238,0.37707245349884,10.3889951705933,0,1,0,0,1.85373759269714,0.6931471824646,3.33220458030701,1.7917594909668,0,0,0,1,0,0,0,0,0.0763049572706223,8,1,7.0 +7.467848777771,0.376928865909576,11.2580327987671,1,0,0,0,1.85373759269714,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0329338125884533,8,2,7.0 +7.20700979232788,0.376898378133774,10.8685684204102,0,0,0,1,1.85373759269714,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0374533124268055,8,2,7.0 +7.72712659835815,0.37708768248558,11.1913414001465,0,0,1,0,1.85373759269714,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,0,1,0,0,0.0456328354775906,8,2,7.0 +7.27288007736206,0.376753956079483,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.02333196811378,8,1,7.0 +7.11485910415649,0.376485079526901,10.7684850692749,0,0,1,0,1.85373759269714,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0377359911799431,8,1,7.0 +6.69205570220947,0.376883417367935,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,1,0,0,0,0.0130544528365135,8,1,7.0 +6.84121179580688,0.340855628252029,10.8685684204102,0,1,0,0,2.22900533676147,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0250595323741436,9,1,0.0 +7.14920854568481,0.340881317853928,10.5320959091187,0,1,0,0,2.22900533676147,1.3862943649292,3.91202306747437,1.3862943649292,0,1,0,0,0,0,0,1,0.0477390103042126,9,3,0.0 +7.00847291946411,0.340864628553391,11.4075651168823,0,1,0,0,2.22900533676147,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0172796174883842,9,2,0.0 +6.63547086715698,0.340832144021988,10.7684850692749,0,1,0,0,2.22900533676147,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0225463509559631,9,2,0.0 +7.42297744750977,0.34083953499794,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,1,0.0196156017482281,9,1,0.0 +6.95953941345215,0.34086275100708,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0123407943174243,9,1,0.0 +7.21257543563843,0.3410624563694,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.0158972516655922,9,2,0.0 +6.6775803565979,0.340840965509415,11.1913414001465,0,0,1,0,2.22900533676147,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,1,0.015407195314765,9,2,0.0 +7.22786712646484,0.340886324644089,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0161393713206053,9,2,0.0 +6.80905389785767,0.340789258480072,11.0429220199585,0,0,1,0,2.22900533676147,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,0,1,0,0,0,0.0203824993222952,9,2,0.0 +7.06018209457397,0.340889126062393,11.1198825836182,1,0,0,0,2.22900533676147,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.0242627784609795,9,3,0.0 +7.03418302536011,0.34085801243782,10.9595403671265,1,0,0,0,2.22900533676147,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,1,0.0277505684643984,9,2,0.0 +7.32519721984863,0.34087461233139,11.0429220199585,0,1,0,0,2.22900533676147,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,1,0.0341548696160316,9,2,0.0 +6.88280773162842,0.340845704078674,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,1,0.0114290881901979,9,2,0.0 +7.33823108673096,0.340901076793671,10.5320959091187,0,1,0,0,2.22900533676147,0.6931471824646,3.25809645652771,1.0986123085022,0,0,1,0,0,0,0,0,0.0576731264591217,9,2,0.0 +7.37211656570435,0.340888530015945,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,1,0.0186437908560038,9,1,0.0 +7.70349216461182,0.340888172388077,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,1,0.025968611240387,9,2,0.0 +6.63808298110962,0.341335088014603,11.4075651168823,0,0,1,0,2.22900533676147,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,1,0.0119365891441703,9,3,0.0 +7.32296848297119,0.341416627168655,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.49650764465332,1.0986123085022,1,0,0,0,0,0,0,0,0.0177590157836676,9,2,0.0 +7.83292484283447,0.340876907110214,11.6952466964722,0,1,0,0,2.22900533676147,1.3862943649292,3.40119743347168,1.60943794250488,0,0,1,0,0,0,0,0,0.0295566860586405,9,3,0.0 +7.52775621414185,0.340864449739456,11.6952466964722,0,1,0,0,2.22900533676147,1.0986123085022,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,1,0.0217829830944538,9,2,0.0 +6.20628070831299,0.3409623503685,11.4075651168823,1,0,0,0,2.22900533676147,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0077479905448854,9,2,0.0 +7.48985147476196,0.340889275074005,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,0,0.0209732782095671,9,2,0.0 +7.18433380126953,0.340905994176865,11.1198825836182,0,1,0,0,2.22900533676147,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0274704862385988,9,2,0.0 +6.14966630935669,0.340730756521225,11.4075651168823,0,0,1,0,2.22900533676147,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0073198336176574,9,2,0.0 +7.15787410736084,0.340817987918854,11.1198825836182,0,1,0,0,2.22900533676147,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.026750797405839,9,2,0.0 +7.11395835876465,0.340862661600113,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.01440145727247,9,1,0.0 +6.53515148162842,0.340813845396042,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,1,0.0080725820735096,9,1,0.0 +7.47205924987793,0.340902268886566,11.2580327987671,0,0,1,0,2.22900533676147,1.3862943649292,3.95124363899231,1.60943794250488,0,0,1,0,0,0,0,0,0.031902477145195,9,3,0.0 +7.36369800567627,0.340835124254227,11.4075651168823,0,0,1,0,2.22900533676147,1.3862943649292,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,1,0.0246486850082874,9,3,0.0 +6.77727746963501,0.340848326683044,10.9595403671265,0,1,0,0,2.22900533676147,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0214632228016853,9,2,0.0 +7.02617073059082,0.340878427028656,11.0429220199585,1,0,0,0,2.22900533676147,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,1,0.0253272950649261,9,1,0.0 +8.80753898620605,0.340911328792572,11.6952466964722,0,1,0,0,2.22900533676147,1.3862943649292,3.78418970108032,1.94591009616852,1,0,0,0,0,0,0,1,0.0783322229981422,9,3,0.0 +7.37698316574097,0.340892851352692,11.1198825836182,0,0,1,0,2.22900533676147,0.6931471824646,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,0,0.0333063676953316,9,2,0.0 +6.63651847839355,0.340824514627457,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,1,0.0089338850229978,9,1,0.0 +6.71446228027344,0.340827822685242,10.8685684204102,0,0,1,0,2.22900533676147,0.6931471824646,4.12713432312012,1.0986123085022,0,0,1,0,0,0,0,0,0.0220756903290749,9,1,0.0 +8.62513446807861,0.340936154127121,10.7684850692749,0,0,1,0,2.22900533676147,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.164900243282318,9,1,0.0 +6.8320460319519,0.340874969959259,11.6952466964722,1,0,0,0,2.22900533676147,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0108637241646647,9,2,0.0 +8.98878192901611,0.340943723917007,11.1913414001465,0,1,0,0,2.22900533676147,0.6931471824646,3.58351898193359,1.7917594909668,0,0,1,0,0,0,0,1,0.155421271920204,9,1,0.0 +7.44223213195801,0.340871661901474,10.7684850692749,1,0,0,0,2.22900533676147,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,1,0.0505202412605286,9,2,0.0 +7.16119956970215,0.340878933668137,11.1913414001465,0,1,0,0,2.22900533676147,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,0,0.0249904096126556,9,2,0.0 +7.95520782470703,0.340962529182434,11.6952466964722,0,0,1,0,2.22900533676147,1.0986123085022,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,1,0.033404104411602,9,2,0.0 +7.86678457260132,0.340906739234924,11.1198825836182,0,1,0,0,2.22900533676147,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0543564707040787,9,2,0.0 +5.32820606231689,0.340718358755112,7.82404613494873,1,0,0,0,2.22900533676147,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,1,0,0,1,0.115889087319374,9,4,0.0 +6.94997119903564,0.340844690799713,10.9595403671265,0,0,1,0,2.22900533676147,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.0255089942365885,9,2,0.0 +7.81913042068481,0.340916842222214,11.4075651168823,0,0,1,0,2.22900533676147,0.6931471824646,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,0,0.0388705842196941,9,2,0.0 +7.53956460952759,0.340901404619217,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0220425371080637,9,2,0.0 +7.62373065948486,0.340867668390274,11.6952466964722,0,0,1,0,2.22900533676147,1.0986123085022,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,1,0.0239772796630859,9,2,0.0 +6.33442306518555,0.340804159641266,10.8685684204102,0,0,1,0,2.22900533676147,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.015095760114491,9,1,0.0 +8.19989681243896,0.34092515707016,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,1,0.0426629260182381,9,2,0.0 +6.11973190307617,0.340756088495255,9.76995658874512,0,0,1,0,2.22900533676147,0.6931471824646,4.39444923400879,1.3862943649292,0,0,1,0,0,0,0,0,0.0365356057882309,9,0,0.0 +7.41429281234741,0.340839445590973,11.4075651168823,0,0,1,0,2.22900533676147,1.0986123085022,4.07753753662109,1.3862943649292,0,0,0,1,0,0,0,0,0.0259279813617468,9,3,0.0 +7.32199573516846,0.34088471531868,11.4075651168823,0,1,0,0,2.22900533676147,0.6931471824646,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,1,0.0236430875957012,9,1,0.0 +6.94237470626831,0.340799927711487,11.0429220199585,1,0,0,0,2.22900533676147,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0232896264642477,9,2,0.0 +7.23364639282227,0.340890139341354,11.2580327987671,0,0,1,0,2.22900533676147,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0251349359750748,9,1,0.0 +7.28630542755127,0.340889275074005,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.93182563781738,1.0986123085022,1,0,0,0,0,0,0,0,0.0171106811612844,9,2,0.0 +6.9424262046814,0.194883719086647,10.9595403671265,0,1,0,0,0.882247805595398,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0218789521604776,12,2,4.0 +6.95064258575439,0.194912359118462,11.1913414001465,0,1,0,0,0.882247805595398,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.0174959320574999,12,2,4.0 +6.72014713287354,0.195133343338966,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,0,0.0083962799981236,12,2,4.0 +6.60189723968506,0.194531172513962,11.6952466964722,0,0,0,1,0.882247805595398,1.3862943649292,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0074553852900862,12,2,4.0 +7.55941295623779,0.19519267976284,10.9595403671265,0,0,1,0,0.882247805595398,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0405615493655205,12,3,4.0 +6.774986743927,0.194867432117462,10.9595403671265,0,0,1,0,0.882247805595398,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0185055267065763,12,2,4.0 +7.58466053009033,0.195043802261353,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,0,0.0199297312647104,12,2,4.0 +6.98732137680054,0.194789335131645,11.1913414001465,1,0,0,0,0.882247805595398,1.0986123085022,3.76120018959045,1.60943794250488,0,0,1,0,0,0,0,0,0.0181473400443792,12,1,4.0 +6.28251838684082,0.194155052304268,11.1913414001465,1,0,0,0,0.882247805595398,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,0,0.0089628361165523,12,2,4.0 +7.40608215332031,0.194853007793427,10.2219409942627,0,0,1,0,0.882247805595398,1.3862943649292,4.1588830947876,1.7917594909668,0,0,0,1,0,0,0,0,0.0727296471595764,12,1,4.0 +7.56024312973022,0.194994360208511,10.2219409942627,0,0,1,0,0.882247805595398,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0848641470074654,12,1,4.0 +7.49391174316406,0.195043206214905,11.4075651168823,0,0,0,1,0.882247805595398,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0242676790803671,12,2,4.0 +7.00276470184326,0.195004656910896,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.25809645652771,1.3862943649292,0,1,0,0,0,0,0,0,0.0111370552331209,12,2,4.0 +7.27202224731445,0.19503065943718,11.2580327987671,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.0986123085022,0,1,0,0,0,0,0,0,0.0225734673440456,12,2,4.0 +6.46999311447144,0.194587498903275,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.006534453947097,12,0,4.0 +7.72430229187012,0.194961607456207,11.1913414001465,0,1,0,0,0.882247805595398,1.0986123085022,4.04305124282837,1.7917594909668,1,0,0,0,0,0,0,0,0.0379275269806385,12,3,4.0 +7.04319667816162,0.194985628128052,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0292960442602634,12,1,4.0 +7.07149696350098,0.195115298032761,11.1198825836182,1,0,0,0,0.882247805595398,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0212102551013231,12,2,4.0 +6.80701303482056,0.194936484098434,10.5320959091187,0,0,1,0,0.882247805595398,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0293006170541048,12,1,4.0 +5.59248828887939,0.1946771889925,9.76995658874512,1,0,0,0,0.882247805595398,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,1,0,0,0,0,0.0186335630714893,12,2,4.0 +6.78254270553589,0.194892346858978,10.5320959091187,0,0,0,1,0.882247805595398,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.0285910591483116,12,1,4.0 +7.44390535354614,0.195066168904305,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0230845138430595,12,2,4.0 +8.3347110748291,0.195165619254112,11.4075651168823,0,1,0,0,0.882247805595398,1.0986123085022,3.68887948989868,1.7917594909668,0,1,0,0,0,0,0,0,0.0562646798789501,12,3,4.0 +7.12766599655151,0.194842308759689,11.4075651168823,1,0,0,0,0.882247805595398,0.6931471824646,4.07753753662109,1.0986123085022,0,0,0,1,0,0,0,0,0.0168221835047007,12,2,4.0 +6.87599611282349,0.1949692517519,10.6572589874268,0,1,0,0,0.882247805595398,0.6931471824646,3.13549423217773,1.3862943649292,0,1,0,0,0,0,0,0,0.0277007967233658,12,2,4.0 +6.89486598968506,0.194964155554771,11.2580327987671,1,0,0,0,0.882247805595398,0.6931471824646,4.02535152435303,1.0986123085022,0,0,0,1,0,0,0,1,0.015480050817132,12,2,4.0 +7.21509885787964,0.195075869560242,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0183634981513023,12,2,4.0 +6.34170436859131,0.195210725069046,10.2219409942627,1,0,0,0,0.882247805595398,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.025096520781517,12,1,4.0 +4.99510717391968,0.194160833954811,9.76995658874512,0,1,0,0,0.882247805595398,0.6931471824646,2.89037179946899,1.0986123085022,1,0,0,0,0,0,0,0,0.0102478405460715,12,2,4.0 +7.18791580200195,0.195000052452087,11.4075651168823,1,0,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,0,0.0178696978837252,12,2,4.0 +6.43167543411255,0.194969058036804,9.43348407745361,1,0,0,0,0.882247805595398,0.0,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0603955611586571,12,0,4.0 +6.72392559051514,0.194653645157814,10.5320959091187,0,0,0,1,0.882247805595398,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0269568748772144,12,2,4.0 +7.26292085647583,0.195016920566559,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0192618798464537,12,2,4.0 +8.29272270202637,0.195062920451164,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.0404591932892799,12,2,4.0 +6.68989419937134,0.194805026054382,11.2580327987671,0,0,0,1,0.882247805595398,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0126091344282031,12,1,4.0 +6.90091133117676,0.194911271333694,10.3889951705933,1,0,0,0,0.882247805595398,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0371358320116997,12,2,4.0 +8.11901092529297,0.195127665996552,11.4075651168823,0,1,0,0,0.882247805595398,1.3862943649292,3.89182019233704,1.7917594909668,1,0,0,0,0,0,0,0,0.0453463271260262,12,4,4.0 +6.97799253463745,0.194942370057106,10.7684850692749,0,0,1,0,0.882247805595398,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.027445575222373,12,2,4.0 +8.05097675323486,0.19516983628273,11.4075651168823,0,0,1,0,0.882247805595398,1.3862943649292,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,1,0.0423655956983566,12,3,4.0 +7.67938566207886,0.195112451910973,10.8685684204102,1,0,0,0,0.882247805595398,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0500831641256809,12,2,4.0 +7.26357650756836,0.195118740200996,10.7684850692749,0,0,0,1,0.882247805595398,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,1,0.0365238524973392,12,2,4.0 +7.70748424530029,0.195143058896065,10.8685684204102,0,1,0,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0515119694173336,12,2,4.0 +8.09304046630859,0.195160508155823,11.2580327987671,1,0,0,0,0.882247805595398,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0513119101524353,12,3,4.0 +7.20767068862915,0.195038005709648,10.3889951705933,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0504745282232761,12,0,4.0 +7.90500164031982,0.195189446210861,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0366122014820576,12,2,4.0 +6.1982421875,0.194785013794899,11.1198825836182,1,0,0,0,0.882247805595398,0.6931471824646,3.33220458030701,1.0986123085022,0,1,0,0,0,0,0,0,0.0088542671874165,12,2,4.0 +6.81488609313965,0.194895282387733,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0092284381389617,12,1,4.0 +7.23019170761108,0.194990336894989,11.0429220199585,0,0,1,0,0.882247805595398,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,1,0.0268432777374983,12,1,4.0 +7.03001689910889,0.194956600666046,10.8685684204102,0,0,1,0,0.882247805595398,1.0986123085022,3.85014748573303,1.7917594909668,0,0,0,0,1,0,0,1,0.0261581335216761,12,2,4.0 +7.2349910736084,0.194933250546455,10.7684850692749,1,0,0,0,0.882247805595398,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.0354880057275295,12,2,4.0 +8.39615917205811,0.195144042372704,11.4075651168823,0,1,0,0,0.882247805595398,1.3862943649292,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,0,0.0598291680216789,12,3,4.0 +7.3358211517334,0.19516658782959,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0392620414495468,12,2,4.0 +5.77545690536499,0.194509580731392,11.4075651168823,0,0,0,1,0.882247805595398,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,1,0.0043499171733856,12,2,4.0 +7.19755697250366,0.194970324635506,10.5320959091187,0,1,0,0,0.882247805595398,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0433014556765556,12,2,4.0 +7.32449960708618,0.194902941584587,10.9595403671265,0,0,1,0,0.882247805595398,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0320602655410767,12,2,4.0 +6.50432157516479,0.194634109735489,10.2219409942627,0,0,1,0,0.882247805595398,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,1,0.0295112021267414,12,1,4.0 +6.19702625274658,0.19509294629097,7.82404613494873,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.238848224282265,12,2,4.0 +7.32171010971069,0.195191413164139,11.1198825836182,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0272423774003983,12,2,4.0 +5.5853796005249,0.195248976349831,10.7684850692749,0,0,0,1,0.882247805595398,1.0986123085022,4.09434461593628,1.7917594909668,0,0,0,0,1,0,0,1,0.0068202670663595,12,1,4.0 +6.93329811096191,0.194935709238052,10.9595403671265,0,0,1,0,0.882247805595398,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0216812714934349,12,2,4.0 +7.57674026489258,0.195076465606689,10.9595403671265,0,1,0,0,0.882247805595398,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0412657000124454,12,3,4.0 +7.07061624526978,0.194715157151222,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0158873274922371,12,2,4.0 +6.62518692016602,0.194790124893188,11.0429220199585,1,0,0,0,0.882247805595398,0.0,3.49650764465332,0.6931471824646,0,0,0,1,0,0,0,0,0.0146554205566645,12,0,4.0 +6.91512012481689,0.195013791322708,10.8685684204102,1,0,0,0,0.882247805595398,0.6931471824646,4.20469284057617,1.0986123085022,0,0,0,1,0,0,0,0,0.023320222273469,12,1,4.0 +6.87004852294922,0.194562286138535,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,4.11087369918823,1.0986123085022,0,0,0,1,0,0,0,0,0.0097485529258847,12,1,4.0 +7.08911466598511,0.19504339993,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0121419513598084,12,2,4.0 +7.17957782745361,0.195040076971054,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0132915200665593,12,1,4.0 +7.24117136001587,0.195023208856583,11.2580327987671,1,0,0,0,0.882247805595398,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.021887518465519,12,2,4.0 +7.93601655960083,0.195236220955849,11.0429220199585,1,0,0,0,0.882247805595398,1.0986123085022,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.0543848909437656,12,3,4.0 +7.68953609466553,0.195158645510674,10.9595403671265,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.046196773648262,12,2,4.0 +6.9834508895874,0.194936200976372,10.2219409942627,0,1,0,0,0.882247805595398,0.6931471824646,3.13549423217773,1.7917594909668,0,1,0,0,0,0,0,0,0.0476651675999165,12,1,4.0 +6.7835578918457,0.194918438792229,10.2219409942627,0,0,0,1,0.882247805595398,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0390284284949303,12,2,4.0 +7.2333083152771,0.195040076971054,10.8685684204102,0,0,0,1,0.882247805595398,1.0986123085022,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0320576280355453,12,2,4.0 +7.34089946746826,0.195180222392082,10.0212707519531,0,1,0,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.083309642970562,12,2,4.0 +6.95534563064575,0.195125311613083,10.2219409942627,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.046352956444025,12,1,4.0 +6.60610008239746,0.194904312491417,10.8685684204102,0,0,1,0,0.882247805595398,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.017119038850069,12,2,4.0 +6.94293212890625,0.195012703537941,10.7684850692749,0,0,1,0,0.882247805595398,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0265018679201603,12,2,4.0 +5.93690586090088,0.194873213768005,9.43348407745361,1,0,0,0,0.882247805595398,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,1,0.0368203446269035,12,2,4.0 +7.42918252944946,0.195129916071892,11.1913414001465,0,1,0,0,0.882247805595398,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0282396152615547,12,2,4.0 +7.22071409225464,0.195098429918289,10.2219409942627,1,0,0,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0604385063052177,12,1,4.0 +7.31485462188721,0.194994166493416,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0152161475270987,12,2,4.0 +7.06245088577271,0.195005148649216,11.1198825836182,1,0,0,0,0.882247805595398,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0210169311612844,12,2,4.0 +7.80698680877686,0.195129916071892,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0248939581215382,12,2,4.0 +7.37950563430786,0.195009961724281,10.0212707519531,0,0,0,1,0.882247805595398,0.6931471824646,4.02535152435303,1.0986123085022,0,0,0,0,1,0,0,0,0.0865740701556206,12,1,4.0 +6.31561279296875,0.194457173347473,10.9595403671265,0,0,1,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.011684755794704,12,1,4.0 +7.37432956695557,0.195047631859779,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,0,0.0215325877070427,12,1,4.0 +7.1812219619751,0.194953754544258,10.3889951705933,0,1,0,0,0.882247805595398,1.0986123085022,4.06044292449951,1.60943794250488,0,0,1,0,0,0,0,0,0.0491528883576393,12,1,4.0 +6.98242473602295,0.195019468665123,11.2580327987671,1,0,0,0,0.882247805595398,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0168975070118904,12,2,4.0 +6.7600884437561,0.194950222969055,11.2580327987671,0,1,0,0,0.882247805595398,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0135279912501574,12,2,4.0 +7.40826654434204,0.195044979453087,10.9595403671265,1,0,0,0,0.882247805595398,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0348665043711662,12,2,4.0 +7.29205226898193,0.195037230849266,10.7684850692749,0,0,0,1,0.882247805595398,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,1,0,0,0,0.037575788795948,12,2,4.0 +7.42664051055908,0.195111572742462,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,1,0.0170178096741438,12,1,4.0 +8.10476016998291,0.195297807455063,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0447122864425182,12,2,4.0 +7.2946310043335,0.195085197687149,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0149128707125783,12,2,4.0 +8.1444091796875,0.195144325494766,11.0429220199585,0,0,1,0,0.882247805595398,0.6931471824646,3.43398714065552,1.0986123085022,0,1,0,0,0,0,0,0,0.0669795274734497,12,2,4.0 +7.20756864547729,0.194937080144882,11.1198825836182,1,0,0,0,0.882247805595398,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0242976117879152,12,3,4.0 +6.8700270652771,0.194811016321182,11.2580327987671,0,0,1,0,0.882247805595398,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0150979710742831,12,2,4.0 +7.13742923736572,0.195588618516922,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0322103649377823,12,2,4.0 +6.13280439376831,0.194497808814049,9.76995658874512,1,0,0,0,0.882247805595398,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0319796986877918,12,2,4.0 +6.47345542907715,0.195177093148232,9.76995658874512,1,0,0,0,0.882247805595398,1.3862943649292,4.04305124282837,1.7917594909668,0,0,0,1,0,0,0,0,0.0449896082282066,12,3,4.0 +7.37361860275269,0.195096462965012,11.1913414001465,1,0,0,0,0.882247805595398,1.0986123085022,3.89182019233704,1.60943794250488,1,0,0,0,0,0,0,0,0.0267124120146036,12,2,4.0 +7.14991092681885,0.19494266808033,10.2219409942627,0,0,0,1,0.882247805595398,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0562984868884087,12,2,4.0 +6.90670967102051,0.195191010832787,11.4075651168823,0,0,0,1,0.882247805595398,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0134919201955199,12,3,4.0 +7.36597871780396,0.194907739758492,11.6952466964722,1,0,0,0,0.882247805595398,1.0986123085022,4.00733327865601,1.0986123085022,0,0,0,0,1,0,0,0,0.0160129033029079,12,2,4.0 +6.75083446502686,0.194792971014977,10.3889951705933,0,0,1,0,0.882247805595398,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0319568775594234,12,1,4.0 +7.16136455535889,0.194962084293365,10.5320959091187,0,0,1,0,0.882247805595398,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,0,0.0417619496583939,12,0,4.0 +7.27180099487305,0.195084899663925,11.1913414001465,0,0,1,0,0.882247805595398,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,0,0.0241262204945087,12,1,4.0 +6.54805612564087,0.194764122366905,9.76995658874512,0,0,1,0,0.882247805595398,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0484542138874531,12,1,4.0 +8.04221820831299,0.195116475224495,11.6952466964722,1,0,0,0,0.882247805595398,1.0986123085022,3.8712010383606,1.60943794250488,0,0,1,0,0,0,0,0,0.0314954444766045,12,2,4.0 +7.32182884216309,0.195059686899185,10.2219409942627,1,0,0,0,0.882247805595398,1.0986123085022,3.93182563781738,1.3862943649292,0,0,1,0,0,0,0,0,0.0668668076395988,12,3,4.0 +7.36981916427612,0.195033997297287,10.2219409942627,0,1,0,0,0.882247805595398,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,0,0.0701522007584572,12,2,4.0 +7.38957548141479,0.19507685303688,10.9595403671265,0,1,0,0,0.882247805595398,0.6931471824646,3.04452252388,1.0986123085022,0,0,1,0,0,0,0,0,0.0342219620943069,12,2,4.0 +6.93767213821411,0.194878116250038,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,4.18965482711792,1.3862943649292,0,0,0,1,0,0,0,0,0.0139118414372206,12,2,4.0 +7.07440567016602,0.194947481155396,11.0429220199585,0,1,0,0,0.882247805595398,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.02296993881464,12,2,4.0 +7.21012258529663,0.195135697722435,10.5320959091187,0,0,1,0,0.882247805595398,0.6931471824646,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,0,0.0438562519848347,12,1,4.0 +6.26025629043579,0.19494491815567,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0053000142797827,12,1,4.0 +6.68377494812012,0.195119708776474,11.1198825836182,0,1,0,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0143933622166514,12,1,4.0 +7.02123117446899,0.194942086935043,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,1,0.0113439140841365,12,2,4.0 +7.8587327003479,0.195213958621025,10.5320959091187,1,0,0,0,0.882247805595398,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0838983431458473,12,2,4.0 +6.72957277297974,0.1949412971735,10.3889951705933,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0312892347574234,12,1,4.0 +7.31485891342163,0.194929137825966,11.1198825836182,0,1,0,0,0.882247805595398,0.6931471824646,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0270492769777775,12,1,4.0 +6.8757061958313,0.194995045661926,10.2219409942627,1,0,0,0,0.882247805595398,0.6931471824646,4.06044292449951,1.0986123085022,0,1,0,0,0,0,0,0,0.0427990220487118,12,2,4.0 +7.19120264053345,0.195016145706177,10.5320959091187,0,0,0,1,0.882247805595398,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0430291555821896,12,3,4.0 +8.6759557723999,0.195249855518341,10.8685684204102,0,1,0,0,0.882247805595398,1.0986123085022,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.135692626237869,12,2,4.0 +6.55738592147827,0.195099025964737,9.76995658874512,1,0,0,0,0.882247805595398,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0489247888326645,12,0,4.0 +7.86865615844727,0.195237889885902,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0264803282916546,12,2,4.0 +6.64937877655029,0.194890677928925,11.1913414001465,1,0,0,0,0.882247805595398,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0129446554929018,12,2,4.0 +7.22042894363403,0.194955810904503,9.76995658874512,0,0,0,1,0.882247805595398,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0949342027306557,12,2,4.0 +6.94135236740112,0.194953262805939,10.3889951705933,0,1,0,0,0.882247805595398,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0386700481176376,12,2,4.0 +7.61624145507812,0.195117756724358,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0274275969713926,12,2,4.0 +7.07653284072876,0.194999665021896,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0302895493805408,12,2,4.0 +5.99115324020386,0.194846823811531,10.2219409942627,0,1,0,0,0.882247805595398,0.0,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0176690462976694,12,1,4.0 +6.32480382919312,0.194937959313393,9.76995658874512,0,1,0,0,0.882247805595398,0.0,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0387658923864365,12,2,4.0 +7.77783870697021,0.195179730653763,10.2219409942627,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,0,1,0,0,0.105512797832489,12,2,4.0 +6.73173522949219,0.194761857390404,10.3889951705933,1,0,0,0,0.882247805595398,0.6931471824646,3.68887948989868,1.0986123085022,0,1,0,0,0,0,0,0,0.0313513390719891,12,1,4.0 +6.303542137146,0.194961994886398,10.5320959091187,0,0,0,1,0.882247805595398,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.0177105963230133,12,1,4.0 +7.32517671585083,0.194865465164185,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.0388346426188946,12,2,4.0 +6.42873477935791,0.194443434476852,10.7684850692749,1,0,0,0,0.882247805595398,1.0986123085022,3.25809645652771,1.60943794250488,0,0,0,0,1,0,0,0,0.0158385783433914,12,2,4.0 +5.82541275024414,0.194912940263748,10.2219409942627,0,0,1,0,0.882247805595398,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0149713717401028,12,2,4.0 +6.9550952911377,0.194686308503151,10.2219409942627,1,0,0,0,0.882247805595398,1.0986123085022,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,0,0.0463210046291351,12,2,4.0 +7.12951326370239,0.195006519556046,10.8685684204102,0,1,0,0,0.882247805595398,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0288961008191109,12,2,4.0 +7.46242380142212,0.195068910717964,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0445567220449448,12,2,4.0 +7.1883020401001,0.194997891783714,11.1198825836182,0,0,1,0,0.882247805595398,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0238354075700045,12,2,4.0 +7.70739269256592,0.195111572742462,11.4075651168823,0,0,1,0,0.882247805595398,1.0986123085022,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0300449468195438,12,2,4.0 +7.97860479354858,0.195216998457909,10.5320959091187,0,1,0,0,0.882247805595398,0.6931471824646,3.09104251861572,1.0986123085022,1,0,0,0,0,0,0,0,0.0945832952857018,12,2,4.0 +7.03211879730225,0.194647058844566,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0152862882241607,12,2,4.0 +7.0330605506897,0.194827795028687,10.7684850692749,0,0,1,0,0.882247805595398,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0289960242807865,12,2,4.0 +6.75654554367065,0.194906562566757,10.7684850692749,1,0,0,0,0.882247805595398,1.0986123085022,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0219929628074169,12,3,4.0 +7.77867078781128,0.195185527205467,11.1198825836182,1,0,0,0,0.882247805595398,0.6931471824646,3.63758611679077,0.6931471824646,0,1,0,0,0,0,0,0,0.0430227369070053,12,2,4.0 +6.27101850509644,0.194869488477707,10.6572589874268,0,1,0,0,0.882247805595398,1.0986123085022,3.7376697063446,1.0986123085022,0,0,0,0,0,0,0,0,0.015125528909266,12,1,4.0 +6.80043506622314,0.194866940379143,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0090957758948206,12,2,4.0 +5.72993516921997,0.194337531924248,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,0,0.0031167196575552,12,1,4.0 +7.30681562423706,0.195071265101433,10.7684850692749,0,0,1,0,0.882247805595398,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,0,0.0381359346210957,12,2,4.0 +7.48525285720825,0.194874092936516,11.6952466964722,0,0,1,0,0.882247805595398,1.3862943649292,3.76120018959045,1.60943794250488,0,0,1,0,0,0,0,0,0.0180407892912626,12,1,4.0 +7.15056276321411,0.194978773593903,11.6952466964722,0,0,0,1,0.882247805595398,0.6931471824646,3.95124363899231,1.7917594909668,0,0,0,1,0,0,0,1,0.0129106165841222,12,2,4.0 +7.09091329574585,0.195176601409912,10.2219409942627,1,0,0,0,0.882247805595398,0.0,3.85014748573303,1.7917594909668,0,0,1,0,0,0,0,0,0.0530854910612106,12,3,4.0 +7.80583047866821,0.195173844695091,11.1913414001465,0,1,0,0,0.882247805595398,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,0,0,0,0,0.0411579720675945,12,2,4.0 +6.84245204925537,0.194889888167381,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0094863148406148,12,1,4.0 +7.2433180809021,0.194993674755096,10.7684850692749,0,1,0,0,0.882247805595398,1.0986123085022,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,0,0.0357869043946266,12,2,4.0 +7.048752784729,0.194973766803741,10.9595403671265,0,1,0,0,0.882247805595398,0.6931471824646,3.33220458030701,1.60943794250488,0,0,1,0,0,0,0,0,0.024335628375411,12,2,4.0 +7.74157762527466,0.195109814405441,11.2580327987671,0,0,1,0,0.882247805595398,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,1,0,0,0,1,0.0361042097210884,12,2,4.0 +7.52136087417603,0.195115983486176,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0187086295336485,12,2,4.0 +7.85720205307007,0.195074394345284,10.9595403671265,0,1,0,0,0.882247805595398,1.3862943649292,3.82864141464233,1.60943794250488,1,0,0,0,0,0,0,0,0.0546249970793724,12,2,4.0 +7.22742033004761,0.195038110017776,11.2580327987671,0,0,1,0,0.882247805595398,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.021588921546936,12,2,4.0 +5.0511999130249,0.194585055112839,8.92265796661377,0,1,0,0,0.882247805595398,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0253019630908966,12,2,4.0 +6.89760255813599,0.194795325398445,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0100232381373644,12,2,4.0 +7.63561010360718,0.133167445659637,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.7917594909668,0,0,1,0,0,0,0,0,0.0630820766091347,13,1,4.0 +6.55536794662476,0.133177980780602,11.1198825836182,1,0,0,0,0.896659195423126,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,0,0.0118985697627068,13,2,4.0 +7.57651662826538,0.133245274424553,11.2580327987671,0,1,0,0,0.896659195423126,0.6931471824646,3.71357202529907,1.0986123085022,0,1,0,0,0,0,0,1,0.0287743359804153,13,2,4.0 +7.88037014007568,0.133137390017509,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.49650764465332,1.60943794250488,0,1,0,0,0,0,0,1,0.0335721857845783,13,1,4.0 +5.86404180526733,0.132777735590935,10.9595403671265,0,1,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,1,0.0069938749074935,13,2,4.0 +7.31016778945923,0.133212521672249,11.6952466964722,1,0,0,0,0.896659195423126,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,1,0.014237629249692,13,1,4.0 +7.84456825256348,0.133275330066681,11.4075651168823,1,0,0,0,0.896659195423126,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,1,0.0323959738016129,13,2,4.0 +7.26782369613647,0.133069768548012,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0181938502937555,13,2,4.0 +6.84498119354248,0.132963940501213,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,1,0.011919017881155,13,2,4.0 +6.49543619155884,0.132643699645996,10.2219409942627,0,1,0,0,0.896659195423126,1.0986123085022,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,0,0.0274919699877501,13,3,4.0 +7.43661832809448,0.132916659116745,10.8685684204102,0,1,0,0,0.896659195423126,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,1,0.0369188264012337,13,1,4.0 +7.88686609268188,0.133135408163071,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.97029185295105,1.0986123085022,0,0,0,0,0,0,0,0,0.081098198890686,13,1,4.0 +7.50032949447632,0.133249863982201,11.0429220199585,0,1,0,0,0.896659195423126,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0330629274249077,13,2,4.0 +6.76680517196655,0.133049517869949,10.3889951705933,0,0,1,0,0.896659195423126,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,1,0.0305270981043577,13,2,4.0 +7.59785175323486,0.13307748734951,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,0,0.0253079738467932,13,2,4.0 +7.20831060409546,0.133001312613487,11.4075651168823,1,0,0,0,0.896659195423126,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.0171415004879236,13,2,4.0 +7.07534742355347,0.133215129375458,11.1198825836182,0,1,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,1,0.0200140532106161,13,2,4.0 +7.57626152038574,0.133056730031967,10.5320959091187,1,0,0,0,0.896659195423126,1.0986123085022,3.95124363899231,2.30258512496948,0,0,0,0,1,0,0,0,0.0594406016170979,13,3,4.0 +7.23280334472656,0.133109837770462,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0131763201206923,13,2,4.0 +7.1341667175293,0.133259683847427,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,1,0.0119404830038548,13,2,4.0 +6.2853832244873,0.133003711700439,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,1,0.0051084468141198,13,2,4.0 +7.82841873168945,0.133244231343269,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,1,0.0239070039242506,13,2,4.0 +7.31887435913086,0.133118286728859,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,1,0.0191477108746767,13,1,4.0 +7.08741569519043,0.133071228861809,11.4075651168823,0,1,0,0,0.896659195423126,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,1,0.0151906087994576,13,3,4.0 +7.60740280151367,0.133092314004898,10.9595403671265,0,0,1,0,0.896659195423126,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,1,0.0399932190775871,13,3,4.0 +7.12988805770874,0.133106082677841,9.76995658874512,1,0,0,0,0.896659195423126,1.0986123085022,3.55534815788269,1.94591009616852,0,0,1,0,0,0,0,0,0.0815154984593391,13,2,4.0 +7.16360139846802,0.132854148745537,8.92265796661377,0,1,0,0,0.896659195423126,1.0986123085022,2.99573230743408,1.3862943649292,0,1,0,0,0,0,0,1,0.196675002574921,13,3,4.0 +7.13514375686646,0.13303679227829,11.1913414001465,1,0,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,1,0.0197784714400768,13,2,4.0 +7.21094131469727,0.133075296878815,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,1,0.0128909405320883,13,1,4.0 +5.95805072784424,0.132929816842079,10.0212707519531,0,1,0,0,0.896659195423126,0.6931471824646,3.43398714065552,1.60943794250488,1,0,0,0,0,0,0,0,0.0196379777044058,13,1,4.0 +7.14287233352661,0.132864996790886,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.8712010383606,1.60943794250488,0,1,0,0,0,0,0,0,0.0120401373133063,13,2,4.0 +6.63444471359253,0.132493659853935,11.2580327987671,1,0,0,0,0.896659195423126,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0112083675339818,13,1,4.0 +6.82995557785034,0.132935866713524,10.8685684204102,1,0,0,0,0.896659195423126,0.6931471824646,4.18965482711792,1.0986123085022,1,0,0,0,0,0,0,0,0.0201273243874311,13,1,4.0 +7.97209167480469,0.133253931999207,11.2580327987671,0,1,0,0,0.896659195423126,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,1,0.0427371151745319,13,2,4.0 +7.55362749099731,0.133168175816536,11.6952466964722,1,0,0,0,0.896659195423126,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,1,0.0181614980101585,13,2,4.0 +7.39653778076172,0.132999643683434,11.2580327987671,0,1,0,0,0.896659195423126,1.0986123085022,3.7376697063446,1.60943794250488,1,0,0,0,0,0,0,1,0.0240289513021708,13,3,4.0 +7.55818367004395,0.133162438869476,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0243257749825716,13,2,4.0 +7.04910516738892,0.133104830980301,10.6572589874268,0,1,0,0,0.896659195423126,0.6931471824646,3.25809645652771,1.3862943649292,0,1,0,0,0,0,0,0,0.0309603102505207,13,2,4.0 +7.28916501998901,0.132979810237885,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0139384754002094,13,2,4.0 +6.65567874908447,0.132881909608841,11.1198825836182,0,1,0,0,0.896659195423126,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,1,0.013150149025023,13,1,4.0 +7.06592464447021,0.133111089468002,11.2580327987671,0,0,1,0,0.896659195423126,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,1,0.0172663200646639,13,2,4.0 +7.39564323425293,0.133064866065979,11.6952466964722,0,0,1,0,0.896659195423126,1.0986123085022,3.76120018959045,1.94591009616852,0,0,1,0,0,0,0,1,0.0155058363452554,13,2,4.0 +6.496178150177,0.132617801427841,10.9595403671265,0,0,1,0,0.896659195423126,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0131577523425221,13,2,4.0 +7.86305570602417,0.133364945650101,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0247525572776794,13,1,4.0 +7.05109786987305,0.133051812648773,10.9595403671265,0,0,1,0,0.896659195423126,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0229281391948462,13,2,4.0 +6.89403438568115,0.133224099874496,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0125215221196413,13,2,4.0 +7.48562622070312,0.133070081472397,10.6572589874268,0,0,1,0,0.896659195423126,1.0986123085022,2.99573230743408,1.3862943649292,0,0,0,0,1,0,0,1,0.0479036793112755,13,3,4.0 +7.46170043945312,0.132966756820679,11.6952466964722,0,0,0,1,0.896659195423126,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,1,0.0165630672127008,13,2,4.0 +7.47119188308716,0.133148342370987,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.49650764465332,1.0986123085022,1,0,0,0,0,0,0,0,0.0222987439483404,13,2,4.0 +7.79884147644043,0.133108586072922,11.6952466964722,0,1,0,0,0.896659195423126,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,1,0.0232071038335562,13,2,4.0 +6.89574146270752,0.133244857192039,10.5320959091187,1,0,0,0,0.896659195423126,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0301036182790995,13,2,4.0 +7.45538187026978,0.133211061358452,10.9595403671265,0,0,1,0,0.896659195423126,1.0986123085022,3.58351898193359,1.7917594909668,0,0,0,1,0,0,0,1,0.0343570671975613,13,4,4.0 +6.54763126373291,0.133132591843605,11.1913414001465,0,1,0,0,0.896659195423126,0.6931471824646,3.95124363899231,1.0986123085022,0,1,0,0,0,0,0,1,0.0109921023249626,13,1,4.0 +8.18899345397949,0.13328044116497,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.034287553280592,13,2,4.0 +8.21049404144287,0.133186012506485,11.6952466964722,0,1,0,0,0.896659195423126,1.0986123085022,3.78418970108032,1.7917594909668,0,1,0,0,0,0,0,1,0.035029411315918,13,1,4.0 +6.80424547195435,0.132917180657387,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,1,0.0274625103920698,13,2,4.0 +7.11629152297974,0.13290998339653,9.76995658874512,0,1,0,0,0.896659195423126,1.0986123085022,4.07753753662109,1.3862943649292,0,0,1,0,0,0,0,1,0.0803989171981812,13,1,4.0 +7.80058431625366,0.133254989981651,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,1,0.0744031667709351,13,2,4.0 +7.61794137954712,0.133215546607971,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,1,0.0193688347935677,13,2,4.0 +6.43962621688843,0.132907167077065,8.92265796661377,0,0,1,0,0.896659195423126,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,1,0.0953572690486908,13,2,4.0 +7.2121148109436,0.132986277341843,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.012904928997159,13,2,4.0 +7.30816078186035,0.133130818605423,9.76995658874512,0,1,0,0,0.896659195423126,0.6931471824646,3.09104251861572,1.0986123085022,1,0,0,0,0,0,0,0,0.0974257662892342,13,1,4.0 +7.45794343948364,0.13302855193615,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,1,0.0165019761770964,13,1,4.0 +7.14799880981445,0.1330386698246,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,1,0.0387331806123257,13,2,4.0 +4.79247426986694,0.132347464561462,10.7684850692749,0,0,1,0,0.896659195423126,0.0,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,1,0.0028982060030102,13,1,4.0 +7.21988964080811,0.133105561137199,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,1,0.0173429381102324,13,2,4.0 +7.17566251754761,0.133023530244827,11.1198825836182,0,1,0,0,0.896659195423126,1.0986123085022,3.98898410797119,1.60943794250488,0,0,1,0,0,0,0,1,0.0221216902136803,13,3,4.0 +7.77733516693115,0.132869377732277,10.6572589874268,0,1,0,0,0.896659195423126,1.0986123085022,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0641164258122444,13,3,4.0 +6.57604885101318,0.132944107055664,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,4.06044292449951,1.0986123085022,0,1,0,0,0,0,0,1,0.0091082751750946,13,2,4.0 +7.82643842697144,0.133206263184547,10.2219409942627,0,0,1,0,0.896659195423126,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,1,0.104111105203629,13,1,4.0 +7.6304087638855,0.133179441094398,11.2580327987671,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,1,0.0303655918687582,13,1,4.0 +7.50335168838501,0.133065596222878,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0172692183405161,13,1,4.0 +7.41953277587891,0.133118912577629,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,1,0.0211754385381937,13,2,4.0 +7.03961753845215,0.132996916770935,10.9595403671265,0,1,0,0,0.896659195423126,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0226651690900326,13,1,4.0 +7.41734218597412,0.133128523826599,11.6952466964722,0,0,1,0,0.896659195423126,1.0986123085022,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,1,0.0158469788730145,13,3,4.0 +7.30010318756104,0.132953092455864,11.1198825836182,1,0,0,0,0.896659195423126,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0250513795763254,13,2,4.0 +7.82012891769409,0.132974907755852,10.9595403671265,0,1,0,0,0.896659195423126,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,1,0.049467645585537,13,2,4.0 +8.23813247680664,0.133183091878891,10.5320959091187,0,1,0,0,0.896659195423126,1.0986123085022,3.85014748573303,1.60943794250488,1,0,0,0,0,0,0,1,0.115235105156898,13,1,4.0 +7.22386837005615,0.132890149950981,11.2580327987671,1,0,0,0,0.896659195423126,1.0986123085022,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.020216129720211,13,3,4.0 +5.68651294708252,0.132485195994377,10.0212707519531,1,0,0,0,0.896659195423126,0.0,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0149615360423923,13,0,4.0 +7.75393390655518,0.133181005716324,11.6952466964722,0,0,1,0,0.896659195423126,1.0986123085022,3.89182019233704,1.60943794250488,0,0,0,1,0,0,0,1,0.0221895910799503,13,2,4.0 +7.38074254989624,0.133180797100067,11.4075651168823,1,0,0,0,0.896659195423126,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0203710310161114,13,2,4.0 +6.38650178909302,0.132669687271118,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,1,0.0180804394185543,13,2,4.0 +8.1652717590332,0.133168801665306,10.9595403671265,0,1,0,0,0.896659195423126,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,1,0.0698713436722755,13,3,4.0 +7.42950487136841,0.133168280124664,11.1913414001465,0,0,1,0,0.896659195423126,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,1,0.0265515055507421,13,3,4.0 +7.78384208679199,0.133181422948837,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.0304843634366989,13,2,4.0 +6.98520088195801,0.132978558540344,11.1198825836182,0,1,0,0,0.896659195423126,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0182844661176205,13,2,4.0 +7.26158952713013,0.133098676800728,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,1,0.0180813074111938,13,2,4.0 +7.5247974395752,0.133212000131607,11.1913414001465,0,1,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,1,0.0292074177414179,13,1,4.0 +7.05072498321533,0.133060485124588,10.8685684204102,0,1,0,0,0.896659195423126,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0251026153564453,13,2,4.0 +6.32584476470947,0.132804349064827,11.1913414001465,0,1,0,0,0.896659195423126,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,1,0.0088027343153953,13,2,4.0 +8.00119781494141,0.133336678147316,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,1,0.0378914102911949,13,1,4.0 +7.84039926528931,0.133260935544968,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,1,0.0241955481469631,13,2,4.0 +7.3323392868042,0.133138954639435,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,1,0.0194076746702194,13,1,4.0 +7.74611759185791,0.133194148540497,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.76120018959045,1.0986123085022,0,0,1,0,0,0,0,1,0.022017115727067,13,2,4.0 +7.26733922958374,0.132792353630066,11.2580327987671,0,1,0,0,0.896659195423126,1.60943794250488,3.91202306747437,1.60943794250488,0,1,0,0,0,0,0,1,0.0211122538894415,13,3,4.0 +7.69812679290771,0.133217424154282,11.2580327987671,1,0,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,1,0.0324943512678146,13,1,4.0 +7.05055952072144,0.133061632514,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,1,0.0109805911779404,13,2,4.0 +7.18869781494141,0.133092626929283,11.1913414001465,0,1,0,0,0.896659195423126,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0208677239716053,13,2,4.0 +7.35546541213989,0.133128315210342,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0148961404338479,13,2,4.0 +6.43450736999512,0.132659777998924,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,1,0.0059279315173625,13,1,4.0 +6.44788980484009,0.336771547794342,10.3889951705933,1,0,0,0,1.33192574977875,0.6931471824646,3.25809645652771,1.3862943649292,0,1,0,0,0,0,0,0,0.0272055547684431,17,1,2.0 +7.99275493621826,0.336887747049332,10.6572589874268,0,1,0,0,1.33192574977875,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0975279062986374,17,2,2.0 +7.54863119125366,0.336858719587326,11.4075651168823,0,1,0,0,1.33192574977875,0.0,3.8712010383606,0.0,0,0,0,1,0,0,0,1,0.0295380763709545,17,1,2.0 +6.06577777862549,0.336758702993393,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,1,0,1,0.0067041497677564,17,1,2.0 +7.95092678070068,0.336901694536209,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0331266112625599,17,2,2.0 +6.19621181488037,0.336841613054276,10.9595403671265,0,1,0,0,1.33192574977875,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,1,0.0119564225897193,17,2,2.0 +6.56490802764893,0.336801260709763,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,0,0,0,0,0,0.026505921036005,17,2,2.0 +5.27033948898315,0.336723625659943,10.7684850692749,0,0,1,0,1.33192574977875,0.0,4.36944770812988,1.0986123085022,0,0,0,0,1,0,0,1,0.0057335412129759,17,0,2.0 +6.99970197677612,0.336846053600311,11.1913414001465,0,1,0,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0211779735982418,17,2,2.0 +7.34016466140747,0.336893886327744,11.2580327987671,1,0,0,0,1.33192574977875,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,1,0.0278485417366028,17,2,2.0 +7.23826837539673,0.336857348680496,10.9595403671265,0,1,0,0,1.33192574977875,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,1,0.03389747813344,17,2,2.0 +6.88063526153564,0.336830288171768,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,0,0,0,0,0,0.025962483137846,17,2,2.0 +4.8266978263855,0.33667254447937,10.0212707519531,1,0,0,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.0077667748555541,17,3,2.0 +6.80512666702271,0.336834460496902,11.1913414001465,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,1,0.0174331665039062,17,2,2.0 +7.25758743286133,0.336860179901123,11.2580327987671,0,1,0,0,1.33192574977875,0.6931471824646,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,1,0.025640407577157,17,1,2.0 +6.93769359588623,0.336855918169022,11.1198825836182,0,0,1,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.021379267796874,17,1,2.0 +6.28262758255005,0.336836934089661,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0199878290295601,17,1,2.0 +7.40785598754883,0.336877018213272,11.4075651168823,0,1,0,0,1.33192574977875,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,1,0.0256597399711609,17,2,2.0 +7.18945455551147,0.336862653493881,11.2580327987671,1,0,0,0,1.33192574977875,0.6931471824646,3.43398714065552,1.7917594909668,0,0,0,1,0,0,0,1,0.0239516999572515,17,2,2.0 +7.35322570800781,0.336869120597839,10.9595403671265,0,1,0,0,1.33192574977875,0.6931471824646,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,1,0.0380275174975395,17,2,2.0 +7.63081407546997,0.336859673261642,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0372404530644417,17,2,2.0 +6.94896936416626,0.336862564086914,11.1913414001465,0,1,0,0,1.33192574977875,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0201306845992804,17,2,2.0 +6.81308555603027,0.336801946163177,11.2580327987671,1,0,0,0,1.33192574977875,1.3862943649292,3.91202306747437,1.60943794250488,0,0,0,0,1,0,0,1,0.0164382271468639,17,4,2.0 +6.97361183166504,0.336864858865738,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,1,0.0193018075078726,17,2,2.0 +7.73880910873413,0.337046891450882,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.035731989890337,17,1,2.0 +7.07334327697754,0.336854815483093,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.8712010383606,1.7917594909668,0,0,0,0,1,0,0,0,0.0137729458510876,17,2,2.0 +7.3321590423584,0.336883246898651,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.0986123085022,0,1,0,0,0,0,0,1,0.0372353084385395,17,1,2.0 +7.25791788101196,0.33711701631546,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0165691580623388,17,2,2.0 +6.57474422454834,0.336826980113983,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.93182563781738,1.0986123085022,0,0,1,0,0,0,0,1,0.0111535917967558,17,1,2.0 +4.63882637023926,0.339069306850433,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,0,1,0,1,0.0012097379658371,17,1,2.0 +7.33001661300659,0.336812764406204,10.2219409942627,0,1,0,0,1.33192574977875,1.0986123085022,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0776835232973099,17,2,2.0 +6.92846584320068,0.336986899375916,10.7684850692749,0,1,0,0,1.33192574977875,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,0,0.030105959624052,17,1,2.0 +7.01126432418823,0.336869448423386,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.012944127433002,17,2,2.0 +7.80724143981934,0.33686825633049,11.0429220199585,0,0,1,0,1.33192574977875,1.0986123085022,3.98898410797119,1.60943794250488,0,0,0,1,0,0,0,1,0.0550886243581772,17,1,2.0 +6.72416734695435,0.336825966835022,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,1,0.0097133535891771,17,2,2.0 +6.93101978302002,0.336837947368622,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,1,0.0119456369429827,17,2,2.0 +8.03211402893066,0.336885780096054,11.1913414001465,0,0,1,0,1.33192574977875,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.059466514736414,17,3,2.0 +7.24952459335327,0.336856603622437,10.2219409942627,1,0,0,0,1.33192574977875,1.0986123085022,3.25809645652771,1.3862943649292,0,0,0,0,1,0,0,0,0.0716788098216057,17,3,2.0 +6.99386310577393,0.336837857961655,11.4075651168823,0,1,0,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,1,0.0169605743139982,17,2,2.0 +7.61471700668335,0.336885958909988,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,1,0.023667698726058,17,1,2.0 +7.37652826309204,0.33688297867775,11.4075651168823,1,0,0,0,1.33192574977875,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,1,0.0248684957623482,17,2,2.0 +6.57430934906006,0.336807727813721,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0083613945171237,17,2,2.0 +7.33214282989502,0.336872696876526,11.1913414001465,0,0,1,0,1.33192574977875,1.0986123085022,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,1,0.0295306630432606,17,1,2.0 +7.07200241088867,0.336864352226257,10.8685684204102,1,0,0,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0314391329884529,17,2,2.0 +7.08914804458618,0.336869120597839,11.2580327987671,0,0,1,0,1.33192574977875,1.0986123085022,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.0216658916324377,17,3,2.0 +7.83730363845825,0.337175041437149,11.4075651168823,0,0,1,0,1.33192574977875,1.3862943649292,2.89037179946899,1.60943794250488,0,0,0,0,1,0,0,1,0.0394356027245522,17,5,2.0 +7.06534481048584,0.336803406476974,10.8685684204102,1,0,0,0,1.33192574977875,1.0986123085022,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0312286242842674,17,2,2.0 +7.65996885299683,0.336895316839218,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.7917594909668,0,0,1,0,0,0,0,1,0.0247635412961245,17,2,2.0 +7.63186550140381,0.336825966835022,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,1,0.024075623601675,17,2,2.0 +7.1698169708252,0.336868584156036,11.1913414001465,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,1,0.0251058079302311,17,1,2.0 +7.35986709594727,0.336890399456024,11.6952466964722,1,0,0,0,1.33192574977875,1.3862943649292,3.8712010383606,1.7917594909668,0,0,0,1,0,0,0,1,0.018343323841691,17,4,2.0 +7.94201421737671,0.336885452270508,11.2580327987671,0,0,0,1,1.33192574977875,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,1,0.0508368574082851,17,1,2.0 +7.46326684951782,0.336896687746048,11.2580327987671,0,1,0,0,1.33192574977875,0.6931471824646,4.06044292449951,1.94591009616852,1,0,0,0,0,0,0,1,0.0314967893064022,17,0,2.0 +5.47698783874512,0.336705595254898,10.2219409942627,1,0,0,0,1.33192574977875,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0121764950454235,17,2,2.0 +6.75274896621704,0.336888164281845,10.8685684204102,0,0,0,1,1.33192574977875,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,1,0.0228470973670483,17,1,2.0 +6.59520435333252,0.336783230304718,10.8685684204102,1,0,0,0,1.33192574977875,0.6931471824646,3.66356158256531,1.7917594909668,0,0,0,0,1,0,0,0,0.0195148251950741,17,1,2.0 +5.81832313537598,0.336808681488037,10.0212707519531,1,0,0,0,1.33192574977875,0.6931471824646,4.17438745498657,1.0986123085022,0,0,0,0,1,0,0,0,0.0209390632808208,17,1,2.0 +6.8945050239563,0.336865186691284,10.5320959091187,0,0,1,0,1.33192574977875,0.6931471824646,2.89037179946899,1.60943794250488,0,0,0,0,0,1,0,1,0.036856397986412,17,3,2.0 +7.09317970275879,0.336837619543076,11.6952466964722,0,0,1,0,1.33192574977875,1.3862943649292,3.91202306747437,1.60943794250488,0,0,0,0,1,0,0,1,0.014048638753593,17,3,2.0 +7.48755931854248,0.336853265762329,11.6952466964722,0,0,1,0,1.33192574977875,1.0986123085022,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,1,0.0208409745246172,17,3,2.0 +7.44335174560547,0.33687499165535,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,0,0.0638084635138512,17,1,2.0 +7.52421808242798,0.336889803409576,11.1198825836182,0,0,1,0,1.33192574977875,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.038435447961092,17,2,2.0 +7.01728963851929,0.336860686540604,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0130222402513027,17,1,2.0 +6.97021913528442,0.336851239204407,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,1,0.0165644828230143,17,1,2.0 +7.63699531555176,0.336893975734711,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.7917594909668,0,0,1,0,0,0,0,1,0.0322681106626987,17,2,2.0 +7.12341690063477,0.336881458759308,10.0212707519531,0,1,0,0,1.33192574977875,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,1,0.0772296339273453,17,1,2.0 +6.50192356109619,0.336824417114258,11.0429220199585,1,0,0,0,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.0149331176653504,17,1,2.0 +7.55449247360229,0.336603343486786,11.1198825836182,1,0,0,0,1.33192574977875,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0396055094897747,17,1,2.0 +6.85990715026855,0.336879909038544,10.8685684204102,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,1,0.0254311263561249,17,1,2.0 +6.96825218200684,0.336855232715607,11.1913414001465,0,0,0,1,1.33192574977875,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,1,0.020522478967905,17,2,2.0 +7.92501783370972,0.336894124746323,11.1913414001465,0,1,0,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,1,0.0534274950623512,17,2,2.0 +6.84631109237671,0.336842983961105,11.6952466964722,0,1,0,0,1.33192574977875,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,1,0.0109754661098123,17,1,2.0 +6.78518199920654,0.336805433034897,11.0429220199585,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0198225677013397,17,2,2.0 +6.43612337112427,0.336860686540604,10.8685684204102,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,1,0.0166460145264864,17,1,2.0 +7.05036592483521,0.336855500936508,11.6952466964722,0,1,0,0,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,0,1,0,0,0,0,0,1,0.013460099697113,17,2,2.0 +7.70088195800781,0.336882650852203,11.0429220199585,1,0,0,0,1.33192574977875,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0495309643447399,17,2,2.0 +6.79108047485352,0.336843401193619,11.2580327987671,0,1,0,0,1.33192574977875,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,1,0.0160811170935631,17,2,2.0 +7.16604042053223,0.336862564086914,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,0,0.0151108205318451,17,2,2.0 +7.37787961959839,0.336883068084717,10.7684850692749,1,0,0,0,1.33192574977875,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.047182958573103,17,2,2.0 +7.33351612091064,0.336856424808502,11.1198825836182,0,0,1,0,1.33192574977875,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,1,0.0317611917853355,17,1,2.0 +5.74842882156372,0.336789697408676,11.6952466964722,1,0,0,0,1.33192574977875,1.0986123085022,4.02535152435303,1.3862943649292,0,0,1,0,0,0,0,0,0.0036609645467251,17,3,2.0 +7.04286670684814,0.336864948272705,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,1,0.0206859316676855,17,2,2.0 +6.17962026596069,0.336853265762329,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,1,0.008725025691092,17,1,2.0 +6.93775129318237,0.336950570344925,11.1198825836182,1,0,0,0,1.33192574977875,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0213825274258852,17,3,2.0 +6.43055057525635,0.336868852376938,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,1,0.0072422209195792,17,2,2.0 +7.97176218032837,0.336867928504944,11.4075651168823,1,0,0,0,1.33192574977875,1.60943794250488,3.78418970108032,1.94591009616852,1,0,0,0,0,0,0,1,0.0450972095131874,17,5,2.0 +7.06466245651245,0.336871057748795,10.7684850692749,0,0,1,0,1.33192574977875,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,1,0.0344946421682835,17,2,2.0 +5.39772033691406,0.336748749017715,9.76995658874512,0,0,1,0,1.33192574977875,0.0,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.0176770705729723,17,1,2.0 +7.31146478652954,0.337073266506195,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.63758611679077,1.94591009616852,1,0,0,0,0,0,0,0,0.0559353902935982,17,2,2.0 +6.51011514663696,0.336805433034897,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,1,0.0078414883464574,17,2,2.0 +7.35532569885254,0.336847394704819,11.4075651168823,1,0,0,0,1.33192574977875,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.024345900863409,17,3,2.0 +6.34730768203735,0.337304472923279,10.7684850692749,0,1,0,0,1.33192574977875,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.0168421100825071,17,2,2.0 +7.4840874671936,0.336875408887863,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,1,0.0207691974937916,17,1,2.0 +5.59759759902954,0.336694091558456,11.6952466964722,0,0,1,0,1.33192574977875,0.0,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,1,0.0031481029000133,17,1,2.0 +8.08289432525635,0.336712241172791,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0585176460444927,17,2,2.0 +6.96765279769897,0.336867481470108,10.6572589874268,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0349883921444416,17,2,2.0 +7.05467891693115,0.336871832609177,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0282125249505043,17,2,2.0 +6.70643949508667,0.336844682693481,11.4075651168823,0,0,0,1,1.33192574977875,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0127238053828478,17,2,2.0 +6.76941394805908,0.33683106303215,10.7684850692749,0,0,0,1,1.33192574977875,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,1,0,0,0,1,0.0256749354302883,17,1,2.0 +6.77085590362549,0.336822807788849,10.5320959091187,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0325682535767555,17,2,2.0 +7.0438084602356,0.336845517158508,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,1,0.0133719919249415,17,2,2.0 +7.04133796691895,0.336859822273254,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,1,0.0133391851559281,17,2,2.0 +6.26654958724976,0.336748749017715,10.2219409942627,0,0,1,0,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0268190465867519,17,1,2.0 +6.02090740203857,0.336856156587601,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,1,0.0100339921191335,17,1,2.0 +7.36831712722778,0.336872339248657,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.61091780662537,1.94591009616852,0,0,0,1,0,0,0,0,0.0184986535459757,17,1,2.0 +6.28356742858887,0.336845695972443,11.4075651168823,1,0,0,0,1.33192574977875,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,1,0.0083361668512225,17,2,2.0 +6.85819864273071,0.336827754974365,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0111065432429314,17,2,2.0 +6.79853630065918,0.336837530136108,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.021836631000042,17,2,2.0 +8.56891345977783,0.336555480957031,11.6952466964722,0,1,0,0,1.33192574977875,1.0986123085022,3.97029185295105,1.3862943649292,0,1,0,0,0,0,0,1,0.0614348724484444,17,2,2.0 +8.37562942504883,0.33689159154892,11.6952466964722,0,0,1,0,1.33192574977875,1.3862943649292,3.8712010383606,1.60943794250488,0,0,1,0,0,0,0,1,0.0506545603275299,17,4,2.0 +5.7313666343689,0.336731135845184,11.0429220199585,0,1,0,0,1.33192574977875,1.0986123085022,4.47733688354492,2.0794415473938,1,0,0,0,0,0,0,1,0.0069097350351512,17,2,2.0 +6.34132242202759,0.336854308843613,10.5320959091187,0,0,0,1,1.33192574977875,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,0,1,0,1,0.0211964901536703,17,1,2.0 +6.38648653030396,0.336857944726944,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,1,0.0069299503229558,17,2,2.0 +7.02643966674805,0.336858212947845,11.2580327987671,1,0,0,0,1.33192574977875,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0203487630933523,17,2,2.0 +7.54052400588989,0.3368781208992,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,1,0.0219751093536615,17,2,2.0 +6.82397413253784,0.336834877729416,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0107329357415438,17,2,2.0 +7.10050487518311,0.336855411529541,11.4075651168823,0,0,1,0,1.33192574977875,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0188695713877678,17,2,2.0 +7.7125997543335,0.33687624335289,10.2219409942627,1,0,0,0,1.33192574977875,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,0,1,0,0,0.113896511495113,17,3,2.0 +6.83834600448608,0.336796492338181,10.8685684204102,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,1,0.0248865932226181,17,2,2.0 +7.77077531814575,0.336893528699875,10.6572589874268,0,1,0,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0781136527657509,17,2,2.0 +6.64654684066772,0.336834371089935,10.0212707519531,0,0,0,1,1.33192574977875,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,0,1,0,1,0.0479359515011311,17,2,2.0 +6.50575637817383,0.336809277534485,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,0,1,0,1,0.0078074145130813,17,2,2.0 +6.39971160888672,0.336818218231201,11.4075651168823,1,0,0,0,1.33192574977875,1.0986123085022,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.0093625737354159,17,3,2.0 +7.32655429840088,0.336873441934586,11.6952466964722,0,1,0,0,1.33192574977875,0.6931471824646,3.78418970108032,1.0986123085022,0,0,1,0,0,0,0,1,0.0177420191466808,17,2,2.0 +6.54470586776733,0.336812406778336,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,1,0.0169409420341253,17,2,2.0 +7.24003410339355,0.336863577365875,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,0,1,0,1,0.0162713509052992,17,2,2.0 +7.59364604949951,0.336885690689087,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0741574838757515,17,2,2.0 +6.6662540435791,0.336831748485565,11.0429220199585,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0176003575325012,17,2,2.0 +6.63339328765869,0.336739540100098,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0202735997736454,17,2,2.0 +6.86771583557129,0.336848080158234,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,1,0.0256296768784523,17,2,2.0 +6.84324550628662,0.336840778589249,10.7684850692749,0,0,1,0,1.33192574977875,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,1,0.0276425629854202,17,1,2.0 +5.87236022949219,0.336820334196091,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.008648581802845,17,1,2.0 +7.61266994476318,0.336888164281845,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.0755819231271744,17,2,2.0 +6.71666049957275,0.336783468723297,10.3889951705933,0,1,0,0,1.33192574977875,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,0,0,0,1,0.0355949550867081,17,2,2.0 +6.90189504623413,0.336854457855225,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0265209916979074,17,2,2.0 +7.34544229507446,0.336884766817093,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,0,1,0,1,0.0180805195122957,17,1,2.0 +6.80918788909912,0.336812764406204,10.3889951705933,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,1,0.0390467904508114,17,1,2.0 +7.05715417861938,0.336869031190872,11.6952466964722,0,0,1,0,1.33192574977875,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,1,0.0135519653558731,17,2,2.0 +6.95336532592773,0.336867928504944,11.6952466964722,0,1,0,0,1.33192574977875,1.0986123085022,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,1,0.0122159402817488,17,1,2.0 +6.99713659286499,0.336860507726669,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0266346279531717,17,2,2.0 +7.49244928359985,0.336868852376938,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,1,0.0324285887181759,17,2,2.0 +7.16628980636597,0.336854815483093,11.6952466964722,0,0,1,0,1.33192574977875,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0151144778355956,17,3,2.0 +6.3680944442749,0.336794704198837,10.3889951705933,1,0,0,0,1.33192574977875,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0251196101307869,17,2,2.0 +7.76959753036499,0.336894392967224,10.8685684204102,0,0,1,0,1.33192574977875,0.6931471824646,3.52636051177979,1.60943794250488,0,1,0,0,0,0,0,0,0.0631604865193367,17,3,2.0 +7.53530311584473,0.336887925863266,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,1,0.0218608919531107,17,2,2.0 +5.21358919143677,0.336766451597214,10.7684850692749,0,0,1,0,1.33192574977875,0.0,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,1,0.0054174526594579,17,1,2.0 +5.70536231994629,0.336848586797714,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0035068527795374,17,2,2.0 +7.10973787307739,0.337348878383636,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,1,0,1,0.0142904967069626,17,1,2.0 +7.44297456741333,0.336874037981033,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0415984727442265,17,2,2.0 +6.81218147277832,0.336837112903595,11.4075651168823,0,0,1,0,1.33192574977875,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,1,0.0141428485512733,17,2,2.0 +6.45201778411865,0.336795210838318,11.4075651168823,0,0,0,1,1.33192574977875,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,1,0.0098651023581624,17,2,2.0 +6.36462211608887,0.338077008724213,10.6572589874268,0,0,0,1,1.33192574977875,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,1,0.0191670954227448,17,1,2.0 +7.02490234375,0.336831301450729,11.6952466964722,0,0,1,0,1.33192574977875,1.0986123085022,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,1,0.0131213665008545,17,2,2.0 +6.87910079956055,0.336822032928467,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,1,0.0259224511682987,17,2,2.0 +7.37856388092041,0.336876839399338,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,1,0.0186892580240965,17,1,2.0 +8.23626804351807,0.336876839399338,11.4075651168823,0,0,1,0,1.33192574977875,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0587525852024555,17,2,2.0 +6.7368631362915,0.336830198764801,10.7684850692749,0,1,0,0,1.33192574977875,1.3862943649292,4.00733327865601,1.60943794250488,0,0,1,0,0,0,0,0,0.0248526353389025,17,4,2.0 +6.4778618812561,0.33686825633049,11.6952466964722,1,0,0,0,1.33192574977875,0.0,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0075930887833237,17,2,2.0 +7.95766592025757,0.336902737617493,10.0212707519531,1,0,0,0,1.33192574977875,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.177870079874992,17,2,2.0 +7.66785764694214,0.336897879838943,10.7684850692749,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,1,0.063056156039238,17,1,2.0 +7.31395483016968,0.336861282587051,10.6572589874268,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.94591009616852,0,0,0,0,1,0,0,1,0.0494672991335392,17,2,2.0 +8.01415729522705,0.336879670619965,11.6952466964722,0,1,0,0,1.33192574977875,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,1,0.0352880842983723,17,3,2.0 +6.92170286178589,0.248640835285187,11.1198825836182,0,1,0,0,1.38591301441193,1.3862943649292,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,0,0.0192635748535395,18,2,2.0 +6.46319627761841,0.248606622219086,10.3889951705933,0,1,0,0,1.38591301441193,0.6931471824646,4.27666616439819,1.3862943649292,0,0,0,1,0,0,0,0,0.025293892249465,18,3,2.0 +7.55087471008301,0.248624101281166,11.6952466964722,0,1,0,0,1.38591301441193,1.0986123085022,3.7376697063446,1.60943794250488,1,0,0,0,0,0,0,1,0.0203281603753567,18,3,2.0 +7.11701583862305,0.248631909489632,10.8685684204102,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0301093198359013,18,2,2.0 +7.13498020172119,0.248626425862312,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.91202306747437,1.60943794250488,1,0,0,0,0,0,0,0,0.0238427203148603,18,3,2.0 +7.69987344741821,0.248659804463387,11.4075651168823,0,1,0,0,1.38591301441193,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,1,0.0314602144062519,18,2,2.0 +6.49935960769653,0.248583659529686,10.6572589874268,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0200542099773884,18,2,2.0 +6.8342399597168,0.248624101281166,11.1198825836182,0,0,1,0,1.38591301441193,0.6931471824646,2.99573230743408,1.0986123085022,0,0,0,0,1,0,0,0,0.0176500082015991,18,1,2.0 +7.499436378479,0.248665750026703,11.1913414001465,0,0,1,0,1.38591301441193,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.0319609679281712,18,2,2.0 +7.23225450515747,0.248650684952736,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0147820468991995,18,2,2.0 +6.71665048599243,0.248923599720001,11.1198825836182,0,0,1,0,1.38591301441193,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0156966373324394,18,2,2.0 +5.33563089370728,0.24936655163765,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.0029599957633763,18,1,2.0 +6.60928964614868,0.248661279678345,11.2580327987671,0,0,1,0,1.38591301441193,0.0,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,0,0.012276329100132,18,1,2.0 +7.85453748703003,0.248681649565697,11.1913414001465,0,1,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0455874651670456,18,2,2.0 +7.22194814682007,0.248656451702118,11.1913414001465,0,0,1,0,1.38591301441193,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,1,0.02421610429883,18,2,2.0 +7.58314990997314,0.248663425445557,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0209957789629698,18,1,2.0 +7.15312099456787,0.248642235994339,10.9595403671265,1,0,0,0,1.38591301441193,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0285021085292101,18,2,2.0 +7.04497194290161,0.248643532395363,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.71357202529907,1.0986123085022,1,0,0,0,0,0,0,0,0.0217908006161451,18,2,2.0 +6.5101261138916,0.248573988676071,11.2580327987671,0,1,0,0,1.38591301441193,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.011116405017674,18,2,2.0 +7.18952035903931,0.248690009117126,11.2580327987671,0,1,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0219316817820072,18,2,2.0 +6.81365633010864,0.248610809445381,11.0429220199585,0,1,0,0,1.38591301441193,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.018673412501812,18,2,2.0 +6.46526193618774,0.248606622219086,11.6952466964722,0,0,1,0,1.38591301441193,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0068645933642983,18,2,2.0 +6.60554504394531,0.248634606599808,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.010531491599977,18,2,2.0 +7.71416282653809,0.248671978712082,10.8685684204102,0,1,0,0,1.38591301441193,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0547086335718632,18,1,2.0 +7.57501840591431,0.248666405677795,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.97029185295105,1.0986123085022,0,0,1,0,0,0,0,0,0.0277677439153194,18,2,2.0 +8.27344417572021,0.248681738972664,10.2219409942627,0,1,0,0,1.38591301441193,1.0986123085022,3.85014748573303,1.3862943649292,1,0,0,0,0,0,0,0,0.182717278599739,18,3,2.0 +7.55470132827759,0.248633310198784,11.1913414001465,0,1,0,0,1.38591301441193,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0337759107351303,18,2,2.0 +6.54621601104736,0.248690664768219,10.6572589874268,0,1,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0210184957832098,18,1,2.0 +7.30975294113159,0.248647898435593,11.4075651168823,0,1,0,0,1.38591301441193,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,0,0,0,0,0.0212975349277258,18,2,2.0 +7.49474906921387,0.248654320836067,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0256256423890591,18,2,2.0 +8.08979320526123,0.248652458190918,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.95124363899231,1.0986123085022,1,0,0,0,0,0,0,0,0.0619494095444679,18,2,2.0 +7.40092182159424,0.248636841773987,11.4075651168823,1,0,0,0,1.38591301441193,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.0233302097767591,18,2,2.0 +6.88406848907471,0.248661383986473,10.5320959091187,0,1,0,0,1.38591301441193,0.6931471824646,3.13549423217773,1.0986123085022,1,0,0,0,0,0,0,0,0.0333944298326969,18,2,2.0 +7.01392126083374,0.248578637838364,11.2580327987671,0,0,1,0,1.38591301441193,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0183976329863071,18,2,2.0 +6.36700201034546,0.248652368783951,9.43348407745361,0,1,0,0,1.38591301441193,0.6931471824646,3.04452252388,1.0986123085022,1,0,0,0,0,0,0,0,0.0597354620695114,18,2,2.0 +8.2966365814209,0.248667880892754,11.0429220199585,0,1,0,0,1.38591301441193,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0822807848453522,18,2,2.0 +6.33772850036621,0.248559862375259,10.5320959091187,0,1,0,0,1.38591301441193,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.019335588440299,18,2,2.0 +6.44268846511841,0.248558461666107,10.8685684204102,0,1,0,0,1.38591301441193,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.015339539386332,18,1,2.0 +6.8801908493042,0.248613774776459,10.3889951705933,0,0,1,0,1.38591301441193,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,0,0.0383810736238956,18,2,2.0 +8.20369434356689,0.248667791485786,11.6952466964722,0,0,1,0,1.38591301441193,1.3862943649292,3.63758611679077,1.60943794250488,0,0,1,0,0,0,0,0,0.0390510857105255,18,4,2.0 +6.58513212203979,0.248658776283264,10.2219409942627,0,0,1,0,1.38591301441193,0.6931471824646,3.40119743347168,1.7917594909668,0,0,0,1,0,0,0,0,0.0337710827589035,18,2,2.0 +6.16260242462158,0.24861666560173,10.2219409942627,0,1,0,0,1.38591301441193,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,0,0.022132184356451,18,2,2.0 +8.26114654541016,0.248676806688309,11.4075651168823,0,1,0,0,1.38591301441193,0.6931471824646,3.82864141464233,1.0986123085022,1,0,0,0,0,0,0,0,0.0551476329565048,18,2,2.0 +7.5191855430603,0.248653471469879,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,0,0,0,0,0.0350127182900906,18,2,2.0 +6.42030000686646,0.248584404587746,10.7684850692749,0,1,0,0,1.38591301441193,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,0,0.0165792945772409,18,1,2.0 +7.89222288131714,0.248675793409348,10.7684850692749,0,1,0,0,1.38591301441193,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,0,0,0,0,0.0722526535391808,18,2,2.0 +7.10766696929932,0.248615920543671,9.43348407745361,1,0,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.125280395150185,18,1,2.0 +7.46707820892334,0.248660445213318,8.92265796661377,1,0,0,0,1.38591301441193,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.299117207527161,18,4,2.0 +7.41049766540527,0.248652085661888,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0176662877202034,18,2,2.0 +6.80530166625977,0.248612567782402,11.4075651168823,1,0,0,0,1.38591301441193,0.6931471824646,3.97029185295105,1.0986123085022,0,0,1,0,0,0,0,0,0.0128597812727094,18,2,2.0 +5.45710134506226,0.250045597553253,10.3889951705933,1,0,0,0,1.38591301441193,0.6931471824646,3.61091780662537,1.60943794250488,1,0,0,0,0,0,0,0,0.0092618772760033,18,2,2.0 +6.52118921279907,0.248583942651749,10.5320959091187,0,1,0,0,1.38591301441193,1.0986123085022,4.00733327865601,1.60943794250488,1,0,0,0,0,0,0,0,0.0232297144830227,18,2,2.0 +7.99590921401978,0.248666778206825,11.4075651168823,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.3862943649292,0,1,0,0,0,0,0,0,0.0422991216182709,18,2,2.0 +7.72144937515259,0.248652920126915,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0241096150130033,18,1,2.0 +7.83432674407959,0.248634606599808,11.6952466964722,0,1,0,0,1.38591301441193,1.3862943649292,3.80666255950928,1.60943794250488,0,1,0,0,0,0,0,0,0.0269900858402252,18,3,2.0 +7.41706275939941,0.248660922050476,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,0,0.0237104035913944,18,1,2.0 +7.31002902984619,0.248645663261414,10.7684850692749,0,1,0,0,1.38591301441193,0.6931471824646,3.33220458030701,1.3862943649292,0,0,1,0,0,0,0,0,0.0403642728924751,18,1,2.0 +6.6002950668335,0.248607084155083,10.2219409942627,0,0,1,0,1.38591301441193,0.6931471824646,4.1588830947876,1.3862943649292,0,0,0,1,0,0,0,0,0.0342852771282196,18,2,2.0 +6.73842430114746,0.248579293489456,11.6952466964722,0,0,1,0,1.38591301441193,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.009020609781146,18,2,2.0 +7.60397720336914,0.248656451702118,10.5320959091187,0,1,0,0,1.38591301441193,1.0986123085022,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0686000138521194,18,3,2.0 +7.08933544158936,0.248775810003281,10.7684850692749,0,1,0,0,1.38591301441193,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.03237484395504,18,2,2.0 +7.99291801452637,0.248758435249329,11.6952466964722,0,0,1,0,1.38591301441193,1.0986123085022,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0316324830055237,18,3,2.0 +7.19272232055664,0.248676165938377,10.2219409942627,1,0,0,0,1.38591301441193,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,0,1,0,0,0,0.0620048455893993,18,1,2.0 +5.70190382003784,0.248591646552086,11.2580327987671,0,0,1,0,1.38591301441193,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0049541098996996,18,2,2.0 +7.32694435119629,0.248660638928413,11.4075651168823,0,0,0,1,1.38591301441193,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.021667106077075,18,3,2.0 +7.3639817237854,0.248649850487709,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0168632995337248,18,2,2.0 +6.06251430511475,0.248628288507462,11.1198825836182,0,0,1,0,1.38591301441193,1.0986123085022,2.94443893432617,1.3862943649292,0,0,0,0,1,0,0,0,0.0081581296399235,18,2,2.0 +6.57578182220459,0.248550459742546,10.6572589874268,1,0,0,0,1.38591301441193,0.6931471824646,3.40119743347168,1.60943794250488,0,0,1,0,0,0,0,0,0.0216461606323719,18,2,2.0 +7.19239377975464,0.24880462884903,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0142065985128284,18,1,2.0 +5.71861028671265,0.249590411782265,11.2580327987671,1,0,0,0,1.38591301441193,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0050426041707396,18,2,2.0 +6.89198970794678,0.248616293072701,11.2580327987671,0,1,0,0,1.38591301441193,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0162863656878471,18,2,2.0 +7.17204236984253,0.248837158083916,10.5320959091187,1,0,0,0,1.38591301441193,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.0445467308163643,18,2,2.0 +6.58851432800293,0.248619168996811,10.7684850692749,1,0,0,0,1.38591301441193,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,0,0.0196171384304762,18,2,2.0 +7.02353096008301,0.248668998479843,10.7684850692749,0,1,0,0,1.38591301441193,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0303097683936357,18,1,2.0 +6.17404985427856,0.248541533946991,10.3889951705933,1,0,0,0,1.38591301441193,1.0986123085022,4.06044292449951,1.3862943649292,0,0,0,0,1,0,0,0,0.0189414266496897,18,1,2.0 +8.40061950683594,0.248681738972664,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.52636051177979,1.7917594909668,0,0,1,0,0,0,0,0,0.0634017363190651,18,2,2.0 +7.45067882537842,0.248661652207375,11.6952466964722,0,0,1,0,1.38591301441193,0.6931471824646,3.80666255950928,1.0986123085022,0,0,1,0,0,0,0,1,0.0183907691389322,18,2,2.0 +6.64160776138306,0.248609870672226,11.2580327987671,0,0,1,0,1.38591301441193,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0126789063215256,18,2,2.0 +7.39414215087891,0.248668909072876,10.7684850692749,0,0,1,0,1.38591301441193,0.6931471824646,3.09104251861572,1.0986123085022,0,0,1,0,0,0,0,0,0.0439073443412781,18,2,2.0 +7.49296569824219,0.248645663261414,11.6952466964722,0,1,0,0,1.38591301441193,1.0986123085022,3.89182019233704,1.60943794250488,0,0,1,0,0,0,0,0,0.0191848240792751,18,2,2.0 +7.06877517700195,0.248613312840462,10.8685684204102,0,1,0,0,1.38591301441193,1.0986123085022,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,0,0.0286907721310854,18,3,2.0 +7.13893890380859,0.248646140098572,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0239377710968256,18,2,2.0 +6.5117301940918,0.248599648475647,10.7684850692749,0,0,1,0,1.38591301441193,0.6931471824646,3.66356158256531,1.0986123085022,1,0,0,0,0,0,0,0,0.0181668773293495,18,2,2.0 +6.68262195587158,0.248701348900795,10.5320959091187,1,0,0,0,1.38591301441193,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,0,0.0273026153445244,18,3,2.0 +6.76166868209839,0.24866983294487,10.3889951705933,0,0,1,0,1.38591301441193,0.6931471824646,3.09104251861572,1.0986123085022,0,0,1,0,0,0,0,0,0.0340932160615921,18,1,2.0 +7.83884954452515,0.248664349317551,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0271132402122021,18,2,2.0 +6.56032943725586,0.248606443405151,10.5320959091187,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.7917594909668,1,0,0,0,0,0,0,0,0.0241575054824352,18,1,2.0 +6.86908960342407,0.248645767569542,11.6952466964722,0,0,1,0,1.38591301441193,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0102804470807314,18,2,2.0 +7.66873645782471,0.248082876205444,10.6572589874268,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,0,0.0645419582724571,18,2,2.0 +7.80264520645142,0.248750254511833,11.6952466964722,0,1,0,0,1.38591301441193,1.60943794250488,2.99573230743408,1.60943794250488,0,0,1,0,0,0,0,0,0.0261514317244291,18,4,2.0 +7.20604181289673,0.248653382062912,10.8685684204102,0,0,1,0,1.38591301441193,0.6931471824646,3.29583692550659,1.3862943649292,0,0,1,0,0,0,0,0,0.0329134650528431,18,2,2.0 +6.91622066497803,0.282497823238373,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0148635059595108,19,2,3.0 +6.86876630783081,0.282521188259125,10.2219409942627,0,1,0,0,1.59032511711121,0.6931471824646,3.43398714065552,1.7917594909668,0,0,0,0,1,0,0,0,0.0463908091187477,19,2,3.0 +7.26817941665649,0.282513290643692,11.1198825836182,1,0,0,0,1.59032511711121,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0281786620616913,19,2,3.0 +7.02664422988892,0.28245747089386,10.6572589874268,1,0,0,0,1.59032511711121,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,0,1,0,0,0,0.0351490452885628,19,1,3.0 +7.03673362731934,0.282471239566803,10.9595403671265,1,0,0,0,1.59032511711121,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0262435413897038,19,2,3.0 +7.71055936813354,0.282521098852158,10.9595403671265,0,1,0,0,1.59032511711121,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.051485251635313,19,2,3.0 +7.54433298110962,0.282518237829208,10.7684850692749,0,1,0,0,1.59032511711121,0.6931471824646,4.02535152435303,1.0986123085022,0,0,0,0,1,0,0,0,0.0527794286608696,19,2,3.0 +7.67821645736694,0.282473653554916,11.1198825836182,0,1,0,0,1.59032511711121,1.0986123085022,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,0,0.0424600094556808,19,3,3.0 +7.17247486114502,0.282504677772522,11.6952466964722,1,0,0,0,1.59032511711121,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0144037399441004,19,2,3.0 +6.87467241287231,0.282495498657227,10.9595403671265,0,1,0,0,1.59032511711121,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0223177690058947,19,2,3.0 +6.52707862854004,0.282446414232254,10.3889951705933,0,1,0,0,1.59032511711121,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,0,0,0,0,0.0278904736042023,19,2,3.0 +7.94582080841064,0.28216615319252,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0416032113134861,19,2,3.0 +6.7380051612854,0.282464236021042,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,0,0.0124367997050285,19,2,3.0 +6.32255029678345,0.28243699669838,10.8685684204102,0,1,0,0,1.59032511711121,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0140718193724751,19,2,3.0 +7.40169048309326,0.282478868961334,10.7684850692749,1,0,0,0,1.59032511711121,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0457613356411457,19,2,3.0 +6.57346725463867,0.282699674367905,10.9595403671265,1,0,0,0,1.59032511711121,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.016516862437129,19,2,3.0 +6.45440340042114,0.282442927360535,10.9595403671265,0,1,0,0,1.59032511711121,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0146591030061245,19,2,3.0 +6.82377004623413,0.282459557056427,11.6952466964722,0,1,0,0,1.59032511711121,0.6931471824646,3.80666255950928,1.0986123085022,0,0,1,0,0,0,0,0,0.0101628405973315,19,2,3.0 +6.99519968032837,0.282484710216522,11.6952466964722,1,0,0,0,1.59032511711121,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0120636001229286,19,2,3.0 +7.12628602981567,0.282501429319382,10.0212707519531,1,0,0,0,1.59032511711121,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0733521729707718,19,1,3.0 +6.82571172714233,0.282482296228409,11.6952466964722,1,0,0,0,1.59032511711121,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0101828221231699,19,2,3.0 +6.62771606445312,0.282444089651108,11.1913414001465,0,1,0,0,1.59032511711121,1.0986123085022,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0138263124972582,19,2,3.0 +7.7938175201416,0.282538175582886,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.0357498526573181,19,2,3.0 +6.97116422653198,0.282490283250809,10.7684850692749,0,1,0,0,1.59032511711121,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0297528505325317,19,2,3.0 +7.26630401611328,0.282505750656128,10.3889951705933,0,1,0,0,1.59032511711121,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.0584148205816746,19,2,3.0 +6.47207641601562,0.282803535461426,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0095359627157449,19,2,3.0 +7.43299531936646,0.282488852739334,10.9595403671265,0,1,0,0,1.59032511711121,0.6931471824646,3.40119743347168,1.60943794250488,0,1,0,0,0,0,0,0,0.0390053689479828,19,1,3.0 +6.99867630004883,0.282482653856277,10.7684850692749,0,1,0,0,1.59032511711121,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.0305825415998697,19,2,3.0 +7.9978084564209,0.28253161907196,9.76995658874512,0,0,1,0,1.59032511711121,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.225459173321724,19,2,3.0 +7.19274806976318,0.282506376504898,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,0,0.0195983424782753,19,2,3.0 +6.36601495742798,0.282901287078857,10.8685684204102,1,0,0,0,1.59032511711121,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.014703756198287,19,2,3.0 +6.93890428543091,0.282478511333466,10.0212707519531,0,0,1,0,1.59032511711121,0.6931471824646,4.00733327865601,1.3862943649292,0,0,0,0,1,0,0,0,0.0608168914914131,19,2,3.0 +7.90382099151611,0.282523632049561,11.6952466964722,0,1,0,0,1.59032511711121,1.0986123085022,3.76120018959045,1.7917594909668,1,0,0,0,0,0,0,0,0.0299297459423542,19,3,3.0 +6.94457626342773,0.282471418380737,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0152905946597457,19,2,3.0 +7.29020261764526,0.282498568296432,11.6952466964722,0,1,0,0,1.59032511711121,0.6931471824646,3.55534815788269,1.94591009616852,1,0,0,0,0,0,0,0,0.01620321162045,19,1,3.0 +5.77968406677246,0.282444357872009,10.6572589874268,0,1,0,0,1.59032511711121,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.010100900195539,19,2,3.0 +7.32843446731567,0.282515347003937,10.2219409942627,1,0,0,0,1.59032511711121,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0734616592526436,19,1,3.0 +7.25862503051758,0.282171189785004,10.7684850692749,0,1,0,0,1.59032511711121,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0396490357816219,19,2,3.0 +7.06775712966919,0.282462149858475,11.6952466964722,1,0,0,0,1.59032511711121,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0129711516201496,19,2,3.0 +6.82196044921875,0.282459914684296,11.4075651168823,0,0,1,0,1.59032511711121,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.013525958172977,19,2,3.0 +7.09303140640259,0.282502770423889,10.7684850692749,0,0,1,0,1.59032511711121,0.6931471824646,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,0,0.0336093604564667,19,2,3.0 +7.34158420562744,0.27124747633934,10.7684850692749,0,1,0,0,1.38431131839752,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0426105484366417,20,2,3.0 +6.36154365539551,0.270856112241745,10.3889951705933,1,0,0,0,1.38431131839752,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,0,0.023363146930933,20,3,3.0 +7.18952608108521,0.271177470684052,11.6952466964722,0,0,1,0,1.38431131839752,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0144864218309522,20,3,3.0 +7.10318803787231,0.271343797445297,11.2580327987671,0,0,1,0,1.38431131839752,0.6931471824646,3.40119743347168,1.7917594909668,0,0,1,0,0,0,0,0,0.0205786433070898,20,2,3.0 +6.65334415435791,0.271091401576996,11.2580327987671,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0131202628836036,20,2,3.0 +7.02038192749023,0.271287471055984,11.6952466964722,0,0,1,0,1.38431131839752,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,0,0.0122334957122803,20,1,3.0 +5.24134874343872,0.270638346672058,10.5320959091187,0,1,0,0,1.38431131839752,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0066038048826158,20,2,3.0 +8.28787231445312,0.271407246589661,10.7684850692749,0,1,0,0,1.38431131839752,1.3862943649292,3.93182563781738,1.3862943649292,1,0,0,0,0,0,0,0,0.109787844121456,20,4,3.0 +7.60367155075073,0.271286904811859,11.2580327987671,1,0,0,0,1.38431131839752,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,1,0,0,0,0,0.033942922949791,20,3,3.0 +6.96922874450684,0.271009773015976,7.82404613494873,0,0,1,0,1.38431131839752,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.557770669460297,20,2,3.0 +6.82305240631104,0.2711461186409,10.9595403671265,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0209557563066483,20,1,3.0 +6.346755027771,0.271302103996277,10.2219409942627,1,0,0,0,1.38431131839752,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0272178053855896,20,1,3.0 +7.87520599365234,0.271524369716644,10.3889951705933,1,0,0,0,1.38431131839752,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,1,0,0,0,0,0.106217660009861,20,2,3.0 +6.74211549758911,0.271206557750702,11.4075651168823,0,0,1,0,1.38431131839752,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0123482244089246,20,2,3.0 +7.45232009887695,0.271419584751129,8.92265796661377,0,1,0,0,1.38431131839752,0.0,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.301520049571991,20,1,3.0 +6.60643672943115,0.271004319190979,10.5320959091187,0,1,0,0,1.38431131839752,1.0986123085022,3.63758611679077,1.60943794250488,0,0,1,0,0,0,0,0,0.0258704200387001,20,3,3.0 +7.4712610244751,0.271417051553726,11.4075651168823,0,1,0,0,1.38431131839752,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.0256070699542761,20,2,3.0 +6.73191213607788,0.271179378032684,11.0429220199585,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0176004581153393,20,2,3.0 +8.21879768371582,0.271563172340393,10.9595403671265,0,0,1,0,1.38431131839752,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.0846543088555336,20,2,3.0 +8.14907455444336,0.271502733230591,10.8685684204102,0,1,0,0,1.38431131839752,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0864671170711517,20,1,3.0 +6.98058080673218,0.271303355693817,10.2219409942627,1,0,0,0,1.38431131839752,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.051300372928381,20,2,3.0 +7.92024946212769,0.271415770053864,11.6952466964722,0,1,0,0,1.38431131839752,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0300894137471914,20,2,3.0 +7.73267698287964,0.271255552768707,11.1913414001465,1,0,0,0,1.38431131839752,1.0986123085022,3.95124363899231,1.60943794250488,0,0,0,1,0,0,0,0,0.0412786677479744,20,2,3.0 +7.93677043914795,0.271430790424347,11.1913414001465,0,1,0,0,1.38431131839752,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0506335534155369,20,3,3.0 +6.50615453720093,0.270711719989777,11.4075651168823,0,1,0,0,1.38431131839752,0.6931471824646,3.29583692550659,1.60943794250488,0,0,0,0,0,0,0,0,0.0097479447722435,20,2,3.0 +7.06162929534912,0.27113875746727,11.6952466964722,0,1,0,0,1.38431131839752,1.0986123085022,3.61091780662537,1.7917594909668,0,0,0,0,0,0,0,0,0.0127467475831509,20,2,3.0 +7.37588787078857,0.27134844660759,11.2580327987671,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0270303003489971,20,1,3.0 +7.85916328430176,0.271174937486649,11.0429220199585,0,1,0,0,1.38431131839752,1.0986123085022,3.93182563781738,1.0986123085022,0,0,0,0,0,0,0,0,0.0543351694941521,20,2,3.0 +6.33683156967163,0.270761996507645,10.5320959091187,1,0,0,0,1.38431131839752,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.0197519548237324,20,1,3.0 +6.89374685287476,0.270901501178741,11.1198825836182,0,1,0,0,1.38431131839752,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,0,0,0,0,0.01915417984128,20,2,3.0 +5.02331781387329,0.270081430673599,10.7684850692749,0,1,0,0,1.38431131839752,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,0,0,0,0,0.0041898698545992,20,1,3.0 +7.16393280029297,0.271324008703232,11.4075651168823,1,0,0,0,1.38431131839752,0.6931471824646,3.49650764465332,1.0986123085022,0,1,0,0,0,0,0,0,0.0188299212604761,20,2,3.0 +7.64819526672363,0.271415859460831,10.0212707519531,1,0,0,0,1.38431131839752,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.122253358364105,20,2,3.0 +6.76330232620239,0.27122637629509,10.6572589874268,1,0,0,0,1.38431131839752,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.026709645986557,20,2,3.0 +7.63289737701416,0.271359622478485,10.2219409942627,0,1,0,0,1.38431131839752,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0985014215111732,20,4,3.0 +7.41011619567871,0.271396785974503,9.76995658874512,1,0,0,0,1.38431131839752,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.123879864811897,20,2,3.0 +7.28661489486694,0.27088674902916,11.1913414001465,0,1,0,0,1.38431131839752,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0264145508408546,20,2,3.0 +8.13753414154053,0.271501839160919,11.0429220199585,0,1,0,0,1.38431131839752,1.3862943649292,3.8712010383606,1.60943794250488,1,0,0,0,0,0,0,0,0.0717989280819893,20,4,3.0 +7.49783277511597,0.271377623081207,11.6952466964722,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0197216812521219,20,2,3.0 +7.96017694473267,0.271508008241653,11.1913414001465,0,0,1,0,1.38431131839752,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0518367066979408,20,2,3.0 +7.59594440460205,0.271399617195129,11.6952466964722,0,0,1,0,1.38431131839752,1.3862943649292,3.98898410797119,1.60943794250488,0,0,0,1,0,0,0,0,0.0217551849782467,20,3,3.0 +7.65569400787354,0.271424502134323,11.4075651168823,0,0,1,0,1.38431131839752,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0307936538010836,20,1,3.0 +8.50389957427979,0.249984413385391,11.1198825836182,1,0,0,0,1.20355129241943,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0938554629683495,21,3,5.0 +7.89681243896484,0.250017374753952,11.1198825836182,0,0,0,1,1.20355129241943,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0511469170451164,21,2,5.0 +7.61468839645386,0.249932706356049,11.6952466964722,0,1,0,0,1.20355129241943,0.6931471824646,3.66356158256531,1.0986123085022,0,1,0,0,0,0,0,0,0.0216960310935974,21,2,5.0 +7.31696701049805,0.249871417880058,11.6952466964722,0,0,1,0,1.20355129241943,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0161084905266762,21,2,5.0 +7.39323234558105,0.24994133412838,11.4075651168823,0,1,0,0,1.20355129241943,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0231817197054625,21,1,5.0 +6.71956443786621,0.249958604574203,10.0212707519531,0,1,0,0,1.20355129241943,0.0,4.12713432312012,1.0986123085022,1,0,0,0,0,0,0,0,0.0472762398421764,21,0,5.0 +7.57169055938721,0.250056356191635,11.6952466964722,0,0,1,0,1.20355129241943,1.0986123085022,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0207854919135571,21,1,5.0 +7.41842794418335,0.249882832169533,11.6952466964722,0,0,1,0,1.20355129241943,0.6931471824646,3.71357202529907,1.94591009616852,0,0,1,0,0,0,0,0,0.0178288649767637,21,1,5.0 +7.06140232086182,0.24978432059288,10.3889951705933,0,1,0,0,1.20355129241943,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0460600703954697,21,1,5.0 +7.33618783950806,0.249909490346909,10.9595403671265,0,1,0,0,1.20355129241943,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0342714339494705,21,2,5.0 +7.37860727310181,0.249927133321762,11.2580327987671,0,1,0,0,1.20355129241943,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0265294797718525,21,2,5.0 +7.57279539108276,0.249966591596603,11.4075651168823,0,0,1,0,1.20355129241943,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0277421344071627,21,2,5.0 +7.3478946685791,0.249909773468971,10.2219409942627,0,1,0,0,1.20355129241943,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0725023224949837,21,2,5.0 +6.03746747970581,0.249709010124207,9.43348407745361,1,0,0,0,1.20355129241943,0.6931471824646,4.29045963287354,1.0986123085022,0,0,0,1,0,0,0,0,0.0430106557905674,21,0,5.0 +7.36725854873657,0.249872162938118,10.7684850692749,0,0,1,0,1.20355129241943,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0427941270172596,21,1,5.0 +6.62360191345215,0.25006490945816,9.76995658874512,0,1,0,0,1.20355129241943,1.0986123085022,3.97029185295105,1.60943794250488,0,0,1,0,0,0,0,0,0.0552277751266956,21,2,5.0 +6.85768699645996,0.24975897371769,11.6952466964722,0,1,0,0,1.20355129241943,0.6931471824646,3.68887948989868,1.7917594909668,0,1,0,0,0,0,0,0,0.010175209492445,21,1,5.0 +7.25087404251099,0.249880790710449,11.1913414001465,0,1,0,0,1.20355129241943,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,0,0.0249573439359665,21,1,5.0 +6.80659198760986,0.24979954957962,11.1198825836182,0,0,1,0,1.20355129241943,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.0171889048069715,21,2,5.0 +7.00757360458374,0.249831959605217,10.9595403671265,0,0,1,0,1.20355129241943,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,0,0.0246708057820797,21,2,5.0 +7.6179518699646,0.249980509281158,11.4075651168823,0,1,0,0,1.20355129241943,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0290239863097668,21,2,5.0 +7.32300329208374,0.249871134757996,10.5320959091187,0,0,1,0,1.20355129241943,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0518592596054077,21,2,5.0 +7.22407627105713,0.249853029847145,11.4075651168823,0,0,1,0,1.20355129241943,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0195723846554756,21,2,5.0 +6.83042573928833,0.249760553240776,10.0212707519531,0,0,0,1,1.20355129241943,1.0986123085022,3.85014748573303,2.0794415473938,0,0,0,0,1,0,0,0,0.0528084486722946,21,6,5.0 +6.89897298812866,0.249882102012634,9.43348407745361,1,0,0,0,1.20355129241943,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.101811863481998,21,1,5.0 +6.38300943374634,0.249444857239723,10.7684850692749,1,0,0,0,1.20355129241943,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,1,0,0,0,0,0.0159861799329519,21,2,5.0 +6.88116645812988,0.249791473150253,10.6572589874268,0,1,0,0,1.20355129241943,0.6931471824646,3.95124363899231,1.60943794250488,0,0,0,1,0,0,0,0,0.0294135101139545,21,2,5.0 +7.64036846160889,0.249907627701759,11.4075651168823,0,0,1,0,1.20355129241943,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.029679799452424,21,2,5.0 +7.80964374542236,0.250015884637833,11.2580327987671,0,0,1,0,1.20355129241943,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.040828563272953,21,2,5.0 +7.43001890182495,0.249817848205566,11.1198825836182,0,0,1,0,1.20355129241943,1.0986123085022,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.0320632122457027,21,3,5.0 +6.57120847702026,0.249702602624893,10.9595403671265,0,1,0,0,1.20355129241943,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.015944691374898,21,1,5.0 +7.28206396102905,0.24976621568203,10.7684850692749,0,0,1,0,1.20355129241943,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,0,0.0392951183021069,21,2,5.0 +6.53142595291138,0.249813854694366,11.6952466964722,1,0,0,0,1.20355129241943,1.0986123085022,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0073430044576525,21,2,5.0 +7.70146608352661,0.249913856387138,11.2580327987671,0,1,0,0,1.20355129241943,0.6931471824646,3.178053855896,1.0986123085022,0,1,0,0,0,0,0,0,0.0366385951638222,21,2,5.0 +7.72345972061157,0.249871134757996,11.4075651168823,0,1,0,0,1.20355129241943,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0322500951588154,21,2,5.0 +6.54597520828247,0.249739840626717,10.5320959091187,1,0,0,0,1.20355129241943,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0238402187824249,21,2,5.0 +5.91238498687744,0.249191790819168,10.2219409942627,1,0,0,0,1.20355129241943,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0172427352517843,21,2,5.0 +7.4341402053833,0.249939292669296,10.9595403671265,0,0,1,0,1.20355129241943,0.6931471824646,3.49650764465332,1.0986123085022,0,1,0,0,0,0,0,0,0.0377994515001774,21,1,5.0 +7.71856546401978,0.249965935945511,11.6952466964722,0,0,1,0,1.20355129241943,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,0,0.0240717642009258,21,2,5.0 +7.33183765411377,0.249664336442947,10.5320959091187,0,1,0,0,1.20355129241943,0.6931471824646,3.93182563781738,1.60943794250488,1,0,0,0,0,0,0,0,0.0523086152970791,21,1,5.0 +7.38780879974365,0.249815061688423,10.2219409942627,0,1,0,0,1.20355129241943,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0754475444555283,21,1,5.0 +6.31223392486572,0.249738544225693,10.9595403671265,0,1,0,0,1.20355129241943,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0123072359710932,21,2,5.0 +6.85802555084229,0.249739095568657,10.7684850692749,0,0,1,0,1.20355129241943,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.0257139801979065,21,2,5.0 +6.57725429534912,0.249471515417099,11.2580327987671,0,0,0,1,1.20355129241943,1.3862943649292,3.58351898193359,1.7917594909668,0,0,0,0,1,0,0,0,0.0118989245966077,21,4,5.0 +8.24252700805664,0.249911338090897,10.9595403671265,0,0,0,1,1.20355129241943,1.7917594909668,3.89182019233704,1.94591009616852,0,0,1,0,0,0,0,0,0.0848303139209747,21,6,5.0 +7.99312210083008,0.249959722161293,10.7684850692749,0,1,0,0,1.20355129241943,0.6931471824646,3.58351898193359,1.7917594909668,1,0,0,0,0,0,0,0,0.0800260230898857,21,2,5.0 +8.76383399963379,0.25017249584198,10.0212707519531,0,0,1,0,1.20355129241943,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,1,0,0,0,0,0.365216940641403,21,1,5.0 +7.1430811882019,0.249809578061104,10.7684850692749,0,0,1,0,1.20355129241943,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0341977886855602,21,2,5.0 +8.40008449554443,0.228300288319588,11.6952466964722,0,1,0,0,0.360588580369949,1.7917594909668,3.85014748573303,1.94591009616852,0,0,1,0,0,0,0,0,0.0465670526027679,22,6,6.0 +8.49402904510498,0.228165552020073,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0511469393968582,22,2,6.0 +6.97115993499756,0.22795857489109,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0111520905047655,22,1,6.0 +7.66780567169189,0.227998346090317,10.2219409942627,1,0,0,0,0.360588580369949,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0976722911000252,22,1,6.0 +6.4618558883667,0.228059932589531,9.76995658874512,0,1,0,0,0.360588580369949,0.6931471824646,4.11087369918823,1.0986123085022,0,0,1,0,0,0,0,0,0.0459573939442635,22,1,6.0 +6.48132371902466,0.227710172533989,11.4075651168823,1,0,0,0,0.360588580369949,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0091086467728018,22,1,6.0 +7.391432762146,0.22809325158596,10.2219409942627,0,1,0,0,0.360588580369949,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0740944221615791,22,1,6.0 +6.38626670837402,0.227732673287392,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0062121539376676,22,2,6.0 +7.5572075843811,0.228048652410507,11.4075651168823,1,0,0,0,0.360588580369949,1.60943794250488,3.91202306747437,1.7917594909668,0,0,0,1,0,0,0,0,0.0267209094017744,22,4,6.0 +8.14604568481445,0.228144869208336,11.4075651168823,0,1,0,0,0.360588580369949,1.3862943649292,2.94443893432617,1.60943794250488,0,1,0,0,0,0,0,0,0.0481528826057911,22,4,6.0 +7.05162811279297,0.227990090847015,10.5320959091187,0,0,1,0,0.360588580369949,1.0986123085022,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.038678240031004,22,3,6.0 +6.50725269317627,0.228076457977295,11.2580327987671,0,1,0,0,0.360588580369949,0.6931471824646,3.49650764465332,1.0986123085022,1,0,0,0,0,0,0,0,0.0108596170321107,22,2,6.0 +7.72420740127563,0.228107199072838,11.1198825836182,1,0,0,0,0.360588580369949,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0421058647334576,22,2,6.0 +7.13348913192749,0.228219166398048,11.4075651168823,0,1,0,0,0.360588580369949,0.6931471824646,3.29583692550659,1.0986123085022,0,1,0,0,0,0,0,0,0.017494710162282,22,2,6.0 +6.93731307983398,0.227966651320457,11.4075651168823,0,1,0,0,0.360588580369949,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0143747059628367,22,2,6.0 +6.83390951156616,0.227977082133293,10.7684850692749,0,1,0,0,0.360588580369949,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0245609283447266,22,1,6.0 +7.64737272262573,0.228254944086075,10.2219409942627,0,1,0,0,0.360588580369949,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0957213863730431,22,1,6.0 +6.13574123382568,0.227885410189629,10.5320959091187,0,1,0,0,0.360588580369949,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.015475925989449,22,2,6.0 +8.05403232574463,0.228286162018776,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,0,0.0329445712268353,22,1,6.0 +6.98227310180664,0.228013813495636,11.0429220199585,0,0,0,1,0.360588580369949,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,0,0.0216524861752987,22,2,6.0 +8.31051158905029,0.22836309671402,11.1913414001465,0,1,0,0,0.360588580369949,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0704771429300308,22,1,6.0 +6.78228235244751,0.22794234752655,10.9595403671265,0,1,0,0,0.360588580369949,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0192678906023502,22,3,6.0 +7.36949396133423,0.228058233857155,11.6952466964722,1,0,0,0,0.360588580369949,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.01661092415452,22,1,6.0 +7.06895399093628,0.227824658155441,10.5320959091187,0,1,0,0,0.360588580369949,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0393477007746696,22,1,6.0 +7.36337471008301,0.228126466274261,11.6952466964722,0,0,0,1,0.360588580369949,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0165107175707817,22,2,6.0 +7.3398175239563,0.228133484721184,11.4075651168823,1,0,0,0,0.360588580369949,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,0,0.0215019024908543,22,2,6.0 +6.30618095397949,0.227739319205284,11.6952466964722,0,0,0,1,0.360588580369949,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0057340855710208,22,2,6.0 +7.62118673324585,0.22816213965416,11.6952466964722,0,1,0,0,0.360588580369949,1.0986123085022,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,0,0.021367197856307,22,3,6.0 +7.3800253868103,0.228184252977371,10.8685684204102,0,0,1,0,0.360588580369949,0.6931471824646,3.43398714065552,1.0986123085022,1,0,0,0,0,0,0,0,0.038374625146389,22,2,6.0 +6.74514293670654,0.227958396077156,7.82404613494873,0,1,0,0,0.360588580369949,0.6931471824646,4.34380531311035,1.60943794250488,0,1,0,0,0,0,0,0,0.427011370658875,22,1,6.0 +6.24297571182251,0.228076264262199,11.4075651168823,0,0,0,1,0.360588580369949,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0071795894764363,22,1,6.0 +7.9401421546936,0.228252947330475,10.9595403671265,0,1,0,0,0.360588580369949,0.6931471824646,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.0613509118556976,22,1,6.0 +7.12721109390259,0.228196397423744,11.1198825836182,1,0,0,0,0.360588580369949,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0231797676533461,22,2,6.0 +6.55011701583862,0.228077307343483,10.3889951705933,1,0,0,0,0.360588580369949,0.6931471824646,3.09104251861572,1.60943794250488,0,0,0,1,0,0,0,0,0.0270301904529333,22,1,6.0 +7.56416177749634,0.228216037154198,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0201839189976454,22,2,6.0 +8.10188293457031,0.228353515267372,9.76995658874512,0,0,1,0,0.360588580369949,1.3862943649292,4.1588830947876,1.7917594909668,1,0,0,0,0,0,0,0,0.236994117498398,22,4,6.0 +6.9239559173584,0.228133484721184,9.43348407745361,0,1,0,0,0.360588580369949,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.102141678333282,22,1,6.0 +7.25183057785034,0.228148281574249,11.6952466964722,0,1,0,0,0.360588580369949,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,0,0.0147683592513204,22,2,6.0 +7.66949939727783,0.228222861886024,10.9595403671265,0,0,0,1,0.360588580369949,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.046802531927824,22,1,6.0 +7.24832391738892,0.228061839938164,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.0147153940051794,22,1,6.0 +6.78490972518921,0.228251993656158,8.92265796661377,1,0,0,0,0.360588580369949,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,0,1,0,0,0.148154973983765,22,1,6.0 +7.15318822860718,0.228149324655533,10.7684850692749,0,1,0,0,0.360588580369949,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0338049679994583,22,2,6.0 +7.76103734970093,0.228123426437378,11.2580327987671,0,1,0,0,0.360588580369949,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0380493029952049,22,1,6.0 +7.32161235809326,0.228171914815903,11.4075651168823,0,0,1,0,0.360588580369949,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0211148057132959,22,1,6.0 +7.87690734863281,0.228113934397697,11.2580327987671,0,1,0,0,0.360588580369949,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,0,0.0427232496440411,22,2,6.0 +7.26305866241455,0.228129401803017,10.6572589874268,0,1,0,0,0.360588580369949,0.6931471824646,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,0,0.0421689338982105,22,2,6.0 +6.81816339492798,0.228007465600967,7.82404613494873,0,0,0,1,0.360588580369949,1.3862943649292,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.459381192922592,22,2,6.0 +7.20215320587158,0.228105872869492,10.9595403671265,0,1,0,0,0.360588580369949,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0293259881436825,22,2,6.0 +8.02060127258301,0.228200286626816,10.9595403671265,0,0,0,1,0.360588580369949,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,0,1,0,0,0,0.066487655043602,22,2,6.0 +6.98760938644409,0.22829470038414,10.3889951705933,0,1,0,0,0.360588580369949,1.60943794250488,3.91202306747437,2.0794415473938,0,1,0,0,0,0,0,0,0.0418739430606365,22,1,6.0 +7.87430715560913,0.22820882499218,10.9595403671265,0,1,0,0,0.360588580369949,1.0986123085022,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.0574394352734089,22,2,6.0 +7.15582942962646,0.227969020605087,11.6952466964722,0,0,0,1,0.360588580369949,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0134141026064754,22,3,6.0 +5.38033294677734,0.226970180869102,10.3889951705933,0,0,1,0,0.360588580369949,0.6931471824646,3.76120018959045,1.94591009616852,0,0,0,0,1,0,0,0,0.0083818007260561,22,1,6.0 +4.54069042205811,0.304911643266678,10.8685684204102,0,0,1,0,1.77750146389008,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.002422472462058,24,2,4.0 +8.78096389770508,0.305158913135529,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0981319546699524,24,2,4.0 +7.27500486373901,0.305050402879715,10.5320959091187,0,0,1,0,1.77750146389008,1.3862943649292,3.78418970108032,1.7917594909668,0,0,0,0,1,0,0,1,0.0522329993546009,24,3,4.0 +7.75770807266235,0.305128693580627,10.6572589874268,0,1,0,0,1.77750146389008,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,1,0.0746889710426331,24,1,4.0 +4.74286031723022,0.30574369430542,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,4.02535152435303,1.60943794250488,0,1,0,0,0,0,0,1,0.0012983733322471,24,1,4.0 +6.94295978546143,0.3050876557827,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,1,0.0117113180458546,24,2,4.0 +7.42308282852173,0.305117100477219,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,1,0.0189292449504137,24,2,4.0 +7.06014347076416,0.305101811885834,11.2580327987671,0,0,1,0,1.77750146389008,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0203884243965149,24,1,4.0 +6.80406427383423,0.305077284574509,10.9595403671265,0,1,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,1,0.021271251142025,24,1,4.0 +7.97520208358765,0.305117547512054,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,1,0.032878790050745,24,2,4.0 +7.48847007751465,0.305123150348663,11.0429220199585,0,0,1,0,1.77750146389008,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.0388002470135689,24,2,4.0 +7.13172769546509,0.305108487606049,11.0429220199585,0,0,1,0,1.77750146389008,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,1,0.0271579399704933,24,2,4.0 +7.15098333358765,0.305087387561798,11.2580327987671,0,1,0,0,1.77750146389008,1.0986123085022,4.17438745498657,1.3862943649292,0,0,1,0,0,0,0,1,0.0223269183188677,24,3,4.0 +7.72401142120361,0.305107593536377,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,1,0.0255753062665462,24,2,4.0 +7.12091445922852,0.305111020803452,11.0429220199585,0,0,1,0,1.77750146389008,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0268659330904484,24,1,4.0 +7.42688035964966,0.305112689733505,11.6952466964722,1,0,0,0,1.77750146389008,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,1,0,0,0,1,0.0190011840313673,24,2,4.0 +6.96830415725708,0.305091261863708,11.6952466964722,1,0,0,0,1.77750146389008,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,1,0.0120119694620371,24,1,4.0 +7.00735521316528,0.305080711841583,10.5320959091187,0,0,1,0,1.77750146389008,1.0986123085022,4.18965482711792,1.7917594909668,0,0,0,0,1,0,0,1,0.0399686358869076,24,2,4.0 +8.08750915527344,0.305128782987595,11.2580327987671,0,1,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,1,0.0569605827331543,24,2,4.0 +6.82753753662109,0.305062711238861,10.6572589874268,0,1,0,0,1.77750146389008,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,1,0.0294618532061577,24,1,4.0 +5.99083280563354,0.30505234003067,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.0060259532183408,24,2,4.0 +7.61415767669678,0.305115789175034,11.2580327987671,0,0,1,0,1.77750146389008,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.0354809276759624,24,4,4.0 +7.55574798583984,0.305104523897171,10.7684850692749,0,1,0,0,1.77750146389008,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0546048581600189,24,1,4.0 +7.17760705947876,0.305101454257965,10.6572589874268,0,1,0,0,1.77750146389008,0.6931471824646,3.25809645652771,1.60943794250488,0,0,0,0,1,0,0,1,0.0418128706514835,24,2,4.0 +6.95826721191406,0.305085986852646,11.1198825836182,0,0,1,0,1.77750146389008,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0211412403732538,24,2,4.0 +6.46567392349243,0.305350780487061,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.21887588500977,1.0986123085022,1,0,0,0,0,0,0,1,0.009691166691482,24,2,4.0 +6.84076547622681,0.305076777935028,10.9595403671265,1,0,0,0,1.77750146389008,0.6931471824646,3.63758611679077,1.60943794250488,0,0,1,0,0,0,0,1,0.0220664255321026,24,2,4.0 +5.70992040634155,0.305036783218384,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.004550093319267,24,1,4.0 +7.26124095916748,0.305067628622055,11.4075651168823,1,0,0,0,1.77750146389008,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0214666165411472,24,2,4.0 +7.22789907455444,0.305125892162323,10.8685684204102,0,1,0,0,1.77750146389008,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,0,0,0,1,0.0355952344834805,24,2,4.0 +7.28026580810547,0.305109888315201,11.4075651168823,1,0,0,0,1.77750146389008,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0218798499554396,24,1,4.0 +7.64474201202393,0.305112540721893,11.2580327987671,0,1,0,0,1.77750146389008,0.6931471824646,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,1,0.0365827493369579,24,2,4.0 +7.3234806060791,0.305118054151535,11.2580327987671,0,0,0,1,1.77750146389008,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,0,1,0,1,0.0265311803668737,24,2,4.0 +7.26266193389893,0.305109262466431,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,1,0.0161235276609659,24,2,4.0 +7.12246704101562,0.305101722478867,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0140142850577831,24,2,4.0 +6.90446090698242,0.305090725421906,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,1,0.011269049718976,24,3,4.0 +6.50108432769775,0.305136948823929,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,1,0,0,0,0,1,0.0075287539511919,24,2,4.0 +7.6360034942627,0.305120885372162,11.6952466964722,0,1,0,0,1.77750146389008,1.0986123085022,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,1,0.0234209839254618,24,3,4.0 +7.63145780563354,0.305447399616241,11.0429220199585,0,0,1,0,1.77750146389008,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0447789765894413,24,1,4.0 +7.0882453918457,0.305102854967117,10.3889951705933,1,0,0,0,1.77750146389008,0.6931471824646,4.00733327865601,1.0986123085022,0,0,1,0,0,0,0,1,0.0500042662024498,24,2,4.0 +7.21227025985718,0.30510339140892,11.6952466964722,1,0,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0153310736641288,24,2,4.0 +7.35295963287354,0.305118501186371,10.5320959091187,0,0,1,0,1.77750146389008,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0564715750515461,24,2,4.0 +7.17770481109619,0.305095225572586,10.7684850692749,1,0,0,0,1.77750146389008,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,1,0.0374149493873119,24,2,4.0 +7.19060564041138,0.305143445730209,11.6952466964722,0,0,0,1,1.77750146389008,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,0,0,1,1,0.0150031074881554,24,1,4.0 +7.36121034622192,0.305168151855469,11.2580327987671,0,0,1,0,1.77750146389008,0.6931471824646,3.91202306747437,1.0986123085022,0,0,1,0,0,0,0,1,0.0275526996701956,24,2,4.0 +7.29651260375977,0.305080711841583,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.93182563781738,1.0986123085022,1,0,0,0,0,0,0,1,0.0222375802695751,24,2,4.0 +7.43034839630127,0.30528312921524,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0254272669553757,24,2,4.0 +7.89378881454468,0.305134326219559,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,1,0.0303085930645466,24,1,4.0 +7.79561710357666,0.30505234003067,11.4075651168823,0,0,1,0,1.77750146389008,1.3862943649292,3.7376697063446,1.94591009616852,0,0,1,0,0,0,0,1,0.0366297177970409,24,4,4.0 +7.05941009521484,0.305087119340897,11.1913414001465,0,1,0,0,1.77750146389008,0.6931471824646,3.95124363899231,1.3862943649292,0,1,0,0,0,0,0,1,0.0217782240360975,24,2,4.0 +7.36990737915039,0.305087566375732,11.6952466964722,0,1,0,0,1.77750146389008,1.0986123085022,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,1,0.0179484430700541,24,2,4.0 +7.25035715103149,0.30511286854744,10.7684850692749,1,0,0,0,1.77750146389008,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,1,0.0402351170778275,24,2,4.0 +6.94405031204224,0.305076867341995,11.1913414001465,0,0,1,0,1.77750146389008,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0194051899015903,24,2,4.0 +8.16515827178955,0.305120706558228,11.6952466964722,0,1,0,0,1.77750146389008,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.0397570505738258,24,4,4.0 +7.15061616897583,0.305090129375458,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.0986123085022,0,1,0,0,0,0,0,1,0.0144142117351294,24,1,4.0 +5.8460054397583,0.305064111948013,11.0429220199585,0,0,1,0,1.77750146389008,1.3862943649292,3.63758611679077,1.3862943649292,0,0,0,0,0,1,0,1,0.0075075034983456,24,2,4.0 +7.91734886169434,0.305084317922592,11.6952466964722,1,0,0,0,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,1,0.0310295987874269,24,2,4.0 +7.34406995773315,0.305136263370514,10.5320959091187,0,0,1,0,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0559727735817432,24,1,4.0 +7.29129076004028,0.305088192224503,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,3.93182563781738,1.3862943649292,1,0,0,0,0,0,0,1,0.0165914464741945,24,3,4.0 +6.03629016876221,0.304999351501465,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,3.93182563781738,1.3862943649292,0,0,0,0,1,0,0,1,0.0047293961979448,24,2,4.0 +7.62811803817749,0.305098026990891,10.7684850692749,0,0,1,0,1.77750146389008,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0587027408182621,24,2,4.0 +7.13181495666504,0.305119901895523,11.4075651168823,0,1,0,0,1.77750146389008,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,1,0,0,0,1,0.0188615433871746,24,2,4.0 +6.18523979187012,0.305085808038712,9.76995658874512,0,0,1,0,1.77750146389008,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0376421511173248,24,1,4.0 +7.29815149307251,0.305110067129135,11.1198825836182,0,0,0,1,1.77750146389008,0.6931471824646,4.00733327865601,1.3862943649292,0,0,0,0,1,0,0,1,0.029699606820941,24,2,4.0 +7.57842826843262,0.305117785930634,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,1,0.0221105329692364,24,1,4.0 +7.44736003875732,0.305094242095947,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,1,0.0193939786404371,24,3,4.0 +7.64773225784302,0.305125176906586,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,1,0.0315965414047241,24,1,4.0 +7.80952167510986,0.30512535572052,11.2580327987671,0,1,0,0,1.77750146389008,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0431364737451077,24,2,4.0 +6.09330892562866,0.305170863866806,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,1,0.0066770086996257,24,1,4.0 +7.13344526290894,0.305093556642532,9.76995658874512,0,0,1,0,1.77750146389008,1.0986123085022,4.1588830947876,1.7917594909668,0,1,0,0,0,0,0,1,0.0971579328179359,24,1,4.0 +7.54293203353882,0.305107265710831,10.8685684204102,0,0,1,0,1.77750146389008,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0487754121422768,24,2,4.0 +7.33933115005493,0.305059105157852,11.1198825836182,0,0,1,0,1.77750146389008,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,1,0.0309465881437063,24,2,4.0 +7.73269271850586,0.305131763219833,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,3.93182563781738,1.60943794250488,0,0,0,1,0,0,0,1,0.0257989168167114,24,3,4.0 +7.00776052474976,0.305060237646103,11.4075651168823,0,0,0,1,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,0,1,0,1,0.0166600085794926,24,1,4.0 +6.92828178405762,0.305092841386795,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,0,1,0,1,0.0153876459226012,24,2,4.0 +7.61708831787109,0.305128157138824,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,4.14313459396362,1.60943794250488,0,0,0,0,1,0,0,1,0.0229823067784309,24,3,4.0 +6.02930784225464,0.305099695920944,10.8685684204102,0,0,1,0,1.77750146389008,0.6931471824646,4.20469284057617,1.3862943649292,0,0,0,1,0,0,0,1,0.0107359103858471,24,0,4.0 +7.01427316665649,0.305159628391266,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,1,0.0125778978690505,24,2,4.0 +7.09206104278564,0.305103659629822,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,1,0,0,0,1,0.013594601303339,24,2,4.0 +6.69812631607056,0.305074483156204,11.0429220199585,0,0,1,0,1.77750146389008,1.0986123085022,3.85014748573303,1.7917594909668,0,0,0,0,1,0,0,1,0.0176023822277784,24,1,4.0 +7.75444030761719,0.305123776197433,10.9595403671265,1,0,0,0,1.77750146389008,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,1,0.0550245307385921,24,3,4.0 +7.44688892364502,0.325949460268021,11.4075651168823,0,1,0,0,2.33413791656494,1.0986123085022,3.40119743347168,1.60943794250488,0,1,0,0,0,0,0,1,0.0263911485671997,25,2,0.0 +7.93142318725586,0.325947463512421,11.6952466964722,0,0,0,1,2.33413791656494,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,0,1,0,1,0.0321328453719616,25,2,0.0 +7.07452440261841,0.325903236865997,10.7684850692749,0,0,0,1,2.33413791656494,0.6931471824646,3.8712010383606,1.60943794250488,0,0,0,1,0,0,0,1,0.0344565138220787,25,1,0.0 +6.68720483779907,0.32588928937912,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,1,0.0123454108834267,25,2,0.0 +6.42873001098633,0.326330333948135,11.1913414001465,0,0,1,0,2.33413791656494,1.0986123085022,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,1,0.0118398834019899,25,2,0.0 +7.4089035987854,0.325922518968582,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0254067946225405,25,2,0.0 +7.20459175109863,0.32589989900589,11.4075651168823,1,0,0,0,2.33413791656494,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,1,0.0207113530486822,25,2,0.0 +7.6464581489563,0.325921326875687,11.0429220199585,0,1,0,0,2.33413791656494,0.6931471824646,3.78418970108032,1.60943794250488,1,0,0,0,0,0,0,1,0.0463959835469723,25,2,0.0 +7.52807283401489,0.325930953025818,10.8685684204102,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0490671806037426,25,2,0.0 +6.79401254653931,0.325885504484177,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.68887948989868,1.7917594909668,0,0,1,0,0,0,0,1,0.0159525703638792,25,1,0.0 +7.33522796630859,0.325873970985413,11.1198825836182,0,0,1,0,2.33413791656494,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.031468104571104,25,2,0.0 +7.235191822052,0.325915634632111,11.1198825836182,1,0,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,1,0.0284736659377813,25,2,0.0 +7.40802669525146,0.325926393270493,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,1,0.0190384685993195,25,2,0.0 +7.13597965240479,0.325895756483078,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,1,0.0145034054294229,25,2,0.0 +7.60203123092651,0.325915217399597,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,1,0.0231143701821566,25,2,0.0 +7.74002742767334,0.325910210609436,11.6952466964722,1,0,0,0,2.33413791656494,1.0986123085022,3.91202306747437,1.60943794250488,1,0,0,0,0,0,0,1,0.02653450332582,25,3,0.0 +6.93120384216309,0.325871229171753,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,1,0.0298547893762589,25,1,0.0 +7.12322664260864,0.325913488864899,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,1,0.0190931633114815,25,1,0.0 +7.42844724655151,0.325477868318558,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,1,0.0194225199520588,25,2,0.0 +7.56150674819946,0.325919687747955,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0221964996308088,25,1,0.0 +7.2236909866333,0.325894713401794,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.97029185295105,1.0986123085022,0,0,0,0,1,0,0,1,0.0211106147617102,25,2,0.0 +7.33105993270874,0.325880706310272,10.7684850692749,0,0,1,0,2.33413791656494,1.0986123085022,4.26268005371094,1.60943794250488,0,0,1,0,0,0,0,0,0.0445321351289749,25,1,0.0 +6.2237663269043,0.325836360454559,10.3889951705933,1,0,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0215066634118557,25,3,0.0 +6.44909191131592,0.325837850570679,10.9595403671265,0,0,1,0,2.33413791656494,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,1,0.0152281392365694,25,1,0.0 +7.99104928970337,0.325950384140015,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.71357202529907,1.60943794250488,1,0,0,0,0,0,0,1,0.0341071859002113,25,1,0.0 +8.13505744934082,0.325954258441925,11.1198825836182,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0700272098183632,25,1,0.0 +6.68084192276001,0.325839400291443,11.4075651168823,0,0,1,0,2.33413791656494,1.0986123085022,4.04305124282837,1.3862943649292,0,0,0,1,0,0,0,1,0.0122664961963892,25,1,0.0 +6.82132053375244,0.32587993144989,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,1,0.0105878645554185,25,2,0.0 +6.46057224273682,0.325820028781891,10.3889951705933,0,0,1,0,2.33413791656494,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,0,1,0,1,0.0272526927292347,25,0,0.0 +7.33522939682007,0.325907796621323,10.9595403671265,0,0,0,1,2.33413791656494,0.6931471824646,3.43398714065552,1.7917594909668,0,0,0,0,1,0,0,1,0.0369421131908894,25,1,0.0 +7.89032506942749,0.325958043336868,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0779099240899086,25,2,0.0 +6.45798969268799,0.325835436582565,10.7684850692749,0,0,0,1,2.33413791656494,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0185987669974566,25,2,0.0 +6.98156929016113,0.325894892215729,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.012428255751729,25,1,0.0 +7.28815889358521,0.325941264629364,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0168880838900805,25,1,0.0 +7.393630027771,0.325928628444672,11.0429220199585,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0360314473509789,25,2,0.0 +7.62341785430908,0.325933694839478,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0314859710633755,25,3,0.0 +6.48807287216187,0.325836539268494,11.6952466964722,0,0,1,0,2.33413791656494,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,0,1,0,0,1,0.007586857303977,25,1,0.0 +6.92077493667603,0.325880348682404,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,1,0.0116950236260891,25,2,0.0 +6.5536937713623,0.325842916965485,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,0,1,0,0,1,0.020466860383749,25,1,0.0 +5.6518292427063,0.325856328010559,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,1,0.0043836249969899,25,1,0.0 +7.94593954086304,0.325939297676086,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,1,0.0326024442911148,25,1,0.0 +6.91066694259644,0.3258937895298,10.5320959091187,0,0,1,0,2.33413791656494,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,1,0.0370482057332993,25,2,0.0 +7.41787338256836,0.325916230678558,10.7684850692749,0,0,1,0,2.33413791656494,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,1,0.0485726147890091,25,2,0.0 +8.41286754608154,0.325955718755722,10.6572589874268,0,1,0,0,2.33413791656494,1.0986123085022,4.09434461593628,1.60943794250488,0,0,0,1,0,0,0,1,0.146836444735527,25,2,0.0 +7.3173656463623,0.325915813446045,10.9595403671265,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0362883396446705,25,1,0.0 +7.32589292526245,0.325913488864899,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.60943794250488,0,1,0,0,0,0,0,1,0.0175370331853628,25,1,0.0 +6.36670732498169,0.325825870037079,10.9595403671265,0,1,0,0,2.33413791656494,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,1,0.0140236942097545,25,2,0.0 +7.08573770523071,0.326502591371536,11.4075651168823,0,0,1,0,2.33413791656494,1.0986123085022,3.97029185295105,1.60943794250488,0,0,0,0,1,0,0,1,0.0184014737606049,25,3,0.0 +7.37441730499268,0.327079176902771,10.9595403671265,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,1,0.0384635627269745,25,2,0.0 +7.88805961608887,0.326028883457184,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,1,0.030771741643548,25,2,0.0 +7.66946315765381,0.325901448726654,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,1,0.0247264299541712,25,1,0.0 +7.36177110671997,0.325924664735794,11.1198825836182,1,0,0,0,2.33413791656494,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.032316192984581,25,2,0.0 +6.56528615951538,0.325908571481705,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,1,0.0126913003623486,25,2,0.0 +5.47725439071655,0.325842052698135,10.7684850692749,1,0,0,0,2.33413791656494,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,1,0.0069752414710819,25,2,0.0 +7.27810955047607,0.32713520526886,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,4.00733327865601,1.0986123085022,0,0,0,1,0,0,0,1,0.0422884896397591,25,2,0.0 +6.04023838043213,0.325876653194427,10.7684850692749,0,0,0,1,2.33413791656494,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,0,1,1,0.0122482776641846,25,2,0.0 +6.5437798500061,0.325845330953598,11.2580327987671,0,1,0,0,2.33413791656494,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0124204847961664,25,2,0.0 +7.65996360778809,0.325940757989883,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,1,0.0379256010055542,25,2,0.0 +5.77354717254639,0.325870037078857,10.2219409942627,0,0,1,0,2.33413791656494,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,0,1,0,1,0.0162035599350929,25,1,0.0 +6.91442251205444,0.325872421264648,11.6952466964722,1,0,0,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0116208763793111,25,1,0.0 +5.99600315093994,0.325788944959641,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.0046380790881812,25,2,0.0 +7.49729347229004,0.325870722532272,10.9595403671265,0,1,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,1,0.0434399358928204,25,2,0.0 +6.55930995941162,0.325841099023819,10.6572589874268,0,1,0,0,2.33413791656494,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0230035129934549,25,3,0.0 +7.89845323562622,0.326056152582169,11.6952466964722,0,1,0,0,2.33413791656494,1.0986123085022,3.95124363899231,1.60943794250488,0,1,0,0,0,0,0,1,0.0310940835624933,25,3,0.0 +8.09960746765137,0.325953930616379,11.1198825836182,0,1,0,0,2.33413791656494,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.067588247358799,25,1,0.0 +7.29388332366943,0.325953155755997,11.1198825836182,1,0,0,0,2.33413791656494,0.6931471824646,4.06044292449951,1.0986123085022,0,0,0,0,1,0,0,1,0.0301959849894047,25,2,0.0 +6.77810287475586,0.325894564390182,7.82404613494873,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.486728638410568,25,1,0.0 +7.09034729003906,0.32590651512146,11.4075651168823,1,0,0,0,2.33413791656494,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.018475478515029,25,1,0.0 +7.42003202438354,0.326086521148682,11.4075651168823,0,0,1,0,2.33413791656494,1.0986123085022,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,1,0.0256953202188015,25,2,0.0 +6.75027847290039,0.325943768024445,10.6572589874268,1,0,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.0278468057513237,25,2,0.0 +7.58669853210449,0.325916051864624,10.7684850692749,0,0,0,1,2.33413791656494,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,0,1,0,1,0.0575057417154312,25,2,0.0 +7.55987739562988,0.325932770967484,10.8685684204102,0,1,0,0,2.33413791656494,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0506529323756695,25,1,0.0 +7.11783266067505,0.325891017913818,10.8685684204102,0,1,0,0,2.33413791656494,0.6931471824646,3.93182563781738,1.60943794250488,0,0,1,0,0,0,0,0,0.0325543321669102,25,2,0.0 +7.03802347183228,0.325878471136093,10.8685684204102,0,1,0,0,2.33413791656494,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,1,0.0300567932426929,25,1,0.0 +7.16187858581543,0.325890511274338,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0198451429605484,25,1,0.0 +8.04529190063477,0.325932234525681,11.1198825836182,0,0,1,0,2.33413791656494,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,1,0.0640136897563934,25,3,0.0 +8.26576709747314,0.32595831155777,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,1,0.0448908507823944,25,2,0.0 +6.96323442459106,0.325886279344559,10.5320959091187,0,1,0,0,2.33413791656494,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,0,0,1,0.0390475429594517,25,2,0.0 +7.45893907546997,0.32593035697937,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,1,0.0267105773091316,25,2,0.0 +6.34510326385498,0.325833886861801,11.4075651168823,0,0,0,1,2.33413791656494,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,0,1,0,1,0.0087681636214256,25,2,0.0 +7.79902744293213,0.325924336910248,11.2580327987671,0,1,0,0,2.33413791656494,1.0986123085022,2.89037179946899,1.60943794250488,0,0,1,0,0,0,0,1,0.0435832887887955,25,4,0.0 +6.5605001449585,0.325851619243622,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0081568658351898,25,2,0.0 +7.93500757217407,0.325921654701233,11.6952466964722,0,1,0,0,2.33413791656494,1.0986123085022,4.24849510192871,1.3862943649292,1,0,0,0,0,0,0,1,0.0322473980486393,25,2,0.0 +6.8328013420105,0.325867772102356,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0107099944725633,25,2,0.0 +6.26566219329834,0.32587993144989,10.8685684204102,1,0,0,0,2.33413791656494,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,1,0.0138838840648532,25,2,0.0 +6.55965328216553,0.32581889629364,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.80666255950928,1.3862943649292,0,1,0,0,0,0,0,1,0.0081496937200427,25,1,0.0 +7.02304697036743,0.325876742601395,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,1,0.0172724761068821,25,2,0.0 +7.2280740737915,0.325922518968582,11.1913414001465,0,0,1,0,2.33413791656494,0.6931471824646,3.71357202529907,1.7917594909668,0,0,1,0,0,0,0,1,0.0263221338391304,25,2,0.0 +8.69371891021729,0.325954020023346,10.5320959091187,0,1,0,0,2.33413791656494,1.3862943649292,4.04305124282837,1.60943794250488,1,0,0,0,0,0,0,0,0.220375224947929,25,4,0.0 +7.03542518615723,0.325901180505753,10.5320959091187,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.0986123085022,0,1,0,0,0,0,0,1,0.0419712662696838,25,2,0.0 +6.58558654785156,0.325811415910721,11.1913414001465,1,0,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,0,1,0,1,0.0138434413820505,25,2,0.0 +6.60575294494629,0.325862973928452,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,1,0.0113794170320034,25,2,0.0 +5.74636840820312,0.325885415077209,10.3889951705933,0,0,1,0,2.33413791656494,0.0,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0133432932198048,25,2,0.0 +7.24087619781494,0.325912624597549,11.1198825836182,0,0,1,0,2.33413791656494,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0286358986049891,25,2,0.0 +4.87041282653809,0.32564976811409,10.3889951705933,0,0,0,1,2.33413791656494,1.0986123085022,2.94443893432617,1.3862943649292,0,0,0,0,1,0,0,1,0.0055556893348693,25,2,0.0 +6.9523491859436,0.326016038656235,10.2219409942627,0,1,0,0,2.33413791656494,0.6931471824646,3.8712010383606,1.60943794250488,0,1,0,0,0,0,0,0,0.0526770204305649,25,1,0.0 +6.73132276535034,0.325863391160965,10.8685684204102,0,0,1,0,2.33413791656494,0.6931471824646,3.82864141464233,1.3862943649292,0,0,1,0,0,0,0,1,0.0221175886690617,25,2,0.0 +6.63378953933716,0.325868904590607,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0221741814166307,25,2,0.0 +7.46338701248169,0.325900733470917,10.3889951705933,0,1,0,0,2.33413791656494,1.0986123085022,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,1,0.0742953047156334,25,1,0.0 +7.45006227493286,0.325898498296738,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,1,0.0198552589863539,25,2,0.0 +7.21670627593994,0.325923025608063,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,1,0.02434560097754,25,2,0.0 +8.65374183654785,0.325950235128403,11.2580327987671,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.7917594909668,1,0,0,0,0,0,0,1,0.102453976869583,25,2,0.0 +7.18208265304565,0.325879156589508,11.2580327987671,0,1,0,0,2.33413791656494,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,1,0.0235160645097494,25,4,0.0 +6.79472827911377,0.326713442802429,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,0,0.0159772206097841,25,1,0.0 +6.55716037750244,0.325835585594177,10.7684850692749,0,0,1,0,2.33413791656494,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0205377843230963,25,2,0.0 +7.59479522705078,0.32592362165451,10.9595403671265,1,0,0,0,2.33413791656494,1.0986123085022,3.49650764465332,1.60943794250488,0,0,0,1,0,0,0,1,0.047891303896904,25,3,0.0 +6.29505825042725,0.325794041156769,10.3889951705933,1,0,0,0,2.33413791656494,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,1,0.0230949111282825,25,1,0.0 +7.23855876922607,0.325921237468719,10.9595403671265,1,0,0,0,2.33413791656494,0.0,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,1,0.0335385277867317,25,2,0.0 +7.3929181098938,0.325892150402069,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,1,0.0187523365020752,25,2,0.0 +6.77495861053467,0.325882762670517,11.6952466964722,1,0,0,0,2.33413791656494,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,1,0.0101082269102335,25,1,0.0 +7.56835603713989,0.325918048620224,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.82864141464233,1.0986123085022,1,0,0,0,0,0,0,1,0.0297986939549446,25,2,0.0 +7.13688039779663,0.325910478830338,11.2580327987671,0,1,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,1,0.022477462887764,25,1,0.0 +5.49485635757446,0.326114743947983,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,1,0,0,1,0.0037477707955986,25,2,0.0 +6.23869752883911,0.325776487588882,10.9595403671265,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0123380636796355,25,2,0.0 +7.68655300140381,0.325899451971054,9.43348407745361,0,1,0,0,2.33413791656494,1.0986123085022,4.40671920776367,1.3862943649292,1,0,0,0,0,0,0,0,0.241464853286743,25,2,0.0 +6.8020658493042,0.325889050960541,10.9595403671265,0,0,1,0,2.33413791656494,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,0,1,0,1,0.0216752253472805,25,1,0.0 +7.13342523574829,0.32589927315712,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,1,0.0192886125296354,25,2,0.0 +7.5887188911438,0.325938433408737,11.4075651168823,1,0,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0304123181849718,25,2,0.0 +7.19846487045288,0.325912624597549,11.1913414001465,0,0,1,0,2.33413791656494,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0255539212375879,25,3,0.0 +7.13012933731079,0.325911492109299,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,1,0.0144190303981304,25,2,0.0 +7.45872020721436,0.325952649116516,10.3889951705933,0,0,1,0,2.33413791656494,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0739532262086868,25,2,0.0 +6.65948057174683,0.325846016407013,10.3889951705933,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.03325105458498,25,2,0.0 +7.10620450973511,0.325901091098785,10.8685684204102,0,0,1,0,2.33413791656494,1.3862943649292,3.95124363899231,1.7917594909668,0,0,0,1,0,0,0,0,0.0321783013641834,25,3,0.0 +7.10718059539795,0.325900316238403,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,1,0.0140917422249913,25,1,0.0 +7.08579015731812,0.325912624597549,11.0429220199585,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.0264838840812445,25,2,0.0 +7.0248875617981,0.325906246900558,10.8685684204102,0,0,1,0,2.33413791656494,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,1,0.0296653769910336,25,2,0.0 +7.54449319839478,0.325926721096039,11.2580327987671,0,1,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,1,0.0337892286479473,25,2,0.0 +6.8899712562561,0.325928717851639,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,1,0.0151210846379399,25,1,0.0 +7.93527364730835,0.278615325689316,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0642064586281776,26,2,2.0 +5.46898174285889,0.278520941734314,11.1198825836182,0,1,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.004643065854907,26,1,2.0 +7.92102193832397,0.278622984886169,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0404406450688839,26,2,2.0 +8.49666690826416,0.27864283323288,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.7917594909668,0,1,0,0,0,0,0,0,0.0719161108136177,26,2,2.0 +7.71416568756104,0.278594106435776,10.5320959091187,0,1,0,0,1.85262143611908,1.60943794250488,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0789187625050545,26,4,2.0 +7.80559968948364,0.278632283210754,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0360325388610363,26,2,2.0 +7.77582025527954,0.278602957725525,10.9595403671265,0,1,0,0,1.85262143611908,1.0986123085022,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0547423921525478,26,2,2.0 +7.69712018966675,0.278642475605011,11.6952466964722,1,0,0,0,1.85262143611908,0.6931471824646,3.78418970108032,1.0986123085022,1,0,0,0,0,0,0,0,0.0242464654147625,26,2,2.0 +8.05604648590088,0.278615683317184,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0462866090238094,26,1,2.0 +7.12567377090454,0.278596013784409,11.1913414001465,0,1,0,0,1.85262143611908,1.0986123085022,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0226618554443121,26,3,2.0 +7.64927387237549,0.278622359037399,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0308176148682833,26,2,2.0 +8.10200881958008,0.27863010764122,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0484643690288067,26,2,2.0 +6.93835115432739,0.278554320335388,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0151362996548414,26,2,2.0 +7.51199769973755,0.278867274522781,11.6952466964722,1,0,0,0,1.85262143611908,1.3862943649292,4.09434461593628,1.60943794250488,0,0,0,0,1,0,0,0,0.0201534070074558,26,5,2.0 +7.58340787887573,0.278570383787155,11.2580327987671,0,0,1,0,1.85262143611908,1.3862943649292,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0335051864385605,26,2,2.0 +6.83038949966431,0.278540343046188,10.2219409942627,0,0,0,1,1.85262143611908,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0444668419659138,26,2,2.0 +6.93259239196777,0.278584182262421,10.6572589874268,0,1,0,0,1.85262143611908,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0318702310323715,26,2,2.0 +6.71715068817139,0.278551429510117,11.4075651168823,0,0,1,0,1.85262143611908,1.0986123085022,3.68887948989868,1.7917594909668,0,0,0,0,1,0,0,0,0.0121325580403209,26,3,2.0 +7.58962678909302,0.278611242771149,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,4.04305124282837,1.60943794250488,0,0,0,0,1,0,0,0,0.0290328655391932,26,2,2.0 +6.8775486946106,0.278734475374222,10.8685684204102,0,0,0,1,1.85262143611908,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0244216527789831,26,2,2.0 +7.22114038467407,0.278579235076904,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.21887588500977,1.7917594909668,0,0,0,0,1,0,0,0,0.0482009500265121,26,2,2.0 +6.80664825439453,0.278583645820618,10.7684850692749,1,0,0,0,1.85262143611908,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0251410603523254,26,4,2.0 +7.28857564926147,0.278557032346725,10.8685684204102,0,1,0,0,1.85262143611908,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,0,0.0368302427232265,26,1,2.0 +5.6447901725769,0.278487086296082,11.4075651168823,0,1,0,0,1.85262143611908,1.0986123085022,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,0,0.0041514905169606,26,1,2.0 +7.37043380737305,0.278602868318558,11.2580327987671,0,0,1,0,1.85262143611908,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,1,0,0,0,0,0.0270790066570044,26,2,2.0 +6.83192539215088,0.278575599193573,10.8685684204102,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0233287774026394,26,2,2.0 +7.06156301498413,0.27859166264534,11.2580327987671,0,0,1,0,1.85262143611908,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0198832284659147,26,2,2.0 +7.2917537689209,0.278603404760361,11.0429220199585,0,0,1,0,1.85262143611908,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0310373213142157,26,3,2.0 +7.5985894203186,0.278613150119781,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0219707284122705,26,1,2.0 +7.33187294006348,0.278612703084946,10.8685684204102,0,0,0,1,1.85262143611908,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0384620614349842,26,2,2.0 +5.18340826034546,0.279998898506165,9.43348407745361,1,0,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,1,0,0,0,0,0.0188719797879457,26,2,2.0 +7.48330688476562,0.278609454631805,11.0429220199585,0,1,0,0,1.85262143611908,0.6931471824646,4.06044292449951,1.0986123085022,1,0,0,0,0,0,0,0,0.0375904366374016,26,2,2.0 +6.22823905944824,0.278850674629211,10.9595403671265,0,0,0,1,1.85262143611908,1.0986123085022,4.11087369918823,1.60943794250488,0,0,0,0,1,0,0,0,0.0116499848663807,26,2,2.0 +7.64878416061401,0.278618544340134,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.25809645652771,1.0986123085022,0,1,0,0,0,0,0,0,0.0482124723494053,26,2,2.0 +7.46191263198853,0.278605192899704,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.95124363899231,1.0986123085022,0,0,1,0,0,0,0,0,0.0191638618707657,26,2,2.0 +6.82578134536743,0.278571635484695,10.2219409942627,0,1,0,0,1.85262143611908,0.6931471824646,4.36944770812988,1.0986123085022,0,1,0,0,0,0,0,0,0.0442637801170349,26,1,2.0 +6.37163686752319,0.278571456670761,9.43348407745361,1,0,0,0,1.85262143611908,0.6931471824646,3.13549423217773,1.3862943649292,0,0,1,0,0,0,0,0,0.061835628002882,26,0,2.0 +7.15529298782349,0.278600692749023,10.6572589874268,0,1,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.0398208014667034,26,2,2.0 +7.95449924468994,0.278638035058975,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0313635244965553,26,1,2.0 +7.76565837860107,0.278593748807907,11.2580327987671,0,0,1,0,1.85262143611908,1.60943794250488,4.00733327865601,1.7917594909668,1,0,0,0,0,0,0,0,0.0402043014764786,26,4,2.0 +6.27828931808472,0.278662145137787,9.43348407745361,0,0,0,1,1.85262143611908,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0563297532498837,26,2,2.0 +6.75017929077148,0.278537809848785,11.2580327987671,0,1,0,0,1.85262143611908,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0145623441785574,26,1,2.0 +7.26660490036011,0.27857118844986,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,0,0.0157632939517498,26,1,2.0 +7.77847003936768,0.278619110584259,11.4075651168823,1,0,0,0,1.85262143611908,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0350676588714123,26,2,2.0 +7.08991575241089,0.278598338365555,10.6572589874268,1,0,0,0,1.85262143611908,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0373006202280521,26,2,2.0 +7.43313360214233,0.278584003448486,11.4075651168823,0,0,1,0,1.85262143611908,1.0986123085022,2.99573230743408,1.7917594909668,0,0,0,1,0,0,0,0,0.0248264130204916,26,3,2.0 +6.7565131187439,0.27857768535614,10.9595403671265,0,1,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0197530090808868,26,1,2.0 +7.71075534820557,0.27861475944519,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,0,0,0,0,0.0786516964435577,26,1,2.0 +7.68115377426147,0.278617829084396,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,0,1,0,0,0,0.0602825097739697,26,2,2.0 +7.97924947738647,0.278628379106522,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.032149150967598,26,2,2.0 +7.42421436309814,0.278597086668015,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0246062818914652,26,1,2.0 +7.56511545181274,0.278586000204086,9.76995658874512,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.145692825317383,26,2,2.0 +5.77998018264771,0.278553873300552,11.6952466964722,0,1,0,0,1.85262143611908,1.3862943649292,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0035645654425025,26,3,2.0 +7.14415597915649,0.27859628200531,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.0185959283262491,26,1,2.0 +7.25206851959229,0.278596818447113,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,0,0.0324233956634998,26,2,2.0 +7.30290460586548,0.278595000505447,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.0163464043289423,26,1,2.0 +7.36603260040283,0.278593838214874,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0232154168188572,26,2,2.0 +7.39553499221802,0.27861613035202,10.7684850692749,0,0,1,0,1.85262143611908,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,0,0.0453051924705505,26,3,2.0 +7.04666233062744,0.27855584025383,11.2580327987671,0,0,1,0,1.85262143611908,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,0,0.0195884499698877,26,1,2.0 +7.61318111419678,0.278603583574295,10.8685684204102,0,0,0,1,1.85262143611908,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0509564466774464,26,1,2.0 +7.55944061279297,0.278760373592377,11.1913414001465,0,1,0,0,1.85262143611908,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.0349743254482746,26,3,2.0 +7.2688045501709,0.278561621904373,10.7684850692749,1,0,0,0,1.85262143611908,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0399103872478008,26,3,2.0 +7.7679295539856,0.278609991073608,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0657467246055603,26,2,2.0 +6.51243114471436,0.278530418872833,10.5320959091187,1,0,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0237271618098021,26,2,2.0 +7.16731929779053,0.278604477643967,10.9595403671265,0,1,0,0,1.85262143611908,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,1,0,0,0,0,0.0297889932990074,26,2,2.0 +7.63957548141479,0.27861025929451,11.1198825836182,0,1,0,0,1.85262143611908,1.0986123085022,3.7376697063446,1.60943794250488,0,1,0,0,0,0,0,0,0.0406930893659592,26,1,2.0 +7.64217376708984,0.278611242771149,11.2580327987671,0,0,0,1,1.85262143611908,0.6931471824646,4.07753753662109,1.0986123085022,0,0,0,0,1,0,0,0,0.0355346091091633,26,2,2.0 +7.31990432739258,0.27860215306282,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.78418970108032,1.0986123085022,0,1,0,0,0,0,0,0,0.0166267827153206,26,1,2.0 +7.27593278884888,0.278569579124451,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.95124363899231,1.3862943649292,0,1,0,0,0,0,0,0,0.0159110017120838,26,2,2.0 +7.67443704605103,0.279140084981918,10.7684850692749,1,0,0,0,1.85262143611908,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,0,0.0599102340638638,26,3,2.0 +7.32031488418579,0.278617292642593,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.053228348493576,26,2,2.0 +6.73356914520264,0.278568297624588,11.1198825836182,0,0,1,0,1.85262143611908,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0164448115974665,26,1,2.0 +7.52122211456299,0.278570294380188,11.1198825836182,0,1,0,0,1.85262143611908,1.3862943649292,3.82864141464233,1.60943794250488,1,0,0,0,0,0,0,0,0.0361495688557625,26,2,2.0 +7.68743515014648,0.278597444295883,10.3889951705933,0,0,1,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0886585488915443,26,2,2.0 +8.04290294647217,0.27920663356781,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.40119743347168,1.60943794250488,1,0,0,0,0,0,0,0,0.0342819206416607,26,2,2.0 +7.15107679367065,0.278717964887619,11.6952466964722,0,0,1,0,1.85262143611908,1.0986123085022,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0140455150976777,26,3,2.0 +7.13369703292847,0.278596550226212,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0184024553745985,26,1,2.0 +7.87426424026489,0.278620719909668,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0385931767523289,26,2,2.0 +7.07708024978638,0.278586000204086,10.5320959091187,0,0,1,0,1.85262143611908,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0417343787848949,26,2,2.0 +6.14880132675171,0.27851390838623,10.7684850692749,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.0986123085022,0,0,1,0,0,0,0,0,0.013021289370954,26,2,2.0 +8.51730060577393,0.278630465269089,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0550608597695827,26,2,2.0 +7.79470682144165,0.278629124164581,9.76995658874512,0,1,0,0,1.85262143611908,0.6931471824646,2.99573230743408,1.0986123085022,0,0,0,1,0,0,0,0,0.183301970362663,26,2,2.0 +7.33666563034058,0.278592228889465,10.9595403671265,0,1,0,0,1.85262143611908,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0352855287492275,26,2,2.0 +6.55285263061523,0.27854511141777,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.0077207060530781,26,1,2.0 +6.57174491882324,0.278882503509521,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0198836494237185,26,2,2.0 +7.96453046798706,0.278628021478653,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0422392152249813,26,2,2.0 +7.72121095657349,0.278582096099854,10.2219409942627,0,1,0,0,1.85262143611908,1.3862943649292,3.68887948989868,1.7917594909668,0,1,0,0,0,0,0,0,0.108376018702984,26,2,2.0 +7.08931255340576,0.278589963912964,11.1198825836182,0,0,1,0,1.85262143611908,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0234712194651365,26,1,2.0 +7.64767742156982,0.278601765632629,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.94591009616852,1,0,0,0,0,0,0,0,0.0307678245007992,26,2,2.0 +7.5373740196228,0.278606027364731,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.0275546200573444,26,2,2.0 +7.11588764190674,0.278589695692062,10.5320959091187,0,0,0,1,1.85262143611908,1.0986123085022,3.93182563781738,2.0794415473938,0,0,0,0,1,0,0,0,0.0433859713375568,26,3,2.0 +5.90601682662964,0.27850803732872,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0040431870147585,26,2,2.0 +7.17541599273682,0.278600960969925,10.6572589874268,1,0,0,0,1.85262143611908,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.040630254894495,26,2,2.0 +7.4232702255249,0.278600513935089,10.8685684204102,0,0,1,0,1.85262143611908,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0421425327658653,26,1,2.0 +6.99020290374756,0.278590142726898,10.7684850692749,1,0,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.030206685885787,26,1,2.0 +8.70517253875732,0.278648525476456,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,0,0.167853489518166,26,2,2.0 +7.48493242263794,0.278617203235626,10.8685684204102,0,0,1,0,1.85262143611908,0.6931471824646,3.91202306747437,1.7917594909668,0,0,0,0,1,0,0,0,0.0448236763477325,26,2,2.0 +5.94630432128906,0.278553336858749,9.76995658874512,0,1,0,0,1.85262143611908,0.6931471824646,2.94443893432617,1.0986123085022,0,1,0,0,0,0,0,0,0.0288657750934362,26,2,2.0 +6.99524116516113,0.278619378805161,11.0429220199585,0,0,0,1,1.85262143611908,0.0,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0230737160891294,26,1,2.0 +7.71261835098267,0.278623968362808,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,0,0,0,0,0.0328329503536224,26,2,2.0 +6.51016187667847,0.278548002243042,11.6952466964722,1,0,0,0,1.85262143611908,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0073980609886348,26,1,2.0 +7.16286849975586,0.278587341308594,10.6572589874268,0,0,1,0,1.85262143611908,0.6931471824646,4.20469284057617,1.0986123085022,0,0,0,1,0,0,0,0,0.0401230752468109,26,1,2.0 +6.95880174636841,0.278519123792648,10.2219409942627,0,1,0,0,1.85262143611908,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0505586825311184,26,2,2.0 +7.19665193557739,0.278596639633179,10.5320959091187,1,0,0,0,1.85262143611908,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0470357425510883,26,1,2.0 +7.40143156051636,0.278611779212952,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0180392824113369,26,2,2.0 +6.58258485794067,0.278544843196869,11.6952466964722,1,0,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0079537061974406,26,2,2.0 +7.43183994293213,0.278604567050934,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0185961201786995,26,1,2.0 +3.63069415092468,0.281880408525467,8.92265796661377,1,0,0,0,1.85262143611908,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,1,0,0,0,0.0066703450866043,26,2,2.0 +6.49861240386963,0.278522908687592,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0184747669845819,26,1,2.0 +6.34328269958496,0.278586536645889,10.2219409942627,1,0,0,0,1.85262143611908,0.6931471824646,3.09104251861572,1.3862943649292,0,0,0,0,0,1,0,0,0.0273217521607876,26,2,2.0 +8.14747333526611,0.278402894735336,11.6952466964722,0,1,0,0,1.85262143611908,1.0986123085022,3.63758611679077,1.7917594909668,1,0,0,0,0,0,0,0,0.0380303561687469,26,3,2.0 +7.62725734710693,0.278621345758438,10.8685684204102,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.7917594909668,1,0,0,0,0,0,0,0,0.051679715514183,26,1,2.0 +7.93698120117188,0.278627127408981,10.8685684204102,1,0,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.070442371070385,26,2,2.0 +7.50123262405396,0.278606474399567,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0199324190616608,26,1,2.0 +6.29581356048584,0.278544306755066,10.6572589874268,1,0,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0168584771454334,26,2,2.0 +5.51151084899902,0.278486102819443,10.8685684204102,0,0,1,0,1.85262143611908,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.006228799931705,26,2,2.0 +7.34776973724365,0.278049916028976,10.5320959091187,1,0,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.054678950458765,26,2,2.0 +7.54757642745972,0.278656810522079,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0208789501339197,26,2,2.0 +7.4230637550354,0.278595089912415,11.4075651168823,0,0,1,0,1.85262143611908,1.0986123085022,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0245779398828745,26,2,2.0 +7.26117753982544,0.278595179319382,10.9595403671265,0,1,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.032720047980547,26,2,2.0 +7.46162176132202,0.278601139783859,11.0429220199585,0,0,1,0,1.85262143611908,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.036783754825592,26,1,2.0 +6.69045209884644,0.278568297624588,10.5320959091187,0,0,1,0,1.85262143611908,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,0,0.0283514875918627,26,1,2.0 +7.38770055770874,0.278562515974045,11.1198825836182,0,0,0,1,1.85262143611908,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0316309370100498,26,2,2.0 +7.96079349517822,0.278621882200241,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0315610468387604,26,2,2.0 +8.284255027771,0.27862560749054,9.76995658874512,0,1,0,0,1.85262143611908,0.6931471824646,3.98898410797119,1.7917594909668,1,0,0,0,0,0,0,0,0.299070566892624,26,3,2.0 +7.97013282775879,0.278625696897507,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0318573042750359,26,1,2.0 +6.90085315704346,0.278615951538086,10.3889951705933,0,1,0,0,1.85262143611908,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0403757356107235,26,2,2.0 +6.33412551879883,0.27848619222641,10.6572589874268,0,0,1,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0175158753991127,26,1,2.0 +7.69128608703613,0.278580486774445,11.4075651168823,0,0,1,0,1.85262143611908,1.3862943649292,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.0321385785937309,26,4,2.0 +6.8800106048584,0.278718054294586,10.3889951705933,0,0,1,0,1.85262143611908,1.3862943649292,3.178053855896,1.60943794250488,0,0,0,1,0,0,0,0,0.0395469516515732,26,2,2.0 +7.37535333633423,0.279382795095444,11.2580327987671,0,1,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0272337831556797,26,2,2.0 +8.52455997467041,0.278645724058151,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0554628558456898,26,1,2.0 +5.99633312225342,0.278572350740433,10.2219409942627,0,1,0,0,1.85262143611908,0.6931471824646,3.178053855896,1.0986123085022,1,0,0,0,0,0,0,0,0.0193118620663881,26,1,2.0 +8.05795001983643,0.278479248285294,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0347763635218143,26,2,2.0 +7.04307460784912,0.278619289398193,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.13549423217773,1.3862943649292,0,0,0,0,1,0,0,0,0.0263089407235384,26,2,2.0 +7.2001371383667,0.278598606586456,11.6952466964722,1,0,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0147500112652779,26,2,2.0 +6.5741138458252,0.278544753789902,11.1198825836182,0,0,0,1,1.85262143611908,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.014020643197,26,2,2.0 +7.25418996810913,0.278595447540283,10.9595403671265,0,0,1,0,1.85262143611908,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0324922129511833,26,3,2.0 +7.13383913040161,0.278595089912415,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,0,0,0,0,0.0441720969974995,26,1,2.0 +6.02382850646973,0.278551429510117,10.2219409942627,0,1,0,0,1.85262143611908,1.3862943649292,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,0,0.0198498014360666,26,4,2.0 +7.26367235183716,0.278554499149323,9.76995658874512,0,1,0,0,1.85262143611908,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.107772894203663,26,0,2.0 +8.03732681274414,0.278559565544128,11.2580327987671,0,1,0,0,1.85262143611908,1.3862943649292,3.04452252388,1.60943794250488,0,0,1,0,0,0,0,0,0.0527523718774319,26,3,2.0 +7.66340970993042,0.27861475944519,11.1198825836182,0,0,1,0,1.85262143611908,0.6931471824646,3.13549423217773,1.60943794250488,0,0,1,0,0,0,0,0,0.0416748076677322,26,1,2.0 +7.92321300506592,0.278600692749023,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,0,0.0303963385522366,26,2,2.0 +7.39392280578613,0.278607547283173,11.1198825836182,0,0,1,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0318297855556011,26,1,2.0 +7.52630376815796,0.278609365224838,11.4075651168823,0,0,1,0,1.85262143611908,1.0986123085022,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0272513572126627,26,3,2.0 +7.44896507263184,0.278602957725525,11.2580327987671,0,1,0,0,1.85262143611908,0.6931471824646,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0292912889271975,26,1,2.0 +6.75678968429565,0.278560906648636,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0197581443935633,26,1,2.0 +7.80500841140747,0.278621792793274,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.0270081423223019,26,2,2.0 +7.82580137252808,0.278599262237549,11.2580327987671,0,1,0,0,1.85262143611908,1.60943794250488,3.89182019233704,1.7917594909668,1,0,0,0,0,0,0,0,0.0426967516541481,26,4,2.0 +7.89711713790894,0.278577864170074,11.1198825836182,0,0,1,0,1.85262143611908,1.0986123085022,3.36729574203491,1.7917594909668,0,0,0,1,0,0,0,0,0.0526447854936123,26,2,2.0 +7.47365283966064,0.278599977493286,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.52636051177979,1.0986123085022,0,1,0,0,0,0,0,0,0.0193900689482689,26,2,2.0 +6.9529070854187,0.278584003448486,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.3862943649292,0,0,1,0,0,0,0,0,0.0368608497083187,26,1,2.0 +8.05687141418457,0.278618544340134,10.8685684204102,0,0,1,0,1.85262143611908,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0794141367077827,26,3,2.0 +7.28188037872314,0.278601765632629,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0160064250230789,26,1,2.0 +7.59389972686768,0.278571009635925,11.6952466964722,1,0,0,0,1.85262143611908,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0218670070171356,26,3,2.0 +8.00881004333496,0.278615772724152,11.6952466964722,0,0,0,1,1.85262143611908,1.0986123085022,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,0,0.0331132598221302,26,2,2.0 +8.08673763275146,0.278661578893661,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.035798542201519,26,1,2.0 +7.46299505233765,0.278597086668015,11.0429220199585,0,1,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0368341505527496,26,2,2.0 +7.19622087478638,0.278597444295883,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0146923419088125,26,1,2.0 +7.4331636428833,0.278606742620468,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0186207853257656,26,1,2.0 +8.40352821350098,0.278644263744354,11.1198825836182,1,0,0,0,1.85262143611908,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0873606353998184,26,2,2.0 +7.2950611114502,0.278602868318558,9.76995658874512,0,1,0,0,1.85262143611908,0.6931471824646,3.78418970108032,1.0986123085022,0,0,1,0,0,0,0,0,0.111214749515057,26,1,2.0 +7.75675249099731,0.278734564781189,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,0,0,0,0,0.0257386900484562,26,2,2.0 +6.59363174438477,0.27851939201355,10.8685684204102,0,1,0,0,1.85262143611908,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.0183813739567995,26,1,2.0 +7.38324880599976,0.278604388237,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0177141111344099,26,2,2.0 +8.29095363616943,0.278621792793274,11.2580327987671,0,1,0,0,1.85262143611908,1.0986123085022,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.0679856985807419,26,3,2.0 +7.14201593399048,0.278589963912964,10.7684850692749,1,0,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0351588502526283,26,3,2.0 +6.67870092391968,0.278930574655533,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0182807128876448,26,2,2.0 +7.27753162384033,0.27860701084137,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,0,1,0,0,0,0.0332599431276321,26,2,2.0 +7.75534677505493,0.278629124164581,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0342664383351803,26,1,2.0 +7.67135000228882,0.334386169910431,11.6952466964722,0,0,1,0,2.0842752456665,1.3862943649292,3.93182563781738,1.60943794250488,0,1,0,0,0,0,0,0,0.0249842144548893,27,4,3.0 +7.46705341339111,0.334357351064682,11.4075651168823,0,1,0,0,2.0842752456665,1.3862943649292,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.0271560773253441,27,3,3.0 +7.50263595581055,0.334322184324265,11.2580327987671,0,0,1,0,2.0842752456665,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0326772779226303,27,3,3.0 +6.22692489624023,0.33428618311882,11.6952466964722,0,0,0,1,2.0842752456665,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0058927289210259,27,2,3.0 +7.07289171218872,0.334329605102539,11.6952466964722,0,1,0,0,2.0842752456665,0.6931471824646,3.49650764465332,1.0986123085022,1,0,0,0,0,0,0,0,0.0137320114299655,27,2,3.0 +6.9153733253479,0.334299832582474,11.1198825836182,0,1,0,0,2.0842752456665,0.6931471824646,3.7376697063446,1.60943794250488,0,1,0,0,0,0,0,0,0.0208539944142103,27,2,3.0 +7.24022626876831,0.334348797798157,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,0,0.026869410648942,27,2,3.0 +6.99514627456665,0.334337890148163,10.6572589874268,0,0,1,0,2.0842752456665,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0358728319406509,27,2,3.0 +7.27768278121948,0.334305793046951,11.6952466964722,1,0,0,0,2.0842752456665,1.0986123085022,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0168524663895369,27,2,3.0 +7.29349946975708,0.334327131509781,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,0,0.0228286627680063,27,2,3.0 +7.11417293548584,0.334321171045303,11.1198825836182,0,0,1,0,2.0842752456665,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0254411082714796,27,2,3.0 +6.33420848846436,0.334254503250122,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0165723152458668,27,2,3.0 +8.87406539916992,0.334381908178329,11.4075651168823,1,0,0,0,2.0842752456665,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.110900960862637,27,4,3.0 +7.52596426010132,0.334350168704987,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0216027926653624,27,2,3.0 +6.59116077423096,0.334281742572784,10.0212707519531,0,1,0,0,2.0842752456665,0.6931471824646,3.25809645652771,1.7917594909668,0,0,1,0,0,0,0,0,0.0452375337481499,27,1,3.0 +6.97586536407471,0.334332078695297,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0166163612157106,27,2,3.0 +6.55559349060059,0.334317147731781,10.5320959091187,0,1,0,0,2.0842752456665,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,0,0,0,0,0.0261950306594372,27,2,3.0 +6.56856298446655,0.334477037191391,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0173094924539328,27,2,3.0 +7.08646488189697,0.334343522787094,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0230397693812847,27,2,3.0 +6.97489070892334,0.334362119436264,10.3889951705933,0,1,0,0,2.0842752456665,1.3862943649292,3.71357202529907,1.60943794250488,1,0,0,0,0,0,0,0,0.0459711030125618,27,2,3.0 +6.72387790679932,0.33448737859726,10.7684850692749,0,1,0,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0244745910167694,27,2,3.0 +7.1081075668335,0.334322452545166,11.0429220199585,0,1,0,0,2.0842752456665,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0273102819919586,27,2,3.0 +7.60839509963989,0.334353417158127,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0363237075507641,27,2,3.0 +7.60416269302368,0.334349572658539,11.0429220199585,0,1,0,0,2.0842752456665,1.0986123085022,3.85014748573303,1.60943794250488,1,0,0,0,0,0,0,0,0.0448510013520718,27,3,3.0 +7.41095542907715,0.334349989891052,10.8685684204102,0,1,0,0,2.0842752456665,0.0,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0440133102238178,27,1,3.0 +7.02344655990601,0.334315180778503,11.1198825836182,0,0,1,0,2.0842752456665,1.0986123085022,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0232344083487988,27,3,3.0 +7.13075494766235,0.33433336019516,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0145500795915723,27,2,3.0 +6.41685914993286,0.334282428026199,11.2580327987671,0,0,0,1,2.0842752456665,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,0,0.0110327024012804,27,2,3.0 +6.80470609664917,0.334324330091476,11.1198825836182,1,0,0,0,2.0842752456665,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0186697207391262,27,2,3.0 +6.34740972518921,0.334240853786469,10.3889951705933,0,1,0,0,2.0842752456665,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,0,0.0245426073670387,27,3,3.0 +6.39662647247314,0.33421978354454,10.3889951705933,0,1,0,0,2.0842752456665,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0257801879197359,27,2,3.0 +6.51986837387085,0.334315359592438,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,1,0,0,0,0,0.0078986519947648,27,2,3.0 +7.56060934066772,0.334330797195435,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.76120018959045,1.0986123085022,0,0,1,0,0,0,0,0,0.0564983040094376,27,2,3.0 +6.95802974700928,0.334289252758026,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,0,0.0255473647266626,27,2,3.0 +6.90302419662476,0.334324151277542,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0154489139094949,27,2,3.0 +6.87968111038208,0.334326267242432,11.4075651168823,0,0,0,1,2.0842752456665,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0150924976915121,27,1,3.0 +7.14080333709717,0.334562629461288,11.6952466964722,0,1,0,0,2.0842752456665,1.0986123085022,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,0,0.0147003894671798,27,2,3.0 +6.03992462158203,0.334312528371811,10.0212707519531,1,0,0,0,2.0842752456665,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0260683540254831,27,2,3.0 +7.81272077560425,0.33433610200882,11.6952466964722,0,1,0,0,2.0842752456665,1.3862943649292,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,0,0.0287766773253679,27,4,3.0 +7.5040979385376,0.334358185529709,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,0,0.0211357232183218,27,2,3.0 +7.15266370773315,0.334329694509506,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0375721640884876,27,2,3.0 +6.59991121292114,0.334295898675919,10.8685684204102,0,1,0,0,2.0842752456665,0.6931471824646,3.49650764465332,1.60943794250488,0,0,1,0,0,0,0,0,0.0195581838488579,27,1,3.0 +7.06220245361328,0.334323197603226,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.013585920445621,27,2,3.0 +7.80985689163208,0.33436244726181,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.02869513630867,27,1,3.0 +6.77722644805908,0.334340006113052,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.01582021266222,27,2,3.0 +6.58632946014404,0.334288150072098,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0213251635432243,27,2,3.0 +7.33025550842285,0.334358960390091,10.6572589874268,0,0,1,0,2.0842752456665,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0501546189188957,27,2,3.0 +7.46788740158081,0.334337204694748,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.020383644849062,27,2,3.0 +6.97173070907593,0.334330469369888,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,0,0.0205420665442944,27,2,3.0 +7.35891389846802,0.334333777427673,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0283030606806278,27,1,3.0 +7.60986948013306,0.334348052740097,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0234935525804758,27,1,3.0 +5.99492073059082,0.33427831530571,11.4075651168823,0,0,1,0,2.0842752456665,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.006230080500245,27,2,3.0 +7.73304462432861,0.334396153688431,11.6952466964722,0,1,0,0,2.0842752456665,0.6931471824646,3.68887948989868,1.7917594909668,0,1,0,0,0,0,0,0,0.0265744142234325,27,1,3.0 +6.51434278488159,0.334315955638885,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0130015965551138,27,2,3.0 +7.54865646362305,0.334355562925339,11.2580327987671,1,0,0,0,2.0842752456665,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.034217394888401,27,2,3.0 +6.21212959289551,0.335316598415375,10.6572589874268,0,1,0,0,2.0842752456665,0.6931471824646,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0164108369499445,27,1,3.0 +7.02360248565674,0.334335148334503,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0174288675189018,27,2,3.0 +6.7642502784729,0.334451884031296,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0134488334879279,27,1,3.0 +6.62085485458374,0.334284037351608,10.8685684204102,0,0,1,0,2.0842752456665,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0199718922376633,27,2,3.0 +7.56590270996094,0.334355026483536,11.6952466964722,0,1,0,0,2.0842752456665,0.6931471824646,3.52636051177979,1.7917594909668,0,1,0,0,0,0,0,0,0.0224831458181143,27,2,3.0 +7.72383642196655,0.334358274936676,11.6952466964722,0,1,0,0,2.0842752456665,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,0,0.0263298377394676,27,1,3.0 +7.30057001113892,0.334353417158127,10.9595403671265,0,1,0,0,2.0842752456665,1.3862943649292,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.035986315459013,27,3,3.0 +7.34124279022217,0.334356218576431,11.6952466964722,0,1,0,0,2.0842752456665,1.0986123085022,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0179592836648226,27,3,3.0 +7.12341117858887,0.334341377019882,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0144437393173575,27,2,3.0 +6.5700569152832,0.334301263093948,10.8685684204102,1,0,0,0,2.0842752456665,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.0189830269664526,27,2,3.0 +6.49071311950684,0.334349662065506,10.5320959091187,0,0,1,0,2.0842752456665,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0245502423495054,27,2,3.0 +7.47116899490356,0.33431339263916,10.2219409942627,0,1,0,0,2.0842752456665,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.0892370492219925,27,2,3.0 +7.49096584320068,0.334310322999954,10.8685684204102,0,1,0,0,2.0842752456665,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0476776547729969,27,2,3.0 +7.26923322677612,0.334336519241333,11.0429220199585,0,0,1,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0320854745805264,27,2,3.0 +5.77711057662964,0.33421191573143,10.9595403671265,0,0,1,0,2.0842752456665,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0078423423692584,27,2,3.0 +7.03803253173828,0.33430477976799,10.3889951705933,0,1,0,0,2.0842752456665,1.0986123085022,3.66356158256531,1.60943794250488,0,0,0,0,0,0,0,0,0.048964586108923,27,1,3.0 +6.94809436798096,0.334305644035339,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0121206194162369,27,2,3.0 +7.34367418289185,0.334350079298019,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0375712625682354,27,2,3.0 +7.39473676681519,0.33437979221344,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0293366797268391,27,1,3.0 +7.84206438064575,0.334640175104141,11.6952466964722,0,1,0,0,2.0842752456665,1.3862943649292,3.61091780662537,1.7917594909668,1,0,0,0,0,0,0,0,0.0296426136046648,27,4,3.0 +7.88621044158936,0.334179580211639,11.4075651168823,0,1,0,0,2.0842752456665,0.6931471824646,3.25809645652771,1.0986123085022,1,0,0,0,0,0,0,0,0.0412883460521698,27,2,3.0 +6.90707302093506,0.334320813417435,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.01163365598768,27,2,3.0 +7.83230876922607,0.334358185529709,10.8685684204102,0,0,1,0,2.0842752456665,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0670778304338455,27,2,3.0 +7.32388496398926,0.334357351064682,11.0429220199585,0,0,1,0,2.0842752456665,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,1,0,0,0,0.0338885076344013,27,2,3.0 +7.1596827507019,0.334306657314301,11.4075651168823,1,0,0,0,2.0842752456665,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0199689697474241,27,2,3.0 +5.91600847244263,0.334729135036469,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,0,0.0071502765640616,27,2,3.0 +7.1265983581543,0.334322869777679,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0366052500903606,27,2,3.0 +6.99849462509155,0.334340006113052,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0322044640779495,27,2,3.0 +7.3888635635376,0.334330201148987,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,0,0.018834725022316,27,2,3.0 +6.79049301147461,0.334309726953506,10.8685684204102,0,1,0,0,2.0842752456665,1.0986123085022,3.61091780662537,1.60943794250488,0,0,0,0,1,0,0,0,0.0236648246645927,27,3,3.0 +7.73910903930664,0.33434334397316,11.0429220199585,0,0,1,0,2.0842752456665,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0513305328786373,27,2,3.0 +7.10565185546875,0.33433336019516,10.3889951705933,0,0,1,0,2.0842752456665,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.052391529083252,27,1,3.0 +6.42057657241821,0.334284126758575,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.014925567433238,27,2,3.0 +6.42363500595093,0.334300339221954,10.8685684204102,0,0,1,0,2.0842752456665,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0163973923772573,27,2,3.0 +7.35583925247192,0.334346503019333,10.5320959091187,0,1,0,0,2.0842752456665,0.6931471824646,4.27666616439819,1.0986123085022,0,0,1,0,0,0,0,0,0.0583141408860683,27,1,3.0 +6.73812484741211,0.334516137838364,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0205088406801224,27,2,3.0 +8.14112854003906,0.334381133317947,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0618821233510971,27,2,3.0 +6.53537797927856,0.334297090768814,11.1198825836182,0,0,1,0,2.0842752456665,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.014261269941926,27,1,3.0 +7.28284978866577,0.334347456693649,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.95124363899231,1.94591009616852,0,0,0,0,1,0,0,0,0.0262304097414017,27,1,3.0 +8.12318420410156,0.334378004074097,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.33220458030701,1.60943794250488,0,0,1,0,0,0,0,0,0.0819228067994118,27,2,3.0 +8.00013160705566,0.334355384111404,11.4075651168823,0,0,1,0,2.0842752456665,1.3862943649292,3.33220458030701,1.60943794250488,0,0,0,1,0,0,0,0,0.04627850279212,27,4,3.0 +7.60802602767944,0.334356218576431,11.2580327987671,0,1,0,0,2.0842752456665,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.036310400813818,27,1,3.0 +6.90137767791748,0.334328502416611,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0191464945673943,27,2,3.0 +7.28253364562988,0.334342569112778,10.8685684204102,0,0,1,0,2.0842752456665,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0387086495757103,27,3,3.0 +8.04063034057617,0.248410150408745,11.4075651168823,0,1,0,0,0.538380265235901,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.044222392141819,28,1,5.0 +7.97535371780396,0.248232528567314,10.9595403671265,0,1,0,0,0.538380265235901,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0648321211338043,28,1,5.0 +6.7126612663269,0.248459815979004,10.9595403671265,0,1,0,0,0.538380265235901,0.6931471824646,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0183446183800697,28,2,5.0 +8.37800407409668,0.248477205634117,10.9595403671265,0,1,0,0,0.538380265235901,0.6931471824646,3.36729574203491,1.3862943649292,0,0,1,0,0,0,0,0,0.0969986021518707,28,2,5.0 +8.28603363037109,0.248409420251846,10.7684850692749,0,1,0,0,0.538380265235901,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.107094712555408,28,2,5.0 +6.34495878219604,0.248345717787743,11.4075651168823,0,1,0,0,0.538380265235901,1.3862943649292,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0081132184714078,28,2,5.0 +7.04823923110962,0.248147338628769,10.6572589874268,0,1,0,0,0.538380265235901,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0347049608826637,28,1,5.0 +6.96966314315796,0.248121023178101,11.2580327987671,0,1,0,0,0.538380265235901,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0175930876284838,28,2,5.0 +7.11625003814697,0.248294666409492,10.0212707519531,0,1,0,0,0.538380265235901,0.6931471824646,3.29583692550659,1.3862943649292,0,1,0,0,0,0,0,0,0.0701776146888733,28,2,5.0 +7.65365886688232,0.248395279049873,11.1198825836182,0,1,0,0,0.538380265235901,0.6931471824646,3.93182563781738,1.3862943649292,0,0,0,1,0,0,0,0,0.0400418974459171,28,2,5.0 +6.93203353881836,0.248211607336998,11.1913414001465,0,1,0,0,0.538380265235901,0.6931471824646,3.52636051177979,1.60943794250488,1,0,0,0,0,0,0,0,0.0181135199964046,28,2,5.0 +6.49560832977295,0.248090133070946,10.7684850692749,0,1,0,0,0.538380265235901,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.017867237329483,28,2,5.0 +7.5055079460144,0.248297452926636,10.0212707519531,0,1,0,0,0.538380265235901,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.10357441008091,28,2,5.0 +6.94969797134399,0.248287320137024,10.6572589874268,0,1,0,0,0.538380265235901,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0314525775611401,28,2,5.0 +6.98821115493774,0.248285636305809,10.7684850692749,0,1,0,0,0.538380265235901,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.0292467158287764,28,2,5.0 +7.5073504447937,0.239984080195427,10.9595403671265,0,1,0,0,1.17834627628326,1.0986123085022,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0402677021920681,29,1,3.0 +6.90903091430664,0.239792659878731,10.9595403671265,0,0,1,0,1.17834627628326,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0221323072910309,29,1,3.0 +7.84741497039795,0.240162044763565,10.3889951705933,0,1,0,0,1.17834627628326,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.100116744637489,29,2,3.0 +7.13725233078003,0.239805698394775,11.4075651168823,1,0,0,0,1.17834627628326,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0177653264254332,29,2,3.0 +6.86899137496948,0.23983795940876,10.7684850692749,0,0,1,0,1.17834627628326,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0257413722574711,29,2,3.0 +7.82443857192993,0.240114510059357,11.6952466964722,0,0,1,0,1.17834627628326,1.0986123085022,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.0264977905899286,29,2,3.0 +7.22687911987305,0.239997863769531,11.6952466964722,0,0,1,0,1.17834627628326,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.0145761324092746,29,2,3.0 +7.75493288040161,0.240126237273216,11.4075651168823,0,1,0,0,1.17834627628326,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0329585149884224,29,2,3.0 +6.85847520828247,0.239884480834007,10.7684850692749,0,1,0,0,1.17834627628326,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,1,0,0,0,0.0254732724279165,29,1,3.0 +6.67768859863281,0.239602997899055,11.4075651168823,1,0,0,0,1.17834627628326,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0112175745889544,29,2,3.0 +8.05142402648926,0.239999085664749,10.7684850692749,1,0,0,0,1.17834627628326,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0839896276593208,29,2,3.0 +7.85119915008545,0.23981910943985,11.4075651168823,1,0,0,0,1.17834627628326,1.3862943649292,3.98898410797119,1.60943794250488,0,0,0,1,0,0,0,0,0.036277886480093,29,4,3.0 +7.61582517623901,0.240016624331474,11.4075651168823,0,0,1,0,1.17834627628326,0.6931471824646,3.465735912323,1.7917594909668,0,0,1,0,0,0,0,0,0.0286751799285412,29,2,3.0 +7.34155035018921,0.240091070532799,11.4075651168823,0,1,0,0,1.17834627628326,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.0217982959002256,29,2,3.0 +7.16024494171143,0.240031242370605,11.6952466964722,0,0,1,0,1.17834627628326,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0136369718238711,29,2,3.0 +6.82888603210449,0.239880546927452,11.2580327987671,0,0,1,0,1.17834627628326,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.015157395042479,29,1,3.0 +6.57125091552734,0.239693611860275,11.2580327987671,0,0,1,0,1.17834627628326,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.011712615378201,29,2,3.0 +7.595778465271,0.240096881985664,10.6572589874268,1,0,0,0,1.17834627628326,1.0986123085022,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0595235005021095,29,2,3.0 +7.87416124343872,0.240093886852264,10.6572589874268,0,0,1,0,1.17834627628326,1.0986123085022,3.21887588500977,1.3862943649292,0,0,1,0,0,0,0,0,0.0786298215389252,29,3,3.0 +7.67135953903198,0.239992618560791,11.1913414001465,0,0,1,0,1.17834627628326,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,0,0.037628635764122,29,4,3.0 +7.93086099624634,0.240076065063477,11.6952466964722,1,0,0,0,1.17834627628326,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,0,0.0294721387326717,29,3,3.0 +8.59177207946777,0.240155771374702,11.6952466964722,0,1,0,0,1.17834627628326,1.3862943649292,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.0570790022611618,29,4,3.0 +7.13950490951538,0.239999547600746,11.6952466964722,0,0,1,0,1.17834627628326,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0133566306903958,29,2,3.0 +7.46573257446289,0.239856541156769,10.6572589874268,0,0,1,0,1.17834627628326,1.0986123085022,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0522523634135723,29,3,3.0 +4.23547697067261,0.241587191820145,9.43348407745361,1,0,0,0,1.17834627628326,0.0,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0070380801334977,29,2,3.0 +6.33366060256958,0.240278109908104,10.7684850692749,0,0,1,0,1.17834627628326,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0150775834918022,29,2,3.0 +7.97562408447266,0.240162700414658,11.4075651168823,1,0,0,0,1.17834627628326,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0410987287759781,29,2,3.0 +7.46880626678467,0.240023270249367,10.3889951705933,1,0,0,0,1.17834627628326,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.0685517936944962,29,1,3.0 +7.42364501953125,0.240010425448418,10.7684850692749,0,1,0,0,1.17834627628326,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0448321551084518,29,3,3.0 +5.9252815246582,0.239939719438553,11.1198825836182,0,0,1,0,1.17834627628326,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0070504667237401,29,2,3.0 +7.02648687362671,0.239650651812553,11.4075651168823,0,0,1,0,1.17834627628326,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0159001350402832,29,2,3.0 +7.2822847366333,0.240071937441826,11.6952466964722,0,1,0,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0154076619073749,29,2,3.0 +6.89236831665039,0.239700272679329,10.6572589874268,0,1,0,0,1.17834627628326,0.6931471824646,3.66356158256531,1.0986123085022,1,0,0,0,0,0,0,0,0.029446192085743,29,1,3.0 +7.04341697692871,0.239999368786812,11.4075651168823,0,0,0,1,1.17834627628326,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,0,1,0,0,0.0161772593855858,29,2,3.0 +7.50485467910767,0.239895075559616,10.0212707519531,0,0,1,0,1.17834627628326,0.6931471824646,4.12713432312012,1.0986123085022,0,0,0,1,0,0,0,0,0.102640695869923,29,2,3.0 +6.31877422332764,0.239855319261551,10.9595403671265,0,0,0,1,1.17834627628326,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,0,1,0,0,0.0122661655768752,29,2,3.0 +7.8594536781311,0.240095853805542,9.76995658874512,0,0,1,0,1.17834627628326,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.18817050755024,29,2,3.0 +6.61388301849365,0.239738270640373,10.9595403671265,0,0,1,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0164748746901751,29,2,3.0 +8.38631916046143,0.240159228444099,11.6952466964722,0,0,1,0,1.17834627628326,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0464783348143101,29,3,3.0 +6.90796089172363,0.239801287651062,11.4075651168823,1,0,0,0,1.17834627628326,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0141250910237432,29,2,3.0 +6.58732318878174,0.239663600921631,10.5320959091187,0,0,1,0,1.17834627628326,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0245975274592638,29,2,3.0 +6.69811725616455,0.239737331867218,11.6952466964722,1,0,0,0,1.17834627628326,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.0085879731923341,29,1,3.0 +7.03228664398193,0.239941135048866,10.2219409942627,1,0,0,0,1.17834627628326,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.0523546971380711,29,2,3.0 +7.14758443832397,0.239970669150352,10.9595403671265,0,0,1,0,1.17834627628326,1.0986123085022,3.55534815788269,1.7917594909668,0,1,0,0,0,0,0,0,0.0281000211834908,29,3,3.0 +7.7172908782959,0.240094915032387,9.76995658874512,0,1,0,0,1.17834627628326,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.163234025239944,29,2,3.0 +7.68057441711426,0.240076154470444,10.9595403671265,0,1,0,0,1.17834627628326,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.0478880330920219,29,2,3.0 +7.02659702301025,0.239667817950249,11.1913414001465,0,0,1,0,1.17834627628326,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0197406206279993,29,2,3.0 +7.79571962356567,0.240135237574577,10.9595403671265,0,1,0,0,1.17834627628326,0.6931471824646,3.66356158256531,1.0986123085022,0,1,0,0,0,0,0,0,0.0537352971732616,29,2,3.0 +8.20514011383057,0.240080565214157,11.6952466964722,0,0,1,0,1.17834627628326,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0387731939554214,29,3,3.0 +8.02188873291016,0.24017733335495,11.2580327987671,0,0,1,0,1.17834627628326,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0499882400035858,29,2,3.0 +7.64242267608643,0.240147888660431,10.7684850692749,0,1,0,0,1.17834627628326,1.0986123085022,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,0,0.0558037422597408,29,2,3.0 +7.13008642196655,0.240130916237831,11.6952466964722,0,1,0,0,1.17834627628326,1.0986123085022,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0132331596687436,29,3,3.0 +8.11136817932129,0.240006864070892,8.92265796661377,0,1,0,0,1.17834627628326,1.3862943649292,2.89037179946899,1.60943794250488,0,1,0,0,0,0,0,0,0.564800322055817,29,3,3.0 +6.53739309310913,0.240278109908104,10.9595403671265,0,0,1,0,1.17834627628326,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,0,0.0152699435129762,29,2,3.0 +7.48628997802734,0.24008384346962,11.0429220199585,0,1,0,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0362778529524803,29,2,3.0 +6.97671365737915,0.239933714270592,10.2219409942627,0,1,0,0,1.17834627628326,0.6931471824646,4.29045963287354,1.0986123085022,0,1,0,0,0,0,0,0,0.0495242066681385,29,0,3.0 +6.14959812164307,0.239679262042046,11.1198825836182,0,0,0,1,1.17834627628326,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0088211297988891,29,2,3.0 +6.88431406021118,0.239880457520485,11.1913414001465,0,0,0,1,1.17834627628326,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0171261727809906,29,2,3.0 +7.08054733276367,0.240347102284431,10.5320959091187,0,1,0,0,1.17834627628326,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0403081327676773,29,2,3.0 +7.97711420059204,0.24017246067524,11.4075651168823,0,1,0,0,1.17834627628326,0.6931471824646,3.40119743347168,1.7917594909668,0,0,1,0,0,0,0,0,0.0411604158580303,29,2,3.0 +6.60397291183472,0.239895179867744,11.2580327987671,0,1,0,0,1.17834627628326,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0121046528220177,29,2,3.0 +6.65162086486816,0.239448100328445,11.2580327987671,0,0,1,0,1.17834627628326,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0126897050067782,29,4,3.0 +8.64366149902344,0.240259736776352,10.2219409942627,1,0,0,0,1.17834627628326,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.262364745140076,29,2,3.0 +8.31218433380127,0.240104287862778,11.6952466964722,0,1,0,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0431549586355686,29,1,3.0 +6.00773954391479,0.239797160029411,10.0212707519531,1,0,0,0,1.17834627628326,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,0,0.0229661520570517,29,1,3.0 +6.75930070877075,0.239792659878731,10.0212707519531,0,1,0,0,1.17834627628326,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0486950911581516,29,1,3.0 +7.49411058425903,0.239947691559792,10.9595403671265,0,1,0,0,1.17834627628326,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0397366359829903,29,3,3.0 +8.47466850280762,0.24024173617363,10.9595403671265,0,1,0,0,1.17834627628326,0.6931471824646,3.29583692550659,1.60943794250488,0,0,0,0,0,0,0,0,0.105966739356518,29,2,3.0 +8.35136699676514,0.240110382437706,10.7684850692749,1,0,0,0,1.17834627628326,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.113380298018456,29,3,3.0 +7.00851011276245,0.240118160843849,10.5320959091187,0,1,0,0,1.17834627628326,0.6931471824646,3.76120018959045,1.7917594909668,0,0,0,1,0,0,0,0,0.0374979972839355,29,1,3.0 +6.86337518692017,0.239774942398071,11.0429220199585,0,1,0,0,1.17834627628326,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,0,0.0194526575505733,29,2,3.0 +7.52119493484497,0.240075781941414,10.5320959091187,1,0,0,0,1.17834627628326,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0626103058457375,29,2,3.0 +7.23755025863647,0.239944592118263,11.1913414001465,0,0,0,1,1.17834627628326,1.0986123085022,3.89182019233704,1.60943794250488,0,0,0,0,1,0,0,0,0.0243835430592299,29,2,3.0 +7.92995023727417,0.240294054150581,11.0429220199585,0,1,0,0,1.17834627628326,0.6931471824646,3.97029185295105,1.0986123085022,1,0,0,0,0,0,0,0,0.0565473027527332,29,2,3.0 +7.50475740432739,0.239930242300034,11.4075651168823,0,0,1,0,1.17834627628326,1.0986123085022,3.89182019233704,1.3862943649292,0,0,1,0,0,0,0,0,0.0256585758179426,29,2,3.0 +7.30023336410522,0.240048125386238,11.1198825836182,0,0,1,0,1.17834627628326,0.6931471824646,3.91202306747437,1.3862943649292,0,1,0,0,0,0,0,0,0.0278868097811937,29,2,3.0 +6.39128589630127,0.239666789770126,10.3889951705933,0,1,0,0,1.17834627628326,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0233293548226357,29,1,3.0 +7.48679304122925,0.23988775908947,10.5320959091187,1,0,0,0,1.17834627628326,1.0986123085022,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0604816414415836,29,3,3.0 +6.32755184173584,0.239957347512245,11.4075651168823,0,0,0,1,1.17834627628326,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0079066148027777,29,2,3.0 +7.34428739547729,0.240152955055237,11.6952466964722,0,1,0,0,1.17834627628326,1.0986123085022,3.95124363899231,1.60943794250488,0,0,1,0,0,0,0,0,0.0163945406675339,29,4,3.0 +7.43795919418335,0.24008010327816,11.6952466964722,0,1,0,0,1.17834627628326,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.0180031675845385,29,2,3.0 +4.97924995422363,0.238817021250725,10.7684850692749,0,1,0,0,1.17834627628326,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0038858333136886,29,1,3.0 +7.21953821182251,0.240262642502785,11.1198825836182,0,1,0,0,1.17834627628326,0.6931471824646,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.0257304031401873,29,2,3.0 +7.05716466903687,0.239908218383789,11.6952466964722,0,0,1,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0122997788712382,29,1,3.0 +7.72898435592651,0.239908397197723,10.2219409942627,0,0,1,0,1.17834627628326,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.105078406631947,29,3,3.0 +6.91122770309448,0.240097358822823,10.7684850692749,0,0,1,0,1.17834627628326,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,1,0,0,0,0.0268588550388813,29,2,3.0 +7.45914745330811,0.240077376365662,10.8685684204102,0,1,0,0,1.17834627628326,1.0986123085022,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0420311838388443,29,2,3.0 +6.46818447113037,0.239550366997719,10.6572589874268,0,1,0,0,1.17834627628326,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0192638635635376,29,2,3.0 +7.64039516448975,0.240091726183891,11.1198825836182,0,1,0,0,1.17834627628326,1.0986123085022,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0391875579953194,29,3,3.0 +6.48157072067261,0.240001231431961,10.6572589874268,1,0,0,0,1.17834627628326,1.0986123085022,3.82864141464233,1.7917594909668,0,0,1,0,0,0,0,0,0.0195322651416063,29,2,3.0 +7.93793249130249,0.239996924996376,11.4075651168823,0,1,0,0,1.17834627628326,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0395719110965729,29,2,3.0 +7.84008264541626,0.24017471075058,10.9595403671265,0,1,0,0,1.17834627628326,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.056175023317337,29,2,3.0 +6.93719530105591,0.244564324617386,11.4075651168823,1,0,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,1,0.0146135585382581,34,2,1.0 +7.06093502044678,0.244523152709007,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0124033465981483,34,1,1.0 +6.57968044281006,0.244494214653969,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,1,0.0076651396229863,34,2,1.0 +6.80516290664673,0.244511112570763,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,1,0.0096040237694978,34,1,1.0 +7.67197513580322,0.244591578841209,11.6952466964722,0,1,0,0,2.02722215652466,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,1,0.0228528343141079,34,2,1.0 +7.36537551879883,0.24456675350666,11.6952466964722,1,0,0,0,2.02722215652466,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0168180149048567,34,2,1.0 +4.92018508911133,0.2442507147789,9.76995658874512,0,0,1,0,2.02722215652466,0.6931471824646,4.04305124282837,1.0986123085022,0,0,0,0,1,0,0,1,0.009996498003602,34,1,1.0 +6.46803569793701,0.244460508227348,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,1,0.0068551781587302,34,1,1.0 +7.34542465209961,0.244551807641983,11.1198825836182,0,0,1,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,1,0.0293076615780592,34,2,1.0 +7.40009450912476,0.244551151990891,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.71357202529907,1.60943794250488,1,0,0,0,0,0,0,1,0.0174119044095278,34,4,1.0 +6.94018888473511,0.244771614670753,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,1,0.0109953107312322,34,2,1.0 +7.11882066726685,0.244533702731133,11.0429220199585,0,0,1,0,2.02722215652466,0.6931471824646,4.24849510192871,1.0986123085022,0,0,0,1,0,0,0,1,0.0252338889986277,34,1,1.0 +7.30400276184082,0.244552090764046,10.9595403671265,0,1,0,0,2.02722215652466,1.60943794250488,3.04452252388,1.94591009616852,0,0,1,0,0,0,0,1,0.0330086648464203,34,5,1.0 +7.5110912322998,0.244587659835815,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,1,0.0194566119462252,34,2,1.0 +7.24162435531616,0.244539588689804,11.1913414001465,1,0,0,0,2.02722215652466,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,1,0.0245958436280489,34,2,1.0 +6.6308445930481,0.244501873850822,11.2580327987671,0,0,0,1,2.02722215652466,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,0,1,0,1,0.0124917486682534,34,1,1.0 +7.755202293396,0.244766861200333,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.68887948989868,1.7917594909668,1,0,0,0,0,0,0,1,0.0331207402050495,34,1,1.0 +6.94327688217163,0.244534641504288,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,1,0.0352854393422604,34,2,1.0 +7.45902538299561,0.245462566614151,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,1,0.0184856746345758,34,2,1.0 +7.80072402954102,0.244555726647377,10.7684850692749,0,1,0,0,2.02722215652466,1.0986123085022,3.09104251861572,1.60943794250488,0,0,1,0,0,0,0,1,0.0656639635562897,34,3,1.0 +7.61432552337646,0.244224861264229,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,1,0.0287529621273279,34,2,1.0 +6.79347991943359,0.244509339332581,11.1198825836182,0,0,1,0,2.02722215652466,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,1,0.0168754793703556,34,2,1.0 +6.67916631698608,0.244502708315849,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0084670083597302,34,2,1.0 +7.33327341079712,0.244552373886108,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,1,0.0162864588201046,34,1,1.0 +6.38598823547363,0.244461908936501,10.9595403671265,0,0,1,0,2.02722215652466,1.0986123085022,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,1,0.0131795350462198,34,2,1.0 +7.61347627639771,0.244593903422356,11.6952466964722,0,0,1,0,2.02722215652466,1.3862943649292,2.94443893432617,1.7917594909668,0,0,0,1,0,0,0,1,0.0215543676167727,34,3,1.0 +7.2323145866394,0.244507849216461,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,1,0.0147218173369765,34,3,1.0 +6.251389503479,0.24453641474247,11.6952466964722,0,0,0,1,2.02722215652466,0.6931471824646,3.55534815788269,1.7917594909668,0,0,0,0,1,0,0,1,0.00552031211555,34,2,1.0 +7.35601377487183,0.244566649198532,11.0429220199585,0,0,1,0,2.02722215652466,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,1,0.0319897010922432,34,1,1.0 +7.28631734848022,0.244546964764595,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,1,0.0155393062159419,34,3,1.0 +7.02296352386475,0.244073107838631,11.2580327987671,1,0,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,1,0.0184812881052494,34,1,1.0 +7.42788887023926,0.244576916098595,10.7684850692749,0,1,0,0,2.02722215652466,0.6931471824646,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,1,0.0452288873493671,34,2,1.0 +6.87070608139038,0.244562074542046,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0102551123127341,34,2,1.0 +7.02277231216431,0.244552552700043,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,1,0.0159190315753222,34,2,1.0 +6.07065629959106,0.244512975215912,10.2219409942627,0,0,0,1,2.02722215652466,0.6931471824646,3.52636051177979,1.94591009616852,0,0,0,0,0,1,0,1,0.020105293020606,34,1,1.0 +7.54946088790894,0.244534358382225,11.6952466964722,0,0,0,1,2.02722215652466,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,1,0.0202165879309177,34,2,1.0 +6.89276647567749,0.24452343583107,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.78418970108032,1.0986123085022,1,0,0,0,0,0,0,1,0.0139779355376959,34,2,1.0 +7.32585191726685,0.244567304849625,11.0429220199585,0,1,0,0,2.02722215652466,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0310392528772354,34,1,1.0 +7.68303346633911,0.244575053453445,11.1198825836182,0,1,0,0,2.02722215652466,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,1,0.0410783290863037,34,3,1.0 +6.39833974838257,0.244551062583923,11.0429220199585,0,0,0,1,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,0,1,0,1,0.0122769586741924,34,2,1.0 +6.60099840164185,0.244571417570114,9.76995658874512,0,1,0,0,2.02722215652466,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,1,0.0536976270377636,34,2,1.0 +7.02034139633179,0.244541168212891,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0119101498275995,34,1,1.0 +7.26998901367188,0.244550406932831,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,1,0.0152876889333129,34,1,1.0 +7.8295693397522,0.244581028819084,11.6952466964722,0,1,0,0,2.02722215652466,1.3862943649292,4.00733327865601,1.3862943649292,0,0,0,0,0,0,0,1,0.0267533250153065,34,3,1.0 +7.63355731964111,0.244549855589867,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,1,0.0293208062648773,34,2,1.0 +7.5221643447876,0.244543507695198,10.8685684204102,0,1,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,1,0.0449654497206211,34,2,1.0 +7.76188564300537,0.244590178132057,11.6952466964722,1,0,0,0,2.02722215652466,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,1,0.025002708658576,34,2,1.0 +7.00162887573242,0.24454265832901,11.2580327987671,0,1,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,1,0.0180996730923653,34,1,1.0 +6.33624744415283,0.24440972507,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.94591009616852,0,0,0,1,0,0,0,1,0.0192270111292601,34,1,1.0 +7.31219148635864,0.244553297758102,11.6952466964722,0,0,0,1,2.02722215652466,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,1,0,0,1,0.0159467216581106,34,3,1.0 +8.0772762298584,0.244561418890953,11.6952466964722,0,0,1,0,2.02722215652466,1.3862943649292,2.99573230743408,1.60943794250488,0,0,0,0,1,0,0,1,0.0342725925147533,34,4,1.0 +8.99822425842285,0.244624525308609,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.114782460033894,34,2,1.0 +7.05504322052002,0.244530439376831,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.80666255950928,1.7917594909668,0,0,0,1,0,0,0,1,0.012330574914813,34,3,1.0 +6.86113262176514,0.244502708315849,11.2580327987671,1,0,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.0157266613095999,34,2,1.0 +7.02079200744629,0.244539394974709,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,1,0.0119154965505004,34,1,1.0 +7.11774253845215,0.244517177343369,10.2219409942627,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,1,0.0572870038449764,34,2,1.0 +6.98703384399414,0.244532957673073,11.1198825836182,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,1,0.0204798057675362,34,1,1.0 +7.97566366195679,0.244590923190117,11.4075651168823,0,1,0,0,2.02722215652466,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.0412827618420124,34,2,1.0 +7.03788375854492,0.244498878717422,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,1,0.0387853123247623,34,2,1.0 +6.64790344238281,0.2445138245821,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,1,0.0109419887885451,34,2,1.0 +6.88296508789062,0.244493380188942,10.7684850692749,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,1,0.0262254141271114,34,2,1.0 +6.73598718643188,0.244507744908333,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,0,0,1,0.0089620873332023,34,2,1.0 +6.3117208480835,0.244509145617485,10.3889951705933,0,0,1,0,2.02722215652466,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,1,0.0216496605426073,34,1,1.0 +7.71871089935303,0.244534537196159,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.97029185295105,1.3862943649292,0,0,0,0,1,0,0,1,0.0319264866411686,34,1,1.0 +7.22941398620605,0.244549199938774,11.2580327987671,0,1,0,0,2.02722215652466,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,1,0.022729991003871,34,2,1.0 +5.30694007873535,0.244416445493698,10.3889951705933,1,0,0,0,2.02722215652466,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0079257460311055,34,1,1.0 +6.93898820877075,0.244541078805923,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.0109795825555921,34,2,1.0 +7.28624963760376,0.244532763957977,11.2580327987671,0,1,0,0,2.02722215652466,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.0240588821470737,34,2,1.0 +8.74268531799316,0.244624719023705,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,1,0.0666741877794266,34,2,1.0 +6.99738216400146,0.244503647089005,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,1,0.0116393798962235,34,2,1.0 +6.69035387039185,0.244492620229721,11.1198825836182,0,1,0,0,2.02722215652466,0.6931471824646,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,1,0.0152216488495469,34,2,1.0 +7.35690641403198,0.244569167494774,10.6572589874268,0,0,1,0,2.02722215652466,0.6931471824646,4.02535152435303,1.3862943649292,0,0,0,0,1,0,0,1,0.0470858067274094,34,1,1.0 +6.1764702796936,0.244948923587799,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,1,0.0163966715335846,34,3,1.0 +8.46897411346436,0.244615197181702,10.9595403671265,0,0,1,0,2.02722215652466,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,1,0.105826884508133,34,2,1.0 +7.56852388381958,0.244570761919022,11.2580327987671,0,1,0,0,2.02722215652466,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,1,0.0319067239761353,34,2,1.0 +7.07605504989624,0.244561985135078,10.3889951705933,0,1,0,0,2.02722215652466,1.0986123085022,3.95124363899231,1.3862943649292,1,0,0,0,0,0,0,1,0.0464964844286442,34,2,1.0 +6.48190450668335,0.244892850518227,10.2219409942627,0,0,1,0,2.02722215652466,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,1,0.0303443744778633,34,3,1.0 +7.52303838729858,0.244566470384598,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,1,0.0196900442242622,34,2,1.0 +8.67523860931396,0.244607537984848,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0623244903981686,34,3,1.0 +6.59306812286377,0.244446977972984,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.0103574451059103,34,2,1.0 +6.49045467376709,0.244464993476868,11.1913414001465,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0116038052365184,34,1,1.0 +7.81245708465576,0.244618743658066,10.7684850692749,0,0,1,0,2.02722215652466,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,1,0.0664430931210518,34,2,1.0 +7.28437948226929,0.244540423154831,11.6952466964722,0,0,1,0,2.02722215652466,1.3862943649292,3.8712010383606,1.60943794250488,0,0,1,0,0,0,0,1,0.0155091192573309,34,4,1.0 +7.46235275268555,0.244547888636589,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.93182563781738,1.0986123085022,0,1,0,0,0,0,0,1,0.0185303334146738,34,2,1.0 +6.600510597229,0.244558349251747,10.9595403671265,0,0,1,0,2.02722215652466,1.0986123085022,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,1,0.0163345728069544,34,1,1.0 +6.66493940353394,0.244509801268578,10.8685684204102,0,0,1,0,2.02722215652466,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0190799087285995,34,2,1.0 +7.07799863815308,0.244570106267929,11.1198825836182,0,0,1,0,2.02722215652466,1.0986123085022,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,1,0.0224309358745813,34,3,1.0 +8.22657585144043,0.244613602757454,10.6572589874268,1,0,0,0,2.02722215652466,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,1,0.112357422709465,34,2,1.0 +7.13812589645386,0.244533702731133,10.6572589874268,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,1,0.037831999361515,34,2,1.0 +7.40839052200317,0.244527354836464,11.1913414001465,0,1,0,0,2.02722215652466,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,0,0,0,0,1,0.0290590859949589,34,2,1.0 +5.45537853240967,0.246041372418404,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0024941004812717,34,2,1.0 +6.57310914993286,0.244445577263832,10.6572589874268,1,0,0,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.021499952301383,34,1,1.0 +6.26660871505737,0.244492247700691,10.9595403671265,0,0,1,0,2.02722215652466,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,0,1,0,0,1,0.0116968061774969,34,1,1.0 +7.64004468917847,0.244577199220657,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,4.11087369918823,1.3862943649292,0,1,0,0,0,0,0,1,0.0221343412995338,34,2,1.0 +6.99110841751099,0.244552373886108,11.2580327987671,1,0,0,0,2.02722215652466,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0179104246199131,34,3,1.0 +5.99837923049927,0.244492724537849,9.76995658874512,0,0,1,0,2.02722215652466,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,0,1,0,1,0.0293904822319746,34,1,1.0 +6.98168897628784,0.244536593556404,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.0986123085022,0,0,1,0,0,0,0,1,0.0152780301868916,34,2,1.0 +6.73723077774048,0.244487121701241,10.9595403671265,0,1,0,0,2.02722215652466,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,1,0.0187263749539852,34,1,1.0 +7.25235366821289,0.244568794965744,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0150207234546542,34,2,1.0 +7.76871252059937,0.244593441486359,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,1,0.033565416932106,34,2,1.0 +7.73059558868408,0.244550690054893,11.6952466964722,0,0,1,0,2.02722215652466,1.3862943649292,3.91202306747437,1.60943794250488,0,0,1,0,0,0,0,1,0.024231530725956,34,4,1.0 +7.13456010818481,0.244599789381027,11.4075651168823,0,0,0,1,2.02722215652466,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,0,0,1,1,0.0178027022629976,34,2,1.0 +6.59189653396606,0.244491323828697,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.0077593293972313,34,1,1.0 +6.99697351455688,0.244544997811317,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,1,0.0116351032629609,34,2,1.0 +5.62469053268433,0.244449868798256,10.0212707519531,0,0,0,1,2.02722215652466,0.0,3.78418970108032,1.3862943649292,0,0,0,0,0,1,0,1,0.0157308671623468,34,1,1.0 +6.52453470230103,0.244736894965172,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,1,0.0072556450031697,34,2,1.0 +6.79567813873291,0.244583740830421,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.89182019233704,1.3862943649292,0,1,0,0,0,0,0,1,0.0095140533521771,34,1,1.0 +5.1852388381958,0.24438302218914,8.92265796661377,0,1,0,0,2.02722215652466,0.6931471824646,3.04452252388,1.3862943649292,0,0,0,1,0,0,0,1,0.030408401042223,34,2,1.0 +7.12633180618286,0.244542568922043,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,1,0.0176558028906584,34,2,1.0 +7.13968801498413,0.244562447071075,11.2580327987671,1,0,0,0,2.02722215652466,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,1,0.0207796171307564,34,2,1.0 +4.79173374176025,0.244268178939819,10.7684850692749,0,0,1,0,2.02722215652466,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,1,0.0032390251290053,34,2,1.0 +7.54381465911865,0.244585409760475,11.4075651168823,0,0,1,0,2.02722215652466,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0268050525337458,34,3,1.0 +7.59758806228638,0.244571417570114,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,1,0.0212141368538141,34,2,1.0 +6.56624460220337,0.244490295648575,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0075628142803907,34,2,1.0 +6.67102575302124,0.244508594274521,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0083984127268195,34,2,1.0 +6.94251298904419,0.244560956954956,10.7684850692749,0,0,0,1,2.02722215652466,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,1,0.0278363879770041,34,2,1.0 +7.65078783035278,0.244565904140472,11.4075651168823,0,1,0,0,2.02722215652466,1.0986123085022,4.07753753662109,1.3862943649292,0,1,0,0,0,0,0,1,0.0298308730125427,34,2,1.0 +7.5328426361084,0.244580835103989,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0198843255639076,34,2,1.0 +7.75600719451904,0.24459083378315,10.9595403671265,0,1,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.0518737696111202,34,2,1.0 +6.08773994445801,0.245097368955612,10.7684850692749,0,0,0,1,2.02722215652466,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,0,1,1,0.0118473879992962,34,2,1.0 +7.1741828918457,0.244582429528236,11.2580327987671,0,0,1,0,2.02722215652466,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,1,0.0215093418955803,34,1,1.0 +7.05047559738159,0.244550034403801,10.2219409942627,1,0,0,0,2.02722215652466,0.6931471824646,3.58351898193359,2.30258512496948,0,0,0,0,0,1,0,1,0.0535619854927063,34,1,1.0 +7.4959511756897,0.244585037231445,10.6572589874268,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,1,0.0541107058525085,34,1,1.0 +7.06413459777832,0.244546204805374,10.5320959091187,0,1,0,0,2.02722215652466,0.6931471824646,3.55534815788269,1.7917594909668,1,0,0,0,0,0,0,1,0.0398188270628452,34,2,1.0 +6.67982244491577,0.244521751999855,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.0084727276116609,34,1,1.0 +6.7433876991272,0.2444978505373,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0120380939915776,34,2,1.0 +7.40936422348022,0.244549855589867,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0175740346312523,34,2,1.0 +6.68216943740845,0.244506165385246,10.0212707519531,0,1,0,0,2.02722215652466,0.6931471824646,4.09434461593628,1.0986123085022,0,0,0,0,0,0,0,1,0.0452933460474014,34,2,1.0 +6.4677619934082,0.244486659765244,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,1,0.0068534831516444,34,1,1.0 +7.39084577560425,0.244579717516899,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,1,0.0172521006315947,34,2,1.0 +7.02179288864136,0.244518011808395,11.6952466964722,1,0,0,0,2.02722215652466,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,1,0.0119271697476506,34,2,1.0 +8.9678897857666,0.24462004005909,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,0,0,0,1,0.0835143178701401,34,2,1.0 +7.24698734283447,0.244562819600105,11.4075651168823,1,0,0,0,2.02722215652466,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,1,0.019920326769352,34,2,1.0 +7.57731914520264,0.244590640068054,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,1,0.0207888800650835,34,2,1.0 +6.8771390914917,0.244522497057915,11.4075651168823,1,0,0,0,2.02722215652466,0.6931471824646,4.00733327865601,1.0986123085022,0,0,0,1,0,0,0,1,0.0137611823156476,34,2,1.0 +7.11534643173218,0.24453604221344,10.0212707519531,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0698512047529221,34,1,1.0 +5.63501596450806,0.244452491402626,9.76995658874512,0,0,1,0,2.02722215652466,0.6931471824646,3.13549423217773,1.0986123085022,0,1,0,0,0,0,0,1,0.0204353742301464,34,1,1.0 +7.83937215805054,0.244531095027924,11.6952466964722,0,1,0,0,2.02722215652466,1.3862943649292,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,1,0.027015520259738,34,2,1.0 +6.78253555297852,0.244497954845428,11.2580327987671,0,0,1,0,2.02722215652466,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,1,0.0145378531888127,34,2,1.0 +7.30529451370239,0.244576543569565,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,1,0.050679937005043,34,1,1.0 +7.01009511947632,0.244544342160225,10.3889951705933,1,0,0,0,2.02722215652466,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,1,0.0435277707874775,34,1,1.0 +7.04006910324097,0.24454340338707,10.6572589874268,1,0,0,0,2.02722215652466,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,0,1,0,1,0.0342987366020679,34,1,1.0 +7.73832845687866,0.244555726647377,11.1913414001465,1,0,0,0,2.02722215652466,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,1,0.0404188968241215,34,2,1.0 +7.4299750328064,0.243881732225418,11.6952466964722,1,0,0,0,2.02722215652466,1.0986123085022,3.40119743347168,1.60943794250488,0,0,1,0,0,0,0,1,0.0179280247539282,34,1,1.0 +8.808349609375,0.244623407721519,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.0711991786956787,34,2,1.0 +7.18170547485352,0.244551435112953,11.1913414001465,0,0,1,0,2.02722215652466,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,1,0.0231656450778246,34,2,1.0 +6.21163558959961,0.244660466909409,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0070744259282946,34,2,1.0 +7.57831859588623,0.244550779461861,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0277451165020466,34,2,1.0 +7.6251859664917,0.244586169719696,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,1,0.021808072924614,34,1,1.0 +6.83497953414917,0.244986161589622,10.6572589874268,0,1,0,0,2.02722215652466,0.6931471824646,3.76120018959045,1.7917594909668,0,0,0,1,0,0,0,1,0.0279512479901314,34,1,1.0 +6.9923677444458,0.244600728154182,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0115822851657867,34,3,1.0 +7.55770206451416,0.244549855589867,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.63758611679077,1.94591009616852,0,0,0,0,1,0,0,1,0.0203841980546713,34,1,1.0 +7.15752983093262,0.244747072458267,10.6572589874268,0,1,0,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,1,0.0385815054178238,34,1,1.0 +7.03393936157227,0.297708809375763,10.8685684204102,0,1,0,0,2.13327050209045,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0291028209030628,36,2,1.0 +6.92350721359253,0.297712802886963,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.0986123085022,0,1,0,0,0,0,0,1,0.0288033112883568,36,1,1.0 +8.30099582672119,0.297779619693756,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,1,0.0452084206044674,36,2,1.0 +6.93219804763794,0.297713696956635,10.5320959091187,1,0,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0368026904761791,36,2,1.0 +7.6649603843689,0.2977594435215,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0459499694406986,36,2,1.0 +6.97873973846436,0.297763884067535,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.7917594909668,0,0,1,0,0,0,0,0,0.0160658173263073,36,2,1.0 +7.90801525115967,0.297782987356186,11.4075651168823,0,0,0,1,2.13327050209045,0.0,3.40119743347168,1.0986123085022,0,0,0,0,0,0,1,1,0.0406902581453323,36,1,1.0 +7.33223915100098,0.297738373279572,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0265677943825722,36,1,1.0 +7.28547334671021,0.297707676887512,10.8685684204102,1,0,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,1,0.0374260805547237,36,3,1.0 +7.04079675674438,0.297707766294479,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,0,1,1,0.0128200780600309,36,2,1.0 +7.92949533462524,0.297745823860168,10.9595403671265,0,1,0,0,2.13327050209045,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0650695264339447,36,2,1.0 +8.05711364746094,0.29777193069458,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,0,0.0548503138124943,36,2,1.0 +7.0483226776123,0.297720581293106,10.8685684204102,0,1,0,0,2.13327050209045,1.0986123085022,2.94443893432617,1.3862943649292,0,1,0,0,0,0,0,0,0.0295247826725245,36,3,1.0 +6.95772647857666,0.297710835933685,9.43348407745361,1,0,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,0,0,1,0,0,0.113262578845024,36,2,1.0 +6.80132341384888,0.297708362340927,10.3889951705933,0,0,1,0,2.13327050209045,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,0,0.0372552126646042,36,2,1.0 +7.28840684890747,0.297732800245285,10.3889951705933,1,0,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0606366619467735,36,2,1.0 +6.36273908615112,0.297706425189972,11.4075651168823,0,0,0,1,2.13327050209045,0.6931471824646,3.97029185295105,1.3862943649292,0,0,0,0,0,1,0,1,0.0086766527965664,36,2,1.0 +6.65049409866333,0.297684282064438,10.9595403671265,0,0,0,1,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,1,0,0,0.0181087143719196,36,2,1.0 +6.20826768875122,0.297653943300247,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0055757667869329,36,1,1.0 +7.39485359191895,0.297729343175888,11.4075651168823,0,0,1,0,2.13327050209045,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0243558771908283,36,3,1.0 +7.35876750946045,0.297743767499924,11.6952466964722,0,0,1,0,2.13327050209045,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0176197364926338,36,2,1.0 +7.28988218307495,0.297701478004456,10.5320959091187,0,0,1,0,2.13327050209045,1.0986123085022,3.93182563781738,1.3862943649292,0,0,0,0,0,1,0,1,0.0526276975870132,36,2,1.0 +7.92686653137207,0.297765374183655,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0597079619765282,36,2,1.0 +7.76750755310059,0.297748208045959,11.1913414001465,0,1,0,0,2.13327050209045,1.0986123085022,3.89182019233704,1.3862943649292,0,0,1,0,0,0,0,0,0.0438892431557178,36,3,1.0 +7.23188924789429,0.297897785902023,11.6952466964722,1,0,0,0,2.13327050209045,1.0986123085022,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,1,0.0155225694179535,36,3,1.0 +7.67279052734375,0.297751307487488,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.60943794250488,0,1,0,0,0,0,0,1,0.0241202060133219,36,3,1.0 +7.59588623046875,0.298408269882202,10.7684850692749,1,0,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,0,0,1,1,0.0564618296921253,36,1,1.0 +4.96314239501953,0.297521859407425,11.4075651168823,0,0,0,1,2.13327050209045,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,0,0,1,1,0.0021401043049991,36,2,1.0 +7.27324914932251,0.29771900177002,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.016175152733922,36,2,1.0 +7.44034147262573,0.297749787569046,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.0986123085022,0,1,0,0,0,0,0,0,0.0296011511236429,36,1,1.0 +6.79683351516724,0.297657459974289,10.9595403671265,0,0,0,1,2.13327050209045,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0209618881344795,36,2,1.0 +6.25090217590332,0.2976955473423,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,0,0,1,1,0.0058188703842461,36,2,1.0 +6.84235620498657,0.297692984342575,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,0,1,0,1,0.0201838426291943,36,1,1.0 +7.58685207366943,0.297745734453201,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,1,0.0295117422938347,36,2,1.0 +5.73914909362793,0.297988474369049,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,1,0.0034891066607087,36,1,1.0 +7.28218412399292,0.297725558280945,10.8685684204102,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,0,0.0373038463294506,36,1,1.0 +5.50180625915527,0.297681212425232,11.1913414001465,0,0,0,1,2.13327050209045,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,0,0,1,1,0.0045535224489867,36,2,1.0 +7.65578269958496,0.297743946313858,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,1,0.0237132776528597,36,1,1.0 +7.49579620361328,0.297752887010574,11.4075651168823,0,1,0,0,2.13327050209045,1.3862943649292,4.29045963287354,1.60943794250488,0,1,0,0,0,0,0,0,0.0269434247165918,36,3,1.0 +6.61291837692261,0.297686517238617,9.76995658874512,0,1,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,0,0.0573059357702732,36,1,1.0 +7.06234216690063,0.297719866037369,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.0130994478240609,36,3,1.0 +6.7284631729126,0.297678351402283,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,4.04305124282837,1.0986123085022,0,0,0,0,0,0,0,1,0.0093806553632021,36,1,1.0 +7.03251171112061,0.297718644142151,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.0127144437283278,36,2,1.0 +7.32089805603027,0.29773423075676,10.9595403671265,0,1,0,0,2.13327050209045,0.6931471824646,4.17438745498657,1.94591009616852,0,0,0,1,0,0,0,1,0.0354047976434231,36,0,1.0 +4.84070253372192,0.297486960887909,11.2580327987671,1,0,0,0,2.13327050209045,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,1,0.0021987992804497,36,2,1.0 +6.05349397659302,0.297643393278122,10.6572589874268,1,0,0,0,2.13327050209045,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0134857473894954,36,2,1.0 +5.74561643600464,0.297651022672653,10.9595403671265,0,0,0,1,2.13327050209045,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,0,0,1,1,0.0073263859376311,36,2,1.0 +7.24399709701538,0.297699779272079,11.4075651168823,1,0,0,0,2.13327050209045,1.0986123085022,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,1,0.02094473131001,36,3,1.0 +7.42914962768555,0.29774934053421,10.3889951705933,0,1,0,0,2.13327050209045,1.0986123085022,3.93182563781738,1.60943794250488,0,0,0,1,0,0,0,0,0.0698017403483391,36,2,1.0 +6.75349521636963,0.297669351100922,11.4075651168823,0,0,0,1,2.13327050209045,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,1,0.01282446552068,36,2,1.0 +7.01990795135498,0.297712355852127,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0125551195815206,36,2,1.0 +6.20401525497437,0.297662436962128,10.6572589874268,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,0,0.0156766697764397,36,2,1.0 +6.77416467666626,0.297704130411148,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0248073227703571,36,2,1.0 +7.57234048843384,0.297733157873154,11.6952466964722,0,1,0,0,2.13327050209045,1.0986123085022,3.7376697063446,1.60943794250488,1,0,0,0,0,0,0,0,0.0218146573752165,36,2,1.0 +6.50298547744751,0.29765659570694,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,0,0,1,1,0.0074868663214147,36,2,1.0 +7.33259773254395,0.297740489244461,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,1,0.0265773739665747,36,2,1.0 +7.12466955184937,0.297724932432175,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.0215875487774611,36,2,1.0 +7.23999357223511,0.297739177942276,11.1198825836182,1,0,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0278158243745565,36,1,1.0 +7.23435306549072,0.297720044851303,11.1913414001465,0,0,0,1,2.13327050209045,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,1,0.0257513374090195,36,1,1.0 +7.53738689422607,0.297755718231201,11.6952466964722,0,1,0,0,2.13327050209045,1.0986123085022,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0210657957941294,36,3,1.0 +7.3759503364563,0.29774934053421,11.0429220199585,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0344164036214352,36,1,1.0 +4.99370050430298,0.297474563121796,10.0212707519531,1,0,0,0,2.13327050209045,0.0,3.33220458030701,1.7917594909668,0,0,0,0,1,0,0,0,0.0088256262242794,36,2,1.0 +7.38885164260864,0.297752261161804,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0300546456128359,36,2,1.0 +7.03283071517944,0.297725975513458,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0169581267982721,36,2,1.0 +7.33029508590698,0.297747939825058,10.6572589874268,0,1,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0483535267412663,36,2,1.0 +6.73029661178589,0.297695904970169,10.6572589874268,0,0,0,1,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0265356283634901,36,2,1.0 +5.36043357849121,0.297653406858444,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,4.04305124282837,1.0986123085022,0,0,0,0,0,0,1,1,0.0023883318062871,36,2,1.0 +6.82533597946167,0.297676503658295,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.0160023365169764,36,2,1.0 +6.70029306411743,0.29770827293396,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0121604846790433,36,2,1.0 +7.42704248428345,0.297744572162628,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.58351898193359,1.7917594909668,1,0,0,0,0,0,0,1,0.0188647527247667,36,1,1.0 +7.10741853713989,0.297687649726868,11.6952466964722,0,1,0,0,2.13327050209045,1.0986123085022,3.55534815788269,1.7917594909668,0,0,1,0,0,0,0,1,0.0137029942125082,36,2,1.0 +6.4426965713501,0.297670483589172,10.0212707519531,0,1,0,0,2.13327050209045,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0375942774116993,36,1,1.0 +7.15632915496826,0.297724932432175,10.8685684204102,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.7917594909668,0,1,0,0,0,0,0,0,0.0328923761844635,36,2,1.0 +6.87372970581055,0.297720581293106,10.5320959091187,0,1,0,0,2.13327050209045,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0347128324210644,36,2,1.0 +6.86194705963135,0.297664284706116,10.6572589874268,0,0,0,1,2.13327050209045,1.0986123085022,3.85014748573303,1.60943794250488,0,0,0,0,0,1,0,0,0.0302684865891933,36,3,1.0 +7.56064367294312,0.297751754522324,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,1,0.0215613804757595,36,2,1.0 +6.63761186599731,0.297699153423309,10.3889951705933,0,1,0,0,2.13327050209045,0.6931471824646,3.71357202529907,1.7917594909668,0,1,0,0,0,0,0,0,0.0316288955509663,36,1,1.0 +6.60532999038696,0.2976955473423,10.8685684204102,0,0,1,0,2.13327050209045,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0189577434211969,36,2,1.0 +7.76137542724609,0.297750949859619,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.026354381814599,36,2,1.0 +6.65197420120239,0.298132449388504,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.0086938422173261,36,2,1.0 +6.98234081268311,0.297738373279572,10.8685684204102,0,1,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.0986123085022,0,1,0,0,0,0,0,1,0.0276400595903397,36,1,1.0 +6.742356300354,0.2976955473423,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.009512054733932,36,3,1.0 +6.64215993881226,0.297662615776062,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,1,0.0114731872454286,36,2,1.0 +7.54520034790039,0.297825485467911,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0212325267493725,36,2,1.0 +7.75064706802368,0.297750949859619,11.1198825836182,1,0,0,0,2.13327050209045,1.0986123085022,3.93182563781738,1.3862943649292,0,0,1,0,0,0,0,0,0.0463522784411907,36,3,1.0 +5.29988479614258,0.297594279050827,9.43348407745361,0,0,0,1,2.13327050209045,0.0,3.58351898193359,1.0986123085022,0,0,0,0,0,0,1,1,0.0215796437114477,36,1,1.0 +7.75799036026001,0.297756254673004,10.9595403671265,0,1,0,0,2.13327050209045,1.0986123085022,3.61091780662537,1.7917594909668,1,0,0,0,0,0,0,1,0.0548148714005947,36,3,1.0 +7.14098453521729,0.29769766330719,11.1913414001465,0,0,1,0,2.13327050209045,1.0986123085022,3.85014748573303,1.60943794250488,0,1,0,0,0,0,0,0,0.0234552752226591,36,3,1.0 +6.42198514938354,0.297704309225082,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,0,1,1,0.0069046672433614,36,2,1.0 +7.31435871124268,0.297735452651978,11.1198825836182,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0299631021916866,36,2,1.0 +5.65717458724976,0.297642081975937,11.1913414001465,1,0,0,0,2.13327050209045,0.0,3.36729574203491,1.7917594909668,0,0,1,0,0,0,0,1,0.0053187063895165,36,2,1.0 +7.2640438079834,0.297735095024109,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.0213695988059044,36,2,1.0 +7.43292236328125,0.297737240791321,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0189758632332087,36,1,1.0 +6.78265523910522,0.297704666852951,10.8685684204102,0,0,0,1,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,1,0,1,0.0226361192762852,36,2,1.0 +8.02339553833008,0.297737658023834,11.4075651168823,0,0,1,0,2.13327050209045,1.0986123085022,4.07753753662109,1.60943794250488,0,0,0,1,0,0,0,1,0.0456645935773849,36,3,1.0 +6.93302059173584,0.297753065824509,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,0,0,0,0,0.0153476744890213,36,2,1.0 +7.0938777923584,0.297720223665237,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.0135191353037953,36,2,1.0 +7.05393743515015,0.297724485397339,11.2580327987671,0,0,0,1,2.13327050209045,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,0,0,1,1,0.0201133564114571,36,1,1.0 +7.09873294830322,0.297745645046234,10.6572589874268,1,0,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0383584424853325,36,2,1.0 +7.57691097259521,0.297732353210449,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0339322425425053,36,2,1.0 +8.63789844512939,0.297733068466187,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.0986123085022,0,0,1,0,0,0,0,0,0.121566981077194,36,3,1.0 +6.70742130279541,0.297697395086288,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,1,0.0142227197065949,36,2,1.0 +7.20299339294434,0.297725975513458,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0150778638198972,36,2,1.0 +5.5055513381958,0.300073266029358,11.0429220199585,1,0,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,1,0.0053146025165915,36,2,1.0 +6.63999843597412,0.297687739133835,10.6572589874268,1,0,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0242443159222603,36,1,1.0 +6.29211711883545,0.297720491886139,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,0,0,1,1,0.0060638557188212,36,2,1.0 +8.75946807861328,0.297778487205505,10.9595403671265,0,0,1,0,2.13327050209045,1.60943794250488,4.33073329925537,1.94591009616852,0,0,0,0,1,0,0,1,0.149226009845734,36,5,1.0 +8.0681037902832,0.297727584838867,11.4075651168823,0,1,0,0,2.13327050209045,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0477520264685154,36,4,1.0 +8.16968536376953,0.297754138708115,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.93182563781738,1.0986123085022,1,0,0,0,0,0,0,0,0.0528591014444828,36,2,1.0 +7.81781768798828,0.297568142414093,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,1,0.037172757089138,36,2,1.0 +6.6641845703125,0.297730326652527,10.9595403671265,0,1,0,0,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.018359187990427,36,2,1.0 +6.90873193740845,0.297725707292557,10.2219409942627,0,1,0,0,2.13327050209045,0.6931471824646,3.66356158256531,1.0986123085022,0,1,0,0,0,0,0,0,0.0490221157670021,36,2,1.0 +7.19033527374268,0.297694653272629,10.2219409942627,1,0,0,0,2.13327050209045,0.6931471824646,4.09434461593628,1.3862943649292,0,0,0,1,0,0,0,0,0.0649647042155266,36,1,1.0 +6.52733325958252,0.297677844762802,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0076715545728802,36,2,1.0 +7.08891439437866,0.297723680734634,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,1,0.0222657881677151,36,2,1.0 +6.45712518692017,0.297700762748718,10.6572589874268,0,1,0,0,2.13327050209045,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,0,0.0201927162706852,36,2,1.0 +7.60997724533081,0.297752797603607,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0350737161934376,36,2,1.0 +7.53978109359741,0.297777146100998,10.3889951705933,0,0,0,1,2.13327050209045,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.0779695138335228,36,2,1.0 +6.8122410774231,0.297704041004181,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.0136008942499757,36,1,1.0 +7.43190002441406,0.297900348901749,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.97029185295105,1.3862943649292,1,0,0,0,0,0,0,1,0.0252794250845909,36,2,1.0 +7.58925867080688,0.297711730003357,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.034353107213974,36,2,1.0 +7.19493722915649,0.297749608755112,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.0986123085022,0,1,0,0,0,0,0,0,0.0199429765343666,36,2,1.0 +6.51300430297852,0.297681450843811,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0075624412856996,36,2,1.0 +7.53904867172241,0.297719269990921,11.0429220199585,0,1,0,0,2.13327050209045,1.0986123085022,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0405121259391308,36,2,1.0 +6.25353384017944,0.29763463139534,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0121749844402075,36,2,1.0 +7.16237258911133,0.297733515501022,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,1,0.0144777726382017,36,2,1.0 +5.61608743667603,0.297644466161728,10.3889951705933,1,0,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0113872196525335,36,1,1.0 +6.36955070495605,0.29771676659584,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0136738102883101,36,2,1.0 +7.16306495666504,0.297717750072479,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0144875720143318,36,1,1.0 +7.33731985092163,0.297729969024658,11.4075651168823,0,1,0,0,2.13327050209045,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0229941569268703,36,3,1.0 +7.28536319732666,0.29773023724556,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.33220458030701,1.3862943649292,0,0,1,0,0,0,0,1,0.0163724794983864,36,1,1.0 +7.69662523269653,0.297747939825058,11.0429220199585,0,1,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0474277138710022,36,2,1.0 +7.41435623168945,0.297732263803482,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0248356219381094,36,1,1.0 +6.78434085845947,0.297745823860168,11.6952466964722,0,0,0,1,2.13327050209045,0.0,4.14313459396362,0.0,0,0,0,0,0,0,1,1,0.0099204145371913,36,1,1.0 +7.48673868179321,0.297728210687637,11.0429220199585,0,1,0,0,2.13327050209045,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,0,0.0384477525949478,36,2,1.0 +7.16028022766113,0.297737240791321,10.7684850692749,1,0,0,0,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.036499097943306,36,2,1.0 +7.03328466415405,0.297761023044586,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.89182019233704,1.3862943649292,0,0,0,0,0,0,1,1,0.0127248130738735,36,2,1.0 +7.66354894638062,0.297753065824509,10.3889951705933,0,0,1,0,2.13327050209045,0.6931471824646,3.80666255950928,1.60943794250488,0,0,1,0,0,0,0,0,0.0882401391863823,36,3,1.0 +6.7700834274292,0.297866344451904,10.2219409942627,1,0,0,0,2.13327050209045,0.6931471824646,4.17438745498657,1.3862943649292,0,0,0,0,1,0,0,0,0.0426814220845699,36,1,1.0 +7.66877269744873,0.297762632369995,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0371980927884579,36,2,1.0 +7.47540903091431,0.297735273838043,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0197994168847799,36,2,1.0 +8.37916660308838,0.297774314880371,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0938571766018867,36,2,1.0 +7.46431684494019,0.29771962761879,11.4075651168823,0,1,0,0,2.13327050209045,1.0986123085022,3.82864141464233,1.60943794250488,1,0,0,0,0,0,0,1,0.0261076055467129,36,2,1.0 +6.79849910736084,0.297722965478897,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.68887948989868,1.0986123085022,0,0,1,0,0,0,0,1,0.0100616430863738,36,2,1.0 +7.018310546875,0.297712624073029,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,1,0.0167134460061789,36,2,1.0 +6.85563278198242,0.297707915306091,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.01649509370327,36,2,1.0 +7.55658674240112,0.297745376825333,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0542499721050262,36,2,1.0 +7.12205743789673,0.297730326652527,10.8685684204102,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.031784363090992,36,2,1.0 +7.2627739906311,0.297726601362228,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,0,0.0404380299150944,36,2,1.0 +6.72825050354004,0.297699779272079,10.7684850692749,1,0,0,0,2.13327050209045,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,1,0.0236939750611782,36,0,1.0 +7.92396306991577,0.297957956790924,10.9595403671265,1,0,0,0,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,1,0.0647242516279221,36,2,1.0 +7.03358507156372,0.297714561223984,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0265628751367331,36,1,1.0 +7.13135433197021,0.297732979059219,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,1,0.0140355788171291,36,2,1.0 +7.02142667770386,0.297717839479446,10.5320959091187,0,1,0,0,2.13327050209045,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0402376651763916,36,1,1.0 +6.81100797653198,0.297702878713608,10.7684850692749,0,0,0,1,2.13327050209045,0.6931471824646,4.02535152435303,1.3862943649292,0,0,0,0,0,0,1,1,0.0257383231073618,36,2,1.0 +6.09598255157471,0.297694206237793,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.004983760882169,36,2,1.0 +7.25005102157593,0.297722458839417,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.015804298222065,36,2,1.0 +7.15732097625732,0.297698199748993,11.2580327987671,0,0,1,0,2.13327050209045,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0223034508526325,36,2,1.0 +7.68429136276245,0.297712981700897,11.6952466964722,0,0,1,0,2.13327050209045,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,1,0.0243982747197151,36,3,1.0 +7.48308849334717,0.297747939825058,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0266030672937632,36,2,1.0 +8.03709602355957,0.297732442617416,11.1198825836182,0,1,0,0,2.13327050209045,1.0986123085022,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.061725739389658,36,2,1.0 +7.05388069152832,0.297735810279846,11.0429220199585,0,1,0,0,2.13327050209045,1.0986123085022,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0249394215643406,36,1,1.0 +6.56880903244019,0.297730952501297,11.1198825836182,0,0,0,1,2.13327050209045,1.0986123085022,3.80666255950928,2.19722461700439,0,0,0,0,0,0,1,1,0.014216628856957,36,2,1.0 +7.28094434738159,0.297749012708664,10.6572589874268,0,1,0,0,2.13327050209045,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0460252165794373,36,2,1.0 +5.22909355163574,0.297570735216141,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,1,0.0020942015107721,36,1,1.0 +4.88026332855225,0.297496885061264,9.76995658874512,0,0,0,1,2.13327050209045,0.0,3.76120018959045,1.3862943649292,0,0,0,0,0,0,1,1,0.0101305898278952,36,2,1.0 +7.03328037261963,0.297724664211273,10.8685684204102,1,0,0,0,2.13327050209045,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,1,0.0290841069072485,36,1,1.0 +6.53757238388062,0.297680854797363,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0103340409696102,36,2,1.0 +7.62654447555542,0.297749698162079,11.1198825836182,1,0,0,0,2.13327050209045,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,1,0.0409424230456352,36,2,1.0 +6.76829195022583,0.297689884901047,11.1198825836182,0,0,1,0,2.13327050209045,0.6931471824646,3.8712010383606,1.60943794250488,0,0,1,0,0,0,0,0,0.0173545386642218,36,1,1.0 +7.2311372756958,0.297699153423309,11.6952466964722,1,0,0,0,2.13327050209045,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,1,0.0155078256502748,36,4,1.0 +7.58989953994751,0.297740668058395,11.4075651168823,0,0,1,0,2.13327050209045,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0296016614884138,36,2,1.0 +7.27406406402588,0.297730594873428,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0337847508490086,36,2,1.0 +6.66163396835327,0.297735184431076,10.7684850692749,1,0,0,0,2.13327050209045,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,1,0.0221677664667368,36,2,1.0 +6.53720855712891,0.297723770141602,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0077480468899011,36,2,1.0 +7.19787359237671,0.297738373279572,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0200014021247625,36,2,1.0 +8.03571033477783,0.297758728265762,10.9595403671265,0,1,0,0,2.13327050209045,1.60943794250488,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.0723622068762779,36,3,1.0 +7.05242252349854,0.297999620437622,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,1,0.0129737807437778,36,1,1.0 +6.46729278564453,0.297919631004333,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,0,1,0,1,0.00722625432536,36,2,1.0 +6.43399333953857,0.297699600458145,10.3889951705933,0,0,0,1,2.13327050209045,0.0,3.76120018959045,1.3862943649292,0,0,0,0,0,0,1,1,0.0258020237088203,36,2,1.0 +7.31294393539429,0.297734409570694,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0168303940445185,36,2,1.0 +5.7002534866333,0.29766109585762,10.0212707519531,0,0,0,1,2.13327050209045,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,0,0,1,1,0.0178928170353174,36,0,1.0 +6.53960990905762,0.297669857740402,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,1,0.01035500690341,36,2,1.0 +7.59878349304199,0.297740161418915,10.9595403671265,0,1,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0467464774847031,36,1,1.0 +7.31950616836548,0.297755360603333,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,1,0.0225887447595596,36,2,1.0 +7.10112953186035,0.297733157873154,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.7917594909668,0,0,1,0,0,0,0,1,0.0181569438427687,36,1,1.0 +6.75523900985718,0.29769641160965,10.9595403671265,0,1,0,0,2.13327050209045,1.0986123085022,3.93182563781738,1.3862943649292,1,0,0,0,0,0,0,0,0.0201086532324553,36,3,1.0 +5.9320330619812,0.297675013542175,10.5320959091187,0,0,0,1,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,0,0,1,1,0.0135361952707171,36,2,1.0 +7.15061283111572,0.297737240791321,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0143085643649101,36,2,1.0 +7.08566379547119,0.297729879617691,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,1,0.0279833264648914,36,1,1.0 +7.39625358581543,0.297706872224808,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0243894495069981,36,2,1.0 +6.84406805038452,0.298063695430756,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.010534337721765,36,2,1.0 +6.38405418395996,0.297725021839142,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,0,1,0,1,0.0066478103399276,36,2,1.0 +6.82580757141113,0.297714203596115,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.010340103879571,36,1,1.0 +6.53334283828735,0.298042446374893,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0077206110581755,36,2,1.0 +8.89392280578613,0.297785460948944,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.13538484275341,36,2,1.0 +6.19698047637939,0.29763463139534,10.7684850692749,0,0,0,1,2.13327050209045,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,0,0.0139277782291174,36,2,1.0 +8.59693241119385,0.297771036624908,10.3889951705933,0,1,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.60943794250488,1,0,0,0,0,0,0,0,0.224407523870468,36,1,1.0 +7.11741161346436,0.297729164361954,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0138411931693554,36,2,1.0 +6.79913139343262,0.297700047492981,11.1198825836182,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0178982689976692,36,2,1.0 +7.65301275253296,0.297762632369995,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0366164445877075,36,2,1.0 +6.73989820480347,0.297685265541077,10.6572589874268,0,1,0,0,2.13327050209045,0.6931471824646,3.29583692550659,1.0986123085022,0,1,0,0,0,0,0,0,0.0267913527786732,36,2,1.0 +7.86209106445312,0.297743499279022,11.4075651168823,0,0,1,0,2.13327050209045,1.0986123085022,3.78418970108032,1.7917594909668,0,0,0,0,1,0,0,1,0.0388623140752316,36,3,1.0 +7.36715936660767,0.297722697257996,10.9595403671265,0,0,0,1,2.13327050209045,1.3862943649292,4.02535152435303,1.60943794250488,0,0,0,0,1,0,0,1,0.0370807237923145,36,3,1.0 +7.07492208480835,0.297735452651978,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,1,0.0132654886692762,36,2,1.0 +5.93508672714233,0.297621190547943,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0070225140079855,36,2,1.0 +7.87683773040771,0.297727763652802,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0295792743563652,36,2,1.0 +7.13975143432617,0.297738641500473,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,0,1,0,1,0.0295388102531433,36,2,1.0 +7.62176084518433,0.297760516405106,9.76995658874512,0,0,0,1,2.13327050209045,1.0986123085022,3.98898410797119,1.3862943649292,0,0,0,0,0,1,0,0,0.157168850302696,36,2,1.0 +7.33875226974487,0.297729343175888,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,1,0.0230271089822054,36,1,1.0 +7.78719568252563,0.297755897045135,11.1198825836182,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0480779632925987,36,2,1.0 +6.70761585235596,0.297638356685638,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,1,0.0232086386531591,36,1,1.0 +7.37052869796753,0.297695189714432,11.4075651168823,0,0,1,0,2.13327050209045,1.3862943649292,4.23410654067993,1.60943794250488,0,0,0,1,0,0,0,1,0.0237697642296553,36,2,1.0 +6.93082284927368,0.297716081142426,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0190097596496344,36,1,1.0 +7.79002237319946,0.297732442617416,11.6952466964722,0,1,0,0,2.13327050209045,1.3862943649292,4.12713432312012,1.60943794250488,1,0,0,0,0,0,0,0,0.0271197780966759,36,4,1.0 +4.75025320053101,0.297507256269455,11.4075651168823,0,0,1,0,2.13327050209045,0.0,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0017297046724706,36,2,1.0 +7.67981243133545,0.297753781080246,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,1,0.0242902375757694,36,2,1.0 +7.0610990524292,0.297885209321976,10.3889951705933,0,0,0,1,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0483151078224182,36,2,1.0 +7.36111307144165,0.297743320465088,10.3889951705933,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.7917594909668,1,0,0,0,0,0,0,1,0.0652102157473564,36,2,1.0 +5.83218860626221,0.297682970762253,11.4075651168823,0,0,0,1,2.13327050209045,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,0,0,1,1,0.0051041897386312,36,2,1.0 +6.91833543777466,0.297601878643036,10.2219409942627,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.7917594909668,1,0,0,0,0,0,0,0,0.0494890473783016,36,2,1.0 +6.95193910598755,0.297756522893906,10.8685684204102,0,0,1,0,2.13327050209045,0.0,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.026812881231308,36,1,1.0 +7.71281290054321,0.297754496335983,11.1913414001465,0,1,0,0,2.13327050209045,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0415534526109695,36,3,1.0 +7.5501012802124,0.297751754522324,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0284470152109861,36,2,1.0 +7.7323579788208,0.29770827293396,11.1198825836182,0,0,0,1,2.13327050209045,1.3862943649292,4.14313459396362,1.7917594909668,0,0,0,0,0,1,0,1,0.0455103032290936,36,3,1.0 +7.67665767669678,0.297745287418365,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0611710026860237,36,2,1.0 +6.89318037033081,0.297712177038193,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.0110607258975506,36,2,1.0 +7.55051422119141,0.297737151384354,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.78418970108032,1.7917594909668,0,0,1,0,0,0,0,0,0.0213437620550394,36,3,1.0 +6.30574941635132,0.297723144292831,10.6572589874268,0,1,0,0,2.13327050209045,1.0986123085022,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0173565205186605,36,1,1.0 +6.52221918106079,0.297695457935333,10.5320959091187,0,0,1,0,2.13327050209045,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,0,1,0,0,0,0.0244241766631603,36,2,1.0 +8.06593894958496,0.297759979963303,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,1,0.0476502925157547,36,2,1.0 +7.3034930229187,0.297753602266312,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0258153397589922,36,2,1.0 +7.22795915603638,0.297700673341751,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.015458638779819,36,1,1.0 +6.72616672515869,0.297742277383804,10.0212707519531,0,0,0,1,2.13327050209045,0.0,3.66356158256531,1.0986123085022,0,0,0,0,0,0,1,1,0.0499186031520367,36,2,1.0 +6.88547086715698,0.297702342271805,9.76995658874512,1,0,0,0,2.13327050209045,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,1,0.075261764228344,36,1,1.0 +6.92244386672974,0.297717750072479,11.0429220199585,0,0,1,0,2.13327050209045,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.021867360919714,36,2,1.0 +6.2383770942688,0.297648280858994,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,0,1,0,1,0.005746170412749,36,2,1.0 +4.99300527572632,0.297449886798859,10.5320959091187,0,1,0,0,2.13327050209045,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.0052915648557245,36,2,1.0 +7.09412717819214,0.297746509313583,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0135228671133518,36,1,1.0 +6.32437515258789,0.297590732574463,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.006261839531362,36,1,1.0 +7.30574083328247,0.2977414727211,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.91202306747437,1.0986123085022,0,1,0,0,0,0,0,1,0.0167097207158804,36,2,1.0 +6.86027812957764,0.25472229719162,10.8685684204102,0,0,1,0,1.31111037731171,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.0234339851886034,37,1,4.0 +6.81098079681396,0.254840761423111,10.5320959091187,0,1,0,0,1.31111037731171,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0312331635504961,37,2,4.0 +8.14861106872559,0.254933893680573,11.4075651168823,0,1,0,0,1.31111037731171,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.0495873317122459,37,2,4.0 +7.28117179870605,0.254770904779434,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,0,0.0576679967343807,37,2,4.0 +7.54369688034058,0.254783749580383,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0203074757009745,37,2,4.0 +7.98199272155762,0.254922717809677,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0657020732760429,37,2,4.0 +7.49927473068237,0.254887223243713,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.60943794250488,0,0,1,0,0,0,0,0,0.0194271206855774,37,1,4.0 +6.34167098999023,0.254592567682266,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.0986123085022,0,0,1,0,0,0,0,0,0.0172318536788225,37,2,4.0 +6.86378812789917,0.25465714931488,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.0329207852482796,37,2,4.0 +7.48563861846924,0.254902184009552,10.2219409942627,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0836260244250298,37,1,4.0 +7.42182588577271,0.254818677902222,11.4075651168823,1,0,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0239707659929991,37,1,4.0 +8.49000644683838,0.254976183176041,10.5320959091187,0,1,0,0,1.31111037731171,0.0,3.36729574203491,1.3862943649292,0,1,0,0,0,0,0,0,0.167442858219147,37,1,4.0 +7.75805568695068,0.254868745803833,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.0251644626259804,37,1,4.0 +7.33264827728271,0.254867374897003,11.2580327987671,1,0,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0254632923752069,37,2,4.0 +6.88811111450195,0.254786252975464,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.0297667868435383,37,1,4.0 +6.98124265670776,0.254706859588623,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0241471119225025,37,2,4.0 +7.1473274230957,0.254848718643188,10.6572589874268,1,0,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0385776162147522,37,2,4.0 +4.71663808822632,0.256091624498367,11.1198825836182,1,0,0,0,1.31111037731171,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0021395639050751,37,2,4.0 +8.03952789306641,0.254863113164902,11.4075651168823,0,1,0,0,1.31111037731171,1.0986123085022,2.89037179946899,1.3862943649292,1,0,0,0,0,0,0,0,0.0444596111774445,37,3,4.0 +7.34500694274902,0.254732191562653,10.6572589874268,0,1,0,0,1.31111037731171,1.0986123085022,3.33220458030701,1.60943794250488,1,0,0,0,0,0,0,0,0.0470041073858738,37,2,4.0 +6.83350467681885,0.254757314920425,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0099818678572773,37,2,4.0 +7.2864933013916,0.254740506410599,9.76995658874512,0,1,0,0,1.31111037731171,0.6931471824646,3.33220458030701,1.0986123085022,1,0,0,0,0,0,0,0,0.107665903866291,37,2,4.0 +7.31222677230835,0.254888713359833,11.2580327987671,0,1,0,0,1.31111037731171,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.0249490942806005,37,2,4.0 +7.54676628112793,0.254839926958084,10.2219409942627,0,1,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0888918191194534,37,1,4.0 +7.80370235443115,0.254968255758286,10.3889951705933,0,0,1,0,1.31111037731171,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,1,0,0,0,0,0.0972641482949257,37,2,4.0 +6.08293056488037,0.254653364419937,9.43348407745361,0,0,1,0,1.31111037731171,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,0,1,0,0,0.0452342741191387,37,1,4.0 +6.88569974899292,0.254797428846359,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0336548201739788,37,2,4.0 +7.65766429901123,0.254840493202209,10.2219409942627,0,1,0,0,1.31111037731171,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0993171855807304,37,1,4.0 +7.60059642791748,0.254909962415695,10.8685684204102,0,0,1,0,1.31111037731171,0.6931471824646,3.49650764465332,1.0986123085022,0,0,1,0,0,0,0,0,0.0491409786045551,37,2,4.0 +6.84536743164062,0.25471693277359,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.95124363899231,1.3862943649292,1,0,0,0,0,0,0,0,0.028519282117486,37,3,4.0 +6.5511417388916,0.254794925451279,10.8685684204102,0,1,0,0,1.31111037731171,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0172036830335855,37,2,4.0 +6.13653326034546,0.254720628261566,11.2580327987671,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0076981191523373,37,2,4.0 +7.29800796508789,0.25484111905098,11.4075651168823,0,0,1,0,1.31111037731171,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,0,0.0211796201765537,37,1,4.0 +7.74182176589966,0.254943311214447,11.1198825836182,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0440197102725506,37,2,4.0 +7.45186948776245,0.254863858222961,10.2219409942627,0,1,0,0,1.31111037731171,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,0,0,0,0,0.0808461159467697,37,1,4.0 +7.12683296203613,0.254855901002884,10.7684850692749,0,1,0,0,1.31111037731171,1.0986123085022,3.7376697063446,1.60943794250488,0,1,0,0,0,0,0,0,0.0338168404996395,37,2,4.0 +7.0016074180603,0.254878371953964,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.29583692550659,1.0986123085022,0,1,0,0,0,0,0,0,0.0436082296073437,37,2,4.0 +7.101975440979,0.254656970500946,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0130545990541577,37,1,4.0 +7.40407085418701,0.254862278699875,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.0652152225375175,37,2,4.0 +7.14378118515015,0.254862278699875,10.9595403671265,1,0,0,0,1.31111037731171,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0284133311361074,37,1,4.0 +7.32886409759521,0.254820704460144,11.1198825836182,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.3862943649292,0,1,0,0,0,0,0,0,0.0291238408535719,37,1,4.0 +7.46517276763916,0.254873663187027,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,0,0.0187755357474089,37,2,4.0 +6.70425081253052,0.255034476518631,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,0,0.0183109696954489,37,2,4.0 +6.92541360855103,0.254881501197815,11.4075651168823,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.0986123085022,0,1,0,0,0,0,0,0,0.0145921744406223,37,2,4.0 +6.69972610473633,0.25467711687088,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.032238557934761,37,2,4.0 +6.86659717559814,0.254778861999512,10.9595403671265,0,0,1,0,1.31111037731171,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,0,0.0215330924838781,37,3,4.0 +8.04467105865479,0.254888713359833,11.6952466964722,0,1,0,0,1.31111037731171,1.0986123085022,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.033517524600029,37,3,4.0 +7.44006252288818,0.254806667566299,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0183087177574635,37,2,4.0 +7.50346422195435,0.254876226186752,11.4075651168823,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0260112956166267,37,2,4.0 +7.43367338180542,0.254717409610748,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0181904938071966,37,2,4.0 +7.67084646224976,0.254736721515656,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.49650764465332,1.0986123085022,0,1,0,0,0,0,0,0,0.0230598170310259,37,2,4.0 +7.8460578918457,0.254959553480148,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0879419147968292,37,2,4.0 +7.48055791854858,0.254885673522949,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,0,0.0190668627619743,37,2,4.0 +6.69742298126221,0.254763066768646,11.1198825836182,1,0,0,0,1.31111037731171,0.6931471824646,4.07753753662109,1.3862943649292,0,0,1,0,0,0,0,0,0.01548788882792,37,2,4.0 +8.1060037612915,0.254964292049408,11.6952466964722,1,0,0,0,1.31111037731171,1.0986123085022,4.02535152435303,1.60943794250488,0,0,1,0,0,0,0,0,0.0356402657926083,37,3,4.0 +7.36688137054443,0.254893064498901,11.4075651168823,1,0,0,0,1.31111037731171,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0226909127086401,37,1,4.0 +7.02782583236694,0.254733681678772,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0121225547045469,37,1,4.0 +7.32429075241089,0.254659473896027,11.4075651168823,0,0,1,0,1.31111037731171,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0217397063970566,37,2,4.0 +7.13339900970459,0.254879087209702,11.4075651168823,0,0,1,0,1.31111037731171,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,1,0,0,0,0,0.0179657712578773,37,1,4.0 +6.06184768676758,0.254702627658844,8.92265796661377,0,1,0,0,1.31111037731171,0.0,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,0,0.0738212987780571,37,2,4.0 +6.8049430847168,0.254766285419464,10.2219409942627,1,0,0,0,1.31111037731171,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0423311553895473,37,1,4.0 +7.76609420776367,0.254941195249557,10.8685684204102,0,1,0,0,1.31111037731171,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0579872019588947,37,1,4.0 +7.72478008270264,0.254986464977264,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.0243437457829714,37,2,4.0 +7.58923149108887,0.254941463470459,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0443622060120106,37,1,4.0 +7.76420879364014,0.254860520362854,11.6952466964722,1,0,0,0,1.31111037731171,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0253195725381374,37,2,4.0 +7.22922325134277,0.254608750343323,11.0429220199585,1,0,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,0,0.0284647233784199,37,2,4.0 +7.795166015625,0.254936933517456,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.66356158256531,1.60943794250488,1,0,0,0,0,0,0,0,0.0261176507920027,37,2,4.0 +7.30565309524536,0.254759073257446,11.1913414001465,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0264915395528078,37,2,4.0 +7.26440525054932,0.254833102226257,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0491510182619095,37,1,4.0 +8.00478363037109,0.254919022321701,11.4075651168823,0,1,0,0,1.31111037731171,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.0429438166320324,37,2,4.0 +6.83118772506714,0.254784315824509,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0318689085543156,37,1,4.0 +7.08962106704712,0.254855453968048,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0128968730568886,37,2,4.0 +7.21974849700928,0.254788637161255,10.6572589874268,0,1,0,0,1.31111037731171,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.0414726063609123,37,3,4.0 +8.06640243530273,0.254904419183731,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0342543981969357,37,2,4.0 +6.44210529327393,0.254534900188446,10.8685684204102,1,0,0,0,1.31111037731171,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0154224950820208,37,2,4.0 +8.85368347167969,0.254991799592972,11.6952466964722,0,1,0,0,1.31111037731171,1.3862943649292,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0752776637673378,37,2,4.0 +6.80199670791626,0.254697531461716,10.8685684204102,1,0,0,0,1.31111037731171,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,0,0.0221067108213902,37,2,4.0 +6.18886232376099,0.254374891519547,10.6572589874268,0,1,0,0,1.31111037731171,1.0986123085022,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.014786777086556,37,3,4.0 +7.40960836410522,0.254844546318054,11.1198825836182,0,1,0,0,1.31111037731171,1.3862943649292,3.63758611679077,1.7917594909668,0,1,0,0,0,0,0,0,0.0315737314522266,37,4,4.0 +6.96402025222778,0.254685997962952,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0419914536178112,37,2,4.0 +6.23566341400146,0.254460960626602,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.29583692550659,1.60943794250488,1,0,0,0,0,0,0,0,0.01549659576267,37,2,4.0 +7.314621925354,0.254895001649857,11.1198825836182,0,1,0,0,1.31111037731171,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0287141241133213,37,2,4.0 +7.36798810958862,0.254780143499374,11.6952466964722,0,0,1,0,1.31111037731171,1.0986123085022,3.97029185295105,1.3862943649292,0,1,0,0,0,0,0,0,0.0170351099222898,37,3,4.0 +8.70285606384277,0.2548888027668,11.6952466964722,0,0,1,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0647318586707115,37,2,4.0 +7.07964086532593,0.254726469516754,11.4075651168823,0,1,0,0,1.31111037731171,1.0986123085022,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,0,0.0170228686183691,37,1,4.0 +6.37886047363281,0.25452047586441,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,0,0.0063337287865579,37,2,4.0 +5.87310171127319,0.254723966121674,9.76995658874512,0,1,0,0,1.31111037731171,0.6931471824646,3.25809645652771,1.0986123085022,1,0,0,0,0,0,0,0,0.0261964779347181,37,1,4.0 +7.32072639465332,0.254826724529266,11.2580327987671,1,0,0,0,1.31111037731171,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0251604914665222,37,2,4.0 +7.80792570114136,0.255048900842667,11.1198825836182,1,0,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0470328815281391,37,2,4.0 +5.74175310134888,0.254290401935577,11.4075651168823,0,0,1,0,1.31111037731171,1.0986123085022,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0044648433104157,37,2,4.0 +7.00242805480957,0.254872262477875,10.0212707519531,0,0,1,0,1.31111037731171,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0630409941077232,37,2,4.0 +7.48473262786865,0.254817932844162,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,0,0.0191453322768211,37,1,4.0 +7.131103515625,0.254621386528015,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.60943794250488,1,0,0,0,0,0,0,0,0.0379481464624405,37,2,4.0 +6.59210634231567,0.254633218050003,11.4075651168823,0,0,1,0,1.31111037731171,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.010453425347805,37,1,4.0 +7.66243410110474,0.254903107881546,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.022870447486639,37,1,4.0 +6.83688640594482,0.254833936691284,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.71357202529907,1.0986123085022,1,0,0,0,0,0,0,0,0.0209038965404034,37,1,4.0 +6.89617252349854,0.254712134599686,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,0,0.0221779718995094,37,2,4.0 +7.28468418121338,0.254900068044662,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,4.00733327865601,1.3862943649292,0,1,0,0,0,0,0,0,0.0156753994524479,37,3,4.0 +7.90432119369507,0.254959374666214,10.7684850692749,1,0,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0735930576920509,37,2,4.0 +7.27359104156494,0.254788100719452,10.8685684204102,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0354302525520325,37,1,4.0 +7.58555221557617,0.254760295152664,11.6952466964722,0,1,0,0,1.31111037731171,1.0986123085022,3.93182563781738,1.3862943649292,0,1,0,0,0,0,0,0,0.0211749877780676,37,3,4.0 +6.94924545288086,0.254775077104568,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0112068904563785,37,2,4.0 +6.88334608078003,0.254836797714233,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0296267829835415,37,1,4.0 +7.73690414428711,0.25481054186821,11.1913414001465,0,1,0,0,1.31111037731171,1.0986123085022,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0407774150371552,37,3,4.0 +7.3081488609314,0.254890918731689,10.8685684204102,0,0,1,0,1.31111037731171,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0366798080503941,37,3,4.0 +7.10760498046875,0.254835963249207,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0131306517869234,37,1,4.0 +8.03143692016602,0.254843264818192,10.6572589874268,0,1,0,0,1.31111037731171,1.3862943649292,3.80666255950928,1.7917594909668,0,0,1,0,0,0,0,0,0.0933892428874969,37,3,4.0 +5.94295167922974,0.254680275917053,9.76995658874512,1,0,0,0,1.31111037731171,0.6931471824646,3.04452252388,1.60943794250488,0,0,1,0,0,0,0,0,0.0280904937535524,37,1,4.0 +7.62382078170776,0.254945814609528,11.0429220199585,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0422498136758804,37,1,4.0 +7.89148426055908,0.255082249641418,11.1198825836182,0,0,1,0,1.31111037731171,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0511334501206875,37,1,4.0 +7.23143672943115,0.254860997200012,11.4075651168823,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0198159664869308,37,1,4.0 +7.61670637130737,0.254958361387253,11.2580327987671,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0338313207030296,37,2,4.0 +6.55096006393433,0.254870146512985,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0075258095748722,37,2,4.0 +5.67858409881592,0.254486739635468,10.7684850692749,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0079434001818299,37,2,4.0 +7.45033311843872,0.254627764225006,10.7684850692749,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0467227473855019,37,2,4.0 +6.92224502563477,0.254705488681793,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0109075885266066,37,2,4.0 +6.89265727996826,0.254946172237396,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.010592132806778,37,1,4.0 +6.40068674087524,0.254598200321198,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,4.14313459396362,1.0986123085022,0,0,0,1,0,0,0,0,0.0182795077562332,37,0,4.0 +7.24747514724731,0.25489342212677,10.6572589874268,1,0,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.60943794250488,0,0,1,0,0,0,0,0,0.0426430590450764,37,2,4.0 +6.83459281921387,0.254767686128616,11.0429220199585,1,0,0,0,1.31111037731171,0.6931471824646,3.95124363899231,1.0986123085022,1,0,0,0,0,0,0,0,0.0191862490028143,37,2,4.0 +7.49465847015381,0.254894614219666,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0618809424340725,37,2,4.0 +7.53356218338013,0.293256253004074,11.0429220199585,0,1,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0401110500097275,39,1,2.0 +6.47163438796997,0.293201833963394,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0150752011686563,39,2,2.0 +7.11746501922607,0.293245762586594,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.85014748573303,1.3862943649292,1,0,0,0,0,0,0,0,0.0137800080701709,39,2,2.0 +6.81978893280029,0.293276011943817,10.7684850692749,0,1,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.025850635021925,39,2,2.0 +7.03784656524658,0.293209135532379,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0265564005821943,39,2,2.0 +7.03761386871338,0.293277502059937,10.3889951705933,1,0,0,0,1.56035327911377,0.0,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0469766706228256,39,1,2.0 +8.2440767288208,0.293262481689453,11.6952466964722,0,0,1,0,1.56035327911377,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0425145924091339,39,4,2.0 +7.7065577507019,0.293272167444229,10.6572589874268,0,0,1,0,1.56035327911377,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0701282694935799,39,1,2.0 +7.65945100784302,0.293238669633865,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0236934311687946,39,2,2.0 +6.87372541427612,0.293223887681961,11.2580327987671,0,0,1,0,1.56035327911377,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0167210977524519,39,1,2.0 +7.55912351608276,0.293249428272247,10.5320959091187,0,0,1,0,1.56035327911377,1.3862943649292,2.99573230743408,1.60943794250488,0,0,0,1,0,0,0,0,0.0685821399092674,39,3,2.0 +7.13585376739502,0.293241858482361,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.78418970108032,1.60943794250488,1,0,0,0,0,0,0,0,0.0140356980264187,39,2,2.0 +7.26162528991699,0.293255984783173,11.2580327987671,0,0,1,0,1.56035327911377,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0246457196772099,39,2,2.0 +6.28092193603516,0.293181121349335,10.7684850692749,0,1,0,0,1.56035327911377,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0150800598785281,39,2,2.0 +7.56641292572021,0.293268620967865,11.1198825836182,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0383806638419628,39,2,2.0 +6.82418155670166,0.293224424123764,10.2219409942627,1,0,0,0,1.56035327911377,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,0,0.0448453426361084,39,2,2.0 +7.27762699127197,0.293290138244629,10.8685684204102,0,0,1,0,1.56035327911377,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0369698889553547,39,2,2.0 +7.87338399887085,0.293245494365692,10.8685684204102,1,0,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0670753195881844,39,2,2.0 +7.5417947769165,0.2932388484478,8.92265796661377,0,1,0,0,1.56035327911377,1.0986123085022,4.30406522750854,1.60943794250488,1,0,0,0,0,0,0,0,0.337016135454178,39,2,2.0 +7.33695268630981,0.29324746131897,11.2580327987671,0,0,1,0,1.56035327911377,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,0,0.026573708280921,39,2,2.0 +7.69308233261108,0.293262839317322,11.1198825836182,0,0,1,0,1.56035327911377,1.60943794250488,4.1588830947876,1.94591009616852,0,1,0,0,0,0,0,0,0.0435634031891823,39,3,2.0 +8.9584789276123,0.293284893035889,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.181268334388733,39,2,2.0 +7.71911573410034,0.293265759944916,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0574875324964523,39,2,2.0 +7.0681619644165,0.293200433254242,10.7684850692749,0,0,1,0,1.56035327911377,1.0986123085022,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.0331364087760448,39,2,2.0 +6.24429178237915,0.293157577514648,9.43348407745361,1,0,0,0,1.56035327911377,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0552418306469917,39,2,2.0 +7.01953792572021,0.293242663145065,10.7684850692749,0,0,1,0,1.56035327911377,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0315650552511215,39,2,2.0 +6.4765682220459,0.293199896812439,10.2219409942627,1,0,0,0,1.56035327911377,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0316767282783985,39,1,2.0 +7.30571222305298,0.293243736028671,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0347149707376957,39,1,2.0 +6.55129098892212,0.29317632317543,10.3889951705933,0,1,0,0,1.56035327911377,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.0288822446018457,39,1,2.0 +7.32768058776855,0.293251901865005,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0302291009575129,39,2,2.0 +7.16510438919067,0.293244510889053,9.76995658874512,1,0,0,0,1.56035327911377,1.0986123085022,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.0991018563508987,39,2,2.0 +7.95483922958374,0.293261408805847,10.8685684204102,0,0,1,0,1.56035327911377,1.7917594909668,3.85014748573303,1.94591009616852,0,0,1,0,0,0,0,0,0.072768822312355,39,6,2.0 +6.72478866577148,0.293195009231567,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,0,0.0194179639220238,39,2,2.0 +6.73227834701538,0.293220967054367,10.6572589874268,0,1,0,0,1.56035327911377,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0264695603400469,39,1,2.0 +7.51313161849976,0.293257147073746,10.0212707519531,1,0,0,0,1.56035327911377,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.109166406095028,39,1,2.0 +6.98347759246826,0.293229848146439,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0251516215503216,39,2,2.0 +7.40755176544189,0.293254762887955,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0184177495539188,39,1,2.0 +7.12638425827026,0.293246746063232,10.7684850692749,1,0,0,0,1.56035327911377,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0351245924830437,39,2,2.0 +8.03649806976318,0.293257772922516,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,0,0.034545049071312,39,1,2.0 +7.55049800872803,0.293282747268677,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,0,0.0283314138650894,39,2,2.0 +6.85887956619263,0.29322275519371,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.98898410797119,1.0986123085022,0,1,0,0,0,0,0,0,0.0106398919597268,39,2,2.0 +7.42770195007324,0.293248534202576,10.8685684204102,1,0,0,0,1.56035327911377,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,0,1,0,0,0.0429543294012547,39,1,2.0 +6.74697494506836,0.293267279863358,9.76995658874512,1,0,0,0,1.56035327911377,0.6931471824646,3.09104251861572,1.0986123085022,1,0,0,0,0,0,0,0,0.0652379468083382,39,2,2.0 +7.35946655273438,0.293247550725937,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0175529588013887,39,2,2.0 +7.1147632598877,0.293249428272247,10.2219409942627,0,0,0,1,1.56035327911377,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0599689297378063,39,2,2.0 +7.40382862091064,0.293242305517197,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,4.00733327865601,1.3862943649292,0,0,0,1,0,0,0,0,0.0183490738272667,39,3,2.0 +7.39178848266602,0.293246120214462,11.4075651168823,0,0,0,1,1.56035327911377,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,0,1,0,0,0.0241727214306593,39,2,2.0 +8.24385356903076,0.293263286352158,10.2219409942627,0,1,0,0,1.56035327911377,1.0986123085022,3.09104251861572,1.60943794250488,0,1,0,0,0,0,0,0,0.185476988554001,39,2,2.0 +7.41752529144287,0.293233603239059,10.7684850692749,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0469944439828396,39,2,2.0 +6.13808441162109,0.293168157339096,11.0429220199585,0,0,1,0,1.56035327911377,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,0,1,0,0,0.00993521977216,39,2,2.0 +7.21009922027588,0.293240159749985,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0315493941307068,39,2,2.0 +6.27981758117676,0.293239176273346,10.0212707519531,1,0,0,0,1.56035327911377,0.6931471824646,3.21887588500977,1.60943794250488,0,0,0,1,0,0,0,0,0.0318023972213268,39,1,2.0 +6.96133852005005,0.293209403753281,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0117876976728439,39,2,2.0 +6.4074854850769,0.293341249227524,10.0212707519531,0,1,0,0,1.56035327911377,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0361367911100388,39,1,2.0 +7.67905521392822,0.293242305517197,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0241625960916281,39,1,2.0 +7.24497222900391,0.293250292539597,10.5320959091187,0,0,0,1,1.56035327911377,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.050093024969101,39,2,2.0 +6.9730544090271,0.29323822259903,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0212034750729799,39,2,2.0 +6.41498947143555,0.293176859617233,10.7684850692749,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0172435250133276,39,2,2.0 +7.77716398239136,0.293249249458313,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,0,0.026653528213501,39,3,2.0 +7.42682409286499,0.293243914842606,10.6572589874268,0,1,0,0,1.56035327911377,0.6931471824646,3.25809645652771,1.0986123085022,1,0,0,0,0,0,0,0,0.053014412522316,39,2,2.0 +7.40787696838379,0.293227821588516,10.5320959091187,1,0,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,0,0.0589543879032135,39,2,2.0 +8.03305912017822,0.293276607990265,11.1913414001465,0,0,1,0,1.56035327911377,1.0986123085022,3.82864141464233,1.7917594909668,0,0,0,0,1,0,0,0,0.0569827742874622,39,4,2.0 +6.9702525138855,0.293233931064606,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0248212832957506,39,2,2.0 +6.69047117233276,0.293247103691101,10.6572589874268,0,1,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.3862943649292,0,1,0,0,0,0,0,0,0.0253864098340273,39,1,2.0 +6.69115257263184,0.293205946683884,11.2580327987671,0,0,0,1,1.56035327911377,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,0,1,0,0,0.013930500485003,39,2,2.0 +7.26592063903809,0.29323011636734,10.9595403671265,0,0,1,0,1.56035327911377,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0333602726459503,39,3,2.0 +6.83794164657593,0.293232083320618,10.3889951705933,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0384721122682095,39,1,2.0 +7.06165885925293,0.293244183063507,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0130320470780134,39,2,2.0 +7.70223569869995,0.293297171592712,11.2580327987671,0,1,0,0,1.56035327911377,1.0986123085022,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0382925346493721,39,3,2.0 +7.59771251678467,0.293270319700241,10.0212707519531,1,0,0,0,1.56035327911377,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,1,0,0,0,0.118803083896637,39,1,2.0 +7.49285650253296,0.293246120214462,11.6952466964722,0,1,0,0,1.56035327911377,1.3862943649292,3.89182019233704,1.60943794250488,0,0,1,0,0,0,0,0,0.0200576595962048,39,3,2.0 +6.74483776092529,0.293217331171036,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.0094930808991193,39,1,2.0 +5.39859342575073,0.293019384145737,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0079032341018319,39,1,2.0 +7.47630453109741,0.293231189250946,10.7684850692749,0,1,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.0498394034802914,39,2,2.0 +6.59949016571045,0.293253868818283,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0082091744989156,39,2,2.0 +7.60279560089111,0.293430685997009,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0467325747013092,39,2,2.0 +7.45772981643677,0.293247908353806,11.1198825836182,1,0,0,0,1.56035327911377,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0344273038208485,39,3,2.0 +6.34270429611206,0.293251544237137,8.92265796661377,0,0,0,1,1.56035327911377,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.101600922644138,39,1,2.0 +6.66157484054565,0.293205678462982,10.2219409942627,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.038114495575428,39,2,2.0 +5.47520875930786,0.293176412582397,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,0,0.005565573927015,39,2,2.0 +6.79205083847046,0.293214023113251,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.71357202529907,2.0794415473938,0,0,1,0,0,0,0,0,0.0318463891744614,39,1,2.0 +7.05364084243774,0.293236523866653,11.1198825836182,0,1,0,0,1.56035327911377,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0229828823357821,39,2,2.0 +6.89683961868286,0.293204784393311,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0110513521358371,39,2,2.0 +6.97906494140625,0.294050812721252,11.0429220199585,0,1,0,0,1.56035327911377,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0230565387755632,39,3,2.0 +7.83755207061768,0.293280810117722,10.3889951705933,0,1,0,0,1.56035327911377,1.0986123085022,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.104542389512062,39,2,2.0 +6.49026679992676,0.293201059103012,10.0212707519531,0,0,0,1,1.56035327911377,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,0,1,0,0,0.0392500422894955,39,1,2.0 +7.90323543548584,0.293262034654617,10.9595403671265,0,0,1,0,1.56035327911377,1.0986123085022,3.80666255950928,1.7917594909668,0,0,0,0,1,0,0,0,0.0630994886159897,39,3,2.0 +6.33788633346558,0.293168246746063,10.6572589874268,1,0,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0178419128060341,39,2,2.0 +6.97526884078979,0.293240070343018,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,0,0.0119534153491259,39,2,2.0 +6.18072938919067,0.293166011571884,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.25809645652771,1.60943794250488,0,0,1,0,0,0,0,0,0.0172800850123167,39,2,2.0 +6.48331260681152,0.293171435594559,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.91202306747437,1.0986123085022,1,0,0,0,0,0,0,0,0.0233861282467842,39,1,2.0 +6.93487167358398,0.293228328227997,10.5320959091187,0,1,0,0,1.56035327911377,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.036736074835062,39,2,2.0 +7.12171983718872,0.293236523866653,8.92265796661377,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.22141820192337,39,1,2.0 +7.65875673294067,0.293235003948212,11.4075651168823,1,0,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.031569205224514,39,2,2.0 +7.93748331069946,0.293268889188766,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0312888026237488,39,2,2.0 +6.70307683944702,0.293252348899841,9.43348407745361,0,1,0,0,1.56035327911377,0.6931471824646,3.04452252388,1.0986123085022,0,0,1,0,0,0,0,0,0.0874092057347298,39,2,2.0 +6.86888122558594,0.293219894170761,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0191054530441761,39,2,2.0 +5.63717746734619,0.293695211410522,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.8712010383606,1.0986123085022,0,1,0,0,0,0,0,0,0.0065475283190608,39,1,2.0 +7.56372451782227,0.2934949696064,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0449447743594646,39,1,2.0 +7.12124872207642,0.293242037296295,8.92265796661377,0,1,0,0,1.56035327911377,0.6931471824646,2.94443893432617,1.0986123085022,0,0,0,1,0,0,0,0,0.221315175294876,39,1,2.0 +7.16872644424438,0.293249070644379,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0464155487716198,39,2,2.0 +6.77798891067505,0.293221592903137,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0204795189201832,39,2,2.0 +6.98194026947021,0.293232083320618,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0160444471985102,39,2,2.0 +7.81222295761108,0.293268620967865,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,0,0.0368067733943462,39,2,2.0 +7.93349027633667,0.293253421783447,11.4075651168823,1,0,0,0,1.56035327911377,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0415515191853046,39,2,2.0 +7.00175285339355,0.293242663145065,11.0429220199585,0,0,1,0,1.56035327911377,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0235665664076805,39,1,2.0 +6.32562923431396,0.293168157339096,11.1198825836182,0,1,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0110969450324774,39,2,2.0 +7.6671314239502,0.29326543211937,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.0238767508417368,39,2,2.0 +7.08230876922607,0.29323822259903,11.1198825836182,1,0,0,0,1.56035327911377,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.0236513298004866,39,2,2.0 +6.77511978149414,0.293234914541245,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0204211194068193,39,1,2.0 +7.18503713607788,0.293242573738098,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0262102950364351,39,1,2.0 +7.56671953201294,0.293259918689728,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0691057965159416,39,1,2.0 +7.87955522537231,0.293259739875793,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,0,0,0,0,0.029527535662055,39,3,2.0 +6.77650928497314,0.293223083019257,10.7684850692749,1,0,0,0,1.56035327911377,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0247543901205063,39,2,2.0 +6.74183082580566,0.293220609426498,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0094646094366908,39,1,2.0 +7.29595756530762,0.293243378400803,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0343779772520065,39,2,2.0 +7.18804121017456,0.293224334716797,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0147873749956489,39,3,2.0 +7.67376136779785,0.293241769075394,11.4075651168823,0,0,1,0,1.56035327911377,1.0986123085022,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0320466831326485,39,2,2.0 +7.35593223571777,0.293254852294922,10.7684850692749,0,0,1,0,1.56035327911377,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0441881753504276,39,2,2.0 +8.03581809997559,0.293273329734802,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.0789076536893845,39,2,2.0 +6.70100116729736,0.293203622102737,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0189616717398167,39,1,2.0 +7.9181866645813,0.293265253305435,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,1,0,0,0,0,0,0,0.0409209504723549,39,2,2.0 +7.5608229637146,0.29325270652771,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0214684382081032,39,1,2.0 +7.35924863815308,0.293266832828522,11.4075651168823,0,0,0,1,1.56035327911377,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0233992878347635,39,2,2.0 +6.69207668304443,0.293231189250946,10.8685684204102,1,0,0,0,1.56035327911377,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,0,0.0205836053937674,39,2,2.0 +6.88468027114868,0.29320016503334,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,0,0.0109177390113473,39,2,2.0 +7.41339921951294,0.29324409365654,11.4075651168823,1,0,0,0,1.56035327911377,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0247007552534342,39,2,2.0 +7.80692481994629,0.293245851993561,10.6572589874268,0,1,0,0,1.56035327911377,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,0,0,0,0,0.077530138194561,39,2,2.0 +6.20636940002441,0.29318380355835,10.2219409942627,0,0,1,0,1.56035327911377,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0241761673241854,39,2,2.0 +7.33250331878662,0.292896747589111,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0227733328938484,39,2,2.0 +6.33636903762817,0.293232977390289,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.7917594909668,0,1,0,0,0,0,0,0,0.0201914831995964,39,3,2.0 +8.01293277740479,0.293231636285782,10.3889951705933,0,1,0,0,1.56035327911377,1.0986123085022,4.14313459396362,1.3862943649292,0,0,0,1,0,0,0,0,0.124577090144157,39,2,2.0 +7.30051231384277,0.293244689702988,10.9595403671265,1,0,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0345349572598934,39,2,2.0 +6.89522743225098,0.293276607990265,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,1,0,0,0,0,0.0230281855911016,39,2,2.0 +6.96196365356445,0.293263643980026,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.66356158256531,1.60943794250488,1,0,0,0,0,0,0,0,0.0157276056706905,39,2,2.0 +7.04184579849243,0.293236345052719,11.4075651168823,0,0,0,1,1.56035327911377,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.0170350410044193,39,2,2.0 +7.72668123245239,0.293272167444229,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0253419615328312,39,2,2.0 +7.18214321136475,0.293248623609543,11.4075651168823,1,0,0,0,1.56035327911377,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,0,1,0,0,0.0196010265499353,39,2,2.0 +7.50908517837524,0.293249607086182,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.065234862267971,39,2,2.0 +7.58824110031128,0.293261766433716,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0220654085278511,39,2,2.0 +7.25363159179688,0.293251365423203,11.2580327987671,1,0,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0244493801146746,39,2,2.0 +7.5173544883728,0.293260872364044,10.5320959091187,1,0,0,0,1.56035327911377,0.0,3.21887588500977,1.60943794250488,0,0,0,1,0,0,0,0,0.0657772719860077,39,2,2.0 +6.77641773223877,0.293216973543167,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.022394634783268,39,3,2.0 +6.96645545959473,0.293230652809143,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,1,0,0,0,0.0157978925853968,39,2,2.0 +7.08085298538208,0.293236792087555,9.43348407745361,0,1,0,0,1.56035327911377,0.6931471824646,3.21887588500977,1.0986123085022,1,0,0,0,0,0,0,0,0.127531245350838,39,1,2.0 +6.15214157104492,0.293150633573532,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0167928151786327,39,2,2.0 +6.85066413879395,0.293207705020905,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0140702407807112,39,2,2.0 +7.30938959121704,0.293251812458038,10.9595403671265,0,0,0,1,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0348431468009949,39,1,2.0 +7.78991794586182,0.293267726898193,11.2580327987671,0,1,0,0,1.56035327911377,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0418004803359509,39,2,2.0 +7.66728401184082,0.29326131939888,11.4075651168823,0,1,0,0,1.56035327911377,1.3862943649292,3.93182563781738,1.60943794250488,0,0,1,0,0,0,0,0,0.0318403877317905,39,4,2.0 +6.89246702194214,0.293228089809418,10.9595403671265,1,0,0,0,1.56035327911377,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0229635927826166,39,3,2.0 +7.05639219284058,0.293244600296021,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,4.14313459396362,1.0986123085022,0,0,0,1,0,0,0,0,0.0270544607192278,39,2,2.0 +7.11097240447998,0.293221592903137,11.0429220199585,0,0,1,0,1.56035327911377,1.0986123085022,2.99573230743408,1.3862943649292,0,0,0,0,1,0,0,0,0.0262857601046562,39,2,2.0 +8.58560466766357,0.293284982442856,10.6572589874268,0,0,1,0,1.56035327911377,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,0,0.168913349509239,39,2,2.0 +7.12273454666138,0.293408095836639,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,0,0.0316687189042568,39,1,2.0 +7.81685066223145,0.293267101049423,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0887458845973015,39,2,2.0 +7.67815494537354,0.293249934911728,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.80666255950928,1.3862943649292,0,1,0,0,0,0,0,0,0.0241410359740257,39,3,2.0 +7.08053779602051,0.293232172727585,10.9595403671265,1,0,0,0,1.56035327911377,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0277153085917234,39,2,2.0 +7.50707674026489,0.293242037296295,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.33220458030701,1.3862943649292,0,0,1,0,0,0,0,0,0.0651034712791443,39,2,2.0 +7.69685554504395,0.293242573738098,11.1913414001465,0,1,0,0,1.56035327911377,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,0,0.0407115370035172,39,3,2.0 +7.3997974395752,0.293267458677292,10.3889951705933,0,1,0,0,1.56035327911377,0.6931471824646,3.25809645652771,1.60943794250488,0,1,0,0,0,0,0,0,0.0674795731902122,39,1,2.0 +8.14083957672119,0.293270945549011,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.122703388333321,39,2,2.0 +7.24939441680908,0.293487131595612,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.0157271716743708,39,2,2.0 +6.5616307258606,0.293168872594833,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0105380238965154,39,2,2.0 +7.00815582275391,0.293235003948212,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0123530030250549,39,2,2.0 +7.00918531417847,0.293232887983322,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.36729574203491,1.7917594909668,0,0,0,0,1,0,0,0,0.0282644517719746,39,2,2.0 +7.03739070892334,0.29323998093605,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.04452252388,1.60943794250488,1,0,0,0,0,0,0,0,0.040702510625124,39,2,2.0 +6.33323287963867,0.293201237916946,10.8685684204102,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0143768759444356,39,2,2.0 +7.3734769821167,0.293217837810516,11.2580327987671,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0275614224374294,39,2,2.0 +7.85788488388062,0.293273776769638,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0288949478417635,39,2,2.0 +7.34605073928833,0.293239712715149,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0554204881191254,39,1,2.0 +7.38014507293701,0.293258845806122,11.4075651168823,0,0,1,0,1.56035327911377,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0238932054489851,39,3,2.0 +7.31460380554199,0.293238490819931,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.0223769787698984,39,1,2.0 +7.05569267272949,0.293242216110229,11.4075651168823,0,0,1,0,1.56035327911377,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0172726660966873,39,3,2.0 +6.68899488449097,0.293218731880188,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.018735658377409,39,1,2.0 +7.84230661392212,0.293269872665405,10.2219409942627,0,1,0,0,1.56035327911377,1.0986123085022,3.55534815788269,1.7917594909668,0,0,1,0,0,0,0,0,0.124137587845325,39,2,2.0 +7.95754480361938,0.29325544834137,11.1913414001465,0,1,0,0,1.56035327911377,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,0,0,0,0,0.0528370998799801,39,1,2.0 +6.97029876708984,0.293239265680313,11.6952466964722,0,0,0,1,1.56035327911377,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0118941431865096,39,2,2.0 +7.14421653747559,0.29324746131897,11.1198825836182,0,0,0,1,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0251620355993509,39,2,2.0 +7.30000448226929,0.293229311704636,11.1198825836182,0,0,1,0,1.56035327911377,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0294032767415047,39,3,2.0 +6.92039585113525,0.293226212263107,11.2580327987671,0,0,1,0,1.56035327911377,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0175200197845697,39,2,2.0 +7.17581176757812,0.293222218751907,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0259690787643194,39,3,2.0 +6.89034366607666,0.293232887983322,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.0146401347592473,39,2,2.0 +7.30686712265015,0.293255269527435,11.1913414001465,0,0,1,0,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,1,0,0,0,0,0,0,0.0275646913796663,39,2,2.0 +7.8367018699646,0.293304800987244,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.97029185295105,1.0986123085022,1,0,0,0,0,0,0,0,0.0905285850167274,39,1,2.0 +6.77914190292358,0.293221414089203,10.2219409942627,0,0,0,1,1.56035327911377,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.042870219796896,39,1,2.0 +5.25656175613403,0.29339611530304,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,0,0.0068593784235417,39,2,2.0 +7.03168535232544,0.293243914842606,11.4075651168823,0,0,1,0,1.56035327911377,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,0,0.0168629605323076,39,4,2.0 +7.84961938858032,0.293271988630295,11.2580327987671,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0443722233176231,39,2,2.0 +8.24625205993652,0.293265610933304,11.1198825836182,0,1,0,0,1.56035327911377,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0757463201880455,39,2,2.0 +7.12937450408936,0.293241053819656,11.0429220199585,1,0,0,0,1.56035327911377,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,0,0.026774475350976,39,2,2.0 +6.84933805465698,0.293229579925537,11.4075651168823,0,0,0,1,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,0,0.0140519058331847,39,2,2.0 +6.70633697509766,0.293194115161896,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0091343261301517,39,2,2.0 +8.73572826385498,0.293276011943817,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.0695128813385963,39,2,2.0 +6.95030975341797,0.293243825435638,10.8685684204102,0,0,1,0,1.56035327911377,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.026648698374629,39,2,2.0 +8.8799295425415,0.293300271034241,11.4075651168823,0,0,0,1,1.56035327911377,1.7917594909668,3.09104251861572,2.0794415473938,0,0,0,0,0,1,0,0,0.107063330709934,39,5,2.0 +7.58287668228149,0.293267369270325,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0219474844634533,39,2,2.0 +6.42485237121582,0.293199807405472,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0122548835352063,39,2,2.0 +6.55815696716309,0.293250560760498,7.82404613494873,0,0,0,1,1.56035327911377,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,0,1,0,0,0.378084242343903,39,1,2.0 +6.78211069107056,0.293689966201782,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.0205737445503473,39,2,2.0 +6.7650146484375,0.293200343847275,9.76995658874512,1,0,0,0,1.56035327911377,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0664210543036461,39,1,2.0 +7.31781196594238,0.293248355388641,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,0,1,0,0,0.0351377315819263,39,2,2.0 +7.97795581817627,0.293247193098068,10.9595403671265,0,0,1,0,1.56035327911377,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0679939165711403,39,2,2.0 +8.09410667419434,0.293268173933029,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.083643339574337,39,2,2.0 +7.36410522460938,0.293222934007645,10.0212707519531,0,1,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0940487086772919,39,2,2.0 +6.78484869003296,0.293219894170761,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0206204559653997,39,2,2.0 +7.1864595413208,0.293255269527435,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.014764460735023,39,2,2.0 +6.92636775970459,0.293229132890701,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0151770897209644,39,2,2.0 +6.6505880355835,0.293221861124039,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0180297829210758,39,2,2.0 +6.74052810668945,0.213927730917931,11.1913414001465,1,0,0,0,1.12939393520355,0.6931471824646,3.43398714065552,2.0794415473938,0,0,0,0,1,0,0,0,0.0144525254145265,40,3,6.0 +7.56366443634033,0.214112028479576,11.6952466964722,0,1,0,0,1.12939393520355,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0198913421481848,40,2,6.0 +6.72617673873901,0.213824346661568,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0317775793373585,40,1,6.0 +6.92295837402344,0.213853612542152,10.0212707519531,1,0,0,0,1.12939393520355,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0558850355446339,40,1,6.0 +7.02361536026001,0.213981822133064,10.2219409942627,0,1,0,0,1.12939393520355,0.6931471824646,3.04452252388,1.0986123085022,0,0,0,1,0,0,0,0,0.0505726635456085,40,1,6.0 +6.46311807632446,0.213730484247208,10.6572589874268,1,0,0,0,1.12939393520355,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0186779629439116,40,1,6.0 +7.77988004684448,0.214151009917259,11.4075651168823,0,1,0,0,1.12939393520355,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,0,0,0,0,0.0329246371984482,40,2,6.0 +6.81795692443848,0.213837832212448,10.3889951705933,0,0,1,0,1.12939393520355,1.0986123085022,4.38202667236328,1.3862943649292,0,0,0,1,0,0,0,0,0.0348326377570629,40,1,6.0 +7.33624839782715,0.213955253362656,11.6952466964722,1,0,0,0,1.12939393520355,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0158427506685257,40,2,6.0 +6.85664129257202,0.213888064026833,10.8685684204102,0,1,0,0,1.12939393520355,0.6931471824646,3.29583692550659,1.94591009616852,1,0,0,0,0,0,0,0,0.0224146861582994,40,1,6.0 +7.11389112472534,0.213883742690086,11.6952466964722,0,0,1,0,1.12939393520355,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0126832639798522,40,2,6.0 +8.03046798706055,0.214079216122627,11.6952466964722,0,1,0,0,1.12939393520355,1.3862943649292,3.58351898193359,1.94591009616852,0,0,0,1,0,0,0,0,0.0317234173417091,40,3,6.0 +7.47915887832642,0.213896259665489,10.9595403671265,0,0,1,0,1.12939393520355,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0381402522325516,40,2,6.0 +7.22675657272339,0.213983163237572,10.9595403671265,0,0,1,0,1.12939393520355,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0296349637210369,40,2,6.0 +6.71668338775635,0.213795378804207,10.7684850692749,0,0,1,0,1.12939393520355,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0215364973992109,40,1,6.0 +5.98296976089478,0.214006841182709,11.4075651168823,0,1,0,0,1.12939393520355,0.6931471824646,3.66356158256531,1.0986123085022,1,0,0,0,0,0,0,0,0.0054584606550633,40,2,6.0 +8.06384468078613,0.214230582118034,10.9595403671265,0,1,0,0,1.12939393520355,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0684627890586853,40,2,6.0 +6.61737728118896,0.213803365826607,10.6572589874268,0,0,1,0,1.12939393520355,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0217949170619249,40,2,6.0 +7.74068164825439,0.214295044541359,10.0212707519531,0,0,1,0,1.12939393520355,0.6931471824646,2.99573230743408,1.0986123085022,0,0,1,0,0,0,0,0,0.12665431201458,40,1,6.0 +7.57460498809814,0.214180931448936,11.6952466964722,0,1,0,0,1.12939393520355,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.020111545920372,40,2,6.0 +6.40565395355225,0.21402445435524,10.5320959091187,1,0,0,0,1.12939393520355,0.0,3.21887588500977,1.60943794250488,0,0,1,0,0,0,0,0,0.0199921019375324,40,1,6.0 +7.29358005523682,0.214028298854828,10.9595403671265,0,0,1,0,1.12939393520355,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0316843651235104,40,2,6.0 +6.82558012008667,0.213887006044388,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.49650764465332,1.7917594909668,0,0,0,0,0,1,0,0,0.0351009108126163,40,2,6.0 +8.11746597290039,0.214018493890762,11.2580327987671,1,0,0,0,1.12939393520355,1.60943794250488,3.85014748573303,1.60943794250488,1,0,0,0,0,0,0,0,0.0535816662013531,40,3,6.0 +5.67765808105469,0.213955536484718,8.92265796661377,0,0,1,0,1.12939393520355,0.0,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0482651889324188,40,1,6.0 +7.31008243560791,0.214105486869812,11.6952466964722,0,1,0,0,1.12939393520355,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0154359033331275,40,2,6.0 +6.97989463806152,0.213898941874504,10.6572589874268,1,0,0,0,1.12939393520355,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0313210189342499,40,2,6.0 +7.09994649887085,0.214161396026611,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0461948290467262,40,1,6.0 +6.14380216598511,0.213769376277924,9.76995658874512,0,0,1,0,1.12939393520355,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0329624973237514,40,1,6.0 +6.13829946517944,0.213919550180435,8.92265796661377,1,0,0,0,1.12939393520355,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0765019208192825,40,2,6.0 +7.40256595611572,0.21406814455986,11.4075651168823,1,0,0,0,1.12939393520355,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0225745756179094,40,2,6.0 +7.04251527786255,0.214063242077827,11.4075651168823,0,1,0,0,1.12939393520355,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0157488752156496,40,2,6.0 +7.10912752151489,0.214053228497505,11.4075651168823,0,1,0,0,1.12939393520355,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0168335027992725,40,2,6.0 +7.36033010482788,0.214031770825386,11.6952466964722,0,0,1,0,1.12939393520355,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0162301436066628,40,1,6.0 +6.07972955703735,0.213425949215889,11.6952466964722,0,0,1,0,1.12939393520355,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0045071453787386,40,2,6.0 +6.05295848846436,0.213357284665108,10.0212707519531,1,0,0,0,1.12939393520355,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0234015136957169,40,1,6.0 +6.98089075088501,0.214181125164032,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,0,0.0410106554627419,40,2,6.0 +7.00302839279175,0.21395505964756,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0419191643595695,40,1,6.0 +7.38570928573608,0.214056596159935,11.4075651168823,1,0,0,0,1.12939393520355,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0221969820559025,40,2,6.0 +7.35983180999756,0.378583759069443,11.4075651168823,1,0,0,0,3.21185278892517,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,0,1,0,0,0,0.02549815364182,41,1,8.0 +7.92123317718506,0.378605872392654,10.7684850692749,0,1,0,0,3.21185278892517,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0846994742751122,41,1,8.0 +6.40366888046265,0.378531247377396,10.8685684204102,0,0,1,0,3.21185278892517,0.6931471824646,3.25809645652771,1.7917594909668,0,0,0,0,1,0,0,0,0.0168001353740692,41,2,8.0 +6.69578313827515,0.378543168306351,11.4075651168823,1,0,0,0,3.21185278892517,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0131249707192183,41,2,8.0 +6.4621410369873,0.378499656915665,10.2219409942627,0,1,0,0,3.21185278892517,1.0986123085022,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.034003209322691,41,2,8.0 +6.2669506072998,0.378560811281204,10.7684850692749,0,1,0,0,3.21185278892517,0.6931471824646,3.61091780662537,1.60943794250488,1,0,0,0,0,0,0,0,0.0161962807178497,41,2,8.0 +6.8298225402832,0.378551095724106,11.4075651168823,1,0,0,0,3.21185278892517,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.015007708221674,41,1,8.0 +7.67700624465942,0.37857574224472,11.6952466964722,0,1,0,0,3.21185278892517,0.6931471824646,3.85014748573303,1.0986123085022,0,1,0,0,0,0,0,0,0.0262611359357834,41,2,8.0 +7.90221548080444,0.378635436296463,10.7684850692749,0,1,0,0,3.21185278892517,1.3862943649292,4.00733327865601,2.4849066734314,0,0,0,0,1,0,0,0,0.0831063464283943,41,2,8.0 +7.04920244216919,0.378570437431335,10.5320959091187,1,0,0,0,3.21185278892517,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,0,0.0448548533022404,41,2,8.0 +7.44586420059204,0.378576576709747,11.0429220199585,0,1,0,0,3.21185278892517,1.0986123085022,3.49650764465332,1.7917594909668,0,0,0,1,0,0,0,0,0.0400157868862152,41,2,8.0 +6.93474245071411,0.378567814826965,10.8685684204102,0,1,0,0,3.21185278892517,1.0986123085022,3.66356158256531,1.7917594909668,0,0,0,1,0,0,0,0,0.0285740029066801,41,2,8.0 +7.66199731826782,0.378592967987061,10.5320959091187,1,0,0,0,3.21185278892517,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0827852040529251,41,2,8.0 +8.02194881439209,0.378462016582489,11.4075651168823,0,1,0,0,3.21185278892517,1.0986123085022,3.58351898193359,1.60943794250488,0,0,0,0,0,0,0,0,0.0494321770966053,41,3,8.0 +6.03508710861206,0.378567427396774,10.9595403671265,1,0,0,0,3.21185278892517,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.010610768571496,41,2,8.0 +6.84345006942749,0.379312843084335,11.1198825836182,0,1,0,0,3.21185278892517,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0203002970665693,41,2,8.0 +6.07100248336792,0.378515660762787,10.0212707519531,1,0,0,0,3.21185278892517,1.0986123085022,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.028106551617384,41,3,8.0 +6.65820121765137,0.37855052947998,11.2580327987671,0,0,1,0,3.21185278892517,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0146798240020871,41,2,8.0 +7.02861881256104,0.378527909517288,11.6952466964722,0,1,0,0,3.21185278892517,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,0,0.0137309832498431,41,2,8.0 +7.49004507064819,0.378687024116516,11.1198825836182,0,1,0,0,3.21185278892517,1.3862943649292,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0387296080589294,41,3,8.0 +8.46683597564697,0.378606021404266,8.92265796661377,0,1,0,0,3.21185278892517,0.6931471824646,3.29583692550659,1.0986123085022,1,0,0,0,0,0,0,0,0.925689280033112,41,1,8.0 +7.3919038772583,0.378793358802795,11.4075651168823,1,0,0,0,3.21185278892517,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0263346992433071,41,2,8.0 +7.45585966110229,0.378639191389084,11.0429220199585,0,1,0,0,3.21185278892517,1.3862943649292,3.95124363899231,1.3862943649292,0,0,1,0,0,0,0,0,0.0404202975332737,41,4,8.0 +6.60715484619141,0.378527492284775,11.2580327987671,0,0,1,0,3.21185278892517,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0139489518478513,41,1,8.0 +6.64922904968262,0.378546684980392,10.3889951705933,0,0,0,1,3.21185278892517,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,0,0.0346929244697094,41,2,8.0 +6.86753845214844,0.378531664609909,11.6952466964722,1,0,0,0,3.21185278892517,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,0,0.011688182130456,41,2,8.0 +7.52903175354004,0.378583252429962,11.6952466964722,1,0,0,0,3.21185278892517,0.6931471824646,3.95124363899231,1.3862943649292,1,0,0,0,0,0,0,0,0.0226491764187813,41,2,8.0 +6.89901638031006,0.378572314977646,10.5320959091187,0,0,1,0,3.21185278892517,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,1,0,0,0,0.038599818944931,41,1,8.0 +6.88439035415649,0.3785540163517,10.7684850692749,0,1,0,0,3.21185278892517,0.6931471824646,3.89182019233704,1.3862943649292,0,1,0,0,0,0,0,0,0.0300305336713791,41,1,8.0 +7.37634420394897,0.378547102212906,11.0429220199585,0,1,0,0,3.21185278892517,0.6931471824646,3.93182563781738,1.0986123085022,1,0,0,0,0,0,0,0,0.0373272933065891,41,2,8.0 +5.69836902618408,0.378981500864029,10.5320959091187,1,0,0,0,3.21185278892517,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,1,0,0,0,0,0.0116232773289084,41,2,8.0 +7.03199100494385,0.378563165664673,11.1198825836182,0,0,1,0,3.21185278892517,1.0986123085022,3.66356158256531,1.94591009616852,0,0,0,1,0,0,0,0,0.0244939625263214,41,3,8.0 +6.75813674926758,0.378561705350876,10.5320959091187,0,0,1,0,3.21185278892517,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,0,1,0,0,0,0.0335272178053856,41,2,8.0 +7.0353832244873,0.378584653139114,10.7684850692749,0,1,0,0,3.21185278892517,1.0986123085022,3.91202306747437,1.7917594909668,1,0,0,0,0,0,0,0,0.0349262319505215,41,3,8.0 +7.04811763763428,0.378348588943481,11.1913414001465,0,1,0,0,3.21185278892517,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0231704991310835,41,2,8.0 +7.09928035736084,0.378582358360291,11.1198825836182,0,0,1,0,3.21185278892517,1.3862943649292,3.7376697063446,1.94591009616852,0,0,1,0,0,0,0,0,0.0261993631720543,41,3,8.0 +6.61665725708008,0.378554850816727,10.2219409942627,0,0,0,1,3.21185278892517,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0396870896220207,41,1,8.0 +7.49676513671875,0.378596305847168,10.9595403671265,0,0,1,0,3.21185278892517,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,0,1,0,0,0,0.0457675941288471,41,1,8.0 +7.07299089431763,0.378578513860703,11.6952466964722,0,0,1,0,3.21185278892517,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0143547002226114,41,2,8.0 +6.72775220870972,0.378541797399521,10.3889951705933,1,0,0,0,3.21185278892517,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0375267378985882,41,2,8.0 +7.1067590713501,0.378574043512344,11.6952466964722,0,0,1,0,3.21185278892517,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0148476455360651,41,1,8.0 +7.71689128875732,0.378586113452911,11.6952466964722,1,0,0,0,3.21185278892517,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0273300129920244,41,1,8.0 +6.69847249984741,0.378365010023117,10.2219409942627,1,0,0,0,3.21185278892517,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,1,0,0,0,0.0430624634027481,41,1,8.0 +7.33517074584961,0.378558278083801,11.1913414001465,0,0,0,1,3.21185278892517,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,0,1,0,0,0,0.0308810416609049,41,2,8.0 +7.11452770233154,0.378555595874786,11.6952466964722,0,0,1,0,3.21185278892517,0.6931471824646,3.97029185295105,1.0986123085022,0,0,0,1,0,0,0,0,0.0149631649255753,41,2,8.0 +7.08322477340698,0.378158718347549,10.6572589874268,1,0,0,0,3.21185278892517,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,0,0.0409306585788727,41,2,8.0 +7.57781600952148,0.378590762615204,11.1198825836182,0,1,0,0,3.21185278892517,1.0986123085022,3.71357202529907,2.19722461700439,1,0,0,0,0,0,0,0,0.0422785133123398,41,1,8.0 +7.33467769622803,0.378580957651138,10.9595403671265,0,0,1,0,3.21185278892517,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0389186628162861,41,2,8.0 +6.64110708236694,0.37854865193367,9.43348407745361,0,1,0,0,3.21185278892517,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0894721373915672,41,2,8.0 +4.78025722503662,0.379222363233566,10.5320959091187,0,0,1,0,3.21185278892517,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.0046419687569141,41,2,8.0 +7.97505331039429,0.378595262765884,11.2580327987671,0,1,0,0,3.21185278892517,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0547824911773205,41,3,8.0 +7.21913290023804,0.378570854663849,11.4075651168823,1,0,0,0,3.21185278892517,0.6931471824646,4.06044292449951,1.3862943649292,1,0,0,0,0,0,0,0,0.0221512578427792,41,2,8.0 +7.40461254119873,0.378571897745132,10.6572589874268,0,1,0,0,3.21185278892517,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0564683601260185,41,1,8.0 +7.35153388977051,0.378575325012207,10.3889951705933,0,1,0,0,3.21185278892517,0.6931471824646,2.94443893432617,1.0986123085022,0,0,0,0,1,0,0,0,0.0700261816382408,41,1,8.0 +5.71694087982178,0.378960430622101,10.9595403671265,1,0,0,0,3.21185278892517,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0077223307453095,41,2,8.0 +5.58693265914917,0.378525286912918,10.7684850692749,1,0,0,0,3.21185278892517,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0082048736512661,41,2,8.0 +7.20174503326416,0.378581613302231,10.9595403671265,0,1,0,0,3.21185278892517,0.6931471824646,3.52636051177979,1.60943794250488,0,1,0,0,0,0,0,0,0.0340742394328117,41,2,8.0 +7.01348638534546,0.378558933734894,11.6952466964722,1,0,0,0,3.21185278892517,0.6931471824646,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,0,0.0135251833125949,41,2,8.0 +5.92465257644653,0.275955468416214,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0085747614502906,42,2,1.0 +7.10980987548828,0.275982618331909,10.9595403671265,0,1,0,0,1.88862872123718,1.0986123085022,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0280505362898111,42,3,1.0 +7.50850820541382,0.27599972486496,11.6952466964722,0,0,1,0,1.88862872123718,1.3862943649292,3.95124363899231,1.3862943649292,0,1,0,0,0,0,0,1,0.0200256910175085,42,3,1.0 +7.16190958023071,0.276012390851974,11.1198825836182,0,0,1,0,1.88862872123718,0.6931471824646,3.91202306747437,1.0986123085022,0,0,1,0,0,0,0,1,0.0251735635101795,42,2,1.0 +7.8995623588562,0.276026397943497,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.60943794250488,1,0,0,0,0,0,0,0,0.0526392012834549,42,2,1.0 +7.75045108795166,0.276099860668182,11.2580327987671,1,0,0,0,1.88862872123718,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0394989028573036,42,4,1.0 +7.24291372299194,0.276004880666733,10.5320959091187,0,0,1,0,1.88862872123718,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0491352900862694,42,2,1.0 +7.09101343154907,0.2760069668293,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0422109365463257,42,2,1.0 +7.030930519104,0.275965064764023,10.3889951705933,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.0986123085022,0,1,0,0,0,0,0,0,0.0458628498017788,42,2,1.0 +6.28757905960083,0.27600234746933,10.3889951705933,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0218094065785408,42,1,1.0 +6.68136739730835,0.275956302881241,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,1,0,0,1,0.0116757471114397,42,1,1.0 +6.5228157043457,0.275945246219635,10.0212707519531,0,1,0,0,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0398549102246761,42,1,1.0 +7.78902959823608,0.276026844978333,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.36729574203491,1.94591009616852,0,0,0,1,0,0,0,0,0.0748549774289131,42,2,1.0 +6.52571630477905,0.275952577590942,10.8685684204102,0,0,1,0,1.88862872123718,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.0171304158866405,42,2,1.0 +6.52777862548828,0.275982439517975,10.0212707519531,1,0,0,0,1.88862872123718,1.0986123085022,3.36729574203491,1.60943794250488,1,0,0,0,0,0,0,0,0.0400546826422215,42,2,1.0 +7.20851373672485,0.276010125875473,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,0,0,0,0,0.0309613272547722,42,2,1.0 +5.85496282577515,0.275950223207474,9.43348407745361,1,0,0,0,1.88862872123718,0.0,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.036788459867239,42,1,1.0 +6.54498100280762,0.275976836681366,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0159454420208931,42,2,1.0 +7.42564249038696,0.2760289311409,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,1,0,1,0.0245782416313887,42,2,1.0 +7.06226015090942,0.275982797145844,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.60943794250488,1,0,0,0,0,0,0,0,0.0227852892130613,42,2,1.0 +7.0705189704895,0.275982350111008,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.7917594909668,1,0,0,0,0,0,0,1,0.0269697662442923,42,2,1.0 +7.22698450088501,0.276023954153061,11.1198825836182,0,1,0,0,1.88862872123718,1.0986123085022,3.71357202529907,1.7917594909668,0,0,1,0,0,0,0,0,0.0268665160983801,42,2,1.0 +7.21150970458984,0.276014357805252,11.1913414001465,1,0,0,0,1.88862872123718,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0246293228119612,42,2,1.0 +7.15390682220459,0.275740534067154,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0396520756185055,42,2,1.0 +7.39611482620239,0.276022523641586,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.0373507365584373,42,2,1.0 +6.86973285675049,0.275994479656219,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0105722807347775,42,2,1.0 +5.81101083755493,0.275975465774536,7.82404613494873,1,0,0,0,1.88862872123718,0.0,3.33220458030701,2.39789533615112,0,0,0,0,1,0,0,0,0.17603725194931,42,0,1.0 +7.641028881073,0.276028662919998,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.85014748573303,1.0986123085022,0,1,0,0,0,0,0,0,0.0304853934794664,42,2,1.0 +8.42403793334961,0.276053905487061,10.6572589874268,0,0,1,0,1.88862872123718,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,0,1,0,0,0,0.141257956624031,42,1,1.0 +7.36717653274536,0.276104182004929,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0231842044740915,42,2,1.0 +7.30940055847168,0.276002258062363,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0342476442456245,42,2,1.0 +6.54484510421753,0.275954306125641,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0076393117196857,42,1,1.0 +6.75469636917114,0.276012748479843,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0196666438132524,42,2,1.0 +7.6101975440979,0.276007235050201,11.6952466964722,0,1,0,0,1.88862872123718,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,0,0,0,0,0.0221694055944681,42,2,1.0 +6.83919906616211,0.275986969470978,11.2580327987671,0,1,0,0,1.88862872123718,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0158775839954615,42,2,1.0 +7.97929525375366,0.276044130325317,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0427568629384041,42,2,1.0 +6.34816217422485,0.275970220565796,11.1913414001465,0,0,1,0,1.88862872123718,1.3862943649292,4.04305124282837,1.7917594909668,0,0,1,0,0,0,0,1,0.0103869047015905,42,5,1.0 +7.69000101089478,0.276015639305115,11.0429220199585,0,1,0,0,1.88862872123718,0.6931471824646,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0461017154157162,42,2,1.0 +5.99271583557129,0.276610106229782,10.6572589874268,0,0,1,0,1.88862872123718,1.0986123085022,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,1,0.0124263809993863,42,2,1.0 +7.83318567276001,0.276238054037094,10.5320959091187,0,1,0,0,1.88862872123718,1.0986123085022,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0886842980980873,42,3,1.0 +7.93968868255615,0.276045769453049,11.6952466964722,0,0,0,1,1.88862872123718,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,1,0.0308224279433489,42,2,1.0 +6.37896013259888,0.276245087385178,11.2580327987671,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0100234495475888,42,2,1.0 +7.14899063110352,0.276013016700745,11.1913414001465,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0231366343796253,42,1,1.0 +7.24237442016602,0.276015102863312,10.9595403671265,0,0,0,1,1.88862872123718,1.0986123085022,3.8712010383606,1.60943794250488,0,0,0,0,0,1,0,1,0.0320278108119965,42,4,1.0 +7.48006772994995,0.276017725467682,10.7684850692749,1,0,0,0,1.88862872123718,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,0,0,1,0,0,0.0491735450923443,42,3,1.0 +6.98968553543091,0.276001811027527,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0301130227744579,42,2,1.0 +6.86509370803833,0.276205658912659,10.7684850692749,0,1,0,0,1.88862872123718,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0265909172594547,42,3,1.0 +7.64600467681885,0.276045501232147,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.0986123085022,1,0,0,0,0,0,0,0,0.058050911873579,42,2,1.0 +7.197021484375,0.27601021528244,11.6952466964722,1,0,0,0,1.88862872123718,0.6931471824646,3.82864141464233,1.0986123085022,0,1,0,0,0,0,0,1,0.0146661167964339,42,2,1.0 +7.07760715484619,0.276014447212219,10.6572589874268,0,0,0,1,1.88862872123718,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,0,1,0,1,0.0367492437362671,42,2,1.0 +6.51218271255493,0.276028752326965,11.6952466964722,0,0,0,1,1.88862872123718,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.007394375745207,42,2,1.0 +7.28246450424194,0.276088178157806,11.4075651168823,0,0,1,0,1.88862872123718,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0213007666170597,42,3,1.0 +5.20637607574463,0.275899857282639,10.2219409942627,0,0,1,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0087415724992752,42,2,1.0 +6.72216463088989,0.275986313819885,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0230443608015776,42,1,1.0 +6.03228855133057,0.275985419750214,10.3889951705933,0,0,1,0,1.88862872123718,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0168952718377113,42,2,1.0 +6.74058628082275,0.27602431178093,11.6952466964722,1,0,0,0,1.88862872123718,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0092916749417781,42,2,1.0 +6.97090816497803,0.276001989841461,10.6572589874268,0,0,1,0,1.88862872123718,0.6931471824646,3.49650764465332,1.60943794250488,0,1,0,0,0,0,0,0,0.0330296605825424,42,1,1.0 +7.21800947189331,0.276011377573013,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.014977203682065,42,2,1.0 +7.33947896957397,0.27599573135376,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,1,0.0169113166630268,42,3,1.0 +6.5234169960022,0.276031285524368,10.5320959091187,0,0,1,0,1.88862872123718,0.0,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0239293873310089,42,2,1.0 +7.40713739395142,0.276006489992142,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,0,0.0510926023125648,42,2,1.0 +6.8008828163147,0.275998532772064,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0131585467606783,42,2,1.0 +6.29292297363281,0.275955766439438,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,1,0,0,0,0.0150014823302627,42,2,1.0 +6.66747617721558,0.27597764134407,10.9595403671265,0,1,0,0,1.88862872123718,1.0986123085022,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,0,0.0180233661085367,42,3,1.0 +6.48624563217163,0.275973856449127,10.5320959091187,0,0,0,1,1.88862872123718,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,0,1,0,1,0.0230549052357674,42,1,1.0 +7.0204291343689,0.276004701852798,11.2580327987671,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0190326515585184,42,2,1.0 +6.90116596221924,0.2759989798069,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,0,0.0349117778241634,42,2,1.0 +7.41938591003418,0.276015013456345,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.25809645652771,1.3862943649292,0,0,1,0,0,0,0,0,0.0462782047688961,42,2,1.0 +6.760986328125,0.275986969470978,11.2580327987671,0,0,0,1,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,1,0,0,0.0146830761805177,42,2,1.0 +7.25820970535278,0.276020437479019,9.43348407745361,1,0,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.94591009616852,0,0,0,1,0,0,0,0,0.149680286645889,42,1,1.0 +6.1917986869812,0.276007235050201,8.92265796661377,1,0,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,0,0.0858758762478828,42,0,1.0 +7.19392728805542,0.275994390249252,11.1913414001465,0,1,0,0,1.88862872123718,1.0986123085022,3.97029185295105,1.60943794250488,0,1,0,0,0,0,0,0,0.0241995751857758,42,1,1.0 +7.33054971694946,0.276017069816589,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0167613420635462,42,2,1.0 +7.08782625198364,0.276003867387772,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,1,0.0131489038467407,42,2,1.0 +6.74514579772949,0.275978624820709,11.4075651168823,0,0,1,0,1.88862872123718,1.3862943649292,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,0,0.0124449487775564,42,3,1.0 +8.13144779205322,0.276046931743622,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.7917594909668,1,0,0,0,0,0,0,0,0.0373376905918121,42,2,1.0 +6.67803955078125,0.276025950908661,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,0,1,0,0,0.0116377715021372,42,2,1.0 +7.00113391876221,0.275996088981628,11.1913414001465,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,1,0.0199562702327967,42,2,1.0 +7.09120750427246,0.276017546653748,10.5320959091187,1,0,0,0,1.88862872123718,0.6931471824646,3.13549423217773,1.0986123085022,0,0,1,0,0,0,0,0,0.0422195754945278,42,2,1.0 +7.22837448120117,0.276018887758255,11.2580327987671,0,0,1,0,1.88862872123718,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0234323013573885,42,2,1.0 +6.82482576370239,0.275978624820709,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0179695133119822,42,2,1.0 +7.05653667449951,0.276140004396439,11.1198825836182,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0226588137447834,42,1,1.0 +7.1148247718811,0.276026755571365,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0341281294822693,42,1,1.0 +6.88212394714355,0.275991857051849,10.6572589874268,1,0,0,0,1.88862872123718,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.0302232559770346,42,2,1.0 +6.97613859176636,0.275993645191193,9.43348407745361,0,0,1,0,1.88862872123718,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.112888850271702,42,1,1.0 +6.67237281799316,0.276305228471756,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0086814295500516,42,1,1.0 +7.36393165588379,0.276022225618362,11.1913414001465,0,1,0,0,1.88862872123718,1.0986123085022,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,0,0.0286847930401564,42,3,1.0 +6.85314893722534,0.27599972486496,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0262697692960501,42,2,1.0 +7.04190635681152,0.275995641946793,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,1,0.0125586586073041,42,1,1.0 +6.48736238479614,0.275963991880417,10.9595403671265,0,0,0,1,1.88862872123718,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,1,0.0150524592027068,42,3,1.0 +7.65310859680176,0.276040881872177,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0231422036886215,42,2,1.0 +6.99250745773315,0.276011377573013,11.0429220199585,0,1,0,0,1.88862872123718,1.0986123085022,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.0229507926851511,42,2,1.0 +7.89855480194092,0.276038616895676,11.4075651168823,0,0,1,0,1.88862872123718,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,0,0,1,0,1,0.0394401177763939,42,2,1.0 +7.68273067474365,0.276005506515503,10.6572589874268,0,0,0,1,1.88862872123718,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,0,1,0,1,0.0673048496246338,42,2,1.0 +6.39779329299927,0.276014745235443,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0150743527337909,42,2,1.0 +7.11540126800537,0.276009768247604,11.6952466964722,1,0,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,1,0.013516609556973,42,2,1.0 +6.31659317016602,0.275996446609497,10.5320959091187,0,1,0,0,1.88862872123718,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.0194578170776367,42,2,1.0 +7.00482654571533,0.276006877422333,10.5320959091187,0,1,0,0,1.88862872123718,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0387252680957317,42,3,1.0 +7.33280324935913,0.276025950908661,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,4.12713432312012,1.3862943649292,0,0,0,0,1,0,0,1,0.0350594185292721,42,2,1.0 +7.32613515853882,0.275962352752686,10.5320959091187,0,0,1,0,1.88862872123718,1.60943794250488,3.85014748573303,1.7917594909668,0,0,0,1,0,0,0,0,0.0533970966935158,42,4,1.0 +6.30924797058105,0.275949239730835,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0170422066003084,42,1,1.0 +6.67769622802734,0.276020437479019,9.76995658874512,1,0,0,0,1.88862872123718,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0598304979503155,42,1,1.0 +6.92070293426514,0.276020258665085,10.8685684204102,1,0,0,0,1.88862872123718,0.6931471824646,3.13549423217773,1.3862943649292,0,0,0,1,0,0,0,1,0.025429505854845,42,3,1.0 +7.58226346969604,0.276084214448929,11.1913414001465,0,0,0,1,1.88862872123718,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0356860868632793,42,3,1.0 +6.62919664382935,0.275989770889282,11.0429220199585,0,1,0,0,1.88862872123718,1.0986123085022,3.98898410797119,1.3862943649292,1,0,0,0,0,0,0,0,0.0159589480608702,42,2,1.0 +7.00238037109375,0.275996446609497,11.2580327987671,0,0,1,0,1.88862872123718,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0186920613050461,42,2,1.0 +7.45230484008789,0.276029914617538,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.0986123085022,0,0,1,0,0,0,0,0,0.0252424031496048,42,2,1.0 +7.67838859558105,0.27601346373558,11.6952466964722,1,0,0,0,1.88862872123718,1.0986123085022,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0237340424209833,42,3,1.0 +5.42495155334473,0.275916755199432,8.92265796661377,0,0,0,1,1.88862872123718,0.0,4.26268005371094,1.0986123085022,0,0,0,0,0,1,0,1,0.0398836135864258,42,1,1.0 +6.80225992202759,0.275996267795563,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,0,0.020624328404665,42,1,1.0 +6.91631031036377,0.276257753372192,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.98898410797119,1.94591009616852,1,0,0,0,0,0,0,0,0.0231219679117203,42,2,1.0 +6.64978790283203,0.275984525680542,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,1,0,0,0,0,0.0214353818446398,42,3,1.0 +6.56056690216064,0.275935500860214,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0196047630161047,42,1,1.0 +7.37757015228271,0.276012927293777,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,1,0.0175682120025158,42,1,1.0 +7.19843196868896,0.276008665561676,10.2219409942627,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,0,1,0,0,0.064087837934494,42,1,1.0 +7.38319826126099,0.276013106107712,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.0986123085022,0,0,1,0,0,0,0,1,0.0368710495531559,42,2,1.0 +6.0667462348938,0.276002079248428,10.3889951705933,1,0,0,0,1.88862872123718,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,1,0,0,0,0.0174878817051649,42,2,1.0 +5.95859479904175,0.275977373123169,10.7684850692749,0,0,0,1,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0107385758310556,42,1,1.0 +7.16032838821411,0.276017189025879,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.98898410797119,1.0986123085022,0,0,1,0,0,0,0,0,0.0357166044414043,42,2,1.0 +6.77578210830688,0.275971055030823,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,1,0.0096240127459168,42,2,1.0 +7.25290870666504,0.276005506515503,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.7917594909668,0,0,1,0,0,0,0,0,0.0155090326443315,42,1,1.0 +6.53792953491211,0.276006877422333,10.3889951705933,0,0,1,0,1.88862872123718,0.0,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0280137695372105,42,2,1.0 +6.70025014877319,0.276389241218567,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0252073425799608,42,1,1.0 +6.10038280487061,0.275918841362,10.9595403671265,0,0,0,1,1.88862872123718,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,1,0.0102217392995954,42,2,1.0 +6.79969835281372,0.27599111199379,10.0212707519531,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,2.30258512496948,1,0,0,0,0,0,0,0,0.0525715090334415,42,2,1.0 +6.59888172149658,0.275957733392715,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0184308607131243,42,2,1.0 +7.09124994277954,0.276478201150894,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.01760034263134,42,1,1.0 +7.19070243835449,0.276036709547043,11.4075651168823,1,0,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0194321628659964,42,2,1.0 +7.53530502319336,0.276010125875473,11.2580327987671,1,0,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,1,0.0318500027060509,42,2,1.0 +7.32042121887207,0.276018708944321,11.1913414001465,0,0,1,0,1.88862872123718,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0274633727967739,42,1,1.0 +6.43378639221191,0.2760049700737,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,2.0794415473938,0,1,0,0,0,0,0,0,0.0156266521662474,42,1,1.0 +7.32566976547241,0.276066392660141,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.7917594909668,0,0,0,1,0,0,0,1,0.034811619669199,42,2,1.0 +7.95967864990234,0.276048123836517,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,4.09434461593628,1.0986123085022,0,0,1,0,0,0,0,0,0.065624013543129,42,2,1.0 +6.77325010299683,0.276013195514679,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0200349502265453,42,2,1.0 +6.85937929153442,0.275982797145844,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0139510156586766,42,2,1.0 +7.67634153366089,0.275986880064011,11.1913414001465,0,0,1,0,1.88862872123718,1.60943794250488,3.49650764465332,2.0794415473938,0,0,0,0,1,0,0,0,0.0392025485634804,42,3,1.0 +6.98721933364868,0.276000797748566,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0158538185060024,42,2,1.0 +7.28163766860962,0.276036083698273,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0364835187792778,42,2,1.0 +7.27902889251709,0.276008576154709,10.3889951705933,0,1,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0587797351181507,42,1,1.0 +6.33675193786621,0.275959372520447,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0062041571363806,42,1,1.0 +7.66230297088623,0.276033639907837,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,0,0.041521392762661,42,2,1.0 +5.93065881729126,0.277038067579269,11.4075651168823,1,0,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0055172936990857,42,1,1.0 +7.14526271820068,0.276014178991318,11.4075651168823,0,0,1,0,1.88862872123718,1.3862943649292,3.78418970108032,1.7917594909668,0,0,0,1,0,0,0,1,0.0185685083270073,42,3,1.0 +7.99931192398071,0.275680631399155,11.1198825836182,1,0,0,0,1.88862872123718,0.6931471824646,3.04452252388,1.0986123085022,0,0,0,1,0,0,0,0,0.0581406317651272,42,1,1.0 +6.42042446136475,0.275975912809372,11.2580327987671,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,1,0.0104449903592467,42,1,1.0 +7.27714681625366,0.27630016207695,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0282563790678978,42,2,1.0 +7.05995893478394,0.276041954755783,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.25809645652771,1.3862943649292,1,0,0,0,0,0,0,0,0.0323065966367722,42,2,1.0 +8.11399269104004,0.276045382022858,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0838663652539253,42,2,1.0 +7.54227113723755,0.276028841733932,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0207139663398266,42,2,1.0 +7.77700996398926,0.276034533977509,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0349261127412319,42,1,1.0 +5.54919290542603,0.276228547096252,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.0028233653865754,42,1,1.0 +7.69931125640869,0.276034981012344,11.6952466964722,1,0,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,1,0.0242363680154085,42,3,1.0 +6.74123907089233,0.275963991880417,10.2219409942627,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0405695177614689,42,2,1.0 +7.0342116355896,0.276013374328613,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0260089300572872,42,3,1.0 +6.38443803787231,0.275950789451599,9.76995658874512,1,0,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0446202605962753,42,1,1.0 +7.07697534561157,0.276003509759903,10.8685684204102,1,0,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0297302752733231,42,2,1.0 +7.26837539672852,0.276011288166046,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.94591009616852,1,0,0,0,0,0,0,0,0.044473011046648,42,2,1.0 +7.2007303237915,0.276007145643234,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,1,0.030721191316843,42,2,1.0 +6.78700971603394,0.275986045598984,10.6572589874268,1,0,0,0,1.88862872123718,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0274809114634991,42,3,1.0 +6.44721508026123,0.275959193706512,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,1,0.0092383632436394,42,2,1.0 +7.3966760635376,0.275996088981628,11.6952466964722,1,0,0,0,1.88862872123718,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0179068017750978,42,1,1.0 +6.1775369644165,0.27599573135376,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0110424589365721,42,2,1.0 +7.87604904174805,0.276023507118225,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.60943794250488,1,0,0,0,0,0,0,0,0.0603576302528381,42,1,1.0 +6.66401052474976,0.275971233844757,9.76995658874512,0,1,0,0,1.88862872123718,0.6931471824646,4.33073329925537,1.3862943649292,0,0,0,0,1,0,0,0,0.0590143725275993,42,0,1.0 +7.15970849990845,0.276002705097198,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,0,0.01412885915488,42,2,1.0 +6.46977853775024,0.276000708341599,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0200108624994755,42,2,1.0 +7.26477813720703,0.276021867990494,10.3889951705933,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,0,0.0579488016664982,42,2,1.0 +6.96775102615356,0.275975465774536,11.0429220199585,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0223887749016285,42,2,1.0 +6.8829140663147,0.275970220565796,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.85014748573303,1.60943794250488,1,0,0,0,0,0,0,0,0.0342793539166451,42,2,1.0 +6.17842197418213,0.275993645191193,10.5320959091187,0,0,0,1,1.88862872123718,0.0,3.178053855896,1.3862943649292,0,0,0,0,0,1,0,1,0.0169467274099588,42,2,1.0 +6.64120769500732,0.275962710380554,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,0,0.0269189197570086,42,2,1.0 +7.81580209732056,0.276031374931335,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0622413940727711,42,2,1.0 +7.50059270858765,0.276032656431198,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0198684576898813,42,2,1.0 +7.19376707077026,0.276017278432846,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0334138683974743,42,2,1.0 +7.59650564193726,0.276045680046082,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0456391796469688,42,2,1.0 +7.4734411239624,0.276032358407974,11.4075651168823,1,0,0,0,1.88862872123718,0.6931471824646,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,1,0.0257816761732101,42,2,1.0 +8.73928833007812,0.276061862707138,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.143103137612343,42,2,1.0 +6.65422296524048,0.275991857051849,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0177863277494907,42,2,1.0 +7.8761568069458,0.276040703058243,11.2580327987671,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0447870790958405,42,2,1.0 +6.40111207962036,0.276013553142548,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0138092804700136,42,1,1.0 +6.94841861724854,0.276012122631073,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0238705556839705,42,2,1.0 +7.34682130813599,0.275964796543121,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.80666255950928,1.60943794250488,0,0,1,0,0,0,0,1,0.0170354172587395,42,2,1.0 +6.87192583084106,0.275976210832596,10.2219409942627,0,0,0,1,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0462340228259563,42,2,1.0 +6.89927768707275,0.276093155145645,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0227277334779501,42,1,1.0 +7.23325824737549,0.275981277227402,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0152068780735135,42,1,1.0 +6.80372428894043,0.275978624820709,10.2219409942627,1,0,0,0,1.88862872123718,0.6931471824646,3.29583692550659,1.60943794250488,0,0,0,1,0,0,0,1,0.0431860312819481,42,2,1.0 +7.03899383544922,0.276041597127914,11.6952466964722,0,0,0,1,1.88862872123718,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,0,1,1,0.0125227058306336,42,2,1.0 +7.11817932128906,0.276009768247604,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0180722810328007,42,2,1.0 +7.20206785202026,0.275995820760727,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.0986123085022,1,0,0,0,0,0,0,0,0.0262046344578266,42,1,1.0 +5.47075223922729,0.275935411453247,9.76995658874512,1,0,0,0,1.88862872123718,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,0,1,0,0,0,0.0178943779319525,42,1,1.0 +6.91646766662598,0.275992840528488,10.7684850692749,1,0,0,0,1.88862872123718,1.0986123085022,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,1,0.0279867444187403,42,3,1.0 +7.07948112487793,0.275994837284088,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0173860136419535,42,1,1.0 +7.48229646682739,0.276102930307388,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,1,0,0,0,0.0407157242298126,42,2,1.0 +6.71763038635254,0.276028484106064,11.0429220199585,1,0,0,0,1.88862872123718,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,0,0.017435222864151,42,3,1.0 +7.64738512039185,0.276033192873001,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,1,0.0230099465698004,42,2,1.0 +7.36406373977661,0.276023328304291,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0554646700620651,42,1,1.0 +8.29425430297852,0.276006042957306,10.7684850692749,0,1,0,0,1.88862872123718,1.3862943649292,3.85014748573303,1.7917594909668,1,0,0,0,0,0,0,0,0.111000061035156,42,2,1.0 +6.87900543212891,0.275973290205002,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0269571673125029,42,1,1.0 +6.71923017501831,0.276020795106888,10.3889951705933,1,0,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0335826873779297,42,1,1.0 +7.44517278671265,0.2759989798069,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.0334163196384907,42,1,1.0 +7.31331920623779,0.276013642549515,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0164749529212713,42,2,1.0 +6.7941370010376,0.275994122028351,10.2219409942627,0,0,1,0,1.88862872123718,1.0986123085022,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0427746213972569,42,2,1.0 +6.29350614547729,0.275944888591766,10.3889951705933,0,0,0,1,1.88862872123718,1.0986123085022,3.40119743347168,1.60943794250488,0,0,0,0,0,1,0,1,0.0219377931207418,42,1,1.0 +6.02597379684448,0.27587416768074,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0114858765155077,42,2,1.0 +5.49381589889526,0.27596914768219,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,0,1,0,0,1,0.003560765646398,42,2,1.0 +7.47598218917847,0.276055157184601,11.6952466964722,0,1,0,0,1.88862872123718,1.0986123085022,3.93182563781738,1.3862943649292,0,0,1,0,0,0,0,0,0.0193858966231346,42,2,1.0 +6.58809900283813,0.276024222373962,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0255281664431095,42,2,1.0 +7.41417789459229,0.276013374328613,11.1198825836182,0,0,0,1,1.88862872123718,0.6931471824646,3.98898410797119,1.60943794250488,0,0,0,0,1,0,0,1,0.0323969349265099,42,2,1.0 +6.71677589416504,0.276311486959457,10.5320959091187,0,0,1,0,1.88862872123718,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0290420949459076,42,1,1.0 +8.25414848327637,0.276051998138428,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.106641292572021,42,2,1.0 +7.65394878387451,0.27604004740715,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,0,0.0653975531458855,42,1,1.0 +6.4225640296936,0.276026397943497,10.2219409942627,1,0,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.0295004155486822,42,1,1.0 +7.17026376724243,0.276017367839813,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,0,0.0326376892626286,42,2,1.0 +7.85889339447021,0.276035279035568,10.6572589874268,1,0,0,0,1.88862872123718,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,1,0,0,0,1,0.0802722945809364,42,1,1.0 +6.10030031204224,0.27589151263237,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0123723261058331,42,1,1.0 +7.57735872268677,0.276026397943497,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0286048278212547,42,2,1.0 +6.71926212310791,0.275979548692703,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0256806407123804,42,2,1.0 +6.52130603790283,0.276027947664261,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.7917594909668,0,0,0,0,1,0,0,0,0.0188517216593027,42,2,1.0 +7.10864639282227,0.275994747877121,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.028018256649375,42,2,1.0 +6.74165964126587,0.276242941617966,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.33220458030701,1.60943794250488,1,0,0,0,0,0,0,0,0.0297717973589897,42,2,1.0 +7.6422233581543,0.27604004740715,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0523237399756908,42,2,1.0 +6.73353099822998,0.275983601808548,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.60943794250488,0,1,0,0,0,0,0,0,0.0295231137424707,42,2,1.0 +6.52053213119507,0.276010751724243,10.7684850692749,0,0,0,1,1.88862872123718,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,0,0,0,1,1,0.0188368186354637,42,2,1.0 +6.90011548995972,0.276004046201706,11.6952466964722,0,0,0,1,1.88862872123718,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0108985276892781,42,2,1.0 +6.63732004165649,0.275959998369217,10.5320959091187,0,0,0,1,1.88862872123718,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,0,1,0,1,0.0268144067376852,42,1,1.0 +7.10755777359009,0.27600234746933,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0279879849404097,42,2,1.0 +7.30183458328247,0.276023060083389,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.0217159651219845,42,1,1.0 +7.18934297561646,0.275967329740524,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.82864141464233,1.60943794250488,0,0,1,0,0,0,0,0,0.0367662534117699,42,2,1.0 +7.66052913665771,0.276040345430374,9.76995658874512,0,1,0,0,1.88862872123718,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.159871250391006,42,1,1.0 +7.20583248138428,0.276042878627777,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0373803712427616,42,2,1.0 +6.96081733703613,0.276033371686935,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,0,0.0292570628225803,42,2,1.0 +6.29263019561768,0.202553778886795,9.43348407745361,0,1,0,0,1.13114905357361,1.0986123085022,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.052955687046051,45,1,4.0 +6.86299467086792,0.202493607997894,11.1198825836182,0,1,0,0,1.13114905357361,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0173459779471159,45,1,4.0 +7.48544120788574,0.202774152159691,10.7684850692749,0,1,0,0,1.13114905357361,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0459468699991703,45,1,4.0 +7.19823217391968,0.202581807971001,11.0429220199585,0,1,0,0,1.13114905357361,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0261970702558756,45,2,4.0 +7.13117790222168,0.202615395188332,11.1198825836182,1,0,0,0,1.13114905357361,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0226841326802969,45,2,4.0 +8.04251098632812,0.20270037651062,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0423260182142258,45,2,4.0 +6.25772666931152,0.202612370252609,9.43348407745361,0,1,0,0,1.13114905357361,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,0,0,0,0,0.0511422194540501,45,0,4.0 +7.96453905105591,0.202928900718689,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0391600988805294,45,2,4.0 +7.03302049636841,0.202425062656403,11.4075651168823,0,1,0,0,1.13114905357361,1.0986123085022,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0154195483773947,45,3,4.0 +6.30857229232788,0.202317953109741,9.43348407745361,0,1,0,0,1.13114905357361,0.6931471824646,4.20469284057617,1.7917594909668,0,0,0,1,0,0,0,0,0.0537939742207527,45,1,4.0 +7.56573247909546,0.202630281448364,10.9595403671265,0,1,0,0,1.13114905357361,1.0986123085022,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0411234200000763,45,3,4.0 +6.94437646865845,0.202527195215225,11.6952466964722,0,1,0,0,1.13114905357361,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,0,0.0105847232043743,45,1,4.0 +7.11944484710693,0.202526614069939,8.92265796661377,0,1,0,0,1.13114905357361,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.20175789296627,45,1,4.0 +7.2056770324707,0.202598944306374,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0183286629617214,45,1,4.0 +6.61747312545776,0.202377066016197,10.2219409942627,0,1,0,0,1.13114905357361,0.6931471824646,3.66356158256531,1.0986123085022,0,0,1,0,0,0,0,0,0.0333035588264465,45,2,4.0 +8.07725429534912,0.202786028385162,11.4075651168823,0,1,0,0,1.13114905357361,1.3862943649292,3.85014748573303,1.60943794250488,0,1,0,0,0,0,0,0,0.0438261479139328,45,4,4.0 +7.63015460968018,0.202710002660751,11.6952466964722,0,1,0,0,1.13114905357361,1.3862943649292,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,0,0.0210178699344397,45,3,4.0 +7.39642524719238,0.202664747834206,11.6952466964722,0,1,0,0,1.13114905357361,1.0986123085022,4.00733327865601,1.60943794250488,0,0,1,0,0,0,0,0,0.0166364852339029,45,3,4.0 +7.49326229095459,0.202706605195999,11.4075651168823,1,0,0,0,1.13114905357361,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0244384836405516,45,1,4.0 +6.57029581069946,0.202506840229034,11.0429220199585,0,1,0,0,1.13114905357361,0.6931471824646,4.29045963287354,1.0986123085022,1,0,0,0,0,0,0,0,0.0139801204204559,45,0,4.0 +7.71221590042114,0.202812895178795,10.7684850692749,0,1,0,0,1.13114905357361,1.0986123085022,3.25809645652771,1.3862943649292,1,0,0,0,0,0,0,0,0.0576447509229183,45,1,4.0 +7.70835304260254,0.202680125832558,10.7684850692749,0,1,0,0,1.13114905357361,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0574148893356323,45,2,4.0 +6.95275163650513,0.20248182117939,11.6952466964722,0,1,0,0,1.13114905357361,1.0986123085022,3.55534815788269,1.94591009616852,1,0,0,0,0,0,0,0,0.0106732603162527,45,1,4.0 +8.11275005340576,0.202796921133995,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0454102382063866,45,2,4.0 +7.39152717590332,0.202652677893639,11.6952466964722,0,0,1,0,1.13114905357361,0.6931471824646,4.14313459396362,1.0986123085022,0,0,0,1,0,0,0,0,0.0165550019592047,45,2,4.0 +7.60608911514282,0.202708452939987,11.6952466964722,1,0,0,0,1.13114905357361,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,0,0.0205180700868368,45,1,4.0 +7.10163068771362,0.202708065509796,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0165192987769842,45,2,4.0 +6.38443040847778,0.202304422855377,10.7684850692749,1,0,0,0,1.13114905357361,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0152717577293515,45,2,4.0 +7.22984075546265,0.20270699262619,11.6952466964722,0,1,0,0,1.13114905357361,0.6931471824646,3.52636051177979,1.60943794250488,1,0,0,0,0,0,0,0,0.014084231108427,45,1,4.0 +7.36451721191406,0.202737659215927,10.9595403671265,1,0,0,0,1.13114905357361,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.0336317270994186,45,1,4.0 +7.47741937637329,0.202604398131371,11.0429220199585,0,1,0,0,1.13114905357361,1.0986123085022,3.71357202529907,1.60943794250488,0,1,0,0,0,0,0,0,0.0346347317099571,45,3,4.0 +6.63396072387695,0.202810451388359,10.0212707519531,1,0,0,0,1.13114905357361,0.6931471824646,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.0413989685475826,45,1,4.0 +7.81783390045166,0.202560290694237,11.6952466964722,1,0,0,0,1.13114905357361,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0253531411290169,45,4,4.0 +7.75670051574707,0.202723830938339,11.6952466964722,0,1,0,0,1.13114905357361,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0238535422831774,45,2,4.0 +7.71984434127808,0.20275205373764,11.6952466964722,0,0,1,0,1.13114905357361,0.6931471824646,3.80666255950928,1.60943794250488,0,1,0,0,0,0,0,0,0.0229910407215357,45,1,4.0 +6.87991857528687,0.202491566538811,10.9595403671265,0,1,0,0,1.13114905357361,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0207101758569479,45,2,4.0 +6.43431949615479,0.202285721898079,10.7684850692749,0,1,0,0,1.13114905357361,1.0986123085022,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,0,0.0160526745021343,45,3,4.0 +7.7065224647522,0.228940889239311,10.5320959091187,0,1,0,0,0.996367812156677,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.0745241045951843,47,2,5.0 +5.8667893409729,0.229111343622208,9.43348407745361,0,1,0,0,0.996367812156677,0.6931471824646,3.21887588500977,1.7917594909668,0,0,0,1,0,0,0,0,0.0355227068066597,47,0,5.0 +7.36908054351807,0.228907600045204,11.4075651168823,0,1,0,0,0.996367812156677,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0221575517207384,47,1,5.0 +7.52497577667236,0.228901445865631,11.4075651168823,0,1,0,0,0.996367812156677,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.0258954539895058,47,2,5.0 +8.35843944549561,0.229062050580978,11.4075651168823,0,1,0,0,0.996367812156677,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0596021898090839,47,1,5.0 +5.44098472595215,0.228602707386017,10.8685684204102,0,0,1,0,0.996367812156677,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0055221882648766,47,2,5.0 +7.57050943374634,0.22888171672821,11.2580327987671,0,1,0,0,0.996367812156677,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0314724743366241,47,2,5.0 +8.0642147064209,0.228817895054817,11.1913414001465,0,1,0,0,0.996367812156677,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,0,0.0551163330674171,47,2,5.0 +7.08652925491333,0.228748202323914,10.2219409942627,0,1,0,0,0.996367812156677,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0546577759087086,47,1,5.0 +7.85340261459351,0.229021191596985,11.1913414001465,0,0,1,0,0.996367812156677,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0446492396295071,47,2,5.0 +7.67409133911133,0.228889688849449,11.6952466964722,0,0,1,0,0.996367812156677,0.6931471824646,3.80666255950928,1.0986123085022,0,0,1,0,0,0,0,0,0.0225444603711367,47,1,5.0 +7.97335529327393,0.229019016027451,10.6572589874268,0,1,0,0,0.996367812156677,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0858730673789978,47,2,5.0 +7.49094676971436,0.228791356086731,10.2219409942627,0,1,0,0,0.996367812156677,1.0986123085022,3.85014748573303,1.94591009616852,1,0,0,0,0,0,0,0,0.0819043517112732,47,3,5.0 +6.46727418899536,0.228517532348633,10.5320959091187,0,1,0,0,0.996367812156677,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0215731766074896,47,1,5.0 +6.50121164321899,0.228827282786369,11.6952466964722,0,0,1,0,0.996367812156677,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.0069764996878802,47,1,5.0 +7.33036470413208,0.228635430335999,10.7684850692749,1,0,0,0,0.996367812156677,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0403774082660675,47,2,5.0 +7.59580516815186,0.228934526443481,11.1198825836182,0,1,0,0,0.996367812156677,0.6931471824646,3.76120018959045,1.0986123085022,0,1,0,0,0,0,0,0,0.0370627455413342,47,2,5.0 +6.69586372375488,0.228720039129257,10.7684850692749,0,1,0,0,0.996367812156677,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0214099138975143,47,2,5.0 +7.90748929977417,0.229015603661537,11.2580327987671,1,0,0,0,0.996367812156677,0.6931471824646,3.25809645652771,1.0986123085022,0,0,1,0,0,0,0,0,0.0440897308290005,47,1,5.0 +7.36424684524536,0.228770017623901,11.6952466964722,0,1,0,0,0.996367812156677,1.0986123085022,4.04305124282837,1.3862943649292,0,0,1,0,0,0,0,0,0.0165357552468777,47,2,5.0 +6.56989669799805,0.228571504354477,9.76995658874512,0,1,0,0,0.996367812156677,0.6931471824646,3.21887588500977,1.3862943649292,0,1,0,0,0,0,0,0,0.0512270219624043,47,2,5.0 +7.71226119995117,0.228977859020233,11.4075651168823,0,0,1,0,0.996367812156677,1.0986123085022,3.80666255950928,1.7917594909668,0,0,0,1,0,0,0,0,0.0312315635383129,47,3,5.0 +6.52337837219238,0.228600531816483,10.5320959091187,0,0,1,0,0.996367812156677,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0228200182318687,47,2,5.0 +8.1029748916626,0.22896184027195,11.4075651168823,0,0,1,0,0.996367812156677,1.0986123085022,3.98898410797119,1.60943794250488,0,0,1,0,0,0,0,0,0.0461606048047543,47,3,5.0 +7.4301872253418,0.22890068590641,11.6952466964722,0,0,1,0,0.996367812156677,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0176651906222105,47,1,5.0 +6.58943605422974,0.228839054703712,10.9595403671265,0,1,0,0,0.996367812156677,0.6931471824646,3.58351898193359,1.0986123085022,0,0,1,0,0,0,0,0,0.0159027241170406,47,2,5.0 +8.64607810974121,0.229098841547966,11.6952466964722,1,0,0,0,0.996367812156677,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,0,0.0596017576754093,47,2,5.0 +6.98396015167236,0.229027166962624,10.5320959091187,0,1,0,0,0.996367812156677,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.0361850634217262,47,1,5.0 +6.82706689834595,0.228683233261108,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0096625601872801,47,2,5.0 +7.20517635345459,0.228852614760399,11.2580327987671,0,1,0,0,0.996367812156677,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0218401700258255,47,2,5.0 +7.29631853103638,0.228837251663208,10.9595403671265,0,1,0,0,0.996367812156677,0.6931471824646,3.29583692550659,1.0986123085022,0,1,0,0,0,0,0,0,0.0322452448308468,47,1,5.0 +8.08409881591797,0.228993594646454,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0339741781353951,47,2,5.0 +7.88764953613281,0.228954344987869,10.7684850692749,0,1,0,0,0.996367812156677,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.070518434047699,47,1,5.0 +7.01485395431519,0.228652223944664,11.2580327987671,0,0,1,0,0.996367812156677,0.6931471824646,3.33220458030701,1.0986123085022,0,0,1,0,0,0,0,0,0.0180514920502901,47,2,5.0 +6.90240526199341,0.228700026869774,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0104188192635775,47,1,5.0 +7.6537561416626,0.228931501507759,11.2580327987671,0,1,0,0,0.996367812156677,0.6931471824646,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.0342063009738922,47,2,5.0 +6.9755859375,0.228799313306808,11.2580327987671,0,1,0,0,0.996367812156677,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0173589307814837,47,2,5.0 +7.57990026473999,0.228776559233665,11.4075651168823,0,1,0,0,0.996367812156677,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,0,0.0273541212081909,47,3,5.0 +7.95849609375,0.228846922516823,11.6952466964722,0,0,1,0,0.996367812156677,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,0,0.0299596451222897,47,1,5.0 +6.83635902404785,0.228762611746788,10.6572589874268,0,1,0,0,0.996367812156677,0.6931471824646,3.36729574203491,1.3862943649292,0,1,0,0,0,0,0,0,0.0275393966585398,47,1,5.0 +6.55033111572266,0.228445157408714,10.9595403671265,0,1,0,0,0.996367812156677,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0152868237346411,47,1,5.0 +5.97032880783081,0.228766411542892,9.76995658874512,0,1,0,0,0.996367812156677,0.6931471824646,3.09104251861572,1.60943794250488,0,0,1,0,0,0,0,0,0.0281316172331572,47,2,5.0 +7.42117738723755,0.228867873549461,11.4075651168823,0,0,1,0,0.996367812156677,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0233415625989437,47,1,5.0 +6.2754602432251,0.228385016322136,10.0212707519531,1,0,0,0,0.996367812156677,0.0,4.07753753662109,1.0986123085022,0,0,0,1,0,0,0,0,0.0296757370233536,47,0,5.0 +8.1896505355835,0.228983923792839,11.4075651168823,1,0,0,0,0.996367812156677,1.60943794250488,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,0,0.0503412522375584,47,3,5.0 +7.15818929672241,0.228798553347588,11.1913414001465,0,0,1,0,0.996367812156677,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0222735852003098,47,1,5.0 +6.46298599243164,0.228450939059258,10.5320959091187,0,0,1,0,0.996367812156677,0.6931471824646,3.178053855896,1.0986123085022,0,0,1,0,0,0,0,0,0.0214794408529997,47,2,5.0 +7.01044702529907,0.228821605443954,10.9595403671265,1,0,0,0,0.996367812156677,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,0,0.0242273919284344,47,2,5.0 +7.28731298446655,0.228604897856712,10.7684850692749,0,1,0,0,0.996367812156677,1.3862943649292,3.89182019233704,1.60943794250488,0,1,0,0,0,0,0,0,0.0386747978627682,47,4,5.0 +7.54093074798584,0.228953972458839,11.4075651168823,0,1,0,0,0.996367812156677,0.6931471824646,3.76120018959045,1.0986123085022,0,1,0,0,0,0,0,0,0.0263133198022842,47,2,5.0 +8.15817832946777,0.228852897882462,10.7684850692749,0,0,1,0,0.996367812156677,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,0,0.0924160927534103,47,2,5.0 +7.55554580688477,0.228919923305511,11.4075651168823,1,0,0,0,0.996367812156677,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,0,0.0266998056322336,47,2,5.0 +6.65144491195679,0.228556528687477,10.3889951705933,0,1,0,0,0.996367812156677,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0299270059913397,47,2,5.0 +8.1882381439209,0.228993982076645,10.6572589874268,1,0,0,0,0.996367812156677,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.106455557048321,47,2,5.0 +7.66170740127563,0.228826433420181,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.61091780662537,1.60943794250488,1,0,0,0,0,0,0,0,0.0222655832767487,47,2,5.0 +7.27249908447266,0.228826627135277,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,0,0.0150870084762573,47,1,5.0 +7.28452396392822,0.228762045502663,11.1198825836182,0,0,1,0,0.996367812156677,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0271440614014864,47,2,5.0 +6.56272506713867,0.228750184178352,10.7684850692749,0,1,0,0,0.996367812156677,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0187415927648544,47,2,5.0 +7.47806787490845,0.228942304849625,11.0429220199585,1,0,0,0,0.996367812156677,0.6931471824646,3.52636051177979,1.60943794250488,0,0,1,0,0,0,0,0,0.0355821326375008,47,1,5.0 +6.83304166793823,0.228746399283409,10.5320959091187,0,1,0,0,0.996367812156677,0.6931471824646,3.36729574203491,1.60943794250488,1,0,0,0,0,0,0,0,0.0311074499040842,47,2,5.0 +6.91079902648926,0.22882017493248,11.2580327987671,0,0,1,0,0.996367812156677,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.0162702985107899,47,2,5.0 +7.63552188873291,0.23060305416584,9.76995658874512,1,0,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.148996695876122,48,2,6.0 +7.41606712341309,0.230333805084229,11.2580327987671,0,1,0,0,0.98360687494278,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,0,0.0270077250897884,48,2,6.0 +7.35671234130859,0.230506971478462,11.1913414001465,0,0,1,0,0.98360687494278,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0272113140672445,48,2,6.0 +7.35633707046509,0.230477809906006,11.1198825836182,0,0,0,1,0.98360687494278,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0292151477187872,48,2,6.0 +8.00265121459961,0.230574086308479,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0485671646893024,48,1,6.0 +7.5875039100647,0.230607882142067,11.2580327987671,0,0,1,0,0.98360687494278,1.0986123085022,3.97029185295105,1.3862943649292,0,0,1,0,0,0,0,0,0.0320671983063221,48,3,6.0 +8.09915447235107,0.230559974908829,11.2580327987671,0,1,0,0,0.98360687494278,1.0986123085022,3.85014748573303,1.3862943649292,1,0,0,0,0,0,0,0,0.0534868687391281,48,3,6.0 +7.24896240234375,0.230201423168182,11.6952466964722,1,0,0,0,0.98360687494278,1.0986123085022,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0147563265636563,48,1,6.0 +6.02201890945435,0.230102464556694,10.6572589874268,0,1,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0122144231572747,48,2,6.0 +7.71265125274658,0.230517953634262,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0234689321368933,48,2,6.0 +6.7806544303894,0.230561882257462,9.76995658874512,0,0,1,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0633715763688087,48,1,6.0 +7.5013484954834,0.230501756072044,11.1198825836182,1,0,0,0,0.98360687494278,0.6931471824646,3.21887588500977,1.0986123085022,0,1,0,0,0,0,0,0,0.0337750613689423,48,2,6.0 +6.90335321426392,0.230268940329552,9.76995658874512,0,1,0,0,0.98360687494278,0.6931471824646,3.13549423217773,1.3862943649292,0,0,0,1,0,0,0,0,0.0716233551502228,48,2,6.0 +7.47572135925293,0.230434641242027,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0592529103159904,48,2,6.0 +7.2608757019043,0.23053565621376,10.3889951705933,1,0,0,0,0.98360687494278,0.6931471824646,3.04452252388,1.3862943649292,0,0,1,0,0,0,0,0,0.0551563240587711,48,1,6.0 +7.27054166793823,0.230552315711975,11.4075651168823,0,0,1,0,0.98360687494278,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0201113540679216,48,2,6.0 +7.90448760986328,0.230610996484756,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0593417808413506,48,2,6.0 +7.35842180252075,0.230399042367935,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0164665151387453,48,2,6.0 +7.9846134185791,0.230468347668648,11.6952466964722,0,1,0,0,0.98360687494278,1.3862943649292,2.89037179946899,1.60943794250488,0,0,0,1,0,0,0,0,0.0308023244142532,48,3,6.0 +7.6251482963562,0.230473548173904,10.9595403671265,0,1,0,0,0.98360687494278,1.0986123085022,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0448730364441872,48,2,6.0 +7.17640399932861,0.230409741401672,10.7684850692749,1,0,0,0,0.98360687494278,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0346772521734238,48,1,6.0 +7.28470611572266,0.230438143014908,11.1198825836182,0,1,0,0,0.98360687494278,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0271945521235466,48,3,6.0 +6.90292310714722,0.230584591627121,10.0212707519531,1,0,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.7917594909668,0,1,0,0,0,0,0,0,0.0557006858289242,48,1,6.0 +7.42885780334473,0.230517566204071,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.49650764465332,1.0986123085022,0,1,0,0,0,0,0,0,0.0176702681928873,48,2,6.0 +7.22495412826538,0.230572283267975,11.1198825836182,0,1,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,0,0.0256206523627043,48,2,6.0 +7.70132493972778,0.230548903346062,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,0,0.0232053268700838,48,1,6.0 +5.505690574646,0.229679986834526,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.178053855896,1.0986123085022,0,0,1,0,0,0,0,0,0.008256739936769,48,2,6.0 +8.22772216796875,0.230564624071121,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.97029185295105,1.60943794250488,0,0,1,0,0,0,0,0,0.0392831340432167,48,1,6.0 +7.92044305801392,0.230533376336098,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,0,0.060291513800621,48,2,6.0 +6.85431814193726,0.23054975271225,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0099480440840125,48,2,6.0 +7.65566778182983,0.230429902672768,10.5320959091187,1,0,0,0,0.98360687494278,1.0986123085022,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0709344893693924,48,3,6.0 +6.81430006027222,0.230440035462379,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0199445355683565,48,2,6.0 +7.93380165100098,0.230617254972458,10.8685684204102,0,1,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0669272020459175,48,2,6.0 +6.27332305908203,0.229989007115364,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0098866410553455,48,1,6.0 +8.12501811981201,0.230629652738571,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,0,0.0354511700570583,48,2,6.0 +7.23749828338623,0.230318278074265,11.4075651168823,0,0,1,0,0.98360687494278,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,0,1,0,0,0.0194531101733446,48,3,6.0 +8.12675380706787,0.230667695403099,11.4075651168823,0,1,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0473521389067173,48,2,6.0 +6.94909381866455,0.230519369244576,10.7684850692749,0,0,1,0,0.98360687494278,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,0,0.0276294890791178,48,2,6.0 +7.51132011413574,0.230507254600525,10.7684850692749,0,0,1,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0484773963689804,48,2,6.0 +7.40374946594238,0.230442777276039,9.76995658874512,1,0,0,0,0.98360687494278,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.118154287338257,48,1,6.0 +7.92433786392212,0.230493143200874,11.4075651168823,0,0,1,0,0.98360687494278,1.0986123085022,3.82864141464233,1.94591009616852,0,0,0,0,1,0,0,0,0.0386683493852615,48,1,6.0 +6.52106285095215,0.230437949299812,10.6572589874268,0,1,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.94591009616852,0,0,0,0,0,0,0,0,0.0201256796717644,48,1,6.0 +8.66665363311768,0.230600491166115,10.5320959091187,1,0,0,0,0.98360687494278,1.3862943649292,3.61091780662537,1.94591009616852,0,0,1,0,0,0,0,0,0.194983139634132,48,4,6.0 +7.15489530563354,0.230459064245224,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0134349893778563,48,1,6.0 +6.23729133605957,0.229734942317009,10.7684850692749,1,0,0,0,0.98360687494278,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,0,0,0,0,0.0135487802326679,48,1,6.0 +7.03830480575562,0.230565279722214,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.024955278262496,48,1,6.0 +7.74529314041138,0.23060105741024,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0431105084717274,48,2,6.0 +7.30559110641479,0.230483591556549,10.7684850692749,0,1,0,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0394622646272182,48,1,6.0 +7.49538469314575,0.230380669236183,11.6952466964722,0,1,0,0,0.98360687494278,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0188832134008408,48,3,6.0 +7.51153135299683,0.230419307947159,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0297156218439341,48,2,6.0 +7.34794807434082,0.23048235476017,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0289712119847536,48,2,6.0 +6.83997106552124,0.230399414896965,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,4.00733327865601,1.3862943649292,0,1,0,0,0,0,0,0,0.0098048653453588,48,2,6.0 +7.12508392333984,0.230394408106804,10.8685684204102,0,1,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.029804665595293,48,2,6.0 +7.14514398574829,0.230460479855537,10.5320959091187,0,1,0,0,0.98360687494278,1.0986123085022,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0425748489797115,48,3,6.0 +7.19790077209473,0.230460301041603,10.8685684204102,1,0,0,0,0.98360687494278,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,0,0.0320580415427685,48,1,6.0 +5.64649820327759,0.230134755373001,10.0212707519531,0,0,0,1,0.98360687494278,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0158491786569357,48,1,6.0 +5.96227359771729,0.230187982320786,10.3889951705933,0,0,1,0,0.98360687494278,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0150476470589638,48,1,6.0 +7.83240461349487,0.230506122112274,11.6952466964722,0,1,0,0,0.98360687494278,1.0986123085022,3.98898410797119,1.3862943649292,0,0,1,0,0,0,0,0,0.0264543034136295,48,1,6.0 +7.24286651611328,0.230490773916245,11.0429220199585,0,0,1,0,0.98360687494278,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0281681139022112,48,2,6.0 +7.1189980506897,0.230366572737694,11.4075651168823,0,1,0,0,0.98360687494278,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.017280088737607,48,1,6.0 +5.8852334022522,0.230514913797379,9.43348407745361,0,0,1,0,0.98360687494278,0.6931471824646,4.06044292449951,1.3862943649292,0,0,0,0,1,0,0,0,0.0362347960472107,48,2,6.0 +7.13203573226929,0.230510666966438,10.9595403671265,0,1,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,0,0.0274059846997261,48,2,6.0 +8.10094451904297,0.230641484260559,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0346083119511604,48,2,6.0 +7.42867231369019,0.230364203453064,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0176642797887325,48,2,6.0 +6.07292318344116,0.231670141220093,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0060786558315157,48,1,6.0 +7.21737432479858,0.230468913912773,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.0986123085022,0,0,1,0,0,0,0,0,0.0143013158813119,48,1,6.0 +6.0049524307251,0.229785248637199,10.2219409942627,0,0,0,1,0.98360687494278,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,0,0,1,0,0,0.0185515210032463,48,2,6.0 +7.15487384796143,0.230182871222496,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,0,0.0134309949353337,48,2,6.0 +7.624427318573,0.2303706407547,11.4075651168823,0,1,0,0,0.98360687494278,1.3862943649292,3.85014748573303,1.3862943649292,0,0,0,0,0,0,0,0,0.0286452732980251,48,3,6.0 +7.57997226715088,0.230510845780373,9.76995658874512,0,0,1,0,0.98360687494278,1.0986123085022,4.24849510192871,1.94591009616852,0,0,0,1,0,0,0,0,0.140932664275169,48,1,6.0 +7.72586441040039,0.230423852801323,11.1198825836182,0,0,1,0,0.98360687494278,1.3862943649292,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0422735065221786,48,3,6.0 +5.27551031112671,0.229597076773643,10.6572589874268,0,0,1,0,0.98360687494278,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,0,1,0,0,0,0.0057869376614689,48,2,6.0 +6.75703239440918,0.230222448706627,10.3889951705933,1,0,0,0,0.98360687494278,0.6931471824646,4.30406522750854,1.3862943649292,0,0,0,1,0,0,0,0,0.0333152413368225,48,0,6.0 +7.80214834213257,0.23060342669487,11.1198825836182,0,1,0,0,0.98360687494278,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0456326827406883,48,1,6.0 +7.22402048110962,0.230464562773705,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0143966181203723,48,1,6.0 +7.61372900009155,0.230464369058609,11.6952466964722,0,0,0,1,0.98360687494278,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,0,0.0212573297321796,48,2,6.0 +8.09040069580078,0.230667129158974,8.92265796661377,0,0,1,0,0.98360687494278,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.547939658164978,48,1,6.0 +7.12069320678711,0.230341479182243,10.2219409942627,1,0,0,0,0.98360687494278,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,0,0.0566475577652454,48,1,6.0 +7.18703413009644,0.230404064059258,10.9595403671265,0,1,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,0,0,0,0,0.0289524085819721,48,2,6.0 +7.17708492279053,0.230480745434761,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,0,0.0137367369607091,48,2,6.0 +7.58294534683228,0.230548337101936,10.6572589874268,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0582060776650906,48,2,6.0 +7.56715297698975,0.230369970202446,11.1913414001465,0,0,1,0,0.98360687494278,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0335801839828491,48,2,6.0 +7.6389102935791,0.23053365945816,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0218009166419506,48,2,6.0 +7.58403205871582,0.230393260717392,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0206338614225388,48,1,6.0 +7.51070070266724,0.230621606111526,10.7684850692749,1,0,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,0,0.0484529137611389,48,2,6.0 +8.03923797607422,0.230619236826897,11.1198825836182,0,1,0,0,0.98360687494278,0.6931471824646,3.58351898193359,1.0986123085022,0,0,1,0,0,0,0,0,0.0578428134322166,48,2,6.0 +7.50171422958374,0.230455562472343,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0294263865798712,48,2,6.0 +7.4075231552124,0.230554297566414,10.7684850692749,0,1,0,0,0.98360687494278,1.0986123085022,4.02535152435303,1.3862943649292,0,0,1,0,0,0,0,0,0.0436999760568142,48,1,6.0 +7.17863798141479,0.230481028556824,10.5320959091187,0,0,0,1,0.98360687494278,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0440259017050266,48,2,6.0 +7.36615371704102,0.230467960238457,10.0212707519531,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0885091796517372,48,1,6.0 +7.55090427398682,0.230554774403572,10.3889951705933,0,1,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0737159252166748,48,2,6.0 +7.43564462661743,0.230341285467148,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,0,0.0237166248261929,48,2,6.0 +7.32748508453369,0.23066608607769,10.5320959091187,0,0,1,0,0.98360687494278,1.0986123085022,3.98898410797119,1.3862943649292,0,0,0,0,0,1,0,0,0.0511013232171535,48,1,6.0 +7.5,0.230475544929504,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,0,0.0189723744988441,48,2,6.0 +7.19249773025513,0.230299532413483,11.0429220199585,0,1,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.0267793368548155,48,2,6.0 +6.79138469696045,0.230260416865349,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,0,0.0093385707587003,48,1,6.0 +7.42882394790649,0.230559974908829,10.8685684204102,0,1,0,0,0.98360687494278,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.040389534085989,48,1,6.0 +7.27847051620483,0.230533570051193,11.6952466964722,0,0,1,0,0.98360687494278,1.3862943649292,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,0,0.0152032971382141,48,2,6.0 +7.32045078277588,0.230432361364365,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0158535167574883,48,2,6.0 +7.87589073181152,0.230380952358246,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0491140075027943,48,2,6.0 +7.30353879928589,0.23030199110508,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0155856218189001,48,2,6.0 +7.4890022277832,0.230555728077888,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0250218231230974,48,2,6.0 +5.61127328872681,0.230093851685524,10.5320959091187,1,0,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,0,0.0091799926012754,48,2,6.0 +7.11139392852783,0.230355963110924,11.2580327987671,1,0,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0199149772524834,48,2,6.0 +6.59390592575073,0.230381146073341,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0076660038903355,48,1,6.0 +7.09711122512817,0.230416268110275,10.2219409942627,0,0,1,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0553314574062824,48,2,6.0 +8.43226528167725,0.230690896511078,11.0429220199585,0,1,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0925537347793579,48,2,6.0 +7.66346502304077,0.230405956506729,10.5320959091187,0,1,0,0,0.98360687494278,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.071488045156002,48,3,6.0 +7.28665590286255,0.230434447526932,11.1913414001465,0,0,1,0,0.98360687494278,0.6931471824646,3.29583692550659,1.7917594909668,0,0,0,0,1,0,0,0,0.0253683887422085,48,2,6.0 +6.6429615020752,0.230479419231415,10.6572589874268,0,0,1,0,0.98360687494278,0.0,4.06044292449951,1.0986123085022,0,0,1,0,0,0,0,0,0.0227357111871243,48,1,6.0 +6.715989112854,0.230505555868149,11.4075651168823,0,1,0,0,0.98360687494278,0.6931471824646,3.95124363899231,1.0986123085022,0,1,0,0,0,0,0,0,0.0115499952808022,48,1,6.0 +7.6020131111145,0.230496928095818,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0210104193538427,48,2,6.0 +7.02116870880127,0.230408892035484,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,0,1,0,0,0,0.01175273116678,48,2,6.0 +7.8857102394104,0.230527132749557,11.4075651168823,0,1,0,0,0.98360687494278,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.037204422056675,48,2,6.0 +6.32977247238159,0.229849383234978,9.76995658874512,1,0,0,0,0.98360687494278,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0403431281447411,48,2,6.0 +7.37155246734619,0.230528831481934,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.0348236337304115,48,2,6.0 +6.63732528686523,0.23029337823391,11.6952466964722,0,0,0,1,0.98360687494278,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0080054840072989,48,1,6.0 +6.29915714263916,0.23051293194294,10.6572589874268,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,0,0,0,0,0.0161216948181391,48,1,6.0 +8.45679569244385,0.230533093214035,11.6952466964722,0,1,0,0,0.98360687494278,1.0986123085022,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0493943877518177,48,3,6.0 +6.93430995941162,0.230019971728325,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0107707940042019,48,2,6.0 +8.24982166290283,0.230546534061432,9.76995658874512,0,1,0,0,0.98360687494278,1.0986123085022,3.29583692550659,1.60943794250488,0,0,0,0,1,0,0,0,0.275384277105331,48,3,6.0 +7.55097436904907,0.2304717451334,11.1913414001465,0,1,0,0,0.98360687494278,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0330446437001228,48,1,6.0 +6.94804430007935,0.230217143893242,11.2580327987671,1,0,0,0,0.98360687494278,1.0986123085022,3.85014748573303,1.7917594909668,0,0,0,0,1,0,0,0,0.0169113222509623,48,1,6.0 +6.58079624176025,0.230184674263,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0075646741315722,48,1,6.0 +7.37373495101929,0.230465218424797,11.4075651168823,0,1,0,0,0.98360687494278,1.0986123085022,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0222956277430058,48,2,6.0 +7.18538570404053,0.230379164218903,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.013849831186235,48,1,6.0 +7.69033479690552,0.230410501360893,11.6952466964722,0,1,0,0,0.98360687494278,1.3862943649292,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,0,0.022948520258069,48,1,6.0 +7.44258737564087,0.230359748005867,10.9595403671265,0,1,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0373809859156609,48,2,6.0 +7.11854362487793,0.230417221784592,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0200591012835503,48,2,6.0 +7.19157886505127,0.230322062969208,10.7684850692749,0,1,0,0,0.98360687494278,0.6931471824646,3.66356158256531,1.60943794250488,1,0,0,0,0,0,0,0,0.0352044068276882,48,1,6.0 +7.55202198028564,0.23038749396801,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.7376697063446,1.60943794250488,0,1,0,0,0,0,0,0,0.0199837125837803,48,1,6.0 +7.52805137634277,0.230448171496391,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0195115711539984,48,3,6.0 +7.99348449707031,0.2305968105793,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0310807768255472,48,2,6.0 +7.56773042678833,0.230559319257736,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0314378328621387,48,2,6.0 +6.58013248443604,0.230196595191956,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0100796585902572,48,1,6.0 +6.90189123153687,0.230385601520538,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0139080425724387,48,2,6.0 +7.41405630111694,0.230530068278313,10.7684850692749,1,0,0,0,0.98360687494278,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.043985340744257,48,2,6.0 +8.2278356552124,0.230645835399628,10.8685684204102,0,0,0,1,0.98360687494278,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0898074507713318,48,2,6.0 +7.46901226043701,0.230429247021675,11.1198825836182,0,0,1,0,0.98360687494278,1.3862943649292,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.032698005437851,48,2,6.0 +7.01555585861206,0.230371966958046,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.0116865215823054,48,2,6.0 +7.2488260269165,0.230484634637833,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0472271963953972,48,2,6.0 +7.25896072387695,0.230394020676613,10.2219409942627,0,1,0,0,0.98360687494278,1.0986123085022,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,0,0.0650508031249046,48,2,6.0 +7.37838411331177,0.230530723929405,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.022400988265872,48,1,6.0 +6.44328927993774,0.230163261294365,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0102080320939422,48,1,6.0 +7.54050731658936,0.230531200766563,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0263436958193779,48,2,6.0 +8.03393173217773,0.230633348226547,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.89182019233704,1.60943794250488,0,0,1,0,0,0,0,0,0.103567592799664,48,1,6.0 +7.68313837051392,0.230578541755676,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0303837265819311,48,2,6.0 +6.83179759979248,0.230399414896965,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0129667343571782,48,2,6.0 +7.37030363082886,0.230311274528503,11.2580327987671,0,1,0,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.025799036026001,48,2,6.0 +6.95775079727173,0.230424791574478,10.7684850692749,0,1,0,0,0.98360687494278,1.0986123085022,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0278670806437731,48,2,6.0 +7.08067464828491,0.230407372117043,10.9595403671265,0,1,0,0,0.98360687494278,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,0,0.0260312296450138,48,2,6.0 +7.80812549591064,0.230578154325485,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0258216168731451,48,2,6.0 +7.33997440338135,0.230539813637733,10.6572589874268,0,1,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0456502996385098,48,2,6.0 +7.4329948425293,0.230589047074318,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0177447982132435,48,2,6.0 +4.87651348114014,0.229157134890556,9.76995658874512,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0094259781762957,48,1,6.0 +7.68204259872437,0.230600595474243,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0728426873683929,48,2,6.0 +7.80420780181885,0.230550035834312,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0342932343482971,48,1,6.0 +6.81124591827393,0.229772076010704,11.4075651168823,0,0,1,0,0.98360687494278,1.3862943649292,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0126950005069375,48,3,6.0 +7.9698748588562,0.23064886033535,11.1913414001465,0,1,0,0,0.98360687494278,0.6931471824646,3.43398714065552,0.6931471824646,0,0,0,1,0,0,0,0,0.0502463094890118,48,2,6.0 +7.74206733703613,0.230484053492546,11.2580327987671,0,1,0,0,0.98360687494278,1.0986123085022,4.04305124282837,1.3862943649292,0,1,0,0,0,0,0,0,0.0374225564301014,48,2,6.0 +7.34927320480347,0.230545401573181,10.5320959091187,1,0,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,0,0.05222063139081,48,1,6.0 +7.14010715484619,0.230418264865875,10.6572589874268,0,0,1,0,0.98360687494278,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0373757183551788,48,2,6.0 +6.8047981262207,0.229940891265869,10.3889951705933,1,0,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0349353365600109,48,1,6.0 +7.04727077484131,0.230189591646194,11.2580327987671,0,0,1,0,0.98360687494278,1.0986123085022,3.95124363899231,1.60943794250488,0,0,0,0,1,0,0,0,0.0186749380081892,48,2,6.0 +6.88827800750732,0.230232104659081,10.8685684204102,0,0,1,0,0.98360687494278,0.6931471824646,4.18965482711792,1.0986123085022,0,0,0,0,1,0,0,0,0.0235163737088442,48,2,6.0 +6.51279067993164,0.23016819357872,11.2580327987671,0,1,0,0,0.98360687494278,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0109427915886045,48,3,6.0 +5.75422286987305,0.230347156524658,10.6572589874268,0,1,0,0,0.98360687494278,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0093470998108387,48,1,6.0 +4.18368721008301,0.232002258300781,9.76995658874512,0,1,0,0,0.98360687494278,1.0986123085022,3.178053855896,1.3862943649292,1,0,0,0,0,0,0,0,0.0047279363498091,48,3,6.0 +6.78671026229858,0.230325847864151,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0123941758647561,48,1,6.0 +7.11672639846802,0.230386734008789,10.8685684204102,0,0,0,1,0.98360687494278,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0295563898980618,48,1,6.0 +7.85520219802856,0.230612993240356,10.7684850692749,0,0,1,0,0.98360687494278,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0683803558349609,48,1,6.0 +6.45972013473511,0.230016469955444,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0103756161406636,48,2,6.0 +7.88969850540161,0.23053252696991,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0498044043779373,48,2,6.0 +7.64628076553345,0.230562627315521,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0292837824672461,48,2,6.0 +7.71670293807983,0.230373188853264,10.0212707519531,0,1,0,0,0.98360687494278,1.3862943649292,3.8712010383606,1.60943794250488,0,0,0,0,0,0,0,0,0.125657618045807,48,5,6.0 +7.22635889053345,0.230344980955124,11.6952466964722,1,0,0,0,0.98360687494278,1.3862943649292,3.04452252388,1.7917594909668,0,0,0,0,0,1,0,0,0.0144285950809717,48,4,6.0 +7.32373285293579,0.23037414252758,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,4.06044292449951,1.3862943649292,0,0,0,0,1,0,0,0,0.0159047115594149,48,2,6.0 +7.06084728240967,0.23041258752346,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.012228487059474,48,2,6.0 +7.56230592727661,0.230446472764015,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0201914757490158,48,2,6.0 +6.60206890106201,0.229958310723305,11.2580327987671,1,0,0,0,0.98360687494278,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0119621688500047,48,2,6.0 +7.82345151901245,0.230599835515022,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0262209735810757,48,3,6.0 +6.68808841705322,0.230312317609787,10.2219409942627,0,1,0,0,0.98360687494278,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0367528013885021,48,2,6.0 +7.82008504867554,0.230563387274742,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.034842524677515,48,2,6.0 +7.79092597961426,0.230495512485504,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,0,0.0253791976720095,48,2,6.0 +5.83043956756592,0.22989721596241,10.5320959091187,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,2.19722461700439,0,0,0,0,1,0,0,0,0.0114271938800812,48,1,6.0 +7.76551103591919,0.230529502034187,11.1913414001465,0,0,1,0,0.98360687494278,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,0,0.0409541912376881,48,2,6.0 +7.42234897613525,0.23049096763134,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0234068911522627,48,2,6.0 +7.60503721237183,0.23047411441803,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0439796224236488,48,2,6.0 +6.79800748825073,0.230356812477112,10.7684850692749,0,1,0,0,0.98360687494278,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,0,0.0237512364983559,48,2,6.0 +7.58392095565796,0.330349236726761,11.6952466964722,0,0,0,1,2.3186891078949,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0228004101663828,49,2,7.0 +6.9952540397644,0.330378025770187,10.9595403671265,0,1,0,0,2.3186891078949,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0264127627015114,49,2,7.0 +8.00718021392822,0.330326944589615,11.6952466964722,0,0,1,0,2.3186891078949,1.60943794250488,3.93182563781738,1.94591009616852,0,0,0,0,1,0,0,0,0.0348138548433781,49,4,7.0 +7.26071548461914,0.330151736736298,10.9595403671265,1,0,0,0,2.3186891078949,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0344353057444096,49,2,7.0 +6.59615230560303,0.33020031452179,11.1198825836182,1,0,0,0,2.3186891078949,1.60943794250488,3.89182019233704,2.0794415473938,0,0,0,0,1,0,0,0,0.0150929056107998,49,5,7.0 +6.81738805770874,0.330248653888702,10.9595403671265,0,0,1,0,2.3186891078949,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0221060570329428,49,2,7.0 +5.78234529495239,0.329761952161789,10.3889951705933,0,1,0,0,2.3186891078949,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,0,0.0138858035206795,49,2,7.0 +6.23206853866577,0.330263137817383,10.3889951705933,0,0,1,0,2.3186891078949,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0217821709811687,49,1,7.0 +5.82874917984009,0.329948544502258,10.2219409942627,0,0,1,0,2.3186891078949,0.6931471824646,3.25809645652771,1.3862943649292,0,0,1,0,0,0,0,0,0.0171931628137827,49,1,7.0 +7.40877342224121,0.330160468816757,11.6952466964722,1,0,0,0,2.3186891078949,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,0,1,0,0,0,0.0191335286945105,49,2,7.0 +7.00530004501343,0.330402433872223,8.92265796661377,0,1,0,0,2.3186891078949,0.6931471824646,3.55534815788269,1.7917594909668,0,0,0,0,1,0,0,0,0.204547330737114,49,1,7.0 +7.43835639953613,0.330394208431244,10.6572589874268,0,1,0,0,2.3186891078949,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,0,0,0,0,0,0.0556591488420963,49,1,7.0 +7.32536220550537,0.330418884754181,10.5320959091187,1,0,0,0,2.3186891078949,0.0,3.465735912323,1.60943794250488,0,0,0,0,1,0,0,0,0.0563419871032238,49,2,7.0 +6.60477638244629,0.330122768878937,10.0212707519531,0,0,0,1,2.3186891078949,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0456673577427864,49,2,7.0 +7.20797157287598,0.330478072166443,11.6952466964722,1,0,0,0,2.3186891078949,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,1,0,0,0,0,0.0156576242297888,49,1,7.0 +6.25119543075562,0.330304086208344,10.9595403671265,0,1,0,0,2.3186891078949,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,0,0,0,0,0.0125499209389091,49,1,7.0 +7.7074761390686,0.330312043428421,10.2219409942627,0,0,0,1,2.3186891078949,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.112573012709618,49,1,7.0 +6.72146654129028,0.330171436071396,9.76995658874512,1,0,0,0,2.3186891078949,1.0986123085022,2.94443893432617,1.7917594909668,0,0,0,0,1,0,0,0,0.0659856423735619,49,3,7.0 +7.31247138977051,0.33028644323349,10.7684850692749,1,0,0,0,2.3186891078949,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0439049862325191,49,2,7.0 +7.27439880371094,0.330091059207916,11.6952466964722,1,0,0,0,2.3186891078949,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0167265627533197,49,2,7.0 +7.31447649002075,0.330358058214188,11.0429220199585,0,0,1,0,2.3186891078949,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0334371589124203,49,2,7.0 +6.94949102401733,0.330223113298416,11.2580327987671,0,0,1,0,2.3186891078949,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,0,1,0,0,0,0.0187170766294003,49,2,7.0 +7.99370527267456,0.330323606729507,11.6952466964722,0,1,0,0,2.3186891078949,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0343477763235569,49,3,7.0 +6.69879245758057,0.330283761024475,10.2219409942627,1,0,0,0,2.3186891078949,0.6931471824646,3.09104251861572,1.0986123085022,1,0,0,0,0,0,0,0,0.0410540774464607,49,1,7.0 +6.88667821884155,0.330202281475067,11.2580327987671,0,0,1,0,2.3186891078949,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.017577201128006,49,2,7.0 +6.87972688674927,0.33025711774826,10.8685684204102,0,1,0,0,2.3186891078949,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,0,0,0,0.0257689636200666,49,2,7.0 +6.85374402999878,0.330008625984192,11.1198825836182,0,0,0,1,2.3186891078949,1.0986123085022,2.89037179946899,1.60943794250488,0,0,0,0,1,0,0,0,0.0195236224681139,49,3,7.0 +6.45711898803711,0.330043256282806,11.6952466964722,0,0,1,0,2.3186891078949,0.6931471824646,3.91202306747437,1.60943794250488,0,0,1,0,0,0,0,0,0.0073866215534508,49,1,7.0 +6.83114767074585,0.330372959375381,10.7684850692749,1,0,0,0,2.3186891078949,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0271340943872929,49,2,7.0 +6.55591726303101,0.330327719449997,10.8685684204102,1,0,0,0,2.3186891078949,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0186422765254974,49,1,7.0 +7.46262788772583,0.330335855484009,10.7684850692749,0,0,1,0,2.3186891078949,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0510208383202553,49,2,7.0 +7.20973443984985,0.330172121524811,11.6952466964722,1,0,0,0,2.3186891078949,1.0986123085022,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0156804528087378,49,4,7.0 +7.17804145812988,0.330288827419281,10.8685684204102,0,0,0,1,2.3186891078949,1.0986123085022,3.7376697063446,2.0794415473938,0,0,0,0,1,0,0,0,0.0347269922494888,49,4,7.0 +6.78254318237305,0.330047100782394,11.1913414001465,0,0,1,0,2.3186891078949,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0169285871088505,49,1,7.0 +6.7606520652771,0.330191314220428,10.2219409942627,1,0,0,0,2.3186891078949,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.043669831007719,49,1,7.0 +5.98322439193726,0.330174177885056,9.76995658874512,0,0,1,0,2.3186891078949,1.0986123085022,3.68887948989868,1.94591009616852,0,0,0,0,1,0,0,0,0.0315381437540054,49,2,7.0 +6.74160242080688,0.329924464225769,11.1198825836182,1,0,0,0,2.3186891078949,1.0986123085022,4.21950769424438,1.3862943649292,0,0,0,1,0,0,0,0,0.0174510423094034,49,1,7.0 +6.8749418258667,0.330155432224274,10.9595403671265,0,0,0,1,2.3186891078949,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,0,0.0234134886413813,49,2,7.0 +6.94492197036743,0.330036044120789,10.7684850692749,0,0,1,0,2.3186891078949,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.0303934924304485,49,1,7.0 +6.05338954925537,0.330029010772705,10.2219409942627,0,0,1,0,2.3186891078949,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.02152537740767,49,1,7.0 +6.89466714859009,0.330247014760971,10.7684850692749,0,0,1,0,2.3186891078949,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0289099123328924,49,2,7.0 +7.28094482421875,0.330180794000626,10.5320959091187,0,0,1,0,2.3186891078949,1.3862943649292,3.71357202529907,2.0794415473938,0,0,0,0,1,0,0,0,0.0538813546299934,49,2,7.0 +6.9343957901001,0.330384016036987,10.7684850692749,0,1,0,0,2.3186891078949,1.0986123085022,3.76120018959045,1.7917594909668,1,0,0,0,0,0,0,0,0.0300857033580542,49,3,7.0 +7.50624847412109,0.330190628767014,10.8685684204102,0,1,0,0,2.3186891078949,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,0,0,0,0,0.0482128635048866,49,3,7.0 +7.4387674331665,0.330208212137222,11.2580327987671,0,0,1,0,2.3186891078949,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.0305296275764704,49,2,7.0 +7.28959274291992,0.33029243350029,9.76995658874512,1,0,0,0,2.3186891078949,1.0986123085022,3.58351898193359,1.7917594909668,0,0,0,1,0,0,0,0,0.116475865244865,49,3,7.0 +6.54956531524658,0.33027657866478,10.7684850692749,1,0,0,0,2.3186891078949,0.6931471824646,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,0,0.0204731021076441,49,1,7.0 +7.39609622955322,0.33029979467392,11.4075651168823,1,0,0,0,2.3186891078949,1.0986123085022,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,0,0.0251935124397278,49,2,7.0 +7.97003078460693,0.330417931079865,11.2580327987671,1,0,0,0,2.3186891078949,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.051944226026535,49,2,7.0 +8.69629669189453,0.330272108316422,10.7684850692749,0,1,0,0,2.3186891078949,2.30258512496948,4.07753753662109,2.63905739784241,0,0,0,0,1,0,0,0,0.175184413790703,49,10,7.0 +8.03287124633789,0.330396443605423,11.4075651168823,0,0,0,1,2.3186891078949,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0476297922432423,49,2,7.0 +6.8215479850769,0.243259608745575,11.4075651168823,0,0,1,0,1.53954982757568,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0130006298422813,51,2,4.0 +7.08869600296021,0.243414759635925,10.8685684204102,0,1,0,0,1.53954982757568,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0291162803769112,51,1,4.0 +6.70054483413696,0.243387654423714,10.8685684204102,1,0,0,0,1.53954982757568,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0197493210434914,51,2,4.0 +8.19921875,0.243732914328575,10.8685684204102,0,0,0,1,1.53954982757568,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,0,1,0,0,0.088423565030098,51,2,4.0 +7.4616117477417,0.243605852127075,10.9595403671265,0,0,1,0,1.53954982757568,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,0,0.0386069640517235,51,1,4.0 +7.74775743484497,0.24356697499752,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0246267318725586,51,2,4.0 +8.03090858459473,0.243591368198395,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.8712010383606,1.60943794250488,0,0,0,0,0,0,0,1,0.0326879918575287,51,2,4.0 +7.83493518829346,0.243813902139664,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,1,0.0358355082571507,51,1,4.0 +8.00533008575439,0.243563145399094,11.1198825836182,0,1,0,0,1.53954982757568,1.0986123085022,4.11087369918823,1.60943794250488,1,0,0,0,0,0,0,0,0.0566428415477276,51,3,4.0 +7.23761367797852,0.243540719151497,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,1,0.0197143126279116,51,2,4.0 +7.23079538345337,0.243395134806633,10.6572589874268,0,1,0,0,1.53954982757568,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0414582416415215,51,1,4.0 +7.38816213607788,0.243601366877556,10.2219409942627,0,1,0,0,1.53954982757568,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0750066861510277,51,3,4.0 +7.62596321105957,0.243584737181664,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0290709175169468,51,2,4.0 +5.27352380752563,0.24268339574337,11.1913414001465,0,1,0,0,1.53954982757568,0.6931471824646,3.98898410797119,1.0986123085022,0,1,0,0,0,0,0,0,0.0034302074927836,51,2,4.0 +7.14703464508057,0.243410736322403,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0135035654529929,51,2,4.0 +6.77481508255005,0.243494555354118,10.7684850692749,0,0,1,0,1.53954982757568,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0235136244446039,51,2,4.0 +6.95370197296143,0.243317559361458,11.2580327987671,1,0,0,0,1.53954982757568,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0172315426170826,51,2,4.0 +7.86464405059814,0.243691623210907,11.1913414001465,0,1,0,0,1.53954982757568,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0458212941884995,51,2,4.0 +6.88345766067505,0.244578689336777,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,1,0.0103868944570422,51,2,4.0 +7.56365823745728,0.243568941950798,11.2580327987671,0,0,1,0,1.53954982757568,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0317200534045696,51,2,4.0 +7.20899820327759,0.243261575698853,11.2580327987671,0,0,1,0,1.53954982757568,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.0222419872879982,51,1,4.0 +5.8115816116333,0.243203148245811,11.6952466964722,0,0,1,0,1.53954982757568,1.0986123085022,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,1,0.0035512272734195,51,2,4.0 +6.03765726089478,0.243300169706345,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,1,0.0059366668574512,51,1,4.0 +6.64848852157593,0.243587628006935,10.2219409942627,0,0,1,0,1.53954982757568,0.6931471824646,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,0,0.0357979349792004,51,2,4.0 +6.97385406494141,0.243508294224739,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,1,0,0,0,0,0.0113574098795652,51,2,4.0 +7.56010770797729,0.243602022528648,11.1198825836182,1,0,0,0,1.53954982757568,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0362914428114891,51,1,4.0 +7.60321664810181,0.243322506546974,9.76995658874512,0,0,1,0,1.53954982757568,0.6931471824646,4.31748819351196,1.0986123085022,0,0,0,1,0,0,0,0,0.146106824278831,51,1,4.0 +7.26457834243774,0.243545487523079,10.9595403671265,0,0,1,0,1.53954982757568,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.03170071169734,51,2,4.0 +7.08499050140381,0.243448957800865,11.1198825836182,1,0,0,0,1.53954982757568,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,1,0.0225630141794682,51,2,4.0 +7.20635461807251,0.243548482656479,11.1198825836182,0,1,0,0,1.53954982757568,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0254769902676344,51,2,4.0 +7.20203018188477,0.243314385414124,11.6952466964722,0,1,0,0,1.53954982757568,1.0986123085022,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,1,0.0142656238749623,51,2,4.0 +5.31564140319824,0.242975801229477,10.0212707519531,1,0,0,0,1.53954982757568,0.0,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.011531725525856,51,1,4.0 +6.7808723449707,0.243558093905449,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,4.12713432312012,1.3862943649292,0,0,0,1,0,0,0,1,0.0093646217137575,51,2,4.0 +7.02777624130249,0.243451103568077,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0119859576225281,51,1,4.0 +7.30512523651123,0.243511945009232,11.2580327987671,0,0,1,0,1.53954982757568,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0244923066347837,51,2,4.0 +7.13447141647339,0.243421196937561,10.7684850692749,0,1,0,0,1.53954982757568,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0336887128651142,51,2,4.0 +7.71230602264404,0.243602201342583,11.6952466964722,0,1,0,0,1.53954982757568,1.0986123085022,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0237698145210743,51,1,4.0 +7.25425291061401,0.243540808558464,11.2580327987671,0,1,0,0,1.53954982757568,0.6931471824646,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,1,0.0232781674712896,51,2,4.0 +7.18044424057007,0.243202120065689,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0139594245702028,51,2,4.0 +7.54572057723999,0.243582680821419,10.8685684204102,0,0,1,0,1.53954982757568,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.04599304869771,51,2,4.0 +6.71377658843994,0.243587911128998,11.2580327987671,0,0,1,0,1.53954982757568,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,1,0.0135594876483083,51,1,4.0 +6.05667018890381,0.243118464946747,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.43398714065552,1.60943794250488,0,1,0,0,0,0,0,0,0.0080660255625844,51,2,4.0 +7.30953788757324,0.243407934904099,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.63758611679077,1.60943794250488,0,1,0,0,0,0,0,0,0.0158862546086311,51,1,4.0 +5.74974489212036,0.243403166532516,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0044519333168864,51,2,4.0 +7.00078725814819,0.243406802415848,10.9595403671265,1,0,0,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,1,0.024347010999918,51,2,4.0 +7.96757411956787,0.243497461080551,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,0,0,1,0.0409053899347782,51,2,4.0 +7.6202220916748,0.243560254573822,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.0216778442263603,51,1,4.0 +7.38717317581177,0.243558570742607,11.6952466964722,0,0,0,1,1.53954982757568,1.0986123085022,4.02535152435303,1.3862943649292,0,0,0,0,1,0,0,1,0.0171713121235371,51,3,4.0 +7.53068542480469,0.243567451834679,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,1,0.0198213811963797,51,2,4.0 +7.74794244766235,0.243689000606537,11.4075651168823,0,1,0,0,1.53954982757568,1.0986123085022,3.89182019233704,1.3862943649292,1,0,0,0,0,0,0,0,0.0328457318246365,51,2,4.0 +7.52044677734375,0.243303164839745,8.92265796661377,0,1,0,0,1.53954982757568,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,0,0,0,0,0.313828527927399,51,2,4.0 +7.24753665924072,0.243562310934067,10.9595403671265,0,1,0,0,1.53954982757568,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0311655774712563,51,2,4.0 +6.99494934082031,0.243402704596519,11.1198825836182,0,1,0,0,1.53954982757568,0.6931471824646,4.26268005371094,1.0986123085022,0,0,0,1,0,0,0,0,0.0206192322075367,51,0,4.0 +7.26897716522217,0.243355974555016,11.6952466964722,0,0,0,1,1.53954982757568,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0152539946138859,51,3,4.0 +7.4426703453064,0.243579596281052,11.2580327987671,1,0,0,0,1.53954982757568,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0281056892126799,51,2,4.0 +8.00892639160156,0.243650883436203,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,0,0,0,1,0.0426389202475548,51,1,4.0 +7.18930387496948,0.243491843342781,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0140877300873399,51,3,4.0 +7.41303014755249,0.243511751294136,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,0,0.0176202747970819,51,1,4.0 +7.52365589141846,0.243508294224739,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,1,0.019681366160512,51,1,4.0 +6.98964786529541,0.243495866656303,10.6572589874268,0,1,0,0,1.53954982757568,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0325780771672726,51,2,4.0 +5.91597461700439,0.243494182825089,11.6952466964722,0,0,1,0,1.53954982757568,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,1,0.0039431382901966,51,3,4.0 +7.16047811508179,0.243973165750504,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0136940237134695,51,2,4.0 +7.01098442077637,0.243416711688042,11.1198825836182,1,0,0,0,1.53954982757568,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0209528263658285,51,1,4.0 +6.64399099349976,0.243204087018967,10.3889951705933,0,0,1,0,1.53954982757568,0.6931471824646,3.178053855896,1.60943794250488,0,0,0,1,0,0,0,0,0.0301430616527796,51,1,4.0 +7.31364822387695,0.243460446596146,10.7684850692749,0,1,0,0,1.53954982757568,0.6931471824646,3.09104251861572,1.3862943649292,0,1,0,0,0,0,0,0,0.0403011068701744,51,2,4.0 +7.37462043762207,0.243576690554619,11.0429220199585,0,1,0,0,1.53954982757568,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,0,0.0325582474470139,51,2,4.0 +6.67588806152344,0.243221655488014,10.2219409942627,1,0,0,0,1.53954982757568,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0367788784205914,51,1,4.0 +7.16206789016724,0.243343532085419,10.2219409942627,0,1,0,0,1.53954982757568,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0598131455481052,51,2,4.0 +7.02609062194824,0.243402600288391,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,1,0.0119651909917593,51,1,4.0 +7.68759727478027,0.243491291999817,11.1913414001465,1,0,0,0,1.53954982757568,1.3862943649292,4.06044292449951,2.0794415473938,0,0,0,1,0,0,0,0,0.0383786782622337,51,3,4.0 +7.75438594818115,0.243648454546928,11.1198825836182,0,1,0,0,1.53954982757568,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0440756119787693,51,2,4.0 +7.4605278968811,0.243452593684196,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.0246350653469563,51,1,4.0 +7.32040405273438,0.243334844708443,11.6952466964722,0,0,1,0,1.53954982757568,1.0986123085022,3.78418970108032,1.7917594909668,0,0,0,1,0,0,0,0,0.0160586424171925,51,2,4.0 +6.93363857269287,0.243406161665916,10.5320959091187,0,1,0,0,1.53954982757568,1.0986123085022,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.0349075645208359,51,1,4.0 +8.00658130645752,0.243586599826813,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.0567150637507439,51,2,4.0 +6.43334913253784,0.24327951669693,11.4075651168823,0,0,0,1,1.53954982757568,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0088182110339403,51,2,4.0 +7.3130259513855,0.243407934904099,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0212556794285774,51,1,4.0 +6.59342050552368,0.243533715605736,9.76995658874512,0,0,0,1,1.53954982757568,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,0,0.053236972540617,51,2,4.0 +7.25180959701538,0.243311673402786,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,4.18965482711792,1.3862943649292,0,0,0,1,0,0,0,0,0.0149936936795712,51,1,4.0 +7.79961776733398,0.243613794445992,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0259387940168381,51,2,4.0 +6.84623670578003,0.243442788720131,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,1,0.009996029548347,51,2,4.0 +7.53892469406128,0.243558093905449,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0199851840734482,51,2,4.0 +7.04132127761841,0.243678346276283,8.92265796661377,0,1,0,0,1.53954982757568,0.6931471824646,3.85014748573303,1.3862943649292,1,0,0,0,0,0,0,0,0.194434717297554,51,1,4.0 +6.40990114212036,0.242988973855972,11.6952466964722,0,0,0,1,1.53954982757568,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,1,0.0064585078507661,51,1,4.0 +7.55154180526733,0.243598282337189,11.6952466964722,0,1,0,0,1.53954982757568,1.0986123085022,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,0,0.0202397424727678,51,2,4.0 +7.17212152481079,0.243307739496231,11.4075651168823,1,0,0,0,1.53954982757568,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0184602439403534,51,2,4.0 +7.24958944320679,0.243679374456406,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0149659430608153,51,1,4.0 +6.94990539550781,0.243508949875832,10.7684850692749,0,1,0,0,1.53954982757568,0.6931471824646,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,1,0.0280134454369545,51,1,4.0 +7.2313871383667,0.243162482976913,10.7684850692749,0,1,0,0,1.53954982757568,1.0986123085022,3.78418970108032,1.60943794250488,1,0,0,0,0,0,0,0,0.0371075347065926,51,3,4.0 +8.6537971496582,0.243656679987907,10.9595403671265,0,0,1,0,1.53954982757568,1.3862943649292,3.98898410797119,1.60943794250488,0,0,1,0,0,0,0,0,0.127188339829445,51,3,4.0 +7.13846445083618,0.243461757898331,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.0238026864826679,51,2,4.0 +5.24384927749634,0.242808148264885,10.7684850692749,0,0,1,0,1.53954982757568,1.0986123085022,4.02535152435303,1.3862943649292,0,0,0,1,0,0,0,0,0.0050831330008804,51,1,4.0 +6.67843437194824,0.243200540542603,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0084498012438416,51,2,4.0 +7.44281148910522,0.243563428521156,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0181538593024015,51,1,4.0 +5.69922876358032,0.243156507611275,9.76995658874512,1,0,0,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.021762415766716,51,2,4.0 +5.828293800354,0.243211567401886,10.2219409942627,0,0,1,0,1.53954982757568,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,1,0.0157575439661741,51,2,4.0 +8.09705352783203,0.243578001856804,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,1,0.0620849430561066,51,2,4.0 +6.80440187454224,0.243495494127274,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0095869796350598,51,2,4.0 +6.72396421432495,0.243360549211502,10.7684850692749,0,1,0,0,1.53954982757568,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,1,0.0223448351025581,51,2,4.0 +6.93104696273804,0.243469893932343,11.4075651168823,1,0,0,0,1.53954982757568,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0145080992951989,51,2,4.0 +6.59698438644409,0.243368491530418,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,1,0.0103868767619133,51,2,4.0 +7.06796884536743,0.243434190750122,11.1913414001465,0,0,1,0,1.53954982757568,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0206520855426788,51,3,4.0 +8.54252624511719,0.243662565946579,11.1198825836182,0,1,0,0,1.53954982757568,1.3862943649292,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.0969370380043983,51,4,4.0 +6.2844557762146,0.243465408682823,10.2219409942627,0,1,0,0,1.53954982757568,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.0248718112707138,51,1,4.0 +7.76008224487305,0.243584737181664,11.6952466964722,0,1,0,0,1.53954982757568,1.3862943649292,3.33220458030701,2.0794415473938,1,0,0,0,0,0,0,1,0.0249325800687075,51,4,4.0 +6.73594522476196,0.24329100549221,11.6952466964722,0,0,0,1,1.53954982757568,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,0,1,0,1,0.0089508136734366,51,2,4.0 +7.31517505645752,0.243397742509842,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0284015983343124,51,2,4.0 +7.13459444046021,0.243508115410805,11.4075651168823,1,0,0,0,1.53954982757568,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0177838914096355,51,2,4.0 +6.96343469619751,0.243325680494308,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0149835143238306,51,2,4.0 +8.36462497711182,0.243612945079803,11.4075651168823,0,0,0,1,1.53954982757568,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0608510039746761,51,2,4.0 +6.58173227310181,0.359497576951981,11.1913414001465,0,0,1,0,3.39123916625977,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0142626333981752,53,1,8.0 +5.71387338638306,0.359497219324112,10.5320959091187,0,0,1,0,3.39123916625977,0.0,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0115771070122719,53,1,8.0 +6.68652725219727,0.359542578458786,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,4.11087369918823,1.0986123085022,0,0,0,0,1,0,0,0,0.0127592943608761,53,1,8.0 +6.9177713394165,0.359532356262207,11.2580327987671,0,0,0,1,3.39123916625977,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0186720099300146,53,2,8.0 +7.47474431991577,0.359531432390213,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.028063390403986,53,2,8.0 +8.09837913513184,0.359573781490326,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0523600243031979,53,2,8.0 +7.43252897262573,0.359543174505234,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0201777517795563,53,2,8.0 +7.19722461700439,0.359542667865753,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.71357202529907,1.7917594909668,1,0,0,0,0,0,0,0,0.0159470736980438,53,2,8.0 +7.65194129943848,0.359552055597305,11.2580327987671,0,0,1,0,3.39123916625977,1.3862943649292,3.58351898193359,1.7917594909668,0,1,0,0,0,0,0,0,0.0389086045324802,53,3,8.0 +7.20558023452759,0.359532922506332,10.2219409942627,0,1,0,0,3.39123916625977,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.0701704472303391,53,2,8.0 +6.59142112731934,0.359445124864578,10.5320959091187,1,0,0,0,3.39123916625977,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.0278414357453585,53,2,8.0 +6.56345987319946,0.359496384859085,10.7684850692749,0,0,1,0,3.39123916625977,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,1,0,0,0,0.0213750954717398,53,1,8.0 +6.65747594833374,0.360182493925095,10.9595403671265,0,0,0,1,3.39123916625977,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,1,0,0,0.019411651417613,53,1,8.0 +6.78522729873657,0.359518110752106,10.9595403671265,0,1,0,0,3.39123916625977,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0220422334969044,53,2,8.0 +6.69683504104614,0.359491318464279,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0096681285649538,53,1,8.0 +4.58712577819824,0.35943591594696,10.0212707519531,0,0,1,0,3.39123916625977,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0062529067508876,53,2,8.0 +6.30025815963745,0.359748750925064,10.2219409942627,1,0,0,0,3.39123916625977,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,1,0,0,0,0,0.0283838640898466,53,2,8.0 +6.81155967712402,0.3595090508461,10.6572589874268,0,0,1,0,3.39123916625977,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,0,0.0306172855198383,53,2,8.0 +8.11038970947266,0.359552472829819,10.9595403671265,1,0,0,0,3.39123916625977,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0829433128237724,53,2,8.0 +7.50531101226807,0.359549403190613,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.76120018959045,1.7917594909668,0,0,0,0,1,0,0,0,0.0217012278735638,53,2,8.0 +5.52542400360107,0.359372735023499,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0046390928328037,53,1,8.0 +7.78464984893799,0.359535664319992,10.8685684204102,0,1,0,0,3.39123916625977,1.0986123085022,3.55534815788269,1.7917594909668,0,0,1,0,0,0,0,0,0.0655866637825966,53,2,8.0 +7.80370283126831,0.359568119049072,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.029247060418129,53,2,8.0 +5.93678712844849,0.359528094530106,10.0212707519531,1,0,0,0,3.39123916625977,0.6931471824646,3.78418970108032,1.0986123085022,0,0,1,0,0,0,0,0,0.0241141710430384,53,2,8.0 +6.92417335510254,0.35953226685524,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0121364593505859,53,2,8.0 +7.49398517608643,0.359555810689926,9.76995658874512,0,1,0,0,3.39123916625977,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.147133484482765,53,2,8.0 +7.18503999710083,0.359540909528732,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0243931654840708,53,1,8.0 +7.9146146774292,0.359551161527634,11.4075651168823,1,0,0,0,3.39123916625977,1.0986123085022,3.98898410797119,1.0986123085022,0,0,0,0,0,0,0,0,0.043569453060627,53,1,8.0 +7.5686993598938,0.359556555747986,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0231215264648199,53,1,8.0 +7.14801120758057,0.359524011611938,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.89182019233704,1.0986123085022,0,1,0,0,0,0,0,0,0.0151809826493263,53,1,8.0 +7.09042930603027,0.359528362751007,10.9595403671265,0,1,0,0,3.39123916625977,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.029909398406744,53,2,8.0 +8.11978435516357,0.359548985958099,11.4075651168823,0,0,1,0,3.39123916625977,1.0986123085022,3.93182563781738,1.3862943649292,0,0,1,0,0,0,0,0,0.0534915626049042,53,3,8.0 +7.83888578414917,0.359551727771759,11.1198825836182,0,0,1,0,3.39123916625977,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0538557842373848,53,2,8.0 +8.95925998687744,0.359557896852493,10.9595403671265,0,0,1,0,3.39123916625977,0.6931471824646,3.97029185295105,1.0986123085022,0,0,1,0,0,0,0,0,0.193839937448502,53,1,8.0 +7.72988748550415,0.359545171260834,11.2580327987671,1,0,0,0,3.39123916625977,1.0986123085022,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,0,0.0420624166727066,53,2,8.0 +7.46623849868774,0.359545648097992,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0278261080384254,53,1,8.0 +7.19542551040649,0.35951754450798,11.2580327987671,0,0,0,1,3.39123916625977,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,0,1,0,0,0.0246472451835871,53,2,8.0 +7.03972911834717,0.35954225063324,10.7684850692749,0,0,1,0,3.39123916625977,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0344166979193687,53,2,8.0 +8.06579971313477,0.359558463096619,11.6952466964722,0,1,0,0,3.39123916625977,1.60943794250488,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0380106642842293,53,4,8.0 +7.58213758468628,0.359526187181473,11.4075651168823,0,0,1,0,3.39123916625977,1.0986123085022,3.76120018959045,1.7917594909668,0,0,1,0,0,0,0,0,0.031244833022356,53,3,8.0 +7.99322128295898,0.359567284584045,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0353499464690685,53,1,8.0 +6.77614498138428,0.359556138515472,11.1198825836182,1,0,0,0,3.39123916625977,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0186076667159796,53,2,8.0 +4.62356328964233,0.362119674682617,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,1,0,0,0,0.0012191955465823,53,1,8.0 +7.71436452865601,0.359333276748657,11.6952466964722,1,0,0,0,3.39123916625977,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.026741212233901,53,2,8.0 +7.54544544219971,0.359551399946213,11.0429220199585,0,1,0,0,3.39123916625977,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,0,0.0433727093040943,53,2,8.0 +6.87077188491821,0.359541237354279,10.9595403671265,0,0,1,0,3.39123916625977,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.024011392146349,53,2,8.0 +7.62246942520142,0.359396785497665,11.6952466964722,0,1,0,0,3.39123916625977,1.0986123085022,4.06044292449951,1.0986123085022,1,0,0,0,0,0,0,0,0.0243949126452208,53,1,8.0 +6.88697528839111,0.359532594680786,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0116932997480035,53,1,8.0 +8.25974369049072,0.359561294317245,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,0,0.0615281537175179,53,2,8.0 +6.90351581573486,0.359556138515472,10.7684850692749,0,1,0,0,3.39123916625977,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0300343669950962,53,2,8.0 +7.40295648574829,0.359572619199753,8.92265796661377,0,1,0,0,3.39123916625977,0.0,3.40119743347168,1.7917594909668,0,0,0,1,0,0,0,0,0.313445687294006,53,1,8.0 +7.69584321975708,0.359565883874893,10.6572589874268,0,1,0,0,3.39123916625977,1.3862943649292,3.85014748573303,1.7917594909668,1,0,0,0,0,0,0,0,0.0741362646222115,53,5,8.0 +6.65996217727661,0.359760075807571,11.0429220199585,0,0,1,0,3.39123916625977,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0178956165909767,53,3,8.0 +7.66717004776001,0.359556317329407,11.1913414001465,1,0,0,0,3.39123916625977,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0422303713858128,53,3,8.0 +6.96573114395142,0.359563559293747,9.43348407745361,1,0,0,0,3.39123916625977,0.0,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.121457688510418,53,1,8.0 +7.19637823104858,0.35951754450798,11.6952466964722,0,0,1,0,3.39123916625977,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0159331820905209,53,4,8.0 +7.47362804412842,0.359558790922165,11.1198825836182,0,1,0,0,3.39123916625977,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0373771414160728,53,2,8.0 +6.32472991943359,0.359477579593658,11.1198825836182,1,0,0,0,3.39123916625977,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0118470592424273,53,2,8.0 +6.54239416122437,0.359504044055939,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0082846656441688,53,2,8.0 +6.13960123062134,0.359528422355652,11.0429220199585,0,1,0,0,3.39123916625977,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0106330094859004,53,1,8.0 +5.88153505325317,0.359469443559647,9.43348407745361,1,0,0,0,3.39123916625977,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,1,0,0,0,0.0410699211061001,53,1,8.0 +7.19234466552734,0.359532356262207,11.1198825836182,1,0,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.0986123085022,0,1,0,0,0,0,0,0,0.0282120555639267,53,2,8.0 +6.68385219573975,0.35951179265976,11.1913414001465,0,1,0,0,3.39123916625977,0.6931471824646,4.00733327865601,1.3862943649292,0,0,1,0,0,0,0,0,0.0157963242381811,53,0,8.0 +8.03682804107666,0.359550893306732,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0492332503199577,53,1,8.0 +7.18414831161499,0.359542161226273,11.4075651168823,0,0,1,0,3.39123916625977,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0209865272045135,53,1,8.0 +7.10002279281616,0.35952153801918,11.1913414001465,0,1,0,0,3.39123916625977,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,0,0.02394974604249,53,2,8.0 +7.29464626312256,0.359550416469574,11.0429220199585,0,0,1,0,3.39123916625977,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0337516851723194,53,1,8.0 +7.35594177246094,0.359542399644852,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.0249201003462076,53,2,8.0 +7.04517412185669,0.359542816877365,10.0212707519531,0,0,1,0,3.39123916625977,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0730541869997978,53,1,8.0 +6.70943593978882,0.359514385461807,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.78418970108032,1.0986123085022,0,1,0,0,0,0,0,0,0.013054602779448,53,2,8.0 +6.70222902297974,0.359513878822327,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,0,0.009720635600388,53,1,8.0 +6.43510389328003,0.35954225063324,10.7684850692749,0,1,0,0,3.39123916625977,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0188011229038239,53,1,8.0 +7.22230672836304,0.35954475402832,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0253194645047188,53,2,8.0 +7.42642831802368,0.359555393457413,11.1198825836182,0,1,0,0,3.39123916625977,0.6931471824646,3.61091780662537,1.60943794250488,1,0,0,0,0,0,0,0,0.0356538109481335,53,1,8.0 +7.18589639663696,0.359539240598679,10.5320959091187,1,0,0,0,3.39123916625977,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,0,0.0504556447267532,53,1,8.0 +6.73414897918701,0.359533935785294,10.0212707519531,0,1,0,0,3.39123916625977,0.6931471824646,3.33220458030701,1.0986123085022,0,1,0,0,0,0,0,0,0.0535259991884232,53,2,8.0 +6.34648847579956,0.359540343284607,10.8685684204102,0,0,1,0,3.39123916625977,0.0,3.95124363899231,1.0986123085022,0,0,0,0,1,0,0,0,0.0155679732561111,53,1,8.0 +6.69970178604126,0.359541743993759,11.0429220199585,1,0,0,0,3.39123916625977,1.3862943649292,3.95124363899231,1.60943794250488,0,0,0,0,1,0,0,0,0.0186170358210802,53,3,8.0 +6.9712176322937,0.3594910800457,11.6952466964722,0,0,1,0,3.39123916625977,1.3862943649292,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,0,0.0127205243334174,53,3,8.0 +7.51785278320312,0.359551399946213,11.4075651168823,1,0,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0293002091348171,53,1,8.0 +7.33874845504761,0.359538674354553,11.1913414001465,0,1,0,0,3.39123916625977,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0304078403860331,53,1,8.0 +6.55525827407837,0.359512031078339,10.7684850692749,0,0,1,0,3.39123916625977,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0212008338421583,53,1,8.0 +6.84986925125122,0.359529107809067,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0150230955332518,53,2,8.0 +5.48035860061646,0.359536081552505,10.2219409942627,1,0,0,0,3.39123916625977,0.0,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0124997533857822,53,1,8.0 +5.72657871246338,0.359444051980972,10.0212707519531,0,0,1,0,3.39123916625977,0.6931471824646,3.21887588500977,1.3862943649292,1,0,0,0,0,0,0,0,0.0195408537983894,53,2,8.0 +7.44523668289185,0.35955274105072,11.6952466964722,1,0,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0204359963536263,53,2,8.0 +6.12584066390991,0.359482496976852,10.3889951705933,0,0,1,0,3.39123916625977,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0201677158474922,53,2,8.0 +6.14217615127563,0.3595350086689,10.6572589874268,0,0,1,0,3.39123916625977,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0156771931797266,53,1,8.0 +6.57691955566406,0.35954874753952,10.5320959091187,0,1,0,0,3.39123916625977,0.6931471824646,3.52636051177979,1.60943794250488,0,0,1,0,0,0,0,0,0.0274434443563223,53,2,8.0 +6.99898242950439,0.359845727682114,10.2219409942627,0,1,0,0,3.39123916625977,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0570907518267632,53,1,8.0 +6.63872194290161,0.359436810016632,10.3889951705933,0,0,1,0,3.39123916625977,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,0,0.0336804911494255,53,2,8.0 +7.21082592010498,0.359534680843353,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0250301863998175,53,2,8.0 +7.85864210128784,0.359561800956726,10.7684850692749,0,0,1,0,3.39123916625977,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0780597329139709,53,2,8.0 +6.93086099624634,0.359533846378326,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.0122179137542844,53,2,8.0 +7.17652177810669,0.359533429145813,11.0429220199585,1,0,0,0,3.39123916625977,1.3862943649292,2.89037179946899,1.7917594909668,0,0,0,0,1,0,0,0,0.0299907401204109,53,4,8.0 +7.58118867874146,0.359520018100739,10.7684850692749,0,1,0,0,3.39123916625977,1.3862943649292,2.99573230743408,1.60943794250488,0,0,0,1,0,0,0,0,0.0591442137956619,53,3,8.0 +6.89305734634399,0.359526515007019,11.6952466964722,1,0,0,0,3.39123916625977,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0117645654827356,53,2,8.0 +7.36675262451172,0.359545916318893,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0251910537481308,53,2,8.0 +6.78365516662598,0.359516203403473,11.2580327987671,1,0,0,0,3.39123916625977,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0163281913846731,53,2,8.0 +8.45708656311035,0.359566390514374,11.4075651168823,1,0,0,0,3.39123916625977,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,0,0,0,0,0.0749516263604164,53,1,8.0 +6.80963516235352,0.359510958194733,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,4.12713432312012,1.0986123085022,0,0,0,0,1,0,0,0,0.016757870092988,53,2,8.0 +6.81619739532471,0.359549731016159,10.9595403671265,0,0,1,0,3.39123916625977,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0227362830191851,53,1,8.0 +6.39959573745728,0.359501391649246,9.76995658874512,0,1,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0492493510246277,53,1,8.0 +6.92183971405029,0.359533667564392,11.2580327987671,0,1,0,0,3.39123916625977,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0187481548637152,53,2,8.0 +7.61927556991577,0.35955598950386,10.7684850692749,0,1,0,0,3.39123916625977,0.6931471824646,3.13549423217773,1.3862943649292,0,0,0,0,1,0,0,0,0.0614425130188465,53,2,8.0 +6.94613599777222,0.359544068574905,10.2219409942627,0,1,0,0,3.39123916625977,0.6931471824646,4.17438745498657,1.3862943649292,0,0,0,1,0,0,0,0,0.0541357137262821,53,0,8.0 +7.78434133529663,0.359552562236786,11.4075651168823,1,0,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0382477231323719,53,2,8.0 +6.66939163208008,0.359397619962692,10.9595403671265,0,1,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0196289289742708,53,2,8.0 +6.66931915283203,0.3595090508461,10.3889951705933,1,0,0,0,3.39123916625977,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0347294472157955,53,2,8.0 +5.93582773208618,0.359536498785019,10.2219409942627,0,0,1,0,3.39123916625977,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0197110269218683,53,1,8.0 +6.56925058364868,0.359489977359772,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0113467471674085,53,2,8.0 +7.00303983688354,0.359534919261932,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,0,0.0175098795443773,53,1,8.0 +7.40800905227661,0.359540164470673,10.9595403671265,0,0,1,0,3.39123916625977,0.6931471824646,3.89182019233704,1.3862943649292,0,0,1,0,0,0,0,0,0.0410899817943573,53,2,8.0 +6.49132585525513,0.359488666057587,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,0,0.0104961097240448,53,2,8.0 +6.22434139251709,0.359524935483932,10.5320959091187,1,0,0,0,3.39123916625977,0.6931471824646,4.17438745498657,1.3862943649292,0,0,0,1,0,0,0,0,0.0192888155579567,53,1,8.0 +5.60742807388306,0.359434485435486,9.43348407745361,1,0,0,0,3.39123916625977,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0312223378568888,53,2,8.0 +7.364342212677,0.359543919563293,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0188477635383606,53,2,8.0 +7.53654479980469,0.35954824090004,10.7684850692749,0,0,1,0,3.39123916625977,1.3862943649292,2.89037179946899,1.60943794250488,0,0,0,0,1,0,0,0,0.0565634742379189,53,4,8.0 +6.7469744682312,0.35952228307724,9.76995658874512,1,0,0,0,3.39123916625977,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,0,1,0,0,0.0697066634893417,53,2,8.0 +7.24336338043213,0.359539419412613,10.9595403671265,0,1,0,0,3.39123916625977,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0348522551357746,53,1,8.0 +6.96746873855591,0.359540581703186,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0196235664188862,53,2,8.0 +8.17776107788086,0.359558790922165,10.9595403671265,1,0,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0887243896722794,53,2,8.0 +7.14165925979614,0.35952952504158,10.5320959091187,1,0,0,0,3.39123916625977,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0482718050479889,53,2,8.0 +6.40015077590942,0.359909027814865,10.7684850692749,1,0,0,0,3.39123916625977,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0181619711220264,53,2,8.0 +6.78886699676514,0.357409536838531,11.2580327987671,0,0,0,1,1.88881635665894,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,0,0.016378978267312,55,4,2.0 +7.61570358276367,0.3574238717556,10.7684850692749,1,0,0,0,1.88881635665894,1.0986123085022,3.93182563781738,1.3862943649292,0,0,0,1,0,0,0,0,0.0610930249094963,55,4,2.0 +7.56774759292603,0.357418864965439,10.6572589874268,0,1,0,0,1.88881635665894,1.3862943649292,3.8712010383606,1.94591009616852,0,1,0,0,0,0,0,1,0.0650829374790192,55,2,2.0 +6.54346656799316,0.357401520013809,11.0429220199585,1,0,0,0,1.88881635665894,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0158901810646057,55,2,2.0 +6.48506879806519,0.357381671667099,10.9595403671265,0,0,1,0,1.88881635665894,0.6931471824646,3.80666255950928,1.0986123085022,0,0,1,0,0,0,0,0,0.0162918604910374,55,2,2.0 +7.72087287902832,0.357535600662231,11.0429220199585,0,1,0,0,1.88881635665894,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0515855737030506,55,2,2.0 +7.52207279205322,0.357432723045349,11.4075651168823,0,1,0,0,1.88881635665894,1.0986123085022,3.80666255950928,1.3862943649292,0,1,0,0,0,0,0,0,0.0293618440628052,55,2,2.0 +7.14586067199707,0.357426524162292,11.6952466964722,1,0,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0151166282594204,55,1,2.0 +6.69974899291992,0.35740527510643,10.9595403671265,0,1,0,0,1.88881635665894,0.6931471824646,3.95124363899231,1.0986123085022,0,0,1,0,0,0,0,0,0.0201936680823565,55,2,2.0 +6.9095983505249,0.35743236541748,11.4075651168823,1,0,0,0,1.88881635665894,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0159143451601267,55,2,2.0 +6.05276012420654,0.357424378395081,10.9595403671265,0,0,0,1,1.88881635665894,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0105740167200565,55,2,2.0 +7.53346633911133,0.357451379299164,10.8685684204102,0,1,0,0,1.88881635665894,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0509123057126999,55,1,2.0 +6.59250497817993,0.357399106025696,11.1198825836182,0,1,0,0,1.88881635665894,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0154525898396969,55,2,2.0 +7.2608904838562,0.357428967952728,10.9595403671265,0,1,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0353937298059464,55,2,2.0 +7.40489339828491,0.357449293136597,11.1913414001465,1,0,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0324193760752678,55,1,2.0 +7.01548671722412,0.357407957315445,11.4075651168823,0,0,1,0,1.88881635665894,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0176915135234594,55,2,2.0 +7.45068979263306,0.357438802719116,11.1198825836182,1,0,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0364521667361259,55,2,2.0 +7.06721162796021,0.357436031103134,11.4075651168823,0,0,1,0,1.88881635665894,0.6931471824646,3.98898410797119,1.0986123085022,0,0,1,0,0,0,0,0,0.0186312049627304,55,2,2.0 +6.47922563552856,0.357336968183517,10.3889951705933,0,1,0,0,1.88881635665894,0.6931471824646,3.93182563781738,1.60943794250488,0,0,0,0,1,0,0,0,0.0286548398435116,55,2,2.0 +7.49181413650513,0.35745170712471,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,0,0.0213654320687056,55,1,2.0 +7.59190082550049,0.357435971498489,11.1198825836182,0,1,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0419806651771069,55,2,2.0 +7.96782445907593,0.35744646191597,11.6952466964722,0,0,1,0,1.88881635665894,1.0986123085022,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,0,0.034390464425087,55,2,2.0 +5.90967273712158,0.357283264398575,10.7684850692749,0,1,0,0,1.88881635665894,0.6931471824646,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,1,0.0110920239239931,55,1,2.0 +6.90061473846436,0.35738417506218,10.2219409942627,0,1,0,0,1.88881635665894,1.0986123085022,4.02535152435303,1.60943794250488,0,1,0,0,0,0,0,0,0.0516150295734406,55,2,2.0 +7.15713310241699,0.35742512345314,10.8685684204102,0,0,1,0,1.88881635665894,1.0986123085022,3.68887948989868,1.7917594909668,0,0,0,0,1,0,0,0,0.0349439345300198,55,1,2.0 +7.45006036758423,0.357449382543564,11.1913414001465,0,1,0,0,1.88881635665894,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0339172370731831,55,2,2.0 +7.2255654335022,0.357461154460907,11.1198825836182,0,0,1,0,1.88881635665894,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0291046854108572,55,2,2.0 +7.71203279495239,0.357458472251892,11.1198825836182,0,1,0,0,1.88881635665894,0.6931471824646,4.04305124282837,1.3862943649292,1,0,0,0,0,0,0,0,0.0473403818905354,55,2,2.0 +8.05487728118896,0.35746306180954,11.0429220199585,0,1,0,0,1.88881635665894,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0720365941524506,55,2,2.0 +8.09217739105225,0.357460558414459,11.1913414001465,1,0,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0644604340195656,55,2,2.0 +7.3672046661377,0.357426196336746,10.2219409942627,0,1,0,0,1.88881635665894,1.0986123085022,2.99573230743408,1.94591009616852,1,0,0,0,0,0,0,0,0.0823060795664787,55,3,2.0 +7.61061859130859,0.357461482286453,10.7684850692749,0,1,0,0,1.88881635665894,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0607854351401329,55,3,2.0 +6.68256759643555,0.357424885034561,10.5320959091187,0,0,0,1,1.88881635665894,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0304367672652006,55,1,2.0 +5.62697505950928,0.357389092445374,11.1198825836182,1,0,0,0,1.88881635665894,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,1,0,0,0.0058839996345341,55,1,2.0 +6.63425302505493,0.357417047023773,11.0429220199585,0,1,0,0,1.88881635665894,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,0,0.0174005795270205,55,1,2.0 +8.08375930786133,0.357457309961319,11.6952466964722,0,0,1,0,1.88881635665894,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0386182554066181,55,3,2.0 +7.08373355865479,0.357415795326233,10.5320959091187,0,0,1,0,1.88881635665894,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0454588830471039,55,1,2.0 +6.86854028701782,0.357419192790985,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.0114554725587368,55,2,2.0 +6.78048419952393,0.357413619756699,11.6952466964722,0,0,1,0,1.88881635665894,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.0104898307472467,55,1,2.0 +7.38890314102173,0.357396185398102,10.5320959091187,1,0,0,0,1.88881635665894,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0616799294948578,55,3,2.0 +7.92096185684204,0.357467383146286,10.9595403671265,0,1,0,0,1.88881635665894,1.0986123085022,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,0,0.0684870183467865,55,2,2.0 +7.75690650939941,0.357449382543564,10.3889951705933,0,0,1,0,1.88881635665894,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.102833986282349,55,4,2.0 +6.45052862167358,0.357390761375427,10.5320959091187,0,0,1,0,1.88881635665894,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.0241329539567232,55,1,2.0 +6.57563018798828,0.357407361268997,10.5320959091187,0,1,0,0,1.88881635665894,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0273494552820921,55,3,2.0 +7.80463933944702,0.357459634542465,10.7684850692749,0,1,0,0,1.88881635665894,1.3862943649292,3.76120018959045,1.7917594909668,0,0,0,1,0,0,0,0,0.0738007798790932,55,2,2.0 +7.80301189422607,0.357453316450119,10.5320959091187,0,1,0,0,1.88881635665894,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0933283790946007,55,2,2.0 +7.81317520141602,0.357467740774155,11.2580327987671,0,1,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0456208474934101,55,2,2.0 +8.55705261230469,0.357435703277588,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,0,0,0,0,0.0619914308190346,55,2,2.0 +6.77847385406494,0.357422292232513,10.7684850692749,1,0,0,0,1.88881635665894,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0264476221054792,55,3,2.0 +6.9801778793335,0.357425302267075,11.4075651168823,0,1,0,0,1.88881635665894,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0170780401676893,55,2,2.0 +6.84990739822388,0.357436031103134,10.5320959091187,0,1,0,0,1.88881635665894,0.6931471824646,3.178053855896,1.0986123085022,0,0,1,0,0,0,0,0,0.0359814129769802,55,2,2.0 +6.86226463317871,0.357404947280884,10.9595403671265,0,0,1,0,1.88881635665894,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0237571727484465,55,2,2.0 +6.41467905044556,0.357454895973206,11.1198825836182,0,0,1,0,1.88881635665894,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,0,1,0,0,0,0.0129359010607004,55,2,2.0 +8.04345417022705,0.357467323541641,11.6952466964722,0,0,1,0,1.88881635665894,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,1,0.0370930582284927,55,2,2.0 +7.46991586685181,0.357465147972107,11.2580327987671,0,1,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0323658213019371,55,2,2.0 +7.8591570854187,0.357466965913773,11.4075651168823,0,1,0,0,1.88881635665894,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0411331504583359,55,2,2.0 +7.31411790847778,0.357384264469147,10.9595403671265,0,1,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0373270101845264,55,2,2.0 +7.11408662796021,0.357437551021576,11.2580327987671,0,1,0,0,1.88881635665894,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0226746238768101,55,2,2.0 +7.92721366882324,0.35746356844902,11.6952466964722,0,0,1,0,1.88881635665894,1.3862943649292,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0330223850905895,55,4,2.0 +8.07803821563721,0.357471078634262,11.4075651168823,0,0,1,0,1.88881635665894,1.0986123085022,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,0,0.0511979423463345,55,3,2.0 +7.6824197769165,0.357458233833313,11.4075651168823,0,1,0,0,1.88881635665894,1.3862943649292,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0344692803919315,55,2,2.0 +6.74965763092041,0.357417792081833,10.8685684204102,0,1,0,0,1.88881635665894,0.6931471824646,3.21887588500977,1.0986123085022,1,0,0,0,0,0,0,0,0.0232490058988333,55,2,2.0 +6.52447128295898,0.35739067196846,10.5320959091187,1,0,0,0,1.88881635665894,0.6931471824646,3.09104251861572,1.3862943649292,0,0,0,0,1,0,0,0,0.0259850453585386,55,2,2.0 +2.69168210029602,0.36040723323822,8.92265796661377,1,0,0,0,1.88881635665894,0.6931471824646,4.21950769424438,1.3862943649292,0,0,1,0,0,0,0,0,0.0028212678153067,55,1,2.0 +6.45481491088867,0.357374846935272,10.3889951705933,0,0,1,0,1.88881635665894,1.3862943649292,3.80666255950928,1.60943794250488,0,0,1,0,0,0,0,0,0.0279648844152689,55,3,2.0 +6.41782808303833,0.357481151819229,11.4075651168823,1,0,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0097327819094061,55,1,2.0 +6.81534910202026,0.357424110174179,11.4075651168823,0,0,1,0,1.88881635665894,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0144828287884593,55,2,2.0 +6.66207695007324,0.357420951128006,11.1913414001465,0,1,0,0,1.88881635665894,0.6931471824646,3.52636051177979,1.7917594909668,1,0,0,0,0,0,0,0,0.0154237933456898,55,1,2.0 +6.9408016204834,0.357417702674866,10.5320959091187,0,0,1,0,1.88881635665894,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,0,0.0394044294953346,55,1,2.0 +6.6065673828125,0.357418268918991,11.1913414001465,0,0,1,0,1.88881635665894,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0145909152925014,55,3,2.0 +6.90600252151489,0.357441037893295,10.0212707519531,1,0,0,0,1.88881635665894,0.6931471824646,3.04452252388,1.0986123085022,0,0,0,0,1,0,0,0,0.0634294524788857,55,1,2.0 +7.44534301757812,0.357435286045074,11.4075651168823,1,0,0,0,1.88881635665894,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,0,0.0271932501345873,55,1,2.0 +6.54723739624023,0.357394427061081,11.1913414001465,1,0,0,0,1.88881635665894,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,0,0.0137500874698162,55,2,2.0 +7.32245445251465,0.357447564601898,11.2580327987671,0,1,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.60943794250488,0,1,0,0,0,0,0,0,0.0279278364032507,55,2,2.0 +7.59926128387451,0.357429206371307,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0237884167581797,55,2,2.0 +7.88595724105835,0.357456296682358,10.7684850692749,0,1,0,0,1.88881635665894,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0800525769591331,55,2,2.0 +7.48775959014893,0.357979983091354,10.7684850692749,0,1,0,0,1.88881635665894,0.6931471824646,3.25809645652771,1.0986123085022,0,1,0,0,0,0,0,0,0.05378582701087,55,1,2.0 +6.29718971252441,0.357446372509003,11.6952466964722,0,0,1,0,1.88881635665894,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0064697936177253,55,2,2.0 +7.44936656951904,0.357438623905182,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0204772315919399,55,2,2.0 +6.64495229721069,0.357453465461731,10.2219409942627,0,1,0,0,1.88881635665894,0.6931471824646,3.04452252388,1.0986123085022,0,1,0,0,0,0,0,0,0.0399736277759075,55,2,2.0 +6.50129508972168,0.357805609703064,10.5320959091187,0,0,1,0,1.88881635665894,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0254002660512924,55,2,2.0 +7.67110347747803,0.357409358024597,10.9595403671265,0,0,1,0,1.88881635665894,1.0986123085022,3.93182563781738,1.60943794250488,0,0,0,1,0,0,0,0,0.0533421970903873,55,3,2.0 +8.78231620788574,0.357483416795731,9.76995658874512,1,0,0,0,1.88881635665894,1.3862943649292,4.17438745498657,1.7917594909668,0,0,1,0,0,0,0,0,0.532508194446564,55,2,2.0 +7.81445741653442,0.357448309659958,10.7684850692749,0,1,0,0,1.88881635665894,0.6931471824646,3.52636051177979,1.94591009616852,0,0,0,0,1,0,0,0,0.0745280757546425,55,2,2.0 +7.78343391418457,0.357467383146286,11.4075651168823,0,0,1,0,1.88881635665894,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.038133442401886,55,1,2.0 +6.51406526565552,0.357394427061081,11.2580327987671,0,0,1,0,1.88881635665894,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0124432947486639,55,2,2.0 +6.8869800567627,0.357405871152878,11.1913414001465,0,1,0,0,1.88881635665894,0.6931471824646,3.36729574203491,1.60943794250488,0,0,1,0,0,0,0,0,0.0193134061992168,55,2,2.0 +7.09005880355835,0.357427299022675,11.1198825836182,0,1,0,0,1.88881635665894,0.6931471824646,4.09434461593628,1.0986123085022,0,0,0,0,1,0,0,0,0.025415476411581,55,1,2.0 +6.71857690811157,0.35757252573967,11.1198825836182,1,0,0,0,1.88881635665894,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0175318997353315,55,2,2.0 +6.72267055511475,0.357398688793182,11.0429220199585,1,0,0,0,1.88881635665894,0.6931471824646,3.58351898193359,1.0986123085022,0,0,1,0,0,0,0,0,0.0190088097006083,55,2,2.0 +9.22201442718506,0.35748091340065,11.2580327987671,0,1,0,0,1.88881635665894,1.0986123085022,3.21887588500977,1.7917594909668,1,0,0,0,0,0,0,1,0.186646729707718,55,3,2.0 +6.87586307525635,0.357973635196686,10.5320959091187,1,0,0,0,1.88881635665894,0.6931471824646,3.76120018959045,1.0986123085022,0,1,0,0,0,0,0,0,0.036947425454855,55,2,2.0 +7.31219053268433,0.357443392276764,11.4075651168823,0,0,1,0,1.88881635665894,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0238033048808575,55,2,2.0 +6.51771593093872,0.35738942027092,10.2219409942627,0,1,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0351955406367779,55,1,2.0 diff --git a/T-ADML/gasoline_example/ablation.py b/T-ADML/gasoline_example/ablation.py new file mode 100644 index 00000000..29681197 --- /dev/null +++ b/T-ADML/gasoline_example/ablation.py @@ -0,0 +1,204 @@ +import numpy as np +from sklearn.model_selection import cross_val_predict +from sklearn.base import clone +from sklearn.linear_model import LinearRegression + +def cross_val_reisz_and_reg(model_reisz, model_reg, X, y, splits, moment_fn): + reisz_preds = np.zeros(X.shape[0]) + moment_preds = np.zeros(X.shape[0]) + reg_preds = np.zeros(X.shape[0]) + moment_reg_preds = np.zeros(X.shape[0]) + for train, test in splits: + est = clone(model_reisz) + est.fit(X[train]) + reisz_preds[test] = est.predict(X[test]) + moment_preds[test] = moment_fn(X[test], est.predict) + + est = clone(model_reg) + est.fit(X[train], y[train]) + reg_preds[test] = est.predict(X[test]) + moment_reg_preds[test] = moment_fn(X[test], est.predict) + return reisz_preds, moment_preds, reg_preds, moment_reg_preds + +def plr_cross_val_reisz_and_reg(model_y, model_t, X, y, splits, moment_fn): + res_preds_t = np.zeros(X.shape[0]) + moment_preds = np.zeros(X.shape[0]) + moment_reg_preds = np.zeros(X.shape[0]) + reg_preds_y = np.zeros(X.shape[0]) + reg_preds = np.zeros(X.shape[0]) + for train, test in splits: + model_t_ = clone(model_t) + model_t_.fit(X[train, 1:], X[train, 0]) + res_preds_t[test] = X[test, 0] - model_t_.predict(X[test, 1:]) + reisz_fn = lambda x: (x[:, 0] - model_t_.predict(x[:, 1:])) + moment_preds[test] = moment_fn(X[test], reisz_fn) + + model_y_ = clone(model_y) + model_y_.fit(X[train, 1:], y[train]) + reg_preds_y[test] = model_y_.predict(X[test, 1:]) + partial_reg_fn = lambda x: model_y_.predict(x[:, 1:]) + moment_reg_preds[test] = moment_fn(X[test], partial_reg_fn) + + theta = LinearRegression(fit_intercept=False).fit(res_preds_t.reshape(-1, 1), y - reg_preds_y).coef_[0] + reg_preds = theta * res_preds_t + reg_preds_y + moment_reg_preds = theta * moment_preds + moment_reg_preds + + reisz_preds = res_preds_t / np.mean(res_preds_t**2) + moment_preds = moment_preds / np.mean(res_preds_t**2) + + return reisz_preds, moment_preds, reg_preds, moment_reg_preds + + +def ablation_inference(y, moment, reisz, reg, moment_reg, ablation_groups, verbose): + phi_a = 2 * moment[0] - reisz[0]**2 # orthogonal moment for E[a(X)^2] + ma_sq = np.mean(phi_a) # estimate of E[a(X)^2] + phi_g = 2*y*reg[0] - reg[0]**2 # orthogonal moment for E[g(X)^2] + mg_sq = np.mean(phi_g) # estimate of E[g(X)^2] + all_etasq = [] + all_Cy = [] + all_dtheta = [] + all_rho = [] + for it, (name, group) in enumerate(ablation_groups): + i = it + 1 + + # Estimating eta^2 = (E[a(X)^2] - E[a_s(X)^2]) / E[a(X)^2] + phi_as = 2 * moment[i] - reisz[i]**2 # orthogonal moment for E[a_s(X)^2] + mas_sq = np.mean(phi_as) # estimate of E[a_s(X)^2] + etasq = (ma_sq - mas_sq) / ma_sq # estimate of eta^2 + inf = (phi_as - mas_sq)/ma_sq - mas_sq * (phi_a - ma_sq) / (ma_sq**2) # influence function for eta^2 via delta method + stderr = np.sqrt(np.mean(inf**2) / inf.shape[0]) # standard error for eta^2 + Cd = etasq / (1 - etasq) # estimate of Cd^2 = eta^2 / (1 - eta^2) + + # Estimating Cy=E[g(X)^2 - g_s(X)^2] / E[(Y - g_s(X))^2] + phi_gs = 2*y*reg[i] - reg[i]**2 # orthogonal moment for E[g_s(X)^2] + mgs_sq = np.mean(phi_gs) # estimate of E[g_s(X)^2] + phi_ss = (y - reg[i])**2 # orthogonal moment for E[(Y - g_s(X))^2] + sigma_sq = np.mean(phi_ss) # estimate of sigma^2 = E[(Y - g_s(X))^2] + Cy = (mg_sq - mgs_sq)/ sigma_sq # estimate of Cy^2 + # influence function for Cy^2 via delta method + inf_y = (phi_g - mg_sq)/sigma_sq + inf_y += - (phi_gs - mgs_sq)/sigma_sq + inf_y += - (mg_sq - mgs_sq) * (phi_ss - sigma_sq) / (sigma_sq**2) + # standard error for Cy^2 + stderr_y = np.sqrt(np.mean(inf_y**2) / inf_y.shape[0]) + + # Estimating dtheta + phi_dtheta = (moment_reg[i] + (y - reg[i]) * reisz[i]) + phi_dtheta -= (moment_reg[0] + (y - reg[0]) * reisz[0]) + dtheta = np.mean(phi_dtheta) + stderr_dtheta = np.sqrt(np.mean((phi_dtheta - dtheta)**2) / phi_dtheta.shape[0]) + + # Estimating rho + denom_g = np.sqrt(np.clip(mg_sq - mgs_sq, 1e-6, np.inf)) + denom_a = np.sqrt(np.clip(ma_sq - mas_sq, 1e-6, np.inf)) + rho = dtheta / (denom_g * denom_a) + phi_rho = (phi_dtheta - dtheta) / (denom_g * denom_a) + phi_rho += - .5 * (phi_g - mg_sq - phi_gs + mgs_sq) * dtheta / ((denom_g**(3)) * denom_a) + phi_rho += - .5 * (phi_a - ma_sq - phi_as + mas_sq) * dtheta / (denom_g * (denom_a**(3))) + stderr_rho = np.sqrt(np.mean(phi_rho**2) / phi_rho.shape[0]) + + if verbose: + print(f'{name}, etasq={etasq:.4f} ({stderr:.4f}), Cd={Cd:.4f}, ' + f'Cy={Cy:.4f} ({stderr_y:.4f}), RV={min(etasq, Cy):.4f}', + f'rho={rho:.4f} ({stderr_rho:.4f})', + f'dtheta={dtheta:.4f} ({stderr_dtheta:.4f})') + all_etasq += [(etasq, stderr)] + all_Cy += [(Cy, stderr_y)] + all_dtheta += [(dtheta, stderr_dtheta)] + all_rho += [(rho, stderr_rho)] + return all_etasq, all_Cy, all_dtheta, all_rho + +def plr_ablation(seed, ablation_groups, moment_fn, get_data_fn, model_y_gen, model_t_gen, verbose): + X, y, num_cols, splits, column_names = get_data_fn(seed) + num_cols_t = [t - 1 for t in num_cols[1:]] + model_t = model_t_gen(num_cols_t, cv=splits, verbose=verbose)(X[:, 1:], X[:, 0]) + model_y = model_y_gen(num_cols_t, cv=splits, verbose=verbose)(X[:, 1:], y) + if verbose: + print('model_t', model_t()) + print('model_y', model_y()) + + rp, mp, regp, mregp = plr_cross_val_reisz_and_reg(model_y(), model_t(), X, y, splits, moment_fn) + reisz, moment, reg, moment_reg = [rp], [mp], [regp], [mregp] + + for name, group in ablation_groups: + if verbose: + print(name) + Xmi = X[:, np.setdiff1d(np.arange(len(column_names)), group)] + rp, mp, regp, mregp = plr_cross_val_reisz_and_reg(model_y(), model_t(), Xmi, y, splits, moment_fn) + reisz += [rp] + moment += [mp] + reg += [regp] + moment_reg += [mregp] + + return ablation_inference(y, moment, reisz, reg, moment_reg, ablation_groups, verbose) + +def ablation(seed, ablation_groups, moment_fn, get_data_fn, reg_fn_gen, rr_fn_gen, verbose): + X, y, num_cols, splits, column_names = get_data_fn(seed) + reisz_fn = rr_fn_gen(moment_fn, num_cols, cv=splits, verbose=verbose)(X) + reg_fn = reg_fn_gen(num_cols, cv=splits, verbose=verbose)(X, y) + if verbose: + print('reisz_model', reisz_fn()) + print('reg_model', reg_fn()) + + rp, mp, regp, mregp = cross_val_reisz_and_reg(reisz_fn(), reg_fn(), X, y, splits, moment_fn) + reisz, moment, reg, moment_reg = [rp], [mp], [regp], [mregp] + + for name, group in ablation_groups: + if verbose: + print(name) + Xmi = X[:, np.setdiff1d(np.arange(len(column_names)), group)] + rp, mp, regp, mregp = cross_val_reisz_and_reg(reisz_fn(), reg_fn(), Xmi, y, splits, moment_fn) + reisz += [rp] + moment += [mp] + reg += [regp] + moment_reg += [mregp] + + return ablation_inference(y, moment, reisz, reg, moment_reg, ablation_groups, verbose) + + +def aggregate(array, median=True): + if median: + agg_point = np.median([r[0] for r in array]) + agg_stderr = np.sqrt(np.median([r[1]**2 + (r[0] - agg_point)**2 for r in array])) + else: + agg_point = np.mean([r[0] for r in array]) + agg_stderr = np.sqrt(np.mean([r[1]**2 for r in array]) + np.var([r[0] for r in array])) + return (agg_point, agg_stderr) + +def process_multiseed(ablation_groups, all_etasq_list, all_Cy_list, all_dtheta_list, all_rho_list, median=True): + all_etasq = list(zip(*all_etasq_list)) + all_Cy = list(zip(*all_Cy_list)) + all_dtheta = list(zip(*all_dtheta_list)) + all_rho = list(zip(*all_rho_list)) + multiseed_etasq = {} + multiseed_Cy = {} + multiseed_dtheta = {} + multiseed_rho = {} + for it, (name, _) in enumerate(ablation_groups): + multiseed_etasq[name] = aggregate(all_etasq[it], median=median) + multiseed_Cy[name] = aggregate(all_Cy[it], median=median) + multiseed_dtheta[name] = aggregate(all_dtheta[it], median=median) + multiseed_rho[name] = aggregate(all_rho[it], median=median) + return multiseed_etasq, multiseed_Cy, multiseed_dtheta, multiseed_rho + + +def plr_ablation_multiseed(ablation_groups, moment_fn, get_data_fn, model_y_gen, model_t_gen, verbose, median=True): + all_etasq_list, all_Cy_list, all_dtheta_list, all_rho_list = [], [], [], [] + for seed in np.arange(123, 128): + all_etasq, all_Cy, all_dtheta, all_rho = plr_ablation(seed, ablation_groups, moment_fn, get_data_fn, model_y_gen, model_t_gen, verbose) + all_etasq_list.append(all_etasq) + all_Cy_list.append(all_Cy) + all_dtheta_list.append(all_dtheta) + all_rho_list.append(all_rho) + return process_multiseed(ablation_groups, all_etasq_list, all_Cy_list, all_dtheta_list, all_rho_list, median=median) + + +def ablation_multiseed(ablation_groups, moment_fn, get_data_fn, reg_fn_gen, rr_fn_gen, verbose, median=True): + all_etasq_list, all_Cy_list, all_dtheta_list, all_rho_list = [], [], [], [] + for seed in np.arange(123, 128): + all_etasq, all_Cy, all_dtheta, all_rho = ablation(seed, ablation_groups, moment_fn, get_data_fn, reg_fn_gen, rr_fn_gen, verbose) + all_etasq_list.append(all_etasq) + all_Cy_list.append(all_Cy) + all_dtheta_list.append(all_dtheta) + all_rho_list.append(all_rho) + return process_multiseed(ablation_groups, all_etasq_list, all_Cy_list, all_dtheta_list, all_rho_list, median=median) \ No newline at end of file diff --git a/T-ADML/gasoline_example/automl.py b/T-ADML/gasoline_example/automl.py new file mode 100644 index 00000000..7535c0a2 --- /dev/null +++ b/T-ADML/gasoline_example/automl.py @@ -0,0 +1,211 @@ +import numpy as np +from sklearn.compose import ColumnTransformer +from sklearn.preprocessing import StandardScaler +from sklearn.pipeline import Pipeline +from econml.sklearn_extensions.model_selection import GridSearchCVList +from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor +from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier +from sklearn.linear_model import LassoCV, LogisticRegressionCV, LinearRegression, Lasso, LogisticRegression +from rfriesz import RFreg, RFrr, poly_feature_fns +from sievereisz import SieveRR, SparseSieveRR, Featurizer +from sklearn.base import clone, BaseEstimator + + +# Generic machine learning regressor with cross validation +def first_stage_reg(numeric_columns=[], cv=None): + return GridSearchCVList([ + Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)], + remainder='passthrough')), + ('lasso', Lasso())]), + Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)], + remainder='passthrough')), + ('feat', Featurizer(degree=1, normalize=False)), + ('lasso', Lasso())]), + RandomForestRegressor(n_estimators=100, random_state=123), + RFreg(reg_feature_fns=poly_feature_fns(10), + min_var_leaf_on_val=True, + min_impurity_decrease=1e-4, max_samples=.85, inference=False, subforest_size=1, + random_state=123) + ], + param_grid_list=[ + {'lasso__alpha': [1e-6, 1e-5, 0.0001, .001, .01, .1, 1, 10]}, + {'lasso__alpha': [1e-6, 1e-5, 0.0001, .001, .01, .1, 1, 10]}, + {'max_depth': [3, 5], + 'min_samples_leaf': [10, 50]}, + {'reg_feature_fns': [poly_feature_fns(2)], + 'min_samples_leaf': [10], + 'min_var_fraction_leaf': [0.01, 0.1], + 'l2': [1e-3, 1e-2]} + ], + cv=cv, + scoring='neg_mean_squared_error', + n_jobs=-1) + +# Returns a function that when called with data (X, y), returns a generator that when called +# returns an un-fitted regression estimator; e.g. the one with the best hyperparameters. +def reg_fn_gen(numeric_columns, cv=None, verbose=0): + def get_reg_fn(X, y): + est = first_stage_reg(numeric_columns, cv=cv).fit(X, y) + if verbose > 0: + print('Chose: ', est.best_score_, est.best_estimator_) + print('Scores: ', [(l.best_score_, l.best_estimator_) for l in est._gcv_list]) + return lambda: clone(est.best_estimator_) + return get_reg_fn + + +# The negative of the reisz score: L(g) := E[2 * m(X;g) - g(X)^2] +def neg_reisz_score_gen(moment_fn): + def neg_reisz_score(model, X): + return np.mean(2 * moment_fn(X, model.predict) - model.predict(X)**2) + return neg_reisz_score + +# A generic machine learning riesz representer estimator with cross-validation +def first_stage_rr(moment_fn, numeric_columns, cv=None): + return GridSearchCVList([ + SieveRR(featurizer=Featurizer(degree=1), moment_fn=moment_fn), + SieveRR(featurizer=Featurizer(degree=2), moment_fn=moment_fn), + SparseSieveRR(featurizer=Featurizer(degree=2), moment_fn=moment_fn, tol=1e-4), + SparseSieveRR(featurizer=Featurizer(degree=1), moment_fn=moment_fn, tol=1e-4), + RFrr(riesz_feature_fns=poly_feature_fns(10), + moment_fn=moment_fn, + min_var_leaf_on_val=True, + min_impurity_decrease=0.001, + max_samples=.65, + inference=False, + subforest_size=1, + random_state=123) + ], + param_grid_list=[ + {'alpha': np.geomspace(1e-6, 1e3, 20)}, + {'alpha': np.geomspace(1e-6, 1e3, 20)}, + {'alpha': np.geomspace(1e-6, 1e3, 20), + 'l1_ratio': [.5, 1.0]}, + {'alpha': np.geomspace(1e-6, 1e3, 20), + 'l1_ratio': [.5, 1.0]}, + {'riesz_feature_fns': [poly_feature_fns(2), poly_feature_fns(3)], + 'min_samples_leaf': [10, 50], + 'min_var_fraction_leaf': [0.01, 0.1], + 'l2': [1e-5, 1e-3], + 'max_depth': [5, None]} + ], + scoring=neg_reisz_score_gen(moment_fn), + cv=cv, verbose=0, n_jobs=-1) + + +# Returns a function that when called with data X, returns a generator that when called +# returns an un-fitted riesz estimator; e.g. the one with the best hyperparameters. +def rr_fn_gen(moment_fn, numeric_columns, cv=None, verbose=0): + def get_rr_fn(X): + est = first_stage_rr(moment_fn, numeric_columns, cv=cv).fit(X) + if verbose > 0: + print('Chose: ', est.best_score_, est.best_estimator_) + print('Scores: ', [(l.best_score_, l.best_estimator_) for l in est._gcv_list]) + return lambda: clone(est.best_estimator_) + return get_rr_fn + + +# Generic machine learning regressor with cross validation +def first_stage_model_y(numeric_columns=[], cv=None): + return GridSearchCVList([ + Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)], + remainder='passthrough')), + ('lasso', Lasso())]), + Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)], + remainder='passthrough')), + ('feat', Featurizer(degree=1, normalize=False)), + ('lasso', Lasso())]), + RandomForestRegressor(n_estimators=100, random_state=123) + ], + param_grid_list=[ + {'lasso__alpha': [1e-6, 1e-5, 0.0001, .001, .01, .1, 1, 10]}, + {'lasso__alpha': [1e-6, 1e-5, 0.0001, .001, .01, .1, 1, 10]}, + {'max_depth': [3, 5], + 'min_samples_leaf': [10, 50]}, + ], + cv=cv, + scoring='neg_mean_squared_error', + n_jobs=-1) + +# Returns a function that when called with data (X, y), returns a generator that when called +# returns an un-fitted regression estimator; e.g. the one with the best hyperparameters. +def model_y_fn_gen(numeric_columns, cv=None, verbose=0): + def get_reg_fn(X, y): + est = first_stage_model_y(numeric_columns, cv=cv).fit(X, y) + if verbose > 0: + print('Chose: ', est.best_score_, est.best_estimator_) + print('Scores: ', [(l.best_score_, l.best_estimator_) for l in est._gcv_list]) + return lambda: clone(est.best_estimator_) + return get_reg_fn + + +class RegRandomForestClassifier(BaseEstimator): + def __init__(self, *, max_depth=None, min_samples_leaf=1): + self.max_depth = max_depth + self.min_samples_leaf = min_samples_leaf + + def fit(self, X, y): + self.model_ = RandomForestClassifier(n_estimators=100, random_state=123, + max_depth=self.max_depth, + min_samples_leaf=self.min_samples_leaf) + self.model_.fit(X, y) + return self + + def predict(self, X): + return self.model_.predict_proba(X)[:, 1] + +class RegLogisticRegression(BaseEstimator): + def __init__(self, *, C=1): + self.C = C + + def fit(self, X, y): + self.model_ = LogisticRegression(C=self.C, max_iter=1000, random_state=123) + self.model_.fit(X, y) + return self + + def predict(self, X): + return self.model_.predict_proba(X)[:, 1] + +# Generic machine learning classifier with cross validation +def first_stage_model_t(numeric_columns=[], cv=None): + return GridSearchCVList([ + Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)], + remainder='passthrough')), + ('lasso', Lasso())]), + Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)], + remainder='passthrough')), + ('feat', Featurizer(degree=1, normalize=False)), + ('lasso', Lasso())]), + Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)], + remainder='passthrough')), + ('lg', RegLogisticRegression())]), + Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)], + remainder='passthrough')), + ('feat', Featurizer(degree=1, normalize=False)), + ('lg', RegLogisticRegression())]), + RandomForestRegressor(n_estimators=100, random_state=123), + RegRandomForestClassifier(), + ], + param_grid_list=[ + {'lasso__alpha': [1e-6, 1e-5, 0.0001, .001, .01, .1, 1, 10]}, + {'lasso__alpha': [1e-6, 1e-5, 0.0001, .001, .01, .1, 1, 10]}, + {'lg__C': [1e-3, 1e-2, 1e-1, 1, 10, 100]}, + {'lg__C': [1e-3, 1e-2, 1e-1, 1, 10, 100]}, + {'max_depth': [3, 5], + 'min_samples_leaf': [10, 50]}, + {'max_depth': [3, 5], + 'min_samples_leaf': [10, 50]}, + ], + cv=cv, + scoring='neg_mean_squared_error', + n_jobs=-1) + +# Returns a function that when called with data (X, y), returns a generator that when called +# returns an un-fitted regression estimator; e.g. the one with the best hyperparameters. +def model_t_fn_gen(numeric_columns, cv=None, verbose=0): + def get_reg_fn(X, y): + est = first_stage_model_t(numeric_columns, cv=cv).fit(X, y) + if verbose > 0: + print('Chose: ', est.best_score_, est.best_estimator_) + print('Scores: ', [(l.best_score_, l.best_estimator_) for l in est._gcv_list]) + return lambda: clone(est.best_estimator_) + return get_reg_fn diff --git a/T-ADML/gasoline_example/debiased.py b/T-ADML/gasoline_example/debiased.py new file mode 100644 index 00000000..f09ad209 --- /dev/null +++ b/T-ADML/gasoline_example/debiased.py @@ -0,0 +1,59 @@ +import numpy as np +from sklearn.base import clone +from sklearn.linear_model import LinearRegression +from sklearn.model_selection import KFold +from utilities import mean_ci +import scipy + +class DebiasedMoment: + + def __init__(self, *, moment_fn, get_reisz_fn, get_reg_fn, n_splits=5): + self.moment_fn = moment_fn + self.get_reisz_fn = get_reisz_fn + self.get_reg_fn = get_reg_fn + self.n_splits = n_splits + + def fit(self, X, y): + y = y.flatten() + if self.n_splits == 1: + splits = [(np.arange(X.shape[0]), np.arange(X.shape[0]))] + elif isinstance(self.n_splits, int): + splits = list(KFold(n_splits=self.n_splits).split(X)) + else: + splits = self.n_splits + + reisz_pred = np.zeros(X.shape[0]) + reg_pred = np.zeros(X.shape[0]) + moment_pred = np.zeros(X.shape[0]) + moment_reisz = np.zeros(X.shape[0]) + self.reisz_models_ = [] + self.reg_models_ = [] + reisz_fn = self.get_reisz_fn(X) + reg_fn = self.get_reg_fn(X, y) + for train, test in splits: + reisz = reisz_fn().fit(X[train]) + reisz_pred[test] = reisz.predict(X[test]) + reg = reg_fn().fit(X[train], y[train]) + reg_pred[test] = reg.predict(X[test]) + moment_pred[test] = self.moment_fn(X[test], reg.predict) + moment_reisz[test] = self.moment_fn(X[test], reisz.predict) + self.reisz_models_.append(reisz) + self.reg_models_.append(reg) + + self.reg_pred_ = reg_pred + self.reisz_pred_ = reisz_pred + self.moment_ = moment_pred + reisz_pred * (y - reg_pred) + self.moment_reisz_ = moment_reisz + self.moment_pred_ = moment_pred + self.y_ = y.copy() + + epsilon = LinearRegression(fit_intercept=False).fit(reisz_pred.reshape(-1, 1), y - reg_pred).coef_[0] + moment_pred = moment_pred + moment_reisz * epsilon + reg_pred = reg_pred + epsilon * reisz_pred + self.tmle_moment_ = moment_pred + reisz_pred * (y - reg_pred) + return self + + def avg_moment(self, alpha=0.05, tmle=False): + if tmle: + return mean_ci(self.tmle_moment_, confidence=1-alpha) + return mean_ci(self.moment_, confidence=1-alpha) diff --git a/T-ADML/gasoline_example/pyproject.toml b/T-ADML/gasoline_example/pyproject.toml new file mode 100644 index 00000000..43949a69 --- /dev/null +++ b/T-ADML/gasoline_example/pyproject.toml @@ -0,0 +1,27 @@ +[project] +name = "adml-gasoline" +version = "0.1.0" +requires-python = ">=3.11" + +dependencies = [ + "numpy>=2.0", + "scipy>=1.14", + "pandas>=2.2", + "matplotlib>=3.9", + "statsmodels>=0.14", + "joblib>=1.4", + "scikit-learn>=1.5", + "econml>=0.15", + # Needed to run the notebook itself + "ipykernel>=6.29", +] + +[dependency-groups] +# Optional: `uv sync --group notebook` if you want the full Jupyter UI +# rather than just a kernel for VS Code / an existing Jupyter install. +notebook = [ + "jupyterlab>=4.2", +] + +[tool.uv] +package = false diff --git a/T-ADML/gasoline_example/python_ADML_gas_local.ipynb b/T-ADML/gasoline_example/python_ADML_gas_local.ipynb new file mode 100644 index 00000000..9163e4d0 --- /dev/null +++ b/T-ADML/gasoline_example/python_ADML_gas_local.ipynb @@ -0,0 +1,735 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Empirical Example for Sensitivity Analysis: Gasoline Demand\n", + "\n", + "This is an adaptation of the replication package for Chernozhukov, Cinelli, Newey, Sharma and Syrgkanis,\n", + "*Long Story Short: Omitted Variable Bias in Causal Machine Learning* \n", + "\n", + "The original replication package can be found __[here](https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/VH6QHQ)__." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "%load_ext autoreload\n", + "%autoreload 2\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import scipy\n", + "import scipy.special\n", + "import joblib\n", + "from statsmodels.api import OLS\n", + "from sklearn.model_selection import StratifiedGroupKFold\n", + "import pandas as pd\n", + "import math\n", + "from sklearn.base import clone\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.linear_model import LassoCV, LogisticRegressionCV, LinearRegression, Lasso, LogisticRegression" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + "from sklearn.exceptions import ConvergenceWarning\n", + "\n", + "warnings.filterwarnings('ignore', category=ConvergenceWarning)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "from sensitivity import dml_sensitivity_bounds, dml_tvalue\n", + "from sensitivity import sensitivity_bounds, tvalue, sensitivity_contours\n", + "from debiased import DebiasedMoment\n", + "from econml.dml import LinearDML" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "from automl import reg_fn_gen, rr_fn_gen" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Setting\n", + "\n", + "The data come from the 2001 National Household Travel Survey and contain household gasoline consumption, gasoline prices, income brackets, and 24 observed controls describing population density, urbanization, demographics, and Census regions. After the sample restrictions used in the earlier demand studies, the analysis contains 3,466 households.\n", + "\n", + "The outcome $Y$ is log gasoline consumption, the treatment $D$ is log gasoline price, and $X^o$ collects the observed controls. Under conditional ignorability, the short regression is\n", + "\n", + "$$g_s(d, x^o) = \\mathrm{E}[Y \\mid D = d, X^o = x^o],$$\n", + "\n", + "and the target is the average causal derivative\n", + "\n", + "$$\\theta_s = \\mathrm{E}\\big\\{\\partial_d\\, g_s(D, X^o)\\big\\}.$$\n", + "\n", + "Because both variables are in logarithms, $\\theta_s$ is the average price elasticity of gasoline demand. Its short Riesz representer is the negative conditional density score,\n", + "\n", + "$$\\alpha_s(D, X^o) = -\\partial_d \\log f_{D \\mid X^o}(D \\mid X^o).$$\n", + "\n", + "The moment function below encodes $m(W_s, g) = \\partial_d\\, g(D, X^o)$. The derivative with respect to log price is approximated by a central finite difference, $\\{g(D + \\epsilon, X^o) - g(D - \\epsilon, X^o)\\}/(2\\epsilon)$ with $\\epsilon = 0.01$." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "# The moment function, whose average we want to estimate: E[m(X; g)]\n", + "def moment_fn(x, test_fn):\n", + " epsilon = 0.01\n", + " t1 = np.hstack([x[:, [0]] + epsilon, x[:, 1:]])\n", + " t0 = np.hstack([x[:, [0]] - epsilon, x[:, 1:]])\n", + " return (test_fn(t1) - test_fn(t0)) / (2*epsilon)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Data\n", + "\n", + "Following the earlier demand studies, households with very low prices or incomes are dropped. Besides the full sample (`q=5`), the analysis uses four income groups. The first three (`q=1,2,3`) are overlapping groups centered near annual incomes of \\$42,500, \\$57,500 and \\$72,500. The fourth (`q=4`) contains high-income households with income above roughly \\$110,000 ($\\log y \\geq 11.6$).\n", + "\n", + "Cross-validation and cross-fitting are grouped by state, so households from the same state remain in the same fold. The folds are stratified by Census region, and region dummies are included as controls." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "# Data loading and manipulation\n", + "\n", + "# for semi-synthetic data generation\n", + "def true_f(X):\n", + " y = (-.7 - .4 * scipy.special.expit(3 * (1 - 2*(X[:, 1] - 10.5)))) * X[:, 0]\n", + " y += scipy.special.expit(3 * (1 - 2 * (X[:, 1] > 11.5)))\n", + " return y\n", + "\n", + "# def true_f(X):\n", + "# y = -.7 * X[:, 0]\n", + "# y += scipy.special.expit(3 * (1 - 2 * (X[:, 1] > 11.5)))\n", + "# return y\n", + "\n", + "def get_data(q=None, synthetic=False, region=True, state=False, region_ids=None, random_seed=123):\n", + " df = pd.read_csv('./BHP2017/data_BHP2_with_region.csv')\n", + " # Throw away low prices and low income due to sample quality as in Chetverikov\n", + " df = df[df[\"log_p\"] > math.log(1.2)]\n", + " df = df[df[\"log_y\"] > math.log(15000)]\n", + " if not ((q==4) | (q==5)): # all data in first three brackets\n", + " df = df[df[\"log_y\"] >= math.log(42500) - .5]\n", + " df = df[df[\"log_y\"] <= math.log(72500) + .5]\n", + " if q == 1:\n", + " df = df[df[\"log_y\"] >= math.log(42500) - .5]\n", + " df = df[df[\"log_y\"] <= math.log(42500) + .5]\n", + " if q == 2:\n", + " df = df[df[\"log_y\"] >= math.log(57500) - .5]\n", + " df = df[df[\"log_y\"] <= math.log(57500) + .5]\n", + " if q == 3:\n", + " df = df[df[\"log_y\"] >= math.log(72500) - .5]\n", + " df = df[df[\"log_y\"] <= math.log(72500) + .5]\n", + " if q == 4:\n", + " df = df[df[\"log_y\"] >= 11.6]\n", + " if region_ids is not None: # Sub-select particular regions\n", + " df = df[np.any([df['region'] == r for r in region_ids], axis=0)]\n", + " Xdf = df.iloc[:, 1:] # Covariates\n", + " X_nostatedum = Xdf.drop([\"distance_oil1000\", \"share\"], axis=1).values \n", + " if state: # whether to control for state id; almost no price variation left\n", + " state_dum = pd.get_dummies(Xdf['state_fips'], prefix=\"state\", drop_first=True)\n", + " Xdf = pd.concat([Xdf, state_dum], axis = 1)\n", + " if region: # whether to control for regrion id\n", + " region_dum = pd.get_dummies(Xdf['region'], prefix=\"region\", drop_first=True)\n", + " Xdf = pd.concat([Xdf, region_dum], axis = 1)\n", + " # Drop instrument and things we've one-hot encoded and weird share variable\n", + " Xdf = Xdf.drop([\"distance_oil1000\", \"state_fips\", \"share\", 'region'], axis=1)\n", + " column_names = Xdf.columns\n", + " X = Xdf.values # to numpy array\n", + " y = df['log_q'].values # outcome to numpy array\n", + " if synthetic: # impute synthetic outcome based on known relationship\n", + " y = true_f(X) + np.random.normal(0, .2, size=X[:, 0].shape)\n", + " print(np.mean(moment_fn(X, true_f)))\n", + " \n", + " # Create state-block-wise and stratified by region folds for cross validation and cross fitting\n", + " cv = StratifiedGroupKFold(n_splits=5, shuffle=True, random_state=random_seed)\n", + " splits = list(cv.split(df, y=df['region'], groups=df['state_fips']))\n", + " return X, y, [0, 1, 6, 7, 8], splits, column_names" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "# global result dictionaries and global parameters\n", + "ests = {}\n", + "res = {}\n", + "res_d = {}\n", + "q_grid = np.arange(1, 6)\n", + "synthetic = False # use synthetic outcome\n", + "verbose = 0\n", + "region = True # control for region" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Short Estimates Under Conditional Ignorability" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# General pipeline for all types of estimators to generate the estimation result we want\n", + "def generic_pipeline(estimator, q_grid, name, n_seeds=5):\n", + " ests = {}\n", + " res = {}\n", + " for q in q_grid:\n", + " print(f'q={q}')\n", + " ests[f'q={q}'] = []\n", + " estimate_list = []\n", + " for random_seed in np.arange(123, 123 + n_seeds):\n", + " X, y, num_cols, splits, column_names = get_data(q, region=region, synthetic=synthetic, random_seed=random_seed)\n", + " estimates, model = estimator(X, y, num_cols, splits)\n", + " print(estimates)\n", + " estimate_list.append(estimates)\n", + " ests[f'q={q}'].append(model)\n", + " estimate_list = np.array(estimate_list)\n", + " res[f'q={q}'] = {}\n", + " res[f'q={q}'][f'{name}'] = {}\n", + " res[f'q={q}'][f'{name}']['point'] = np.mean(estimate_list[:, 0])\n", + " if estimate_list.shape[1] > 2:\n", + " res[f'q={q}'][f'{name}']['stderr'] = np.sqrt(np.mean(estimate_list[:, 1]**2) \n", + " + np.var(estimate_list[:, 0]))\n", + " res[f'q={q}'] = pd.DataFrame(res[f'q={q}']).transpose()\n", + " return pd.concat(res), ests" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "# Transforming results to a nicely printable dataframe where each cell\n", + "# contains point (stderr) [ci_lower, ci_upper]\n", + "def transform_res_to_df(res, q_grid, alpha=None):\n", + " res_f = res.reset_index()\n", + " res_d = {}\n", + " for q in q_grid:\n", + " key = 'all <= 11.6' if q==0 else ('all' if q==5 else f'q={q}')\n", + " res_d[key] = {}\n", + " for method in np.unique(res_f['level_1'].values):\n", + " p = res.loc[(f'q={q}', method), 'point']\n", + " if alpha is not None:\n", + " s = res.loc[(f'q={q}', method), 'stderr']\n", + " error = scipy.stats.norm.ppf(1 - alpha) * s\n", + " l, u = p - error, p + error\n", + " res_d[key][method] = f\"{p:.2f} ({s:.2f}) [{l:.2f}, {u:.2f}]\"\n", + " else:\n", + " res_d[key][method] = f\"{p:.2f}\"\n", + " \n", + " return pd.DataFrame(res_d)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "if synthetic:\n", + " def oracle_estimator(X, y, num_cols, splits):\n", + " return (np.mean(moment_fn(X, true_f)),), None\n", + " res['true'], _ = generic_pipeline(oracle_estimator, q_grid, 'true', n_seeds=1)\n", + " res_d['true'] = transform_res_to_df(res['true'], q_grid)\n", + " display(res_d['true'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Nonparametric Model\n", + "\n", + "The first specification leaves the short regression $g_s(D, X^o)$ unrestricted and targets $\\theta_s = \\mathrm{E}\\{\\partial_d g_s(D, X^o)\\}$ directly. Rather than estimating the conditional density derivative in $\\alpha_s$, which can be unstable, we learn the Riesz representer from the Riesz loss. Model selection is used for both the regression and the representer. Candidate procedures include expanded-feature lasso, forests and local polynomial forests for the regression, and penalized linear Riesz regression or ForestRiesz for the representer. The target and score stay fixed while the approximation class changes." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "# fully non-parametric average derivative estimation\n", + "def nonlinrr(X, y, num_cols, splits):\n", + " get_reisz_fn = rr_fn_gen(moment_fn, num_cols, cv=splits, verbose=verbose)\n", + " get_reg_fn = reg_fn_gen(num_cols, cv=splits, verbose=verbose)\n", + " est = DebiasedMoment(moment_fn=moment_fn,\n", + " get_reisz_fn=get_reisz_fn,\n", + " get_reg_fn=get_reg_fn,\n", + " n_splits=splits)\n", + " est.fit(X, y)\n", + " return est.avg_moment(alpha=.1), est" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "res['rr'], ests['rr'] = generic_pipeline(nonlinrr, q_grid, 'dr')" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
q=1q=2q=3q=4all
dr-0.56 (0.37) [-1.16, 0.04]-0.77 (0.31) [-1.28, -0.26]-0.78 (0.32) [-1.31, -0.25]-1.84 (0.49) [-2.64, -1.04]-0.57 (0.24) [-0.97, -0.18]
\n", + "
" + ], + "text/plain": [ + " q=1 q=2 \\\n", + "dr -0.56 (0.37) [-1.16, 0.04] -0.77 (0.31) [-1.28, -0.26] \n", + "\n", + " q=3 q=4 \\\n", + "dr -0.78 (0.32) [-1.31, -0.25] -1.84 (0.49) [-2.64, -1.04] \n", + "\n", + " all \n", + "dr -0.57 (0.24) [-0.97, -0.18] " + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_d['rr'] = transform_res_to_df(res['rr'], q_grid, alpha=0.05)\n", + "res_d['rr']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Partially Linear Model\n", + "\n", + "The second specification is the partially linear model,\n", + "\n", + "$$Y = \\theta_s D + f_s(X^o) + \\varepsilon, \\qquad \\mathrm{E}[\\varepsilon \\mid D, X^o] = 0,$$\n", + "\n", + "in which the elasticity is constant." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "# partially linear average derivative estimation, with doubleML\n", + "def dml_estimator(X, y, num_cols, splits):\n", + " num_cols = [t - 1 for t in num_cols[1:]]\n", + " model_y = reg_fn_gen(num_cols, cv=splits, verbose=verbose)(X[:, 1:], y)\n", + " model_t = reg_fn_gen(num_cols, cv=splits, verbose=verbose)(X[:, 1:], X[:, 0])\n", + " est = LinearDML(model_y=model_y(),\n", + " model_t=model_t(),\n", + " linear_first_stages=False,\n", + " cv=splits, random_state=123)\n", + " est.fit(y, X[:, 0], W=X[:, 1:], cache_values=True)\n", + " p = est.intercept__inference().point_estimate\n", + " s = est.intercept__inference().stderr\n", + " l, u = est.intercept__inference().conf_int(alpha=.1)\n", + " return (p, s, l, u), est" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "res['dml'], ests['dml'] = generic_pipeline(dml_estimator, q_grid, 'dml')" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
q=1q=2q=3q=4all
dml-0.45 (0.37) [-1.06, 0.17]-0.85 (0.31) [-1.36, -0.33]-0.78 (0.34) [-1.34, -0.22]-1.94 (0.54) [-2.83, -1.06]-0.84 (0.25) [-1.26, -0.43]
\n", + "
" + ], + "text/plain": [ + " q=1 q=2 \\\n", + "dml -0.45 (0.37) [-1.06, 0.17] -0.85 (0.31) [-1.36, -0.33] \n", + "\n", + " q=3 q=4 \\\n", + "dml -0.78 (0.34) [-1.34, -0.22] -1.94 (0.54) [-2.83, -1.06] \n", + "\n", + " all \n", + "dml -0.84 (0.25) [-1.26, -0.43] " + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_d['dml'] = transform_res_to_df(res['dml'], q_grid, alpha=.05)\n", + "res_d['dml']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Sensitivity Results for the Full Sample\n", + "\n", + "For the full sample we report the short elasticity, the sensitivity bounds and their confidence bounds under the scenario $C_Y^2 = 0.03$, $C_D^2 \\approx 0.03$ and $|\\rho| = 1$, together with robustness values." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "table = {}\n", + "table['point'] = '{:.3f} ({:.3f})'.format(res['rr'].loc[(f'q={5}', 'dr'), 'point'],\n", + " res['rr'].loc[(f'q={5}', 'dr'), 'stderr'])\n", + "\n", + "est_list = ests['rr'][f'q={5}']\n", + "table['Bounds'] = '[{:.3f}, {:.3f}]'.format(*sensitivity_bounds(est_list, .03, .03, alpha=None))\n", + "table['CIBounds'] = '[{:.3f}, {:.3f}]'.format(*sensitivity_bounds(est_list, .03, .03, alpha=.05))\n", + "table['RV(v=-1.5)'] = '{:.3f}'.format(tvalue(est_list, value=-1.5, leq=True, alpha=None))\n", + "table['RV(v=-1.5,a=.05)'] = '{:.3f}'.format(tvalue(est_list, value=-1.5, leq=True, alpha=.05))\n", + "table['RV(v=0)'] = '{:.3f}'.format(tvalue(est_list, value=0, leq=False, alpha=None))\n", + "table['RV(v=0,a=.05)'] = '{:.3f}'.format(tvalue(est_list, value=0, leq=False, alpha=.05))" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "table2 = {}\n", + "table2['point'] = '{:.3f} ({:.3f})'.format(res['dml'].loc[(f'q={5}', 'dml'), 'point'],\n", + " res['dml'].loc[(f'q={5}', 'dml'), 'stderr'])\n", + "\n", + "est_list = ests['dml'][f'q={5}']\n", + "table2['Bounds'] = '[{:.3f}, {:.3f}]'.format(*dml_sensitivity_bounds(est_list, .03, .03, alpha=None))\n", + "table2['CIBounds'] = '[{:.3f}, {:.3f}]'.format(*dml_sensitivity_bounds(est_list, .03, .03, alpha=.05))\n", + "table2['RV(v=-1.5)'] = '{:.3f}'.format(dml_tvalue(est_list, value=-1.5, leq=True, alpha=None))\n", + "table2['RV(v=-1.5,a=.05)'] = '{:.3f}'.format(dml_tvalue(est_list, value=-1.5, leq=True, alpha=.05))\n", + "table2['RV(v=0)'] = '{:.3f}'.format(dml_tvalue(est_list, value=0, leq=False, alpha=None))\n", + "table2['RV(v=0,a=.05)'] = '{:.3f}'.format(dml_tvalue(est_list, value=0, leq=False, alpha=.05))" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pointBoundsCIBoundsRV(v=-1.5)RV(v=-1.5,a=.05)RV(v=0)RV(v=0,a=.05)
Non-parametric-0.573 (0.240)[-1.104, -0.043][-1.500, 0.350]0.0520.0300.0330.011
Partially linear-0.844 (0.251)[-1.299, -0.390][-1.712, 0.022]0.0430.0170.0550.029
\n", + "
" + ], + "text/plain": [ + " point Bounds CIBounds \\\n", + "Non-parametric -0.573 (0.240) [-1.104, -0.043] [-1.500, 0.350] \n", + "Partially linear -0.844 (0.251) [-1.299, -0.390] [-1.712, 0.022] \n", + "\n", + " RV(v=-1.5) RV(v=-1.5,a=.05) RV(v=0) RV(v=0,a=.05) \n", + "Non-parametric 0.052 0.030 0.033 0.011 \n", + "Partially linear 0.043 0.017 0.055 0.029 " + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tabledf = pd.DataFrame({'Non-parametric': table, 'Partially linear': table2}).T[['point', 'Bounds', 'CIBounds',\n", + " 'RV(v=-1.5)', 'RV(v=-1.5,a=.05)',\n", + " 'RV(v=0)', 'RV(v=0,a=.05)']]\n", + "tabledf" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "qgr = np.arange(1, 5)\n", + "\n", + "point = [res['rr'].loc[(f'q={q}', 'dr'), 'point'] for q in qgr]\n", + "lower = [res['rr'].loc[(f'q={q}', 'dr'), 'point'] - 1.645*res['rr'].loc[(f'q={q}', 'dr'), 'stderr']\n", + " for q in qgr]\n", + "upper = [res['rr'].loc[(f'q={q}', 'dr'), 'point'] + 1.645*res['rr'].loc[(f'q={q}', 'dr'), 'stderr']\n", + " for q in qgr]\n", + "sens_band = [sensitivity_bounds(ests['rr'][f'q={q}'], .03, .03, alpha=None) for q in qgr]\n", + "sens_band_unc = [sensitivity_bounds(ests['rr'][f'q={q}'], .03, .03, alpha=.05) for q in qgr]\n", + "\n", + "if synthetic:\n", + " true_moment = [res['true'].loc[(f'q={q}', 'true'), 'point'] for q in qgr]\n", + "\n", + "plt.figure(figsize=(5, 5))\n", + "plt.plot(qgr, point)\n", + "plt.fill_between(qgr, lower, upper, alpha=.4, label='5%-95% CI')\n", + "plt.fill_between(qgr, *list(zip(*sens_band)), alpha=.6, label='Bounds')\n", + "plt.fill_between(qgr, *list(zip(*sens_band_unc)), alpha=.2, label='5%-95% Bounds')\n", + "if synthetic:\n", + " plt.plot(qgr, true_moment, label='true')\n", + "plt.xticks(qgr)\n", + "plt.title('Non-parametric')\n", + "plt.legend()\n", + "plt.grid(color = \"0.85\", linewidth = 0.6)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "qgr = np.arange(1, 5)\n", + "\n", + "point = [res['dml'].loc[(f'q={q}', 'dml'), 'point'] for q in qgr]\n", + "lower = [res['dml'].loc[(f'q={q}', 'dml'), 'point'] - 1.645*res['dml'].loc[(f'q={q}', 'dml'), 'stderr']\n", + " for q in qgr]\n", + "upper = [res['dml'].loc[(f'q={q}', 'dml'), 'point'] + 1.645*res['dml'].loc[(f'q={q}', 'dml'), 'stderr']\n", + " for q in qgr]\n", + "sens_band = [dml_sensitivity_bounds(ests['dml'][f'q={q}'], .03, .03, alpha=None) for q in qgr]\n", + "sens_band_unc = [dml_sensitivity_bounds(ests['dml'][f'q={q}'], .03, .03, alpha=.05) for q in qgr]\n", + "\n", + "plt.figure(figsize=(5, 5))\n", + "plt.plot(qgr, point)\n", + "plt.fill_between(qgr, lower, upper, alpha=.4, label='5%-95% CI')\n", + "plt.fill_between(qgr, *list(zip(*sens_band)), alpha=.6, label='Bounds')\n", + "plt.fill_between(qgr, *list(zip(*sens_band_unc)), alpha=.2, label='5%-95% Bounds')\n", + "if synthetic:\n", + " plt.plot(qgr, true_moment, label='true')\n", + "plt.xticks(qgr)\n", + "plt.title('Partially linear')\n", + "plt.legend()\n", + "plt.grid(color = \"0.85\", linewidth = 0.6)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "het (3.13.5.final.0)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/T-ADML/gasoline_example/rfriesz.py b/T-ADML/gasoline_example/rfriesz.py new file mode 100644 index 00000000..20eda14f --- /dev/null +++ b/T-ADML/gasoline_example/rfriesz.py @@ -0,0 +1,701 @@ +from econml.grf._base_grf import BaseGRF +from econml.utilities import cross_product +import numpy as np +import scipy.stats +import statsmodels.api as sm + +def mean_ci(data, confidence=0.95): + a = 1.0 * np.array(data) + n = len(a) + m, se = np.mean(a), scipy.stats.sem(a) + h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1) + return m, m-h, m+h + + +def poly_feature_fns(degree): + def poly(d, sign=1.0): + return lambda x: sign * x[:, [0]]**d + return [poly(t) for t in np.arange(0, degree + 1)] + + +class RFrr(BaseGRF): + """ + A forest that estimates a riesz representer of a linear functional, + using the linear moment equation: + + .. code-block:: + + E[ phi(T,X) phi(T,X)' alpha(x) - m(Z; phi) | X=x] = 0 + + Equivalently it can be viewed as minimizing the loss function: + + .. code-block:: + + E[ (phi(T,X)' alpha(x))^2 - 2 * | X=x] + + + Parameters + ---------- + riesz_feature_fns : list of lambda + A list of functions that each take as input the concatenation of [T;X] and return + either a scalar, representating the value of a feature phi(T,X), or a tuple + of a scalar, where the first entry is the feature and the second the gradient of the + feature with respect to its first argument. This will be used to approximate + the riesz representer function via a local sieve. + + moment_fn : lambda x, fn -> float + A moment function m([T;X], g) that takes as input the concatenation of [T;X] and a + function and return a linear moment. This is the moment whose average value we want + to estimate + + l2 : float, optional (default=0.01) + An l2 penalty added to the covariance matrix J(node)=E[phi(T,X) phi(T,X)' | X in node], + to be used for calculating the local parameter. Equivalent to using a modified jabocian of: + J(node) + lambda * I + + n_estimators : int, default=100 + Number of trees + + criterion : {``"mse"``, ``"het"``}, default="mse" + The function to measure the quality of a split. Supported criteria + are "mse" for the mean squared error in a linear moment estimation tree and "het" for + heterogeneity score. + + - The "mse" criterion finds splits that minimize the score: + + .. code-block:: + + sum_{child} E[ (phi(T,X)' alpha(x))^2 - 2 * | X=child] weight(child) + + sum_{child} E[ ( - Y)^2 | X=child] weight(child) + + Internally, this criterion is approximated by computationally simpler variants for + computational purposes. In particular, it is replaced by:: + + sum_{child} weight(child) * rho1(child).T @ E[phi(T,X) phi(T,X)' | X in child] @ rho1(child) + + sum_{child} weight(child) * rho2(child).T @ E[phi(T,X) phi(T,X)' | X in child] @ rho2(child) + + where: + + .. code-block:: + + rho1(child) := E[phi(T,X) phi(T,X)' | X in parent]^{-1} + * E[m(Z; phi) - phi(T,X) phi(T,X)'alpha(parent) | X in child] + rho2(child) := E[phi(T,X) phi(T,X)' | X in parent]^{-1} + * E[(Y - `min_var_fraction_leaf` * E[T[i]^2] + + When ``T`` is the residual treatment (i.e. centered), this translates to a requirement that + + .. code-block:: + + for all i in {1, ..., T.shape[1]}: + Var(T[i] | X in leaf) > `min_var_fraction_leaf` * Var(T[i]) + + - If ``criterion='mse'``, because the criterion stores more information about the leaf for + every candidate split, then this constraint imposes further constraints on the pairwise correlations + of different coordinates of each treatment, i.e.: + + .. code-block:: + + for all i neq j: + sqrt(Var(T[i]|X in leaf) * Var(T[j]|X in leaf) * (1 - rho(T[i], T[j]| in leaf)^2)) + > `min_var_fraction_leaf` sqrt(Var(T[i]) * Var(T[j]) * (1 - rho(T[i], T[j])^2)) + + where rho(X, Y) is the Pearson correlation coefficient of two random variables X, Y. Thus this + constraint also enforces that no two pairs of treatments be very co-linear within a leaf. This + extra constraint primarily has bite in the case of more than two input treatments and also avoids + leafs where the parameter estimate has large variance due to local co-linearities of the treatments. + + min_var_leaf_on_val : bool, default=False + Whether the `min_var_fraction_leaf` constraint should also be enforced to hold on the validation set of the + honest split too. If `min_var_leaf=None` then this flag does nothing. Setting this to True should + be done with caution, as this partially violates the honesty structure, since the treatment variable + of the validation set is used to inform the split structure of the tree. However, this is a benign + dependence as it only uses local correlation structure of the treatment T to decide whether + a split is feasible. + + max_features : int, float or {"auto", "sqrt", "log2"}, default=None + The number of features to consider when looking for the best split: + + - If int, then consider `max_features` features at each split. + - If float, then `max_features` is a fraction and + `int(max_features * n_features)` features are considered at each + split. + - If "auto", then `max_features=n_features`. + - If "sqrt", then `max_features=sqrt(n_features)`. + - If "log2", then `max_features=log2(n_features)`. + - If None, then `max_features=n_features`. + + Note: the search for a split does not stop until at least one + valid partition of the node samples is found, even if it requires to + effectively inspect more than ``max_features`` features. + + min_impurity_decrease : float, default=0.0 + A node will be split if this split induces a decrease of the impurity + greater than or equal to this value. + The weighted impurity decrease equation is the following:: + + N_t / N * (impurity - N_t_R / N_t * right_impurity + - N_t_L / N_t * left_impurity) + + where ``N`` is the total number of samples, ``N_t`` is the number of + samples at the current node, ``N_t_L`` is the number of samples in the + left child, and ``N_t_R`` is the number of samples in the right child. + ``N``, ``N_t``, ``N_t_R`` and ``N_t_L`` all refer to the weighted sum, + if ``sample_weight`` is passed. + + max_samples : int or float in (0, 1], default=.45, + The number of samples to use for each subsample that is used to train each tree: + + - If int, then train each tree on `max_samples` samples, sampled without replacement from all the samples + - If float, then train each tree on ceil(`max_samples` * `n_samples`), sampled without replacement + from all the samples. + + If ``inference=True``, then `max_samples` must either be an integer smaller than `n_samples//2` or a float + less than or equal to .5. + + min_balancedness_tol: float in [0, .5], default=.45 + How imbalanced a split we can tolerate. This enforces that each split leaves at least + (.5 - min_balancedness_tol) fraction of samples on each side of the split; or fraction + of the total weight of samples, when sample_weight is not None. Default value, ensures + that at least 5% of the parent node weight falls in each side of the split. Set it to 0.0 for no + balancedness and to .5 for perfectly balanced splits. For the formal inference theory + to be valid, this has to be any positive constant bounded away from zero. + + honest : bool, default=True + Whether each tree should be trained in an honest manner, i.e. the training set is split into two equal + sized subsets, the train and the val set. All samples in train are used to create the split structure + and all samples in val are used to calculate the value of each node in the tree. + + inference : bool, default=True + Whether inference (i.e. confidence interval construction and uncertainty quantification of the estimates) + should be enabled. If `inference=True`, then the estimator uses a bootstrap-of-little-bags approach + to calculate the covariance of the parameter vector, with am objective Bayesian debiasing correction + to ensure that variance quantities are positive. + + subforest_size : int, default=4, + The number of trees in each sub-forest that is used in the bootstrap-of-little-bags calculation. + The parameter `n_estimators` must be divisible by `subforest_size`. Should typically be a small constant. + + n_jobs : int or None, default=-1 + The number of parallel jobs to be used for parallelism; follows joblib semantics. + ``n_jobs=-1`` means all available cpu cores. ``n_jobs=None`` means no parallelism. + + random_state : int, RandomState instance or None, default=None + Controls the randomness of the estimator. The features are always + randomly permuted at each split. When ``max_features < n_features``, the algorithm will + select ``max_features`` at random at each split before finding the best + split among them. But the best found split may vary across different + runs, even if ``max_features=n_features``. That is the case, if the + improvement of the criterion is identical for several splits and one + split has to be selected at random. To obtain a deterministic behaviour + during fitting, ``random_state`` has to be fixed to an integer. + + verbose : int, default=0 + Controls the verbosity when fitting and predicting. + + warm_start : bool, default=``False`` + When set to ``True``, reuse the solution of the previous call to fit + and add more estimators to the ensemble, otherwise, just fit a whole + new forest. If ``True``, then `oob_predict` method for out-of-bag predictions is not available. + + Attributes + ---------- + feature_importances_ : ndarray of shape (n_features,) + The feature importances based on the amount of parameter heterogeneity they create. + The higher, the more important the feature. + The importance of a feature is computed as the (normalized) total heterogeneity that the feature + creates. Each split that the feature was chosen adds:: + + parent_weight * (left_weight * right_weight) + * mean((value_left[k] - value_right[k])**2) / parent_weight**2 + + to the importance of the feature. Each such quantity is also weighted by the depth of the split. + By default splits below ``max_depth=4`` are not used in this calculation and also each split + at depth `depth`, is re-weighted by ``1 / (1 + `depth`)**2.0``. See the method ``feature_importances`` + for a method that allows one to change these defaults. + + estimators_ : list of objects of type :class:`~econml.grf.GRFTree` + The fitted trees. + """ + + def __init__(self, *, + riesz_feature_fns, + moment_fn, + l2=0.01, + n_estimators=100, + criterion="mse", + max_depth=None, + min_samples_split=10, + min_samples_leaf=5, + min_weight_fraction_leaf=0., + min_var_fraction_leaf=None, + min_var_leaf_on_val=False, + max_features="auto", + min_impurity_decrease=0., + max_samples=.45, + min_balancedness_tol=.45, + honest=True, + inference=True, + fit_intercept=True, + subforest_size=4, + n_jobs=-1, + random_state=None, + verbose=0, + warm_start=False): + self.riesz_feature_fns = riesz_feature_fns + self.moment_fn = moment_fn + self.l2 = l2 + super().__init__(n_estimators=n_estimators, + criterion=criterion, + max_depth=max_depth, + min_samples_split=min_samples_split, + min_samples_leaf=min_samples_leaf, + min_weight_fraction_leaf=min_weight_fraction_leaf, + min_var_fraction_leaf=min_var_fraction_leaf, + min_var_leaf_on_val=min_var_leaf_on_val, + max_features=max_features, + min_impurity_decrease=min_impurity_decrease, + max_samples=max_samples, + min_balancedness_tol=min_balancedness_tol, + honest=honest, + inference=inference, + fit_intercept=False, + subforest_size=subforest_size, + n_jobs=n_jobs, + random_state=random_state, + verbose=verbose, + warm_start=warm_start) + + def _get_alpha_and_pointJ(self, X, T, y): + n_riesz_feats = len(self.riesz_feature_fns) + TX = np.hstack([T, X]) + riesz_feats = np.hstack([feat_fn(TX) + for feat_fn in self.riesz_feature_fns]) + mfeats = np.hstack([self.moment_fn(TX, feat_fn) + for feat_fn in self.riesz_feature_fns]) + alpha = np.zeros((X.shape[0], n_riesz_feats)) + alpha[:, :n_riesz_feats] = mfeats + riesz_cov_matrix = cross_product(riesz_feats, riesz_feats).reshape( + (X.shape[0], n_riesz_feats, n_riesz_feats)) + penalty = self.l2 * np.eye(n_riesz_feats) + penalty[0, 0] = 0 + pointJ = riesz_cov_matrix + penalty + return alpha, pointJ.reshape((X.shape[0], -1)) + + def _get_n_outputs_decomposition(self, X, T, y): + n_relevant_outputs = len(self.riesz_feature_fns) + n_outputs = n_relevant_outputs + return n_outputs, n_relevant_outputs + + def _translate(self, point, TX): + riesz_feats = np.hstack([feat_fn(TX) + for feat_fn in self.riesz_feature_fns]) + n_riesz_feats = riesz_feats.shape[1] + riesz = np.sum(point[:, :n_riesz_feats] * riesz_feats, axis=1) + return riesz + + def fit(self, X): + return super().fit(X[:, 1:], X[:, [0]], X[:, [0]]) + + def predict(self, X_test): + point = super().predict(X_test[:, 1:]) + return self._translate(point, X_test) + + + +class RFreg(BaseGRF): + """ + A forest that estimates a regression function with pre-specified features, + using the linear moment equations: + + .. code-block:: + + E[ ( - Y) phi(T, X) | X=x] = 0 + + Equivalently it can be viewed as minimizing jointly the loss functions: + + .. code-block:: + + E[ ( - Y)^2 | X=x] + + + Parameters + ---------- + reg_feature_fns : list of lambda + A list of functions that each take as input the concatenation of [T;X] and return + either a scalar, representating the value of a feature phi(T,X), or a tuple + of a scalar, where the first entry is the feature and the second the gradient of the + feature with respect to its first argument. This will be used to approximate + the regression function via a local sieve. + + l2 : float, optional (default=0.01) + An l2 penalty added to the covariance matrix J(node)=E[phi(T,X) phi(T,X)' | X in node], + to be used for calculating the local parameter. Equivalent to using a modified jabocian of: + J(node) + lambda * I + + n_estimators : int, default=100 + Number of trees + + criterion : {``"mse"``, ``"het"``}, default="mse" + The function to measure the quality of a split. Supported criteria + are "mse" for the mean squared error in a linear moment estimation tree and "het" for + heterogeneity score. + + - The "mse" criterion finds splits that minimize the score: + + .. code-block:: + + sum_{child} E[ (phi(T,X)' alpha(x))^2 - 2 * | X=child] weight(child) + + sum_{child} E[ ( - Y)^2 | X=child] weight(child) + + Internally, this criterion is approximated by computationally simpler variants for + computational purposes. In particular, it is replaced by:: + + sum_{child} weight(child) * rho1(child).T @ E[phi(T,X) phi(T,X)' | X in child] @ rho1(child) + + sum_{child} weight(child) * rho2(child).T @ E[phi(T,X) phi(T,X)' | X in child] @ rho2(child) + + where: + + .. code-block:: + + rho1(child) := E[phi(T,X) phi(T,X)' | X in parent]^{-1} + * E[m(Z; phi) - phi(T,X) phi(T,X)'alpha(parent) | X in child] + rho2(child) := E[phi(T,X) phi(T,X)' | X in parent]^{-1} + * E[(Y - `min_var_fraction_leaf` * E[T[i]^2] + + When ``T`` is the residual treatment (i.e. centered), this translates to a requirement that + + .. code-block:: + + for all i in {1, ..., T.shape[1]}: + Var(T[i] | X in leaf) > `min_var_fraction_leaf` * Var(T[i]) + + - If ``criterion='mse'``, because the criterion stores more information about the leaf for + every candidate split, then this constraint imposes further constraints on the pairwise correlations + of different coordinates of each treatment, i.e.: + + .. code-block:: + + for all i neq j: + sqrt(Var(T[i]|X in leaf) * Var(T[j]|X in leaf) * (1 - rho(T[i], T[j]| in leaf)^2)) + > `min_var_fraction_leaf` sqrt(Var(T[i]) * Var(T[j]) * (1 - rho(T[i], T[j])^2)) + + where rho(X, Y) is the Pearson correlation coefficient of two random variables X, Y. Thus this + constraint also enforces that no two pairs of treatments be very co-linear within a leaf. This + extra constraint primarily has bite in the case of more than two input treatments and also avoids + leafs where the parameter estimate has large variance due to local co-linearities of the treatments. + + min_var_leaf_on_val : bool, default=False + Whether the `min_var_fraction_leaf` constraint should also be enforced to hold on the validation set of the + honest split too. If `min_var_leaf=None` then this flag does nothing. Setting this to True should + be done with caution, as this partially violates the honesty structure, since the treatment variable + of the validation set is used to inform the split structure of the tree. However, this is a benign + dependence as it only uses local correlation structure of the treatment T to decide whether + a split is feasible. + + max_features : int, float or {"auto", "sqrt", "log2"}, default=None + The number of features to consider when looking for the best split: + + - If int, then consider `max_features` features at each split. + - If float, then `max_features` is a fraction and + `int(max_features * n_features)` features are considered at each + split. + - If "auto", then `max_features=n_features`. + - If "sqrt", then `max_features=sqrt(n_features)`. + - If "log2", then `max_features=log2(n_features)`. + - If None, then `max_features=n_features`. + + Note: the search for a split does not stop until at least one + valid partition of the node samples is found, even if it requires to + effectively inspect more than ``max_features`` features. + + min_impurity_decrease : float, default=0.0 + A node will be split if this split induces a decrease of the impurity + greater than or equal to this value. + The weighted impurity decrease equation is the following:: + + N_t / N * (impurity - N_t_R / N_t * right_impurity + - N_t_L / N_t * left_impurity) + + where ``N`` is the total number of samples, ``N_t`` is the number of + samples at the current node, ``N_t_L`` is the number of samples in the + left child, and ``N_t_R`` is the number of samples in the right child. + ``N``, ``N_t``, ``N_t_R`` and ``N_t_L`` all refer to the weighted sum, + if ``sample_weight`` is passed. + + max_samples : int or float in (0, 1], default=.45, + The number of samples to use for each subsample that is used to train each tree: + + - If int, then train each tree on `max_samples` samples, sampled without replacement from all the samples + - If float, then train each tree on ceil(`max_samples` * `n_samples`), sampled without replacement + from all the samples. + + If ``inference=True``, then `max_samples` must either be an integer smaller than `n_samples//2` or a float + less than or equal to .5. + + min_balancedness_tol: float in [0, .5], default=.45 + How imbalanced a split we can tolerate. This enforces that each split leaves at least + (.5 - min_balancedness_tol) fraction of samples on each side of the split; or fraction + of the total weight of samples, when sample_weight is not None. Default value, ensures + that at least 5% of the parent node weight falls in each side of the split. Set it to 0.0 for no + balancedness and to .5 for perfectly balanced splits. For the formal inference theory + to be valid, this has to be any positive constant bounded away from zero. + + honest : bool, default=True + Whether each tree should be trained in an honest manner, i.e. the training set is split into two equal + sized subsets, the train and the val set. All samples in train are used to create the split structure + and all samples in val are used to calculate the value of each node in the tree. + + inference : bool, default=True + Whether inference (i.e. confidence interval construction and uncertainty quantification of the estimates) + should be enabled. If `inference=True`, then the estimator uses a bootstrap-of-little-bags approach + to calculate the covariance of the parameter vector, with am objective Bayesian debiasing correction + to ensure that variance quantities are positive. + + subforest_size : int, default=4, + The number of trees in each sub-forest that is used in the bootstrap-of-little-bags calculation. + The parameter `n_estimators` must be divisible by `subforest_size`. Should typically be a small constant. + + n_jobs : int or None, default=-1 + The number of parallel jobs to be used for parallelism; follows joblib semantics. + ``n_jobs=-1`` means all available cpu cores. ``n_jobs=None`` means no parallelism. + + random_state : int, RandomState instance or None, default=None + Controls the randomness of the estimator. The features are always + randomly permuted at each split. When ``max_features < n_features``, the algorithm will + select ``max_features`` at random at each split before finding the best + split among them. But the best found split may vary across different + runs, even if ``max_features=n_features``. That is the case, if the + improvement of the criterion is identical for several splits and one + split has to be selected at random. To obtain a deterministic behaviour + during fitting, ``random_state`` has to be fixed to an integer. + + verbose : int, default=0 + Controls the verbosity when fitting and predicting. + + warm_start : bool, default=``False`` + When set to ``True``, reuse the solution of the previous call to fit + and add more estimators to the ensemble, otherwise, just fit a whole + new forest. If ``True``, then `oob_predict` method for out-of-bag predictions is not available. + + Attributes + ---------- + feature_importances_ : ndarray of shape (n_features,) + The feature importances based on the amount of parameter heterogeneity they create. + The higher, the more important the feature. + The importance of a feature is computed as the (normalized) total heterogeneity that the feature + creates. Each split that the feature was chosen adds:: + + parent_weight * (left_weight * right_weight) + * mean((value_left[k] - value_right[k])**2) / parent_weight**2 + + to the importance of the feature. Each such quantity is also weighted by the depth of the split. + By default splits below ``max_depth=4`` are not used in this calculation and also each split + at depth `depth`, is re-weighted by ``1 / (1 + `depth`)**2.0``. See the method ``feature_importances`` + for a method that allows one to change these defaults. + + estimators_ : list of objects of type :class:`~econml.grf.GRFTree` + The fitted trees. + """ + + def __init__(self, *, + reg_feature_fns, + l2=0.01, + n_estimators=100, + criterion="mse", + max_depth=None, + min_samples_split=10, + min_samples_leaf=5, + min_weight_fraction_leaf=0., + min_var_fraction_leaf=None, + min_var_leaf_on_val=False, + max_features="auto", + min_impurity_decrease=0., + max_samples=.45, + min_balancedness_tol=.45, + honest=True, + inference=True, + fit_intercept=True, + subforest_size=4, + n_jobs=-1, + random_state=None, + verbose=0, + warm_start=False): + self.reg_feature_fns = reg_feature_fns + self.l2 = l2 + super().__init__(n_estimators=n_estimators, + criterion=criterion, + max_depth=max_depth, + min_samples_split=min_samples_split, + min_samples_leaf=min_samples_leaf, + min_weight_fraction_leaf=min_weight_fraction_leaf, + min_var_fraction_leaf=min_var_fraction_leaf, + min_var_leaf_on_val=min_var_leaf_on_val, + max_features=max_features, + min_impurity_decrease=min_impurity_decrease, + max_samples=max_samples, + min_balancedness_tol=min_balancedness_tol, + honest=honest, + inference=inference, + fit_intercept=False, + subforest_size=subforest_size, + n_jobs=n_jobs, + random_state=random_state, + verbose=verbose, + warm_start=warm_start) + + def fit(self, X, y): + return super().fit(X[:, 1:], X[:, [0]], y) + + def _get_alpha_and_pointJ(self, X, T, y): + n_reg_feats = len(self.reg_feature_fns) + n_feats = n_reg_feats + TX = np.hstack([T, X]) + reg_feats = np.hstack([feat_fn(TX) + for feat_fn in self.reg_feature_fns]) + alpha = y.reshape(-1, 1) * reg_feats + reg_cov_matrix = cross_product(reg_feats, reg_feats).reshape( + (X.shape[0], n_reg_feats, n_reg_feats)) + penalty = self.l2 * np.eye(n_reg_feats) + penalty[0, 0] = 0 + pointJ = reg_cov_matrix + penalty + return alpha, pointJ.reshape((X.shape[0], -1)) + + def _get_n_outputs_decomposition(self, X, T, y): + n_relevant_outputs = len(self.reg_feature_fns) + n_outputs = n_relevant_outputs + return n_outputs, n_relevant_outputs + + def _translate(self, point, TX): + reg_feats = np.hstack([feat_fn(TX) + for feat_fn in self.reg_feature_fns]) + reg = np.sum(point * reg_feats, axis=1) + return reg + + def predict(self, X_test): + point = super().predict(X_test[:, 1:]) + return self._translate(point, X_test) diff --git a/T-ADML/gasoline_example/sensitivity.py b/T-ADML/gasoline_example/sensitivity.py new file mode 100644 index 00000000..90e2eda2 --- /dev/null +++ b/T-ADML/gasoline_example/sensitivity.py @@ -0,0 +1,185 @@ +import numpy as np +import scipy + +def moment_estimate(est, inds=None): + if inds is None: + inds = np.arange(est.moment_reisz_.shape[0]) + theta = np.mean(est.moment_[inds]) + psi_theta = est.moment_[inds] - theta + return theta, np.sqrt(np.mean(psi_theta**2) / psi_theta.shape[0]) + +def sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=None, inds=None): + ''' Sensitivity bound based on a single trained doubly robust + average moment model and for some sensitivity parameters `eta_ysq` + and `eta_asq`. If `alpha` is float, incorporates sampling uncertainty + at the `alpha` level. If `inds` is specified, then only samples in `inds` + are used for the estimation and reporting. Useful for sub-group analysis. + ''' + if inds is None: + inds = np.arange(est.moment_reisz_.shape[0]) + nusq = np.mean(2 * est.moment_reisz_[inds] - est.reisz_pred_[inds]**2) + sigmasq = np.mean((est.y_[inds] - est.reg_pred_[inds])**2) + S = np.sqrt(sigmasq * nusq) + + Casq = eta_asq / (1 - eta_asq) + Cgsq = eta_ysq + theta = np.mean(est.moment_[inds]) + error = S * np.sqrt(Casq * Cgsq) + + if alpha is None: + return theta - error, theta + error + + psi_theta = est.moment_[inds] - theta + psi_sigmasq = (est.y_[inds] - est.reg_pred_[inds])**2 - sigmasq + psi_nusq = 2 * est.moment_reisz_[inds] - est.reisz_pred_[inds]**2 - nusq + + phi_plus = psi_theta + (np.sqrt(Casq * Cgsq) / (2 * S)) * (sigmasq * psi_nusq + nusq * psi_sigmasq) + stderr_plus = np.sqrt(np.mean(phi_plus**2) / phi_plus.shape[0]) + + phi_minus = psi_theta - (np.sqrt(Casq * Cgsq) / (2 * S)) * (sigmasq * psi_nusq + nusq * psi_sigmasq) + stderr_minus = np.sqrt(np.mean(phi_minus**2) / phi_minus.shape[0]) + return theta - error, stderr_minus, theta + error, stderr_plus + +def sensitivity_bounds(est_list, eta_ysq, eta_asq, alpha=None, inds=None): + ''' Sensitivity bound based on a many trained doubly robust + average moment models and for some sensitivity parameters `eta_ysq` + and `eta_asq`. If `alpha` is float, incorporates sampling uncertainty + at the `alpha` level. If `inds` is specified, then only samples in `inds` + are used for the estimation and reporting. Useful for sub-group analysis. + ''' + if alpha is None: + lower, upper = zip(*[sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=alpha, inds=inds) for est in est_list]) + return np.mean(lower), np.mean(upper) + else: + lower, std_lower, upper, std_upper = zip(*[sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=alpha, inds=inds) + for est in est_list]) + std_lower = np.array(std_lower) + std_upper = np.array(std_upper) + lower = np.mean(lower) - scipy.stats.norm.ppf(1 - alpha) * np.sqrt(np.mean(std_lower**2) + np.var(lower)) + upper = np.mean(upper) + scipy.stats.norm.ppf(1 - alpha) * np.sqrt(np.mean(std_upper**2) + np.var(upper)) + return lower, upper + +def tvalue(est_list, value=0, leq=None, alpha=None, inds=None): + ''' Robustness value based on a many trained doubly robust + average moment models and for some target `value`. If `alpha` is + float, incorporates sampling uncertainty at the `alpha` level. + If `leq=True`, then checks that the bounds interval overlaps with the + `[-infty, value]` interval, and if `leq=False`, checks if it overlaps + with the `[value, infty]` interval. Otherwise, if `leq=None` it checks + if the bounds interval contains `value`. If `inds` is specified, then + only samples in `inds` are used for the estimation and reporting. + Useful for sub-group analysis. + ''' + for t in np.linspace(0, 1, 1000): + l, u = sensitivity_bounds(est_list, t, t, alpha=alpha, inds=inds) + if (leq is None) & (value >= l) & (value <= u): + break + if (leq == True) & (value >= l): + break + if (leq == False) & (value <= u): + break + return t + +def sensitivity_contours(est_list, a_upper, y_upper, alpha=None, inds=None): + ''' Sensitivity bounds contour plots based on a many trained doubly robust + average moment models. If `alpha` is float, incorporates sampling uncertainty + at the `alpha` level. Sensitivity parameter `eta_ysq` ranges in `[0, y_upper]` + and parameter `eta_asq` ranges in `[0, a_upper]`. + ''' + xlist = np.linspace(0, a_upper, 100) + ylist = np.linspace(0, y_upper, 100) + X, Y = np.meshgrid(xlist, ylist) + Zlower = np.zeros(X.shape) + Zupper = np.zeros(X.shape) + for itx in np.arange(X.shape[1]): + for ity in np.arange(X.shape[0]): + l, u = sensitivity_bounds(est_list, Y[ity, itx], X[ity, itx], alpha=alpha, inds=inds) + Zlower[ity, itx] = l + Zupper[ity, itx] = u + + return X, Y, Zlower, Zupper + +def dml_sensitivity_contours(est_list, a_upper, y_upper, alpha=None, inds=None): + ''' Specialized for linear DML. Sensitivity bounds contour plots based on a many trained doubly robust + average moment models. If `alpha` is float, incorporates sampling uncertainty + at the `alpha` level. Sensitivity parameter `eta_ysq` ranges in `[0, y_upper]` + and parameter `eta_asq` ranges in `[0, a_upper]`. + ''' + xlist = np.linspace(0, a_upper, 100) + ylist = np.linspace(0, y_upper, 100) + X, Y = np.meshgrid(xlist, ylist) + Zlower = np.zeros(X.shape) + Zupper = np.zeros(X.shape) + for itx in np.arange(X.shape[1]): + for ity in np.arange(X.shape[0]): + l, u = dml_sensitivity_bounds(est_list, Y[ity, itx], X[ity, itx], alpha=alpha, inds=inds) + Zlower[ity, itx] = l + Zupper[ity, itx] = u + + return X, Y, Zlower, Zupper + +def dml_estimate(est, inds=None): + if inds is None: + inds = np.arange(est.residuals_[0].shape[0]) + yres, Tres, _, _ = est.residuals_ + yres, Tres = yres[inds], Tres[inds] + nusq = np.mean(Tres ** 2) + theta = np.mean(yres * Tres) / nusq + psi_theta = (yres - Tres * theta) * Tres / nusq + return theta, np.sqrt(np.mean(psi_theta**2)/psi_theta.shape[0]) + +def dml_sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=None, inds=None): + ''' Sensitivity analysis, specialized for the partially linear DML moment + E[(yres - theta * Tres) * Tres]. `est` is a `LinearDML` estimator fitted + with `cache_values=True` so that residuals are being stored after fitting. + ''' + if inds is None: + inds = np.arange(est.residuals_[0].shape[0]) + yres, Tres, _, _ = est.residuals_ + yres, Tres = yres[inds], Tres[inds] + nusq = np.mean(Tres ** 2) + theta = np.mean(yres * Tres) / nusq + sigmasq = np.mean((yres - Tres * theta)**2) + S = np.sqrt(sigmasq / nusq) + Casq = eta_asq / (1 - eta_asq) + Cgsq = eta_ysq + error = S * np.sqrt(Casq * Cgsq) + + if alpha is None: + return theta - error, theta + error + + psi_theta = (yres - Tres * theta) * Tres / nusq + psi_sigmasq = (yres - Tres * theta)**2 - sigmasq + psi_nusq = Tres**2 - nusq + + phi_plus = psi_theta + (np.sqrt(Casq * Cgsq) / (2 * S)) * (-(sigmasq/(nusq**2)) * psi_nusq + (1/nusq) * psi_sigmasq) + stderr_plus = np.sqrt(np.mean(phi_plus**2) / phi_plus.shape[0]) + + phi_minus = psi_theta - (np.sqrt(Casq * Cgsq) / (2 * S)) * (-(sigmasq/(nusq**2)) * psi_nusq + (1/nusq) * psi_sigmasq) + stderr_minus = np.sqrt(np.mean(phi_minus**2) / phi_minus.shape[0]) + return theta - error, stderr_minus, theta + error, stderr_plus + +def dml_sensitivity_bounds(est_list, eta_ysq, eta_asq, alpha=None, inds=None): + if alpha is None: + lower, upper = zip(*[dml_sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=alpha, inds=inds) + for est in est_list]) + return np.mean(lower), np.mean(upper) + else: + lower, std_lower, upper, std_upper = zip(*[dml_sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=alpha, inds=inds) + for est in est_list]) + std_lower = np.array(std_lower) + std_upper = np.array(std_upper) + lower = np.mean(lower) - scipy.stats.norm.ppf(1 - alpha) * np.sqrt(np.mean(std_lower**2) + np.var(lower)) + upper = np.mean(upper) + scipy.stats.norm.ppf(1 - alpha) * np.sqrt(np.mean(std_upper**2) + np.var(upper)) + return lower, upper + +def dml_tvalue(est, value=0, leq=None, alpha=None, inds=None): + for t in np.linspace(0, 1, 1000): + l, u = dml_sensitivity_bounds(est, t, t, alpha=alpha, inds=inds) + if (leq is None) & (value >= l) & (value <= u): + break + if (leq == True) & (value >= l): + break + if (leq == False) & (value <= u): + break + return t diff --git a/T-ADML/gasoline_example/sievereisz.py b/T-ADML/gasoline_example/sievereisz.py new file mode 100644 index 00000000..1b706565 --- /dev/null +++ b/T-ADML/gasoline_example/sievereisz.py @@ -0,0 +1,124 @@ +from sklearn.base import BaseEstimator +import numpy as np +from sklearn.base import TransformerMixin, BaseEstimator, clone +from econml.utilities import cross_product +from sklearn.preprocessing import PolynomialFeatures, StandardScaler +import scipy +from scipy.optimize import fmin_l_bfgs_b + +class Featurizer(TransformerMixin, BaseEstimator): + ''' Creates features of the form X[:, 1:] * poly(X[:, 0]) + i.e. some polynomial of the treatment, multiplied by some other feature. + ''' + + def __init__(self, *, degree=1, normalize=True): + self.degree = degree + self.normalize = normalize + + def _transform(self, X): + Tfeats = PolynomialFeatures(degree=self.degree, include_bias=True).fit_transform(X[:, [0]]) + feats = cross_product(Tfeats, X[:, 1:]) + return feats + + def fit(self, X, y=None): + if self.normalize: + self.scaler_ = StandardScaler().fit(self._transform(X)) + return self + + def transform(self, X): + if self.normalize: + return self.scaler_.transform(self._transform(X)) + return self._transform(X) + +class SieveRR(BaseEstimator): + ''' Linear sieve representation learning with some feature map and + l2 penalty. + ''' + + def __init__(self, *, featurizer, moment_fn, alpha=0): + self.alpha = alpha + self.featurizer = featurizer + self.moment_fn = moment_fn + + def fit(self, X): + self.featurizer_ = clone(self.featurizer).fit(X) + n_samples = X.shape[0] + Xfeats = self.featurizer_.transform(X) + Xfeats = np.hstack([np.ones((Xfeats.shape[0], 1)), Xfeats]) + n_feats = Xfeats.shape[1] + Mfeats = np.zeros((n_samples, n_feats)) + for t in np.arange(n_feats): + if t == 0: + feat_fn = lambda x: np.ones(x.shape[0]) + else: + feat_fn = lambda x: self.featurizer_.transform(x)[:, t - 1] + Mfeats[:, t] = self.moment_fn(X, feat_fn) + Sigma = Xfeats.T @ Xfeats / n_samples + reg = self.alpha * np.eye(n_feats) + reg[0, 0] = 0 + Sigma += reg + params = np.linalg.pinv(Sigma) @ np.mean(Mfeats, axis=0) + self.coef_ = params[1:] + self.intercept_ = params[0] + + return self + + def predict(self, X): + return self.featurizer_.transform(X) @ self.coef_ + self.intercept_ + +class SparseSieveRR(BaseEstimator): + ''' Linear sieve representation learning with some feature map and + combination of l1 and l2 penalty. + ''' + + def __init__(self, *, featurizer, moment_fn, alpha=0.0, l1_ratio=1.0, tol=1e-4): + self.featurizer = featurizer + self.moment_fn = moment_fn + self.alpha = alpha + self.l1_ratio = l1_ratio + self.tol = tol + + def fit(self, X): + self.featurizer_ = clone(self.featurizer).fit(X) + n_samples = X.shape[0] + Xfeats = self.featurizer_.transform(X) + Xfeats = np.hstack([np.ones((Xfeats.shape[0], 1)), Xfeats]) + n_feats = Xfeats.shape[1] + Mfeats = np.zeros((n_samples, n_feats)) + for t in np.arange(n_feats): + if t == 0: + feat_fn = lambda x: np.ones(x.shape[0]) + else: + feat_fn = lambda x: self.featurizer_.transform(x)[:, t - 1] + Mfeats[:, t] = self.moment_fn(X, feat_fn) + Sigma = Xfeats.T @ Xfeats / n_samples + mfeats = np.mean(Mfeats, axis=0) + + alpha_l1 = self.alpha * self.l1_ratio + alpha_l2 = self.alpha * (1 - self.l1_ratio) + def loss_and_jac(extended_coef): + coef = extended_coef[:n_feats] - extended_coef[n_feats:] + loss = - 2 * mfeats @ coef + coef.T @ Sigma @ coef + loss += alpha_l1 * np.sum(extended_coef[1:n_feats]) + loss += alpha_l1 * np.sum(extended_coef[n_feats + 1:]) + loss += 0.5 * alpha_l2 * np.sum(extended_coef[1:n_feats]**2) + loss += 0.5 * alpha_l2 * np.sum(extended_coef[n_feats + 1:]**2) + grad = 2 * (Sigma @ coef - mfeats) + jac = np.concatenate([grad, -grad]) + jac[1:n_feats] += alpha_l1 + alpha_l2 * extended_coef[1:n_feats] + jac[n_feats + 1:] += alpha_l1 + alpha_l2 * extended_coef[n_feats + 1:] + return loss, jac + + w, _, _ = fmin_l_bfgs_b(loss_and_jac, np.zeros(2*n_feats), + bounds=[(0, None)] * 2 * n_feats, + pgtol=self.tol) + + params = w[:n_feats] - w[n_feats:] + self.coef_ = params[1:] + self.intercept_ = params[0] + + + return self + + def predict(self, X): + return self.featurizer_.transform(X) @ self.coef_ + self.intercept_ \ No newline at end of file diff --git a/T-ADML/gasoline_example/utilities.py b/T-ADML/gasoline_example/utilities.py new file mode 100644 index 00000000..988b303c --- /dev/null +++ b/T-ADML/gasoline_example/utilities.py @@ -0,0 +1,222 @@ +import numpy as np +from sklearn.base import BaseEstimator, clone + +import warnings +from functools import partial + +import numpy as np +import scipy +import scipy.sparse as sp +from scipy.linalg import svd +try: + from scipy.fft import fft, ifft +except ImportError: # scipy < 1.4 + from scipy.fftpack import fft, ifft + +from sklearn.base import BaseEstimator +from sklearn.base import TransformerMixin +from sklearn.utils import check_random_state, as_float_array +from sklearn.utils.extmath import safe_sparse_dot +from sklearn.utils.validation import check_is_fitted +from sklearn.metrics.pairwise import pairwise_kernels, KERNEL_PARAMS, PAIRWISE_KERNEL_FUNCTIONS, _parallel_pairwise, _pairwise_callable +from sklearn.metrics.pairwise import rbf_kernel, cosine_similarity, pairwise_kernels + + +def rmse(x, y): + return np.sqrt(np.mean((x - y)**2)) + +def mean_ci(data, confidence=0.95): + a = 1.0 * np.array(data).flatten() + n = len(a) + m, se = np.mean(a), scipy.stats.sem(a) + h = se * scipy.stats.t.ppf((1 + confidence) / 2., n-1) + return m, se, m-h, m+h + + +def binary_kernel(X, Y=None): + return 1.0 * (X[:, [0]] == X[:, [0]].T) if Y is None else 1.0 * (X[:, [0]] == Y[:, [0]].T) + + +def binary_or_rbf_kernel(X, Y=None, *, gamma): + return binary_kernel(X, Y=Y) if len(np.unique(X)) == 2 else rbf_kernel(X, Y=Y, gamma=gamma) + + +def prod_kernel(X, Y=None, *, gamma): + + if hasattr(gamma, '__len__'): + X = X.copy() + X[:, 1:] = X[:, 1:] * np.sqrt(gamma).reshape(1, -1) + if Y is not None: + Y = Y.copy() + Y[:, 1:] = Y[:, 1:] * np.sqrt(gamma).reshape(1, -1) + gamma = 1 + + if Y is None: + # return np.product([binary_or_rbf_kernel(X[:, [t]], gamma=gamma) for t in np.arange(1, X.shape[1])], axis=0) * binary_kernel(X, Y) + return rbf_kernel(X[:, 1:], gamma=gamma) * binary_kernel(X, Y) + else: + # return np.product([binary_or_rbf_kernel(X[:, [t]], Y=Y[:, [t]], gamma=gamma) for t in np.arange(1, X.shape[1])], axis=0) * binary_kernel(X, Y) + return rbf_kernel(X[:, 1:], Y=Y[:, 1:], gamma=gamma) * binary_kernel(X, Y) + + +class AutoKernel: + + def __init__(self, *, type='var'): + self.type = type + + def fit(self, X): + if self.type == 'var': + self.gamma_ = 1/ ((X.shape[1] - 1) * np.var(X[:, 1:], axis=0)) + if self.type == 'median': + self.gamma_ = np.array([1 / ((X.shape[1] - 1) * np.median(np.abs(X[:, [i]] - X[:, [i]].T))**2) + for i in np.arange(1, X.shape[1])]) + self.kernel_ = lambda X, Y=None: prod_kernel(X, Y=Y, gamma=self.gamma_) + return self + +class FitParamsWrapper: + + def __init__(self, model, **fit_params): + self.model = model + self.fit_params = fit_params + + def fit(self, X): + return self.model.fit(X, **self.fit_params) + + def predict(self, X): + return self.model.predict(X) + +class PluginRR(BaseEstimator): + + def __init__(self, *, model_t, min_propensity=0): + self.model_t = clone(model_t, safe=False) + self.min_propensity = min_propensity + + def fit(self, X): + self.model_t_ = clone(self.model_t, safe=False).fit(X[:, 1:], X[:, 0]) + return self + + def predict(self, X): + propensity = np.clip(self.model_t_.predict_proba(X[:, 1:]), self.min_propensity, 1 - self.min_propensity) + return X[:, 0] / propensity[:, 1] - (1 - X[:, 0]) / propensity[:, 0] + + + +def pairwise_kernels(X, Y=None, metric="linear", *, filter_params=False, + n_jobs=None, **kwds): + if metric in PAIRWISE_KERNEL_FUNCTIONS: + if filter_params: + kwds = {k: kwds[k] for k in kwds + if k in KERNEL_PARAMS[metric]} + func = PAIRWISE_KERNEL_FUNCTIONS[metric] + elif callable(metric): + func = metric + else: + raise ValueError("Unknown kernel %r" % metric) + + return _parallel_pairwise(X, Y, func, n_jobs, **kwds) + +class Nystroem(TransformerMixin, BaseEstimator): + + def __init__(self, kernel="rbf", *, gamma=None, coef0=None, degree=None, + kernel_params=None, n_components=100, random_state=None, + n_jobs=None): + + self.kernel = kernel + self.gamma = gamma + self.coef0 = coef0 + self.degree = degree + self.kernel_params = kernel_params + self.n_components = n_components + self.random_state = random_state + self.n_jobs = n_jobs + + def fit(self, X, y=None): + """Fit estimator to data. + Samples a subset of training points, computes kernel + on these and computes normalization matrix. + Parameters + ---------- + X : array-like of shape (n_samples, n_features) + Training data. + """ + X = self._validate_data(X, accept_sparse='csr') + rnd = check_random_state(self.random_state) + n_samples = X.shape[0] + + # get basis vectors + if self.n_components > n_samples: + # XXX should we just bail? + n_components = n_samples + warnings.warn("n_components > n_samples. This is not possible.\n" + "n_components was set to n_samples, which results" + " in inefficient evaluation of the full kernel.") + + else: + n_components = self.n_components + n_components = min(n_samples, n_components) + inds = rnd.permutation(n_samples) + basis_inds = inds[:n_components] + basis = X[basis_inds] + + basis_kernel = pairwise_kernels(basis, metric=self.kernel, + filter_params=True, + n_jobs=self.n_jobs, + **self._get_kernel_params()) + # sqrt of kernel matrix on basis vectors + U, S, V = svd(basis_kernel) + S = np.maximum(S, 1e-12) + self.normalization_ = np.dot(U / np.sqrt(S), V) + self.components_ = basis + self.component_indices_ = inds + return self + + def transform(self, X): + """Apply feature map to X. + Computes an approximate feature map using the kernel + between some training points and X. + Parameters + ---------- + X : array-like of shape (n_samples, n_features) + Data to transform. + Returns + ------- + X_transformed : ndarray of shape (n_samples, n_components) + Transformed data. + """ + check_is_fitted(self) + X = self._validate_data(X, accept_sparse='csr', reset=False) + + kernel_params = self._get_kernel_params() + embedded = pairwise_kernels(X, self.components_, + metric=self.kernel, + filter_params=True, + n_jobs=self.n_jobs, + **kernel_params) + return np.dot(embedded, self.normalization_.T) + + def _get_kernel_params(self): + params = self.kernel_params + if params is None: + params = {} + if not callable(self.kernel) and self.kernel != 'precomputed': + for param in (KERNEL_PARAMS[self.kernel]): + if getattr(self, param) is not None: + params[param] = getattr(self, param) + else: + if (self.gamma is not None or + self.coef0 is not None or + self.degree is not None): + raise ValueError("Don't pass gamma, coef0 or degree to " + "Nystroem if using a callable " + "or precomputed kernel") + + return params + + def _more_tags(self): + return { + '_xfail_checks': { + 'check_transformer_preserve_dtypes': + 'dtypes are preserved but not at a close enough precision', + }, + 'preserves_dtype': [np.float64, np.float32] + } \ No newline at end of file diff --git a/T-ADML/gasoline_example/uv.lock b/T-ADML/gasoline_example/uv.lock new file mode 100644 index 00000000..da4a8015 --- /dev/null +++ b/T-ADML/gasoline_example/uv.lock @@ -0,0 +1,3230 @@ +version = 1 +revision = 3 +requires-python = ">=3.11" +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "(python_full_version >= '3.14' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.14' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "(python_full_version == '3.13.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.13.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "(python_full_version == '3.12.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] + +[[package]] +name = "adml-gasoline" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "econml" }, + { name = "ipykernel" }, + { name = "joblib" }, + { name = "matplotlib" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pandas" }, + { name = "scikit-learn" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "statsmodels" }, +] + +[package.dev-dependencies] +notebook = [ + { name = "jupyterlab" }, +] + +[package.metadata] +requires-dist = [ + { name = "econml", specifier = ">=0.15" }, + { name = "ipykernel", specifier = ">=6.29" }, + { name = "joblib", specifier = ">=1.4" }, + { name = "matplotlib", specifier = ">=3.9" }, + { name = "numpy", specifier = ">=2.0" }, + { name = "pandas", specifier = ">=2.2" }, + { name = "scikit-learn", specifier = ">=1.5" }, + { name = "scipy", specifier = ">=1.14" }, + { name = "statsmodels", specifier = ">=0.14" }, +] + +[package.metadata.requires-dev] +notebook = [{ name = "jupyterlab", specifier = ">=4.2" }] + +[[package]] +name = "anyio" +version = "4.15.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "typing-extensions", marker = "python_full_version < '3.15'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/d2/f4d173e22df740bc37b1db102b386ba719b66e95b0f0d751f556b387e6d2/anyio-4.15.1.tar.gz", hash = "sha256:9f28306018cbd6d329e64a36d58256edff76dd996fe423bc957326e578b82a94", size = 276966, upload-time = "2026-09-05T10:42:39.44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/b8/4bd346e22b28902df4d651910f5242c28d84e4a5c2435ca5c3f797ed7e2e/anyio-4.15.1-py3-none-any.whl", hash = "sha256:6152fdbbf9a77fdec97731721bebf7c4c44f7c29b424b0065826173efc7ed101", size = 132079, upload-time = "2026-09-05T10:42:37.923Z" }, +] + +[[package]] +name = "appnope" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/f7/a82489c2b6ebe32d3e2831895ae19c77861f0eadf3bb16034484d965dbb2/appnope-1.0.0.tar.gz", hash = "sha256:685db59cb6043c3c2e528adc0b3bce3a5f8d09bcf7492c6ea650d1b7421f3c49", size = 5454, upload-time = "2026-08-20T21:36:13.748Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/c7/6b687cb0f83d2a51017d47953f2ee430ffad6fec2a8ebc964e0718a33eb1/appnope-1.0.0-py3-none-any.whl", hash = "sha256:6fe0c04218aab65c54c4ff81638cdbf848d89f5653b74d68638a137f200dd16e", size = 4158, upload-time = "2026-08-20T21:36:12.444Z" }, +] + +[[package]] +name = "argon2-cffi" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "argon2-cffi-bindings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/89/ce5af8a7d472a67cc819d5d998aa8c82c5d860608c4db9f46f1162d7dab9/argon2_cffi-25.1.0.tar.gz", hash = "sha256:694ae5cc8a42f4c4e2bf2ca0e64e51e23a040c6a517a85074683d3959e1346c1", size = 45706, upload-time = "2025-06-03T06:55:32.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/d3/a8b22fa575b297cd6e3e3b0155c7e25db170edf1c74783d6a31a2490b8d9/argon2_cffi-25.1.0-py3-none-any.whl", hash = "sha256:fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741", size = 14657, upload-time = "2025-06-03T06:55:30.804Z" }, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "26.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/43/bb8b6e8708d49a5ab36781333af092d9f483b198a2710d01281204640055/argon2_cffi_bindings-26.1.0.tar.gz", hash = "sha256:63505c71542a44b68b1e38060450fb006404170da375feb31af153e7f9c6205d", size = 1790807, upload-time = "2026-08-20T07:44:22.492Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/d2/0ae991f1b2181e5be49007c574710a800ad36c2978683addb3e67c474e55/argon2_cffi_bindings-26.1.0-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:21ca0396fe5ec995dd54431c32698189666f9224810acfa752e50d2bd94d9df2", size = 25521, upload-time = "2026-08-20T07:32:43.019Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e4/ad91d8297638aa2258aad4501c306aca99480dfe76ccd638173fa3702db9/argon2_cffi_bindings-26.1.0-cp310-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78de2d65e0b9ea7ce9d1b1c3e87297b2d7305a02c266ee2a2d6910daddd7ee69", size = 27177, upload-time = "2026-08-20T07:32:44.158Z" }, + { url = "https://files.pythonhosted.org/packages/6f/86/5363df11b86d02cf3662208e7406496327649cc90eb365bf6f4e8a54a41f/argon2_cffi_bindings-26.1.0-cp310-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:27f1821903e2ceadcb88ec2b45ef190897b7682449c772f4d9b53e42c520cf29", size = 26597, upload-time = "2026-08-20T07:32:45.172Z" }, + { url = "https://files.pythonhosted.org/packages/f4/b5/a14dcc592652347dad23ee93b278a4da5d2a25c9ed3ebd10d68eea823a4f/argon2_cffi_bindings-26.1.0-cp310-abi3-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d88e5f7e60f28ae0b0cc6b2f16c43e87cd642a196a86f85e0d8bb6fe016fc16d", size = 27403, upload-time = "2026-08-20T07:32:46.13Z" }, + { url = "https://files.pythonhosted.org/packages/b3/81/b4a20d4902af7f796390bf9245ff83c5217dfa7367efa1d14986956c482b/argon2_cffi_bindings-26.1.0-cp310-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:34b7d9c24a4165a2c61cc8ae11d44d48c9ce2830fb536cb7914e11fdd9962728", size = 27132, upload-time = "2026-08-20T07:32:47.13Z" }, + { url = "https://files.pythonhosted.org/packages/7e/1b/c8de358af07b1c490e0fcb863ef98e46ddb486e45567aca5a60bd68d9daa/argon2_cffi_bindings-26.1.0-cp310-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:224865cbbcb7a2bd1356741dff12b0134df726b6d44bb7b500df8e303cbd9e81", size = 27588, upload-time = "2026-08-20T07:32:48.087Z" }, + { url = "https://files.pythonhosted.org/packages/48/2f/7ee62a6e79f9309f9d9982d301b22a00010adb580c05c8109b94d7b33de0/argon2_cffi_bindings-26.1.0-cp310-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:ffff613aaa9ce6236766e2fc6dc560bb5abde7a2e2416e3db1f9ae395a2b4dd4", size = 26785, upload-time = "2026-08-20T07:32:48.977Z" }, + { url = "https://files.pythonhosted.org/packages/e9/10/960d0ee93d4897741bcaf4799c697dae2d81499f66fd1ed042a7dd54c1f4/argon2_cffi_bindings-26.1.0-cp310-abi3-win32.whl", hash = "sha256:a86c069c91a747a2c4e5c51473590aeb48172fff9b2130d23729a42d98665ecb", size = 23898, upload-time = "2026-08-20T07:32:50.114Z" }, + { url = "https://files.pythonhosted.org/packages/6d/3a/0cc14a05810e6add9bce5e87693334baa2222de5f647fa31781885b6573f/argon2_cffi_bindings-26.1.0-cp310-abi3-win_amd64.whl", hash = "sha256:2c36ff87b5dfaa477d0bd51e9d7f6abdae7c8955d2983c97419085d842154b3e", size = 25730, upload-time = "2026-08-20T07:32:51.091Z" }, + { url = "https://files.pythonhosted.org/packages/4e/db/d83cf2af140547f0b9cdaece05b2dc2dcbf991be4667331d073eff771435/argon2_cffi_bindings-26.1.0-cp310-abi3-win_arm64.whl", hash = "sha256:f9c4420a7a864fe1b86ce35befc95b8e39fb852493b81cf798671ddc265de638", size = 24478, upload-time = "2026-08-20T07:32:52.111Z" }, + { url = "https://files.pythonhosted.org/packages/bb/5f/f652055e18d2627e2eed94c7f31a792127cfe38df786635395d742321674/argon2_cffi_bindings-26.1.0-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:af11ac37a7c53dc16cb7950a6190851b0870fe218b6c60c0bb7ac355234e3083", size = 15434, upload-time = "2026-08-20T07:32:53.143Z" }, + { url = "https://files.pythonhosted.org/packages/76/38/de696045960f5b846d428c0fb6c130ed3da87aac2af209b05c193815404c/argon2_cffi_bindings-26.1.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:db0fcd827ca61622a01b220aadfbece01939acf53888f2cb98cd93e9b1e2c97e", size = 15449, upload-time = "2026-08-20T07:32:54.075Z" }, + { url = "https://files.pythonhosted.org/packages/91/0a/c25af768f6b75a5a71e31207f87c540656b2808c015260444a22763221ad/argon2_cffi_bindings-26.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:28524438cd3e723f25412f63d4fd516ff5bae9ae5aa56acbe2a1404398a0cf31", size = 25683, upload-time = "2026-08-20T07:32:55.05Z" }, + { url = "https://files.pythonhosted.org/packages/a8/7e/be212c751ab0bcea7f646615f933bf262e8e50b3f7bef32f861d0a2d066b/argon2_cffi_bindings-26.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ac82fc756a446b6ccd7139ce70efa9d8bbe541e7ad579a12dcb52764b7175c5f", size = 27311, upload-time = "2026-08-20T07:32:56.166Z" }, + { url = "https://files.pythonhosted.org/packages/a6/ee/f84b28e4afd13d3cac36c1d8fa8c239d2dc2c51cd978d02ee5d5ad98d9bb/argon2_cffi_bindings-26.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6a4e68eed961a8de6928d1c17ff3dc2a547e0e923c17f8f1cd79fb7bc9502f98", size = 26771, upload-time = "2026-08-20T07:32:57.206Z" }, + { url = "https://files.pythonhosted.org/packages/21/c3/95c07a023691ecd529da9cb6a8f0779e13ebc1bdfaa86d145fdc1c6e7e79/argon2_cffi_bindings-26.1.0-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:151dfaad9de753f4af2a7854e707e4784f2acc434340ade64239c5b104b2d605", size = 27568, upload-time = "2026-08-20T07:32:58.361Z" }, + { url = "https://files.pythonhosted.org/packages/e6/31/3a18e31406d8694b4d6a31573c3e572fff6bed318bb744453eb653766d22/argon2_cffi_bindings-26.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:061a6919145bbf282ebf1f9c59d3135d4833c25313c8595c0d68cf7712ddfce2", size = 27280, upload-time = "2026-08-20T07:32:59.343Z" }, + { url = "https://files.pythonhosted.org/packages/0b/39/d4be4577e178b2397aa5b5575c8a309bf0da2afe05fe0c72c8f398662d63/argon2_cffi_bindings-26.1.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:62ff20cd130c956c7c9144d5fe35228f98b51c579b2439e988b27ef93e16c02a", size = 27776, upload-time = "2026-08-20T07:33:00.325Z" }, + { url = "https://files.pythonhosted.org/packages/71/47/78f4dd96f7411339f723b96fe24039c1bd5835102b8a5ba71ac4ec712ac7/argon2_cffi_bindings-26.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:19423e5d7ac1cc354baab59eaabf18db2ec04ef6593b5abe5a34f323c4a8f87a", size = 26932, upload-time = "2026-08-20T07:33:01.272Z" }, + { url = "https://files.pythonhosted.org/packages/3b/cd/96bfd37434cc0a848a9066c291d84b28846c4c9ea289ed9866b1164d622b/argon2_cffi_bindings-26.1.0-cp314-cp314t-win32.whl", hash = "sha256:4f84cdd868978d7b7350a566c254042d44216d9e37f241f3a6d3b1dfebeede35", size = 24878, upload-time = "2026-08-20T07:33:02.189Z" }, + { url = "https://files.pythonhosted.org/packages/f1/42/d8b6810abd9b1bd2f47ebbccf460da59c9f32e94888bea4f7b137d998797/argon2_cffi_bindings-26.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2b741888c93147444fdfc851abd81cc207f37f7f7da42062a00deb3888e57da8", size = 26656, upload-time = "2026-08-20T07:33:03.222Z" }, + { url = "https://files.pythonhosted.org/packages/a9/d1/095d95eaf2ed1d9f77268cf3291bde148c6cd56121f8db2c74c1ba618a0e/argon2_cffi_bindings-26.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:6ab674f668d5962a3a4136ae0812519b0f1586874263723a32181d60d64137e1", size = 25378, upload-time = "2026-08-20T07:33:04.332Z" }, + { url = "https://files.pythonhosted.org/packages/66/cb/214092c39c4dbcb72cf98b12234ddac2221f8fe2c0acf29c6a70fa83be53/argon2_cffi_bindings-26.1.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:1d98e33bd8bd67d7206c124e200bf2229c4cfa8c9c19f7b44a897f0fc71837eb", size = 25683, upload-time = "2026-08-20T07:33:05.337Z" }, + { url = "https://files.pythonhosted.org/packages/83/e5/02015b83e9b05ccb85ff2ced424cf6e83a12d3810bc7f66d679a92b69ffb/argon2_cffi_bindings-26.1.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ccaf0a46cbb380f1fd102a874e32aa629fd3cb0c0e94f4943fa1f6d5edc5dac6", size = 27310, upload-time = "2026-08-20T07:33:06.344Z" }, + { url = "https://files.pythonhosted.org/packages/c3/4a/85e612787d0796878b3b4f6bd53dcd5484b6fe7b64cc6fc7b6e6a04cf835/argon2_cffi_bindings-26.1.0-cp315-cp315t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f0c3103fcff20183e593459cfea6e012281c0e76ae3ed8b5565ad1b92eac3990", size = 26771, upload-time = "2026-08-20T07:33:07.429Z" }, + { url = "https://files.pythonhosted.org/packages/f6/84/ccb003b6f9969820e87656398f4d49c857def71a85ca1588a0e809afd7ce/argon2_cffi_bindings-26.1.0-cp315-cp315t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c49e853a3bef9dd10329f31f702e7fa9b5c58229ff9c2ff6d069efaf09177c08", size = 27569, upload-time = "2026-08-20T07:33:08.598Z" }, + { url = "https://files.pythonhosted.org/packages/88/07/c26b76debf0998ee08fbe947ab2058ac5de37d4b9d46b06c17abaa6c4ce9/argon2_cffi_bindings-26.1.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:6376d4b3aca039375ca8bf92f770da0ec424a1ce3a37077a8d3c557411aa56ca", size = 27279, upload-time = "2026-08-20T07:33:09.518Z" }, + { url = "https://files.pythonhosted.org/packages/ee/0d/ead6ddc029f91bc9b9390686dad3c808ab08100d348f6266b5f93f8970ee/argon2_cffi_bindings-26.1.0-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:9bacedc04b0402837586a17f0919e3dfdd95291f441f1f56bd80ec274c2840a1", size = 27774, upload-time = "2026-08-20T07:33:10.728Z" }, + { url = "https://files.pythonhosted.org/packages/7d/47/c108530d9eb86036b78d3af4de28b83b4a2d9a70512bd10ff8e59966aab4/argon2_cffi_bindings-26.1.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:76ae29acace5d33355344612844d588e19deaaba4639d8bb01601e4b1418ef36", size = 26933, upload-time = "2026-08-20T07:33:11.661Z" }, + { url = "https://files.pythonhosted.org/packages/a9/02/0bfc59e781c89acf64c31c388aade9d9d1c1ea38aa1ba1292fe07f607fe9/argon2_cffi_bindings-26.1.0-cp315-cp315t-win32.whl", hash = "sha256:df612391feca41c44d20118f3b88d1b86419465cd1f5496859f715ca60ec2210", size = 24875, upload-time = "2026-08-20T07:33:12.616Z" }, + { url = "https://files.pythonhosted.org/packages/61/c7/c3e46068cddffccecb8ad94d71135e9bf62bbc789589e7dfadc7c6f59214/argon2_cffi_bindings-26.1.0-cp315-cp315t-win_amd64.whl", hash = "sha256:1a0a29ed86960e44eaace7e081bdfab4f08b012fd96ec8edba71e2ad020939e4", size = 26655, upload-time = "2026-08-20T07:33:13.521Z" }, + { url = "https://files.pythonhosted.org/packages/f4/ca/18b9c8c45fecf34b9100ec6d7946057f14a158f2eaa20ea123a3e82351cb/argon2_cffi_bindings-26.1.0-cp315-cp315t-win_arm64.whl", hash = "sha256:d157ddfab1e8b21f2f1dedda9c09645d98b5ed0b667b0626be600a345d426440", size = 25376, upload-time = "2026-08-20T07:33:14.491Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b9/97f0370f99611b14efd384918613dd5cbda75f28d9bb1b677aacfeaa17df/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:19b562b1de4b9052ef1214a2821c44b6e6f22945daa102c32ae4eff929d8b6d8", size = 23055, upload-time = "2026-08-20T07:33:19.716Z" }, + { url = "https://files.pythonhosted.org/packages/ae/70/7eb3fe7bf00103cbbb569c51aef150661f22b734a782673a600ff0f52309/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49d525938467d52c923a890153c99087c9d5a937d1f6b585dbdba34ec82e397a", size = 24869, upload-time = "2026-08-20T07:33:20.671Z" }, + { url = "https://files.pythonhosted.org/packages/5b/4b/9d5919c6cb1f15df7406af0f99b048bd93936f112e3e8f4c8077bc2a9110/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1b0bcac4d490a237e18cf91f57352920c29f77f2fa39efd0813fb81298bf17ba", size = 24216, upload-time = "2026-08-20T07:33:21.653Z" }, + { url = "https://files.pythonhosted.org/packages/a3/34/32109943bace7729233cc4ee78530baa306d8cc3c6501a64ba8cb3b58129/argon2_cffi_bindings-26.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:0cc40f7b4050bb93eb67de95d2d759322fc7ce4930b9d645581ecf4913ec651e", size = 23584, upload-time = "2026-08-20T07:33:22.613Z" }, +] + +[[package]] +name = "arrow" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/33/032cdc44182491aa708d06a68b62434140d8c50820a087fac7af37703357/arrow-1.4.0.tar.gz", hash = "sha256:ed0cc050e98001b8779e84d461b0098c4ac597e88704a655582b21d116e526d7", size = 152931, upload-time = "2025-10-18T17:46:46.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/c9/d7977eaacb9df673210491da99e6a247e93df98c715fc43fd136ce1d3d33/arrow-1.4.0-py3-none-any.whl", hash = "sha256:749f0769958ebdc79c173ff0b0670d59051a535fa26e8eba02953dc19eb43205", size = 68797, upload-time = "2025-10-18T17:46:45.663Z" }, +] + +[[package]] +name = "asttokens" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/25/1e/faf0f247f6f881b98fc4d6d07e14085cb89d13665084e6d6ac1dc2c03d0b/asttokens-3.0.2.tar.gz", hash = "sha256:3ecdbd8f2cc195f53ccada3a613538bb5f9ef6f6869129f13e03c30a677b8fe2", size = 63136, upload-time = "2026-07-12T03:31:49.084Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/2b/04b8a15f3a1c77bc79ddf5c73875327f34b4fa75982df2b76e45e402d364/asttokens-3.0.2-py3-none-any.whl", hash = "sha256:9da13157f5b28becde0bd374fc677dcd3c290614264eff096f167c469cd9f933", size = 28702, upload-time = "2026-07-12T03:31:47.542Z" }, +] + +[[package]] +name = "async-lru" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/1f/989ecfef8e64109a489fff357450cb73fa73a865a92bd8c272170a6922c2/async_lru-2.3.0.tar.gz", hash = "sha256:89bdb258a0140d7313cf8f4031d816a042202faa61d0ab310a0a538baa1c24b6", size = 16332, upload-time = "2026-03-19T01:04:32.413Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/e2/c2e3abf398f80732e58b03be77bde9022550d221dd8781bf586bd4d97cc1/async_lru-2.3.0-py3-none-any.whl", hash = "sha256:eea27b01841909316f2cc739807acea1c623df2be8c5cfad7583286397bb8315", size = 8403, upload-time = "2026-03-19T01:04:30.883Z" }, +] + +[[package]] +name = "attrs" +version = "26.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055, upload-time = "2026-03-19T14:22:25.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" }, +] + +[[package]] +name = "babel" +version = "2.18.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/b2/51899539b6ceeeb420d40ed3cd4b7a40519404f9baf3d4ac99dc413a834b/babel-2.18.0.tar.gz", hash = "sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d", size = 9959554, upload-time = "2026-02-01T12:30:56.078Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/43/65/318323f98dbee45d42dff61d8f047181bc6f2268a9068cfad035a46be5af/beautifulsoup4-4.15.0.tar.gz", hash = "sha256:288e3ca7d54b06f2ac191970bc275c1939cb46d450b255bf6718b04aa37ab4f7", size = 632571, upload-time = "2026-06-07T16:44:20.453Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/c6/92fcd42f1ba33e1184263f25bfabf3d27c383410470f169e4b8163bf9c17/beautifulsoup4-4.15.0-py3-none-any.whl", hash = "sha256:d6f88de62e1d4e38ecb1077eb9724cd0eff29d2a08ca16a401e9b9e93f117cf9", size = 109924, upload-time = "2026-06-07T16:44:21.566Z" }, +] + +[[package]] +name = "bleach" +version = "6.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/3c/e12ac860709702bd5ebeb9b56a4fe334f1001246ee1b8f2b7ee28912df7d/bleach-6.4.0.tar.gz", hash = "sha256:4202482733d85cedd04e59fcb2f89f4e4c7c385a78d3c3c23c30446843a37452", size = 204857, upload-time = "2026-06-05T13:01:13.734Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/9d/40b6267367182187139a4000b82a3b287d84d745bccd808e75d916920e9d/bleach-6.4.0-py3-none-any.whl", hash = "sha256:4b6b6a54fff2e69a3dde9d21cc6301220bee3c3cb792187d11403fd795031081", size = 165109, upload-time = "2026-06-05T13:01:12.504Z" }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2" }, +] + +[[package]] +name = "certifi" +version = "2026.7.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/c2/24167ea9858356b47a87a50d39908bfdb72ceeefe0041586e704e5376b3a/certifi-2026.7.22.tar.gz", hash = "sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55", size = 138112, upload-time = "2026-07-22T03:35:12.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl", hash = "sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775", size = 136983, upload-time = "2026-07-22T03:35:11.276Z" }, +] + +[[package]] +name = "cffi" +version = "2.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/ef/008a1939e372c06329a3fce4279c02f328488f3526744906eeec3da7ad5f/cffi-2.1.1.tar.gz", hash = "sha256:dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be", size = 530807, upload-time = "2026-08-03T21:21:18.939Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/70/d2/16d99a0c4948febc0ebd133a13b2f688ff7f8cb04da971e1128872ce0c03/cffi-2.1.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:c8d2c9fd1f2d16f780d15127abb050d13d1a76c03a4bd87d7e4980e45e511e12", size = 183838, upload-time = "2026-08-03T21:19:29.637Z" }, + { url = "https://files.pythonhosted.org/packages/cd/95/31b535a9f0220ae9f357de4a08d57ce89cb417653c2fd9f075f50822a388/cffi-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:398aff33cee2767e3e781d2554c54bd0dff386bb437581e0d8011fde1a942ec1", size = 184168, upload-time = "2026-08-03T21:19:30.764Z" }, + { url = "https://files.pythonhosted.org/packages/ad/5a/4707a0dc1f203f5dde5a907b0d4e3c25d71120241048bd5bc6f1bb9d4e71/cffi-2.1.1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:154852545011f779917b11c78db2358d095da62a9a172b78ad0a583ee5adc0d0", size = 211805, upload-time = "2026-08-03T21:19:31.867Z" }, + { url = "https://files.pythonhosted.org/packages/ad/66/c19feabb28485b6e0bbaaafa90837a1ef5d302e90f2178bd33f17a49879b/cffi-2.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3311ed60d36f83378794e1009ac6258bafbf81f7888b4caa7b35a521e3f95813", size = 218716, upload-time = "2026-08-03T21:19:32.896Z" }, + { url = "https://files.pythonhosted.org/packages/a7/92/500760486c8baab49a7a8a58ba7fc3355ec3974b454b8a09e528efde9e1d/cffi-2.1.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6e192623c49c94421616a5778fba35cf0d5a8d000650c1967ef4448ee5cdd990", size = 205569, upload-time = "2026-08-03T21:19:34.142Z" }, + { url = "https://files.pythonhosted.org/packages/a5/a7/a67c733254d6e7373f7822f8082d8d6beade791e0cf12a7611f376fa61c7/cffi-2.1.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a6e721d4b0e45d5b65e87534470e67b18dcd092c83f68fba09f152b9cbc061af", size = 204907, upload-time = "2026-08-03T21:19:35.174Z" }, + { url = "https://files.pythonhosted.org/packages/f7/a4/4399daaf8f7dfee9d7c3327fdb0426ee041cc63edc358b93911ceb2bfc7a/cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34e261f78cb6ceaaa36f42f2613f4380d94d9c759a9c73c769ee6e0247364632", size = 217807, upload-time = "2026-08-03T21:19:36.286Z" }, + { url = "https://files.pythonhosted.org/packages/28/f7/dabe6da2466ecbd82dc62e7342dc6b1065dad990c06f00f0ede9ebf2a0ed/cffi-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7225e4514edb64eb6740324353e0da0711954fd8d7da4576755b1c6e09b697cd", size = 221252, upload-time = "2026-08-03T21:19:37.416Z" }, + { url = "https://files.pythonhosted.org/packages/ce/87/616202d8e51342c07d2534c510111c4cc37201775ce8f60802c9335d1edd/cffi-2.1.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df913725b79db7bcf03448f36b7bf8815363417d5b58deecf9305e3e30f0f21a", size = 214214, upload-time = "2026-08-03T21:19:38.507Z" }, + { url = "https://files.pythonhosted.org/packages/b4/c6/ab025d75d2c26c19b087c0124e75ee31cb65032f4fe345d356d8c507ab97/cffi-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f5cfbc5fe74540d335175b656c725d74d90e3730c626d92575eea35029d9afaa", size = 219408, upload-time = "2026-08-03T21:19:39.809Z" }, + { url = "https://files.pythonhosted.org/packages/db/e2/7e8109f65445bdc673a7b54f02c677de462db75674220fd1335efc8eb598/cffi-2.1.1-cp311-cp311-win32.whl", hash = "sha256:f8ec5e643a9a937f64e1999eb9f75d072263751912dc5cd06d3c85f8f44be7c3", size = 174470, upload-time = "2026-08-03T21:19:41.246Z" }, + { url = "https://files.pythonhosted.org/packages/73/c0/77ba02423c2f7d7091143c45cd49e0e6575c4c1967394bb542bd923a9b74/cffi-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:42f6930c31dc7f50732c9ae793c2786c7b6b044195967bbdde40bb9be81c4cc0", size = 185096, upload-time = "2026-08-03T21:19:42.615Z" }, + { url = "https://files.pythonhosted.org/packages/7c/47/9f1f85f9672ceda4984dc6c4f8824e8558992a2972c3d3c81fb8eb28d4ba/cffi-2.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:c7659f22557c5a0bc4855cd635f55edec690cc008a40768527762cb9fb263455", size = 179941, upload-time = "2026-08-03T21:19:43.747Z" }, + { url = "https://files.pythonhosted.org/packages/10/69/43965eccfdead3b9220015fd1320e117be8c6ed01a62ffab76eeb752f5d5/cffi-2.1.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:c8c69575568085ba0b1b10c0249d779a214aea6f6522e949a0fc9fb0fcb449d0", size = 184821, upload-time = "2026-08-03T21:19:44.887Z" }, + { url = "https://files.pythonhosted.org/packages/54/7d/16e5a096677b5e313ca80cd5e5170efa3ea44624a82bb111925522da64b1/cffi-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f81b3b8f3d4e343550fa4baa0e479bba9f2d29ce9c2e9b51d1ce1718d7442fcf", size = 184719, upload-time = "2026-08-03T21:19:46.129Z" }, + { url = "https://files.pythonhosted.org/packages/56/e6/8941622732edec876dd17d0453dce07317ae96db34f2ec1436c9d3785986/cffi-2.1.1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:811bd1e21d32de12efca32393a0ab3f5133b54fce9bd44b8bd77ab07da14bf6a", size = 214799, upload-time = "2026-08-03T21:19:47.218Z" }, + { url = "https://files.pythonhosted.org/packages/44/de/f98430906df1545ffde0d543dd124a7a439bc2cd32b36b9c53f805df7333/cffi-2.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:68e62fe11f30d5ca8289242866f0a5291402d8529ca2178ab8afc5c9694ae890", size = 222389, upload-time = "2026-08-03T21:19:48.331Z" }, + { url = "https://files.pythonhosted.org/packages/6a/5b/717f1526b9957b34456313c31645c5b82b8fb5c3fe9e4752999be7128bfc/cffi-2.1.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:4a7c934f7360e8cd64fe9efadcbd10c7c6364f531e432b9a4bf5ccbc9e0e8b50", size = 210249, upload-time = "2026-08-03T21:19:49.543Z" }, + { url = "https://files.pythonhosted.org/packages/64/b3/f8aa4f3e34986c7e4ec45072d1b1b9dd295b6b18007b45518d79726dd725/cffi-2.1.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:3143d81e29e1e20a9ce10901ec369012947876596f75a222235965f2b7ae832e", size = 208775, upload-time = "2026-08-03T21:19:50.918Z" }, + { url = "https://files.pythonhosted.org/packages/b1/db/dceb9dd5b231e1da801793f8acc9f3c52a7e1afe40bb1aae37e02b0faad5/cffi-2.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c1453022f490d2459a11819d83ad1d586e9ff65a12ac3e705ffebd46d3685dcf", size = 221822, upload-time = "2026-08-03T21:19:52.054Z" }, + { url = "https://files.pythonhosted.org/packages/a0/d2/6cd24ae3be000a634109c247d1475d62e5616d0dc78c82770942ec384248/cffi-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:208f941bb9d18e768138677f0a6d2ce01f590df56043dda1df1535ac57c88517", size = 225232, upload-time = "2026-08-03T21:19:53.109Z" }, + { url = "https://files.pythonhosted.org/packages/cb/52/3fa190537004dd7f0ab860a6dc7c0175b8667f68d1e618a46f5498d30250/cffi-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:210019b6c7cf07f081b4c54635c8cf744377001350e29cc0f81c4377b4797735", size = 223597, upload-time = "2026-08-03T21:19:54.515Z" }, + { url = "https://files.pythonhosted.org/packages/80/fb/0bb75b7039588c074b37ae99f40d9bfddf990ecb2fbc346ebccd2e56b9be/cffi-2.1.1-cp312-cp312-win32.whl", hash = "sha256:046bfc24911b37851ee1b51aab8bffe713d89c68c6a057b09484ce9fd5f69b4e", size = 175292, upload-time = "2026-08-03T21:19:55.566Z" }, + { url = "https://files.pythonhosted.org/packages/d9/79/615cc094e2fb508cade7de88d3b4f6c4ec2bab695c97bce9153dc65aadf5/cffi-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f53e442b08449d42821fa4a4fba000095af9f62742a500f978a9f557ec44339a", size = 185919, upload-time = "2026-08-03T21:19:56.89Z" }, + { url = "https://files.pythonhosted.org/packages/70/c6/d0ea84713fe46b243a436a18fcd47d639732747e21635c8a27191b06dc30/cffi-2.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:7bde5e4cc5c10140859842b9d383af292b22639a4dffb725314baf45968cef80", size = 180093, upload-time = "2026-08-03T21:19:58.155Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f4/035513d4117049066b4779dc3b7c0c0fdad175fa13731c9f4003f1cd1478/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:b5bdfd1c873d4e093aabc0ca84c4ca6dbc4f752afb5c86f146d9742580c9da2e", size = 194248, upload-time = "2026-08-03T21:19:59.399Z" }, + { url = "https://files.pythonhosted.org/packages/76/af/2aeb4dbb5fc41a04161ae9ff1518de7cec08e164f44a8ce6a4cf7fd2cd1d/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:31348097ff5bbe827ccc41795d4dd099d9f0625e7def00ee653c137a490c2a6c", size = 196908, upload-time = "2026-08-03T21:20:00.746Z" }, + { url = "https://files.pythonhosted.org/packages/a7/46/2e5fdde8555706dd98139a910ca11be02809f3f605ce956f655d0214e100/cffi-2.1.1-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:9d2055050ea716bd38b7f7f1579c275386646b4894c155a3e2f3cd62ed41b7c6", size = 184805, upload-time = "2026-08-03T21:20:02.02Z" }, + { url = "https://files.pythonhosted.org/packages/55/41/4c7042f317b9217502988f0873af87e16ad606dc20f84e546e3e6ce9764c/cffi-2.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19ee6127ee34de7d83ce3d371ebc5ed91addbdcc39f9ab15ce4eb35a4e534971", size = 184764, upload-time = "2026-08-03T21:20:03.141Z" }, + { url = "https://files.pythonhosted.org/packages/43/1f/1c3d90d91811c8f86ced9ed637956c54bfe5b79ca98fe976d7f8c8979f6b/cffi-2.1.1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:6a8dddef476fab96d066d578fc88526767b836ab5ab21754e1d5bf3879c31c7c", size = 214722, upload-time = "2026-08-03T21:20:04.377Z" }, + { url = "https://files.pythonhosted.org/packages/37/6f/3b5ce4c3b2192d250f04908f2bfd91ef34552ec8f7716a5d4abdb8d67bb2/cffi-2.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f16c709686a78c727bbbf059f92b0bf41c6fc60deec706d2dc19f529175a6125", size = 222369, upload-time = "2026-08-03T21:20:05.544Z" }, + { url = "https://files.pythonhosted.org/packages/02/10/4b3c75dde3d9663c9e02ba05c2668b954f671d4bbe346413ca8c696b295a/cffi-2.1.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:fcd22650c908d7b7da162bbfaab594a1227a15d1643a98c68b122ac642fa2264", size = 210175, upload-time = "2026-08-03T21:20:06.75Z" }, + { url = "https://files.pythonhosted.org/packages/df/62/14f74b9543e605d17701dc797b815958b8bb70b7624ce1b832ddad48ed6c/cffi-2.1.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:aa9511c62d14da7aacc9b4bf51f3f697a621e83b2d6919008243c3aad168eea3", size = 208670, upload-time = "2026-08-03T21:20:08.04Z" }, + { url = "https://files.pythonhosted.org/packages/95/95/86342356ff5953b3fb06f7ef7c5bee212d45e770abc7218d451b9148313c/cffi-2.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a931079504ecc49efed7744c476a5c343a92fabf66dec2db95edb1b2fdc770e2", size = 221824, upload-time = "2026-08-03T21:20:09.274Z" }, + { url = "https://files.pythonhosted.org/packages/eb/ff/7b3429ff53aafe931ed8a5fc69f481bbef7ba6de87ddcbb63d08f483f613/cffi-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a2d7755bef5a12ed488f4ef1f1b69ee9191d7396083b755a5d2295f6edb4768b", size = 225148, upload-time = "2026-08-03T21:20:10.7Z" }, + { url = "https://files.pythonhosted.org/packages/34/34/a95870b9221e09cf4f2ce3178b1a210abdfe63a1bd357da940418d7b8d15/cffi-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e0bcb7e0f677f543555d2adff3bf19c05f66cdb4796e5ff602442ab2fe3c4ef7", size = 223564, upload-time = "2026-08-03T21:20:12.165Z" }, + { url = "https://files.pythonhosted.org/packages/70/ea/839b50531021a647fb5e929f72cf97bc1ff702b5472166164b5b6e76b851/cffi-2.1.1-cp313-cp313-win32.whl", hash = "sha256:334644fbac4eff73d985a17a91226df55d0f394160c4cfb880e084c8f7161cac", size = 175263, upload-time = "2026-08-03T21:20:13.559Z" }, + { url = "https://files.pythonhosted.org/packages/60/a6/8b149b2c3f2e11aaa1618ef64500b45f50f22c57a977a4dff1aff1f91042/cffi-2.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:1aa5645c30469b09530c4ebca77ebf8f17618293c58f8549cb1a543a50236e7d", size = 185688, upload-time = "2026-08-03T21:20:14.69Z" }, + { url = "https://files.pythonhosted.org/packages/01/9a/11f687cb39d6a3504060d5242f04f48c735afb4d3d533958a20594890cb2/cffi-2.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:63bbfd5ded17c4840ac07cd8f1c21ba9d9708141f840b324f422f41b207e3973", size = 180078, upload-time = "2026-08-03T21:20:15.917Z" }, + { url = "https://files.pythonhosted.org/packages/d3/7b/d6bbf82b8b96e7391438898c42f5bd96dd02030fd5b64937d248220003e2/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:7dbb61fe3a7699468030f71bbe5f8a0e326a151daa91beb11a6fc1f980c55e1c", size = 194064, upload-time = "2026-08-03T21:20:17.148Z" }, + { url = "https://files.pythonhosted.org/packages/94/e6/bcc91b283be94735e268487a054004f0aa19947b6348fa367db53230abc8/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:f24fb43132a4c6b4cb4eb029492919b2db645be6808d738f244fd146c03c32cb", size = 196720, upload-time = "2026-08-03T21:20:18.268Z" }, + { url = "https://files.pythonhosted.org/packages/d9/99/c4b0c17cacdc9c3b8f280026286a9826d6a208c0f047591a3c3ce99b91fd/cffi-2.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d28630f5854ab07ab1fd4aba756de52326c82e6be15d414b12793f1975048b54", size = 184964, upload-time = "2026-08-03T21:20:19.708Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a9/9db617d05d7367c1ad0ab00b3aa6e6f9281edd689b4ee9ea0e5a84e89c97/cffi-2.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:661c298b4821edebead0c91edd2b00374d67ad7c5a1f7a91d4442633b79d6a72", size = 184962, upload-time = "2026-08-03T21:20:20.833Z" }, + { url = "https://files.pythonhosted.org/packages/67/b8/b42132ca113dc567d37684437b46ca1dafc885902b02a110a02d5b511857/cffi-2.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:58acb8ab8e295e6c5ea12f888cbb13cf21511ef2a3303a23f4325c29d17fe5c1", size = 222328, upload-time = "2026-08-03T21:20:22.118Z" }, + { url = "https://files.pythonhosted.org/packages/80/10/c5c0cbf0a657aecf59ef511409734230bf556f05a0d6c9eed7aa5c0a0166/cffi-2.1.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:456a61fa52d579ebf9df2e9552ead5129855dbaff6c1e5a9b1bc408809bdc062", size = 209985, upload-time = "2026-08-03T21:20:23.401Z" }, + { url = "https://files.pythonhosted.org/packages/d5/6c/bfa0b87b03b9238148beca990292843c9396ba069b54496596594173de7b/cffi-2.1.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a4f00aa42f75d6e4595e8866e748cc1705adc0cddfeb2ca86d0d03993d63ba03", size = 208530, upload-time = "2026-08-03T21:20:24.628Z" }, + { url = "https://files.pythonhosted.org/packages/e9/02/4e7d553a7ac4b4238b38b3c1b80d486e9d4436f8d2acbf87a0997fe3f402/cffi-2.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b0431303acaea1089ad4b3e9ce4e6518193def1118d4073ca848635ee4ea2e96", size = 221525, upload-time = "2026-08-03T21:20:25.758Z" }, + { url = "https://files.pythonhosted.org/packages/82/1d/a4aaf9babd75acb4d5f223bff71533bee748dd770a382619a798960ee9ba/cffi-2.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:64faea20f4e2613363a1a9b9c7dd73058f3ecd00133a511e72ad7c511658f527", size = 225053, upload-time = "2026-08-03T21:20:26.985Z" }, + { url = "https://files.pythonhosted.org/packages/81/10/5dc0e7bdd18e22107054288283380fc97a06ae3f1656a106908d666a3c88/cffi-2.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5c58fe613dc5e5336357eff555824a314d8e43282600435c8d1cb6a7a2fedd13", size = 223213, upload-time = "2026-08-03T21:20:28.277Z" }, + { url = "https://files.pythonhosted.org/packages/0b/e9/d0061c364cde06ee43168a0d076ac1da512cbc380d44767b844ba34fe2b6/cffi-2.1.1-cp314-cp314-win32.whl", hash = "sha256:1a18a57b58cfb21fc28d72e876acf10eaed67a1ed96226f92af4df681d571c4c", size = 177682, upload-time = "2026-08-03T21:20:44.288Z" }, + { url = "https://files.pythonhosted.org/packages/a7/06/1c3e01e3ba14c39f6d10bfbac52753b7e22259e38088e5cfe1d704918690/cffi-2.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:3222ba5d678f80a030e6afbcc33dc1ae5cb45facabb61cee2c7016b8432fde48", size = 187949, upload-time = "2026-08-03T21:20:45.623Z" }, + { url = "https://files.pythonhosted.org/packages/87/5b/da4e39efe18eeb89cf580ea9cfc66b6a7c3eadb808fc0cc1d3a295cb5a5d/cffi-2.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:ab36d55f9ed2d067327667c2fea18dda018eb628dd6347aa01dda6cf1f5d3836", size = 182947, upload-time = "2026-08-03T21:20:46.955Z" }, + { url = "https://files.pythonhosted.org/packages/23/59/40338bf421c5accea1d45158170c87006ef1cd371b05c077e76476949728/cffi-2.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7750c6449dff7864bb9bb27ddfb0267756189201a3afc911d82b3caacd70dfc3", size = 188504, upload-time = "2026-08-03T21:20:29.495Z" }, + { url = "https://files.pythonhosted.org/packages/7d/47/5ecf1023850036e674c77ec4de86182d309ae344e39e7cba984b7df5d647/cffi-2.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0beceaabe56af686895136a2de78db54ecd8e4046b236b8fd6d6cb61389e9bf2", size = 188259, upload-time = "2026-08-03T21:20:31.291Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9c/92934c3bea9f785b23eba304538c0b4d37a2a96d2431eb3a1bc87a11aa19/cffi-2.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:49cbc70e6542d4ccccb936558d1064a8012541e78f821f955cff24e357776c94", size = 223864, upload-time = "2026-08-03T21:20:32.571Z" }, + { url = "https://files.pythonhosted.org/packages/4d/45/ba4c93527bc38616a8bd36488acb69a2212d60486794f0c1f318949bbb76/cffi-2.1.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e2d65b31f36619cda3999b78b2aa9632e76b78448e7a56fc4240824200e7c4fc", size = 211538, upload-time = "2026-08-03T21:20:33.808Z" }, + { url = "https://files.pythonhosted.org/packages/80/e9/b6ef565e452acb932fb0cb5443f44a78efbd1233e566f02b5a83855e9115/cffi-2.1.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:28907ab9bfb6aa13184cfc17c6b8e1023c5ab6fd7076d8c20a35e59fe04f8f29", size = 210688, upload-time = "2026-08-03T21:20:34.974Z" }, + { url = "https://files.pythonhosted.org/packages/9a/95/eff5f0cee78d2eabc7eebffec40d3fc1876b5f3c95582e018bb4b99601f2/cffi-2.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:51b31d1c98274844cfd7838ce00bfc27c7423a4dc00fc0772fc3331c2cc90676", size = 223803, upload-time = "2026-08-03T21:20:36.564Z" }, + { url = "https://files.pythonhosted.org/packages/fa/01/579d39fb8bef00a335a23d83757b44feb24cd6345a2c451b64cb67b9c362/cffi-2.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e7cecbaadb83884793e05828cee59b210b24583b9c7425d0ba6a754fe22eb4e", size = 226763, upload-time = "2026-08-03T21:20:37.816Z" }, + { url = "https://files.pythonhosted.org/packages/8d/b0/0b44f47c60b01b57b6e2bbd92343f13a85a1d93bc46ccf6e47e244acd99c/cffi-2.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:25792eac27877609e7bb06d42ff88278a6624fff2ba9bbb523c09616b117e80f", size = 225688, upload-time = "2026-08-03T21:20:38.959Z" }, + { url = "https://files.pythonhosted.org/packages/eb/d2/3b7176cb570a1d3e27faf67b72f591af508036e0d8b2be2ef9af9e8c84bb/cffi-2.1.1-cp314-cp314t-win32.whl", hash = "sha256:8ef53b2de9bcb9197d31854256575d59dbac0cba72ac627bb291ef5eceb74be4", size = 182868, upload-time = "2026-08-03T21:20:40.388Z" }, + { url = "https://files.pythonhosted.org/packages/56/78/31f00c1bcd97c9bbf55f1bfdf5bc809a5de8887473e90bb9960dca825e80/cffi-2.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:616f097f2fe415bc92a247f02e11f634e1f9e9a83d327e3c915c15089c87869e", size = 194104, upload-time = "2026-08-03T21:20:41.725Z" }, + { url = "https://files.pythonhosted.org/packages/7b/1b/58496f2ed0a35de575250c02a43ab3cc2c04d494a88fed31c1cabc0fd176/cffi-2.1.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ad2c86c495b899d862ea0f4b42891b8713a3bd45dd4105c7fd51c2a72f39f3a5", size = 186402, upload-time = "2026-08-03T21:20:43.042Z" }, + { url = "https://files.pythonhosted.org/packages/c1/8f/9ebe220eab48a093d1a5a5e339ab0dc7316eef3bb04d63c42f0251b61f50/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:dddad92b554513a31f272570678ba307fb9f618f05e3d4a5eacafff9eae03e1d", size = 194043, upload-time = "2026-08-03T21:20:48.179Z" }, + { url = "https://files.pythonhosted.org/packages/ff/69/844bad3ece306c4782c2ecb93597035b6690d48704b803914c199da1e8b3/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:da0e573f9f97159390c89d9f1a9e41908b66d408cc5b58d08cf3847d844c531b", size = 196737, upload-time = "2026-08-03T21:20:49.457Z" }, + { url = "https://files.pythonhosted.org/packages/1b/8a/af668013284634733f02d683458a0728739c7d6ddb5e14cb0c20832266fe/cffi-2.1.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:fb92203a88b3d3053034db775110081c49d28be6551923805e039924093761e4", size = 184933, upload-time = "2026-08-03T21:20:50.639Z" }, + { url = "https://files.pythonhosted.org/packages/0c/75/2f5207ff6d1a613133b23a5203cc0c2a628313b5eb3974d7956ae3c57950/cffi-2.1.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2ae64be792b8966f2c69538199728b290e34726562896df1e5dc8ffd8d8188e8", size = 185002, upload-time = "2026-08-03T21:20:52.173Z" }, + { url = "https://files.pythonhosted.org/packages/e2/31/9e1313b0a6e30e91b3b3d3fff51ae99c857c07738e3afcce1f7334e1b7ab/cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:507a24c282e0f42f8ed737cf048572cbf580468da5555764a8331735e9c736b6", size = 222271, upload-time = "2026-08-03T21:20:53.462Z" }, + { url = "https://files.pythonhosted.org/packages/50/e3/f6234a833e6e08c7007003074723c406559eecf9b48dfc97471e5a8eb7a0/cffi-2.1.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:246fa40ce8645a614ff682e0b70f37134e460eaf93a775e0cbe3cca585a67a80", size = 209919, upload-time = "2026-08-03T21:20:54.783Z" }, + { url = "https://files.pythonhosted.org/packages/0d/fc/5f74e293fced6edb51af3a46c4ccf6c23c9943774ecb375ddbd522c76add/cffi-2.1.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:471cee653ae88de62096552e6d24ccb4a5adb8c8c9f10b5054d0122c15bf2779", size = 208529, upload-time = "2026-08-03T21:20:56.066Z" }, + { url = "https://files.pythonhosted.org/packages/44/16/29e6d01b388bef055ecd6ca8244b3f4d336bd09e92d5d892187b9601084e/cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aeae0e330c9f6acd681f647d46cefd30c29f93e3392882e792e82080c9691399", size = 221630, upload-time = "2026-08-03T21:20:57.336Z" }, + { url = "https://files.pythonhosted.org/packages/a4/18/fa7f1f6857d5eb88a4ca99ffcbfb7c387a287ccc154c64a73e86314745d7/cffi-2.1.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:42a494cee34437f05546455144f2b5d9ac09b1face62bcfce597d2e521066688", size = 225134, upload-time = "2026-08-03T21:20:58.675Z" }, + { url = "https://files.pythonhosted.org/packages/e0/9f/e8e3dfa04a1b4c241f8c91faacad872b4d4efd051d49764ad4e2fd4b9fea/cffi-2.1.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:cc572dace3f60ef98d7b12ff411d20f5362feb31a0439eab0085bbfd349982d7", size = 223197, upload-time = "2026-08-03T21:20:59.968Z" }, + { url = "https://files.pythonhosted.org/packages/f8/7e/8debeb04f1ab9fe2a6963964cd6f1aaf7192627b83926586a6a4e089c9fa/cffi-2.1.1-cp315-cp315-win32.whl", hash = "sha256:4f42141fc14250de6dde5ee7ea4432be017252d91f19c5ad043c084cea629cac", size = 177683, upload-time = "2026-08-03T21:21:14.901Z" }, + { url = "https://files.pythonhosted.org/packages/e0/31/5158704cc474ab65c1647932e88be78dc0873f47130e253be38bcaf13d01/cffi-2.1.1-cp315-cp315-win_amd64.whl", hash = "sha256:e6e8cff14d6fb0be70a09c0bdc58096f501952d04624ebf867e0e56da2df8960", size = 187897, upload-time = "2026-08-03T21:21:16.108Z" }, + { url = "https://files.pythonhosted.org/packages/cc/4b/b3a2da8570c704ffc0f9762cdc3ec0f02c8573798e0b5cf7f11c82bbb70f/cffi-2.1.1-cp315-cp315-win_arm64.whl", hash = "sha256:27350daa11d4f10c540e6e89dada4c54feb7256ad03e9a4dc075ebad7ba360d1", size = 182935, upload-time = "2026-08-03T21:21:17.271Z" }, + { url = "https://files.pythonhosted.org/packages/d0/ef/5443574510a1207e6f6bc38ba6e1f1de36cb48fef07b2728bb896a21f430/cffi-2.1.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:c26608d2222fb1e94487e4a387d85f13eb55d5ed725cb25a0c589ac4ee60e7bc", size = 188464, upload-time = "2026-08-03T21:21:01.163Z" }, + { url = "https://files.pythonhosted.org/packages/7e/ae/a56fa8c4686ad50e148fcbc8d3ae0d03915ff5c30d795058988c24118cef/cffi-2.1.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:4be96343e422f2dfcd12ab5c9f5aebe03f82f737c6bffeca6830b3875cb44aab", size = 188262, upload-time = "2026-08-03T21:21:02.382Z" }, + { url = "https://files.pythonhosted.org/packages/53/b2/6187f46f2912276a3ae284076109cc5c8680482f11f766ccf26db4a86427/cffi-2.1.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:937c0052c05a31ca1daf18de3158eed4dbfcb9cc107adbea227728d647be701e", size = 223779, upload-time = "2026-08-03T21:21:03.553Z" }, + { url = "https://files.pythonhosted.org/packages/8a/f6/c3ad28bd19f77047a03084424fbd4cbe997303267c14423737324be0385d/cffi-2.1.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:df423d40ee8654634421812bc3b196da3f9bd7d32929da813f8394c4348a5358", size = 211520, upload-time = "2026-08-03T21:21:04.863Z" }, + { url = "https://files.pythonhosted.org/packages/a0/cd/ccac9013a5bd9fd764de118674ab9c805b5ca10c19270d90ee273f8b2240/cffi-2.1.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a730a083190634c65cca36ba5f489531576ebd79bcd5c8e172130f6453127231", size = 210673, upload-time = "2026-08-03T21:21:06.223Z" }, + { url = "https://files.pythonhosted.org/packages/52/86/2976131c639aead931c5bee5aba67e4b09fbeb8018b6f282f70803f923a7/cffi-2.1.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:363e05fa78e15116c3c32c210ee36884fd6b9afa6d440e47112c3bd511d64cb6", size = 223835, upload-time = "2026-08-03T21:21:07.539Z" }, + { url = "https://files.pythonhosted.org/packages/ac/0c/33a7aeab2f9c76918c52e084beb39c570db3588133412929e8ec06fab90b/cffi-2.1.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:770de9db11e84213beec501cfcaa013b019820ca881e03344dea5844f7876d94", size = 226705, upload-time = "2026-08-03T21:21:08.774Z" }, + { url = "https://files.pythonhosted.org/packages/e3/26/2cde30fdde421130bfc18f70395731a6e6b2053c6a1978a5258ff04e72fa/cffi-2.1.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:7da0c5eff80f0197f3b3d1232ec5a682a9325f4ae9016a78f5f5ca35f9ced1f5", size = 225539, upload-time = "2026-08-03T21:21:09.911Z" }, + { url = "https://files.pythonhosted.org/packages/6d/cd/a361394c94b2129d604bb846f624a8e88255a3ee33129c434a00d715e64f/cffi-2.1.1-cp315-cp315t-win32.whl", hash = "sha256:06c72bb76605a4b0cd0aad6930b69d4baf7dd5d806cfc409b824191099700e66", size = 182707, upload-time = "2026-08-03T21:21:11.226Z" }, + { url = "https://files.pythonhosted.org/packages/9b/b5/ba2b299993c26577d529b6ae29841f9e15b9fcf004d65f423f4fcf94ade9/cffi-2.1.1-cp315-cp315t-win_amd64.whl", hash = "sha256:d9c275eaacd24aa73f94ffd6de08fc3f932424d8b6c376f4bed7cde376fe7bc3", size = 193772, upload-time = "2026-08-03T21:21:12.39Z" }, + { url = "https://files.pythonhosted.org/packages/aa/29/35e016098c814cd93de9cd320c66b5bfba14dc6ecedd3cb518fa7c408c69/cffi-2.1.1-cp315-cp315t-win_arm64.whl", hash = "sha256:d18e5ac0f2f03f4f518d3e23db0f0cad7faa1da8620e9c09461d443bbf6e6692", size = 186360, upload-time = "2026-08-03T21:21:13.636Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e5/3f/143b048436775b0f76ac3eec145c019e8173ccc2885c8f20319b996d5e83/charset_normalizer-3.5.1.tar.gz", hash = "sha256:6117b84ea48435e5356dc737f5121485c30920ba43375fa7b434fd753df0eac3", size = 171764, upload-time = "2026-08-15T08:20:44.807Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/b6/034f6802e9c3f6418966cfabb7db8c9252cc2429c5098f41cc43af804149/charset_normalizer-3.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eda059b6bc8bc0812d626fd91a7ce01bf583df0a61296eff390fd94141a34e30", size = 363585, upload-time = "2026-08-15T08:16:46.646Z" }, + { url = "https://files.pythonhosted.org/packages/d5/fa/6a7e2a7c4b5451912b8c417732df79574354443592a88d616de03da66ae5/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa2bb0b37202dca27175591f761108b5d34096ade1191ffe4808bdf6b1571488", size = 251189, upload-time = "2026-08-15T08:16:48.287Z" }, + { url = "https://files.pythonhosted.org/packages/a4/c8/ab42b07cfd82e919f427fcfaa7c41abae8242833ad1aad66d42bae40b669/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b2b1b3fa5670c127b246df1d0c059defd41f689a868a3b9d79df9b1cac42d22", size = 239724, upload-time = "2026-08-15T08:16:49.67Z" }, + { url = "https://files.pythonhosted.org/packages/e7/80/b9348b5d3041209f98b4cdad7655766369233f1d533f4f4f7558e9717bec/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6e5e4d73d588ca5ed09df1b7dcd1b203d1df3c542e3f50d126c947d432b10731", size = 280078, upload-time = "2026-08-15T08:16:51.228Z" }, + { url = "https://files.pythonhosted.org/packages/82/38/083a24028304bc85bb9e376fed801178423dcbb67495f73b6ea0624e1894/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b54e7e13267d49ffbfe68e25b3cbd774dab38fa37238f71265e91b36146eb21c", size = 276650, upload-time = "2026-08-15T08:16:52.625Z" }, + { url = "https://files.pythonhosted.org/packages/0d/35/731ac04aa0a097fc1c97f0994c375bdb230c6c96619db794208fe664e9ce/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7b742bf31c88566b4bb6335a7f393bb322e580b6bb98df7bd0c25e6e3519ce8", size = 262325, upload-time = "2026-08-15T08:16:54.085Z" }, + { url = "https://files.pythonhosted.org/packages/f5/28/c2028e7021fb89c6e56868ed0e387b8e9aa811abdd2ab3208d6578d2c930/charset_normalizer-3.5.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6ba32c4d2abf1d2fe7cf27d280f4cca5664233b0f885549c7761719eb977f486", size = 261140, upload-time = "2026-08-15T08:16:55.604Z" }, + { url = "https://files.pythonhosted.org/packages/28/f0/0c0ceec6d98b7daa62e361e418135d59685811d79ba11529aad5cdf15e84/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0722590aabf9dc6a6c0343d523c05458fa2b5047dbe6302fd526bb570600753f", size = 252791, upload-time = "2026-08-15T08:16:57.103Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3e/48f4cd187b1c33189d86039e9cbe4f92c05454175504b44ff81806d4d1bf/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:aa1099b956fb795e686d073568f6dc002a0bb89765ea6d5b055dd7d9bf1b116c", size = 240730, upload-time = "2026-08-15T08:16:58.418Z" }, + { url = "https://files.pythonhosted.org/packages/42/85/f9e22af69af67c54cce42be9455d9c81294f918b4ccc454db01f66efcac2/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:bd6c173f04743d483881bffa1478d5a4624475b8cd1d2194956a75548e191c18", size = 280791, upload-time = "2026-08-15T08:16:59.918Z" }, + { url = "https://files.pythonhosted.org/packages/fd/4c/9044135f42127630b6fa742feb51256353f6ab87a78f2fdd1de3de955a7f/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:f298e218441525d3794428b4c8b8fb8662c6d3ea79925d4807ee6b9a96a3bca5", size = 259598, upload-time = "2026-08-15T08:17:01.421Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ed/1dd7cfebb4e75812934c49ca3b79757d11948053f7937ab7070c151f3c55/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:6e2912d4babbc65196ac13c2f53468dc57fb8b9c25ef913e8c59ddf7c6dc0e1b", size = 278217, upload-time = "2026-08-15T08:17:02.782Z" }, + { url = "https://files.pythonhosted.org/packages/bf/eb/239c84503cc9e3ba6eb34686a24bc66e84f3924efdd7e38e751a19f6bc10/charset_normalizer-3.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3d27167433c0d5f18dc850f07d0b3816221984fecdc405d6c157a6f0b8f8e9e6", size = 263417, upload-time = "2026-08-15T08:17:04.216Z" }, + { url = "https://files.pythonhosted.org/packages/37/ab/4e4510e1e288478e2c8333131d1c1382382ba8cd2165053c79e39d1da961/charset_normalizer-3.5.1-cp311-cp311-win32.whl", hash = "sha256:ac00177c4831ffa650f8609e4bdddd5fe09c03b1c0c47acece7e6ea20421598b", size = 181774, upload-time = "2026-08-15T08:17:05.58Z" }, + { url = "https://files.pythonhosted.org/packages/e3/57/32f0ccea59e8612057c61d6fd22ef2cb63cca93c9fe594094919696ac170/charset_normalizer-3.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:f9b1e28d0e8dbfa858abdba91d6b547beaf2df1a59bec6da6faae7b96a4991a9", size = 206653, upload-time = "2026-08-15T08:17:07.075Z" }, + { url = "https://files.pythonhosted.org/packages/17/d4/b65c433fc521e58b5f54293982a5e51c05cb5f2dd3f1c7a6acb65b75324e/charset_normalizer-3.5.1-cp311-cp311-win_arm64.whl", hash = "sha256:ae31a1a1db2ee6cc2942fccaf695c934bc7f3db9f2133a3fef1f367cf1a4ab10", size = 185630, upload-time = "2026-08-15T08:17:08.502Z" }, + { url = "https://files.pythonhosted.org/packages/30/27/78873dc8b6a56357517b74b6bb9568b80450e7bb4f6ef7e3fa9d22aa0bd7/charset_normalizer-3.5.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:5b6d1386bf0096d26d3a863dc0a487a5b4eb9aa93cf5ba69683d29dde6b9d60f", size = 344456, upload-time = "2026-08-15T08:17:10.072Z" }, + { url = "https://files.pythonhosted.org/packages/9a/4c/be49ada26b1f0232d57aa89bbebf997a5cc2332a5616b6eca26ff680044d/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4582c27e8c889d64811987b5967fbd3ae0c823fe1fd933b543d55ac20bb475fa", size = 238530, upload-time = "2026-08-15T08:17:11.563Z" }, + { url = "https://files.pythonhosted.org/packages/76/84/6f1290fa07ae6978d3960caa3eb1b8019bf9284ab7c2297b00c099ef4250/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1d1c7a53a6c2103925cdd6d7229f8c567379f211c869793df679f2e9f738c369", size = 230200, upload-time = "2026-08-15T08:17:12.919Z" }, + { url = "https://files.pythonhosted.org/packages/e7/a0/47b18adeed31c8f16ba9700f32c1b18594cfa09f47eb672a488c273c22bf/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e6621fb2a4988d6e53eedc455e5903e2679f3967b8acb3d639f1b63c14a2e893", size = 262222, upload-time = "2026-08-15T08:17:14.571Z" }, + { url = "https://files.pythonhosted.org/packages/38/fe/341861ac118dae06f3ec0eb487488af52128f2ef2faf0b11003944d22259/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7c0c10730342b0c9b35dd1d619beb8214e520bd96a1f870f452680b238aab3e0", size = 258951, upload-time = "2026-08-15T08:17:16.158Z" }, + { url = "https://files.pythonhosted.org/packages/6f/89/bb5108dc6c3651dca963f2b0a3ba19bbcb370c94e1b6d3e0e844a58e6dca/charset_normalizer-3.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b9af956078716df40d985fb0dfeb2c2120c5ca92ba4ff4b388acfd01cdc14d08", size = 248801, upload-time = "2026-08-15T08:17:17.683Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ba/ef83ae3aca816393decfa3530976f38a79812d707b80b580ac33b83f9877/charset_normalizer-3.5.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f9f8405c2c758532c74fed975dbee57be1f31a6e865c031870c79a6ed3212ada", size = 244070, upload-time = "2026-08-15T08:17:19.191Z" }, + { url = "https://files.pythonhosted.org/packages/f6/0b/c5292a2462d69b7378ea89793bbb5b2b6fcf6f7dd6d1667f9619094ad553/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:96fef3e886d6a9874b14f27fc193fbdc69d5d8035783d86aa4e1cea594e695f9", size = 240110, upload-time = "2026-08-15T08:17:20.547Z" }, + { url = "https://files.pythonhosted.org/packages/46/22/111e5be3b740d5c2a5bfcedb3d237b6591e5c2e82ae9d6ffcb121fe0909c/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5d8531a6569d025f68e2321e7638fb7978f23db58e5f69f56913837aae03816e", size = 232836, upload-time = "2026-08-15T08:17:21.895Z" }, + { url = "https://files.pythonhosted.org/packages/f9/d2/d2aad6fe0dbb44b194bf3becb60f5a0ac48446ade999a47fe7bb41eb09a7/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:aae2ee51122d3ae968a3837d97dc24a0aeebb0dea23694422cd172bd30017cd6", size = 262712, upload-time = "2026-08-15T08:17:23.727Z" }, + { url = "https://files.pythonhosted.org/packages/35/5a/337e4663a5eae6de99db940ee8066d4145caafb61327db62deda15313cce/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:7235dc28fc6dd9d832ac7c7bce95367dedb85929f17368a0c2bee1e080b9acbf", size = 242977, upload-time = "2026-08-15T08:17:25.157Z" }, + { url = "https://files.pythonhosted.org/packages/ca/85/f82f8a92e31c7519410e2e1afdc630f28ec47490ce2c09a11c1a43cbb459/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4abdc5f9ad448c1ecbfae2974b820535d6bc6e7eef63babbab3d81cf46968c71", size = 260207, upload-time = "2026-08-15T08:17:26.602Z" }, + { url = "https://files.pythonhosted.org/packages/b7/52/643d11ffd60e9ac2fd1fb87e167a19285b9eefeff4a40e63c87cbfbeab36/charset_normalizer-3.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ba501e667c17d8411f98e67a022d9604ef179aff0e459b7e292c796837c13573", size = 250562, upload-time = "2026-08-15T08:17:27.971Z" }, + { url = "https://files.pythonhosted.org/packages/62/16/46556278c2168d12df9da7fede5dc6fc70e60301b26a82bbeec238c9cfe3/charset_normalizer-3.5.1-cp312-cp312-win32.whl", hash = "sha256:cfa1c0cc3a8f9f53f1243a5a99ac36fd003880199383b37672e86ddda9cb07e2", size = 178507, upload-time = "2026-08-15T08:17:29.277Z" }, + { url = "https://files.pythonhosted.org/packages/9d/7a/4c6c298171e6b3e745633180ff59350fc0ca0db1ffd28df1e369e0579f71/charset_normalizer-3.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:3617ac3cfd8b9888f145ad89dd6e692285834b0201c6074a5eeaad3fd4d668c2", size = 200551, upload-time = "2026-08-15T08:17:30.668Z" }, + { url = "https://files.pythonhosted.org/packages/cd/d7/eb95a042f0dd22e304b0b6472b154f3546a1a039a9ee89ccb2a7f61591fc/charset_normalizer-3.5.1-cp312-cp312-win_arm64.whl", hash = "sha256:88e85ab89cb822c1e635f51d6d32e488f94e002e70e2f492bdb8b945543f345a", size = 180700, upload-time = "2026-08-15T08:17:32.028Z" }, + { url = "https://files.pythonhosted.org/packages/bc/61/2cb6ad133dbbb449fa2d37ccae973232f4827e799af258d15e589a3d1e9e/charset_normalizer-3.5.1-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:4f298bdadb8f0b9e5672877f647d1be9373ef5320c9e2f049795e26cad28b6a9", size = 211584, upload-time = "2026-08-15T08:17:33.597Z" }, + { url = "https://files.pythonhosted.org/packages/18/57/a305c968be1ca13f3dd1b32f445877e97addf55d80b65c7cb35fac82b777/charset_normalizer-3.5.1-cp313-cp313-android_24_x86_64.whl", hash = "sha256:88ca277405c2d3b71c4e1c2ee0e7966e807bcba86a69d11e19ba199d18ae4491", size = 223359, upload-time = "2026-08-15T08:17:35.022Z" }, + { url = "https://files.pythonhosted.org/packages/09/0a/d3646670292ce8d8f8cc11ac067d44885e697a5591f57a9221128da5e7b3/charset_normalizer-3.5.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:9362dd90aa7dab48c0054a21187791ccf05473f7dba5d92b8033ae62164675e7", size = 194464, upload-time = "2026-08-15T08:17:36.452Z" }, + { url = "https://files.pythonhosted.org/packages/de/93/d51ec556e01042fed6f993ea859311bc7917b466684182fbbceb6ca24762/charset_normalizer-3.5.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:977cdbd483a9cff38179bea4fd754289a6f2195c7abd414aba85410b3e66cc5e", size = 197676, upload-time = "2026-08-15T08:17:37.819Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a0/562247944386f7d4ef94467e84876600cc1e0f1b93239aaa9213d2bc3cbd/charset_normalizer-3.5.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e90251c0c7bdd54a100a0dce3c07b7e637278c93af29dbf78ebb89a58c4bac7d", size = 340473, upload-time = "2026-08-15T08:17:39.303Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/1d994be1b93d41e9502b8b0460eaa88a1dd8df335df415db87d6c3e91ab2/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:94d78ecec2605a8d0398b0f365d5f12a63248438516f5dac536a5eff7337df4a", size = 240156, upload-time = "2026-08-15T08:17:40.66Z" }, + { url = "https://files.pythonhosted.org/packages/09/53/27923ce5cc6cbccb832037b27dca98882d9c53e9b69e866bbbef4aae7fc8/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d59b75732e9b6f27388e10c14b0259cc5f2e48c78627d185e6a177b58ad3cffe", size = 228246, upload-time = "2026-08-15T08:17:42.003Z" }, + { url = "https://files.pythonhosted.org/packages/ce/48/5a97e84d63af1d55c07439cb80e56d99a8efb4295700eb4e18c0d1615d2c/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0d929fc574b4d6fd9e7c0f5c2ede8716a41911923aa7fa5fce38e0818aa4a1ac", size = 263660, upload-time = "2026-08-15T08:17:43.627Z" }, + { url = "https://files.pythonhosted.org/packages/7a/c2/071575791dcc88316c0a9a65ce38897a82e4cfe4a325f0f7fe1b1ac47bcf/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:394fea06235c8543390050ed5f529187074b029fb027213f6c46ac11ab5d950e", size = 260354, upload-time = "2026-08-15T08:17:45.094Z" }, + { url = "https://files.pythonhosted.org/packages/fb/af/63240b0c0248c075c2535a1f1bd992821d8251b9f173abc13329661d09e4/charset_normalizer-3.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62b55f6722735a6c472f88361cde6640608773d9443cebdbb51abf436a1fcdd3", size = 250638, upload-time = "2026-08-15T08:17:46.496Z" }, + { url = "https://files.pythonhosted.org/packages/4d/66/70dfad64f15be09c15ccfee81330a7e515895dbe296dd23114e9a231268a/charset_normalizer-3.5.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa48b1b63d639f9483e0633e092f5851e2348c352f1f9bb6c8182f87884ef876", size = 244583, upload-time = "2026-08-15T08:17:47.963Z" }, + { url = "https://files.pythonhosted.org/packages/c0/24/ef36367d38b9ddd4bccbf72888c342e8de1f5ae506fa0b2dcf970e2732a1/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c71fb0d56c920c269cd3e2e3fe7c610e3f1fdb21a6ce60efa6430ff63676cea6", size = 242038, upload-time = "2026-08-15T08:17:49.481Z" }, + { url = "https://files.pythonhosted.org/packages/db/ab/55e683ba0fff2e43adafc10daa3001eac90fdaa419a97227d5a7067eedde/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:485a0d363cafefcd2538a73c7c838daa2035f09b2c9f9b5e3133f80c6aeb84c2", size = 233677, upload-time = "2026-08-15T08:17:50.845Z" }, + { url = "https://files.pythonhosted.org/packages/bd/67/0f40eaf8d1b6e7cf15e82382a2965efaca787fc1c2794b7021d37aaf5036/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c0ea61a470e070686aa30892fed79e297d2c8d0ab46b8bcdf027d38c51da591", size = 264491, upload-time = "2026-08-15T08:17:52.61Z" }, + { url = "https://files.pythonhosted.org/packages/5c/64/12b4c2a11ee8df4fcc518c78b0d93e3a92bd3d5253d1617ce74ff0e8c7ef/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:90b7481fb62fbe172c558bc6fd1c4c98d82004a54a7551f20e11ac9bf0b8708c", size = 245196, upload-time = "2026-08-15T08:17:54.023Z" }, + { url = "https://files.pythonhosted.org/packages/37/2e/651d910af6d0fba325eee1cda37ec5443462ed25360e666c144166eb6091/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:35fe081843b35aad20ffeccec3eeffbe637b15d14f3fb22cc1b59cd8ec17e93c", size = 261660, upload-time = "2026-08-15T08:17:55.491Z" }, + { url = "https://files.pythonhosted.org/packages/90/c6/b09e05e6db7f64338e0dc067c79577b1138da86c1e38369096851d96be88/charset_normalizer-3.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fd0350afdc3aabd5576f60ea109228bd5538139713c7b094c5cd27c73a98bc6f", size = 252618, upload-time = "2026-08-15T08:17:57.025Z" }, + { url = "https://files.pythonhosted.org/packages/76/4e/362d4f9fdcdf5556fb2aa3ce7d4a58ebce03ed1ff03aa1d9aca8d02f13f3/charset_normalizer-3.5.1-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:9d9a0dc7cbe9bec24c3f767c9122c41fe5a1bc43f47cd099d00d393e09769de4", size = 140362, upload-time = "2026-08-15T08:17:58.425Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d4/703be739b26acce318bd29eb3b25b7209e1b1f527f9eae3d1f1f01fdde2b/charset_normalizer-3.5.1-cp313-cp313-win32.whl", hash = "sha256:d63600d620ad0064c3a748b950ac5ea38a80190e5498532efefa4b7b3f1da1f3", size = 177755, upload-time = "2026-08-15T08:18:00.037Z" }, + { url = "https://files.pythonhosted.org/packages/8a/33/56d97ade41c8db611e727168c52ae46c9224c362ec28d4b65d7e9869e8da/charset_normalizer-3.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:aea996a6aba25260827c9ea511d1addfde2da9eb686ac961838509086188b7e6", size = 199295, upload-time = "2026-08-15T08:18:01.506Z" }, + { url = "https://files.pythonhosted.org/packages/5b/75/5b20dd1e6573a01a08158fe104104fa2c8abf941745596954185726cd46c/charset_normalizer-3.5.1-cp313-cp313-win_arm64.whl", hash = "sha256:fd0a274c0e5f9a21565cd9d3dd749b61f96b7aa1e20a93aa1ba4029518f2e5c0", size = 179856, upload-time = "2026-08-15T08:18:02.929Z" }, + { url = "https://files.pythonhosted.org/packages/29/cd/2b812ce5e888f1ce69a5350281e58aab07ae64a958ecae8912f30865718e/charset_normalizer-3.5.1-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:774d157f112367ff4abd29019f38f023c24e00e56edc7829c20e358a5a913ad8", size = 212318, upload-time = "2026-08-15T08:18:04.403Z" }, + { url = "https://files.pythonhosted.org/packages/9e/4a/a6ee107430768a5334e6d63f31f148a04a1a491ef161a1ac9415a73f2fa8/charset_normalizer-3.5.1-cp314-cp314-android_24_x86_64.whl", hash = "sha256:26422d45fd13551cf564c58932f7d72b4f58b93b0fcf18c35ba6be12b46bb102", size = 224897, upload-time = "2026-08-15T08:18:05.997Z" }, + { url = "https://files.pythonhosted.org/packages/c3/d9/35ae3f64f29d0179c35c3baefe575904df2913dde519129c7f75995a2b1d/charset_normalizer-3.5.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:09a7bba9f739468c8e78c36a75c33768e53cb1959fc638f510454c14683f00d5", size = 194848, upload-time = "2026-08-15T08:18:07.397Z" }, + { url = "https://files.pythonhosted.org/packages/74/76/f2fc7380f056cc273a53af37f50d08ad54b2c59f61078f31432edcf1c2bd/charset_normalizer-3.5.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4c9548dc78002099910abaebc0a72ac58b7d30931869e0351c09b507dff4ece3", size = 198163, upload-time = "2026-08-15T08:18:08.989Z" }, + { url = "https://files.pythonhosted.org/packages/e9/40/095ce62fa078483cccc1fa2b36e6bc9580b85422a20ee9f925341c50e44f/charset_normalizer-3.5.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c428c6c31eb5f4277d7f8eccaf767fbd548ddd5ce3c8b4f4cbbfab3d96b5904c", size = 341823, upload-time = "2026-08-15T08:18:10.458Z" }, + { url = "https://files.pythonhosted.org/packages/f1/5a/0e58b1c04a1596e0256f407274a92d5fb2ee21324409d1fab1da48a65b5b/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2f06b7eae9dbe77fe1d644ca244dad508de8d302870a43f3c559b521270938a0", size = 242458, upload-time = "2026-08-15T08:18:11.989Z" }, + { url = "https://files.pythonhosted.org/packages/22/95/b4618ce912e6db0b1aae89ba788e38e8a7eba0f3025cc66e8c0699f977b2/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b7430cf5728e68f6c462254009a6ef4086e1bea43cf2f57aa9c55fb4f50ff96", size = 226717, upload-time = "2026-08-15T08:18:13.401Z" }, + { url = "https://files.pythonhosted.org/packages/8a/76/c681192bbda3d55356db5dadd64381d5202b37c6b598fcda5282e88b5d3d/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab743e9bc90c1f73552ec33e10e3331315acd2c397b36065b591b0181de533cc", size = 266111, upload-time = "2026-08-15T08:18:14.961Z" }, + { url = "https://files.pythonhosted.org/packages/88/be/55127bfca72c0cff6c022488d140d7c5b04c771e3b72e9bdb4836d54979d/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6f7deae3feb4edfa2efaf7c574fe88cbf055038a6abdb40188e4fff66d5699f", size = 263128, upload-time = "2026-08-15T08:18:16.515Z" }, + { url = "https://files.pythonhosted.org/packages/e0/91/39c3af510b0aa32bbda03374259200f28430febfd1bf5e511fe765282ce5/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15f024313246a4ed976c60f440bb8d257815513a681d212ff74fd46f7d715a90", size = 251240, upload-time = "2026-08-15T08:18:18.127Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a5/cbe418bbc6ecdfc3e05a0116002897c4b403a5e838d697e64c78e9f0190d/charset_normalizer-3.5.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:823f82903d189af463d7df250ef1f7f696f3cee08cc8d91deb565e8d425f6506", size = 245282, upload-time = "2026-08-15T08:18:19.625Z" }, + { url = "https://files.pythonhosted.org/packages/cc/a4/689bb42e8e7cd492f3cb64907c6bc00ad247ec9a3628cd3f8eed126e8ae1/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:01e93745f7f219b703b60ba7afead36cfc4242782be5af484673fc500df12da5", size = 244597, upload-time = "2026-08-15T08:18:21.121Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ce/9962938e179cf9f699d3f1e7b3114b5d7642dee6a893745229f9dd04f274/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:329fc3ccb63ad22d867d84c2adea759a64079a37ba4a343433b02c7a2816871e", size = 231376, upload-time = "2026-08-15T08:18:22.57Z" }, + { url = "https://files.pythonhosted.org/packages/85/54/46000450ada53bd9eac5429a2c8c54cd2d9b39c0c255f229aea9af0948a5/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:bb57753e36e4855b8ca375069482250a6246372331a3e4f3407eaebb007443f5", size = 266715, upload-time = "2026-08-15T08:18:24.235Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bb/618749d70f792b44252a777bf89bfb86823b9bbc1ea13fe8ce759b07f38a/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fce8cbd4997efeb450bd298b54f755dcdff18d496f7a5ddbb4867c6d7c88fdc3", size = 245848, upload-time = "2026-08-15T08:18:25.726Z" }, + { url = "https://files.pythonhosted.org/packages/7e/3f/ffb64458527c7668031d5eb095d978de561958dc9f5b53f8e488a533e603/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6c9cdde8becb25a7fde49924511aa2644d6f8081cc8df8e9452724303348d8e3", size = 264521, upload-time = "2026-08-15T08:18:27.193Z" }, + { url = "https://files.pythonhosted.org/packages/4f/ab/74a55fd803916a35ac461daf002708191aac19b546b80dc8cabfedc63d98/charset_normalizer-3.5.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9ac4444d8d4fd4c4bd08bf451ed3167aa9e7ec6cdb41b648794f1d1103652e36", size = 253054, upload-time = "2026-08-15T08:18:28.568Z" }, + { url = "https://files.pythonhosted.org/packages/a0/2a/6a9034b7d3c60b17499afb482df5878bf9fa20b50cc3887d5ef017a833db/charset_normalizer-3.5.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:f03ac127268b43ef4fe9e6ab6794a6794b49485a0cc0c1db79876d2f33f75bc7", size = 140580, upload-time = "2026-08-15T08:18:30.214Z" }, + { url = "https://files.pythonhosted.org/packages/f3/46/1d362e1a00d035d66b9869e1281eee115907f7e390a16a07824ab5737360/charset_normalizer-3.5.1-cp314-cp314-win32.whl", hash = "sha256:1f5883d77fd409a261abb5dc8ccbe335720d798b1de4abb3b1d47ccbbc76b53b", size = 180325, upload-time = "2026-08-15T08:18:31.877Z" }, + { url = "https://files.pythonhosted.org/packages/7a/7c/4938c329b6a9d446f6a59aa2092ff7118f274209b5ed0e26893d1d30a63c/charset_normalizer-3.5.1-cp314-cp314-win_amd64.whl", hash = "sha256:c658c50ac0c98cd755a2dd50b7977d3bca7df401dcc47fbdfa87db53ef7d4e8b", size = 204175, upload-time = "2026-08-15T08:18:33.466Z" }, + { url = "https://files.pythonhosted.org/packages/ac/33/eeb384dbd8dec570661354592f4f2e1b2fcc92585624d146a000caf53841/charset_normalizer-3.5.1-cp314-cp314-win_arm64.whl", hash = "sha256:4bea7f8ebe90bbd7f0e4a2de42ca6924ba23e3e76418c408ff82f1d46fabd687", size = 184123, upload-time = "2026-08-15T08:18:34.913Z" }, + { url = "https://files.pythonhosted.org/packages/1c/6c/c73fa9d5a85f6ab05395de61c5f6984e0a9ff40bb5ff888d46dff02526c6/charset_normalizer-3.5.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:fbc597639158fd7c14d55e808718848319540f51b0e6746e3eefa59723a4a348", size = 381682, upload-time = "2026-08-15T08:18:36.349Z" }, + { url = "https://files.pythonhosted.org/packages/30/c7/63565f860921457feba93bae6c86fb7746deb4cffeed2f375cb845318146/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e71c909f353863b2b89c83de2ebed71ea6d0df8a6ef65a128193c5e650766bef", size = 240826, upload-time = "2026-08-15T08:18:37.887Z" }, + { url = "https://files.pythonhosted.org/packages/06/ae/7ae8807410dfa33f8e6f1715740adeaafa8a816cc4cb33508f54b1f7c896/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7ac76cf9afd34929d76eb7fcb63be476a4853d8a96f0dcf2d0db68a0cbdf9885", size = 227861, upload-time = "2026-08-15T08:18:39.315Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a3/887c1642f0da26000b0e0652d91071113c0e72cea33952e225cf589f49a9/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a3a370082ce34d0612f421e15fe011c53bb1feff21a26d06ad4fb244dab5a375", size = 260758, upload-time = "2026-08-15T08:18:40.88Z" }, + { url = "https://files.pythonhosted.org/packages/3e/11/e6f5b9a3d0e55b0ef7505cd3765cdd48f22db89994c947b316f52f801fd8/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:256dd4d85d9e4dc595e2bc983c980e73f62ddeb3165c58b4c3dfe78c5c8548c1", size = 259950, upload-time = "2026-08-15T08:18:42.351Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ee/e4e10a94d51cd1ee638aa7e00b65399e6b2a4e8376ab6d2eac9f95586671/charset_normalizer-3.5.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:58d4aa13a59c969dbfdf9e6a9560e242cbfd9e8a8f50c2747714df1a423adf65", size = 249329, upload-time = "2026-08-15T08:18:43.914Z" }, + { url = "https://files.pythonhosted.org/packages/c4/25/d5f4198819e6059735a84e8d0bfb72dc33976da67b97adcd3fb5a5e07ec6/charset_normalizer-3.5.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0c6dfb5ca6723eeed15aa8e564a014d69fcb8812f94eef11fe3631e0508199f5", size = 243137, upload-time = "2026-08-15T08:18:45.368Z" }, + { url = "https://files.pythonhosted.org/packages/a5/e9/e925ca7569cf9fb9701fd82503fee73eea5268fdb856bdd64947092d3daa/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c010f5581d9c612804cc59fcf7b524b707fbcb72828551237ab545bb5c7034af", size = 242820, upload-time = "2026-08-15T08:18:46.842Z" }, + { url = "https://files.pythonhosted.org/packages/34/17/672c251a888ed2aebcdd2fe830ad0104e25ff83c43f5c4f9c15e9fc6853c/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:52ec005752a56ae79547a05c0139ca2501a0c866390b6115008456b9f0e7cde1", size = 230504, upload-time = "2026-08-15T08:18:48.353Z" }, + { url = "https://files.pythonhosted.org/packages/3f/fc/f6a85abebd42ce4da2f1db0aa56cc6a0df1995e318b3875d14401b8381d1/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:2bced4061f000f7187254a02ad3433ae17eaf991747ceea2f478422590a5bba9", size = 263087, upload-time = "2026-08-15T08:18:49.859Z" }, + { url = "https://files.pythonhosted.org/packages/98/66/7c42677e739ba66746b297e2046918d793078094dc239e1e72768cffccc6/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:9eea3ab2597a5e65fe65296e2d6a84570845a6b55532d90333d740d48bbc850a", size = 243269, upload-time = "2026-08-15T08:18:51.601Z" }, + { url = "https://files.pythonhosted.org/packages/de/d8/a50b79237f417af10f8c2a501ce8d1ca87829a22e69117891ca4ba20a69e/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:496846868fea80e479324862fa877f02411f2fd0f83b79ccee2607aa68b2a032", size = 258766, upload-time = "2026-08-15T08:18:53.23Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1d/0fc91aeaeb3c83b748f532399ce67cf84604b48297405d740000f7a9e786/charset_normalizer-3.5.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:85d5855daafc240cc045c026d7a15fd198a09b0fc8ff6f5ecbb5297b509cb11e", size = 250814, upload-time = "2026-08-15T08:18:54.768Z" }, + { url = "https://files.pythonhosted.org/packages/ae/10/3d8c777cf9024615295aa1b808324ad5b4a77855869c00824bad74ffaf8a/charset_normalizer-3.5.1-cp314-cp314t-win32.whl", hash = "sha256:58d3e12c88e0950bca850ae1f7c256055c097639c2edb9eb123af9807d8b15e4", size = 191074, upload-time = "2026-08-15T08:18:56.305Z" }, + { url = "https://files.pythonhosted.org/packages/4d/81/ae557d3c44d1a1d688696d60563413a0866a91b7ebc50f20df838be3d8c8/charset_normalizer-3.5.1-cp314-cp314t-win_amd64.whl", hash = "sha256:acaf604462bf330b0d07e7a07c1d6e4adac79e5fb13e9c5140590542cafacc00", size = 216476, upload-time = "2026-08-15T08:18:57.889Z" }, + { url = "https://files.pythonhosted.org/packages/27/e9/61c01fb8b804692569c036b3fc50495814502dcf13a60649c6055390b02c/charset_normalizer-3.5.1-cp314-cp314t-win_arm64.whl", hash = "sha256:fdb8a068947befafba9952162645dc2fecaeb400e64584829ed5e9b2fbe21a7f", size = 194115, upload-time = "2026-08-15T08:18:59.418Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4e/8544831ef59d8f27ce92c80871380fdacc8076a8a56ed62f82e54f991333/charset_normalizer-3.5.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:9085f87b0e38a2b92b8923059b4e8789fe40d9279712d15dcc670048d77079af", size = 342048, upload-time = "2026-08-15T08:19:01.054Z" }, + { url = "https://files.pythonhosted.org/packages/7f/a6/e3b46852424246065355644f4fb6dbccc0239a42a2eee27ecfc8957f0bcd/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2679de311c7946dde5d3b6f44941844133ff5c7cb86099c0061ab1e8901c20a8", size = 242997, upload-time = "2026-08-15T08:19:02.492Z" }, + { url = "https://files.pythonhosted.org/packages/03/3b/0cc9a26777334ab2f2e3089b948bbf4e4fe72ea70b897715ef6415043ec8/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:baf3775a2635e5a11fbd5e4e64ee69c7e86875d224a5c72aca4c141064589a90", size = 237014, upload-time = "2026-08-15T08:19:03.943Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c2/027335f0aa337a2a2e121bac1ad88c4f02ba6053ea0926802784f3db11af/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ac8c94b6539074e0f40899301273ac8402b9b3e01c7b7ba269ff30340aaaf20", size = 266174, upload-time = "2026-08-15T08:19:05.598Z" }, + { url = "https://files.pythonhosted.org/packages/86/d3/e367787febe4e74769dec0f406f2c3c8d1b955fce5aee1fd0f94e8367a45/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fe532b3c966d1fb794e0698e4589d0444017ae77fc0b31edea13c0e35bcc449", size = 263361, upload-time = "2026-08-15T08:19:07.251Z" }, + { url = "https://files.pythonhosted.org/packages/af/3d/391b193eb9f3e84b02f9314088c386debdc0debee843535aaea2e2c6715d/charset_normalizer-3.5.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5c84bec0ab5ae0c64bfe73a7d2adcb5ce73b467523fc27fd6a28ab2aa6cbe35a", size = 252143, upload-time = "2026-08-15T08:19:08.816Z" }, + { url = "https://files.pythonhosted.org/packages/2e/57/de221f1745a90d418199761967e2776bfe2c275a1194220985e8c1d37833/charset_normalizer-3.5.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:854066be00447fa8de2ccbbe893e2ffc4b123ef16d897af794c1e18bd4a714b0", size = 252086, upload-time = "2026-08-15T08:19:10.255Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e3/d119f86a01f9331e8186175f24873b1d74a7ee9e2e4b4d68f9947dae5afd/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:21b82d8082f6f5e7f456ef0bd16323d08de1266efbfeb476e64b2a91d1471a4e", size = 245231, upload-time = "2026-08-15T08:19:11.807Z" }, + { url = "https://files.pythonhosted.org/packages/26/de/d8e48c135ae480879539cdb179c8d3b50c7879497d75dd899b5763b69cee/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:838648accb3a7fd9803fd45c87bce8509648eb0c11bc34e216141300977244f2", size = 241546, upload-time = "2026-08-15T08:19:13.416Z" }, + { url = "https://files.pythonhosted.org/packages/67/c4/217755fd1abc50d326c252922cd642002758095a81ff45010337b8b3ef65/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:195ce897c6153c0700078142cf8efe3e6454ca4cf4357499e4078dfd83396626", size = 267033, upload-time = "2026-08-15T08:19:14.981Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d7/34d8e404e358d2adcc5a228c2134643af00104c8fb0bf525f3688d756f05/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:978eab16f55b4ab2c2a745be9a0a840bf8f09a7f227d9c76eb30214d078865a5", size = 252045, upload-time = "2026-08-15T08:19:16.618Z" }, + { url = "https://files.pythonhosted.org/packages/5e/fa/40414471acf0aa0692ca77305aa00e434fcd8288f0941c93c30e9a5f8f2f/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:cc0329df4caaceb950d2f580b5ac716a377f7059624a0bafaeaf8a218c6ed774", size = 264866, upload-time = "2026-08-15T08:19:18.101Z" }, + { url = "https://files.pythonhosted.org/packages/32/90/fcc850bae791abd2e0c041847f13e270aa08692a79f3e00de6d2dce1cb50/charset_normalizer-3.5.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:687c9ca3035544b113bea2055e180af96fb63c0c476e22a9180f51925186e7b7", size = 253932, upload-time = "2026-08-15T08:19:19.734Z" }, + { url = "https://files.pythonhosted.org/packages/af/af/53afe99068b3c10b4cbae592a52ef72a7c92c0188440e83ee3a078fd8f75/charset_normalizer-3.5.1-cp315-cp315-win32.whl", hash = "sha256:706bfd38730a5ac7a365793269a00f4e988178cec121391f4248d84ad8c972e9", size = 180320, upload-time = "2026-08-15T08:19:21.37Z" }, + { url = "https://files.pythonhosted.org/packages/c9/bc/f46a132041b29e4a8779ed712d3df1bf112e94ca8de58b66d7ec2c0cf8b9/charset_normalizer-3.5.1-cp315-cp315-win_amd64.whl", hash = "sha256:92caef967d287a407085d61176fce4012b1dd62daed4eb6d5ceb26d3d2538712", size = 204174, upload-time = "2026-08-15T08:19:23.088Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5d/9ed554480eda8e447b673648628fdc29574d23dbad01fe11837adedd1cae/charset_normalizer-3.5.1-cp315-cp315-win_arm64.whl", hash = "sha256:5fc45d653ea8c9a20479167e11d4a0f8cb2fa3470737ab6f9c827532313187b7", size = 184126, upload-time = "2026-08-15T08:19:24.471Z" }, + { url = "https://files.pythonhosted.org/packages/3b/32/9b8929bf384061ee1fe5d9c27c6f9776d3d824039ad4e14c88ec00c7808e/charset_normalizer-3.5.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:59171c6e45bf07d0d5cab3b0bf81d945035530f6873398b3b531c31184d46663", size = 381441, upload-time = "2026-08-15T08:19:26.038Z" }, + { url = "https://files.pythonhosted.org/packages/96/10/e9aa7923d3ddac652c99a1c5f7be494e737e151566a44abe018daf757f2c/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9dbdd9205662134957cf0c324f639bdc5031c0ca056e2369e238db75187c0f11", size = 241742, upload-time = "2026-08-15T08:19:27.532Z" }, + { url = "https://files.pythonhosted.org/packages/28/53/a2d249ebddf47b889a100c0bdcb61a2f9dbb8bc24ef325cc062e4f476877/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e4b018dc5a0eee4676e38fe84a47a427816c590b93b55d9025274ec4d6ffc2dc", size = 235298, upload-time = "2026-08-15T08:19:29.274Z" }, + { url = "https://files.pythonhosted.org/packages/7d/07/469f78af590f7d5cd48e20d8dbfa3d66deeff9ba37768c04d886b5afd45c/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ced3fdd71aaa83ce593746c2edb42b7a59cb4c19c8b5c407781c72e493aae55a", size = 262500, upload-time = "2026-08-15T08:19:30.955Z" }, + { url = "https://files.pythonhosted.org/packages/55/66/3bb56a47f7dcba014055b1a1d33c6f08bbe9c1e74dba154cfa25f90ae885/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:19a3dd5aa73cef1c99687c4fc57db016a9c17104ae1185da88ba566a5d3bebe4", size = 258888, upload-time = "2026-08-15T08:19:32.458Z" }, + { url = "https://files.pythonhosted.org/packages/ff/c1/2adc2800903fb013210349313b710a5376856578d9e33e6b9a1d8b36714a/charset_normalizer-3.5.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cc5d36d96478aa9c60654bd932525bf32964c62a7281eafdf16d85003a8d6004", size = 250243, upload-time = "2026-08-15T08:19:33.94Z" }, + { url = "https://files.pythonhosted.org/packages/95/b5/a18d0dd1157ab655cc2cb14a545f4a4784bbad70ab3502412e36097502d9/charset_normalizer-3.5.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:04368edf83514385ffc3e1cfd4546e595f4f1272dd23ba437a93a9cc3741d47b", size = 249871, upload-time = "2026-08-15T08:19:35.413Z" }, + { url = "https://files.pythonhosted.org/packages/ad/c3/525f508cd1e58d0450ac55ed40ac75bc3a97482c59def5278456a5fbf03c/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:9b5db6052055d34d41230fb78d7c439c23dc536a9896f6cb039e8dd92cfc1263", size = 243580, upload-time = "2026-08-15T08:19:36.886Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c1/49a91fe7e97c8140094ca5c64161ab623a70d9f636bf834eace14048acb5/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:252d099029bcbea642f2a06c4ed5046bdf8b5a8150b64afa5e027e88b106e5ee", size = 239807, upload-time = "2026-08-15T08:19:38.392Z" }, + { url = "https://files.pythonhosted.org/packages/d3/58/56a48c296601274c4689b864a8e2dfb209b81dfcb39472753ce95eea662b/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:6199d5606e2bbf2b096cf64d03f8b6790c91081d5ac866b8e7bb6422738cc60c", size = 264083, upload-time = "2026-08-15T08:19:39.856Z" }, + { url = "https://files.pythonhosted.org/packages/10/4c/dc48409274a1817ff349711d26c62aa0c597df865d4d69ef79160c859193/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:77efcff2b23071c349402ac1066667a3d011f62398d81408c9b88ad991747c9e", size = 250317, upload-time = "2026-08-15T08:19:41.53Z" }, + { url = "https://files.pythonhosted.org/packages/81/58/d325912115caec62d6bdd77bbab5e0b7da5d234a9f20affdffcbcb530d0b/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:a5cbd90ecf0fc62e64726917ad083b73001f0563657a87ec3c0b504e277dc90d", size = 258173, upload-time = "2026-08-15T08:19:43.07Z" }, + { url = "https://files.pythonhosted.org/packages/34/f7/b13b1ccae2c8ec63980d13be1890eb73f8aeabbfce02a24aabc0908788f5/charset_normalizer-3.5.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:4d26f14f041e83dd8edfd61f4cd4fa7285d31798b5bf1f28e70c367ba6c41d61", size = 251960, upload-time = "2026-08-15T08:19:44.587Z" }, + { url = "https://files.pythonhosted.org/packages/1e/25/ed3f9919c5aef8cc818be1f972f565f7610d7b2076b8ebb98839516ffc3c/charset_normalizer-3.5.1-cp315-cp315t-win32.whl", hash = "sha256:ac13b004224fb341e1e25a1ed5e19d32f57cdb2a403e01f003b46f051a550f6f", size = 191186, upload-time = "2026-08-15T08:19:46.293Z" }, + { url = "https://files.pythonhosted.org/packages/69/d5/43c2b3e9d8267092b913eb8b0603f0f71993c395632886bd37a7223f96cf/charset_normalizer-3.5.1-cp315-cp315t-win_amd64.whl", hash = "sha256:35aea775dc2bd5f54cd84a1cd2696cc3207c479cb9cf0bd346f0d343e4300ddb", size = 215947, upload-time = "2026-08-15T08:19:47.853Z" }, + { url = "https://files.pythonhosted.org/packages/a8/76/9aad3e9c8865e5e0efa9a7f6f81c37a67635a985145ecd44528a81e088ee/charset_normalizer-3.5.1-cp315-cp315t-win_arm64.whl", hash = "sha256:fb78f6e7fcd8ad785d28cd577168bc1aaee827b25bb8755638f694794ea98f0a", size = 193909, upload-time = "2026-08-15T08:19:49.383Z" }, + { url = "https://files.pythonhosted.org/packages/5b/97/fb4e82231aba271ffd775a1b4993b0defc4e3059f286ae41d9433409fe85/charset_normalizer-3.5.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:41876ee62a3dddf48ff1121ad8f0798032aa03f2fd35f21f34a4cab14f18d8d2", size = 331467, upload-time = "2026-08-15T08:19:50.959Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2f/fe3f187327aac18e2d54e9d2b08e15d27bf9b642d9e51c219f130fc34d1a/charset_normalizer-3.5.1-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a6dac12ff6b846103483683f60c5f8fee205121adc58ffd87e90a90a3af69e99", size = 253057, upload-time = "2026-08-15T08:19:52.654Z" }, + { url = "https://files.pythonhosted.org/packages/d7/c7/9e48cee5c161fe24da823b61bf381921d77cb994a0a4de148e95018c1984/charset_normalizer-3.5.1-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cee5dd7c6fb5dd52a0fe2a740f9bc6e3593f5f8b1788bde49de02086f30182b2", size = 240930, upload-time = "2026-08-15T08:19:54.163Z" }, + { url = "https://files.pythonhosted.org/packages/49/e0/716601f3cc69be7b198951150c75ead1ece33c3c8036ff6ffa46029659a0/charset_normalizer-3.5.1-cp37-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:343fb4f2821043bd87095f7b08a1a181febc8e36ac64212143bbfd0a0e1bc235", size = 230822, upload-time = "2026-08-15T08:19:55.807Z" }, + { url = "https://files.pythonhosted.org/packages/d3/05/71bfc5caa0abcc45aea1f6a4d50ac68e59605ddc7666fe8494f4cd229665/charset_normalizer-3.5.1-cp37-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ae4a097991662cd4fff0ddc74e0fe7874f82e00042fa0ea00855645ed0c79598", size = 260037, upload-time = "2026-08-15T08:19:57.312Z" }, + { url = "https://files.pythonhosted.org/packages/c3/92/de7e32ed05341e7a9c4c877c318418197b7f2d66a3b68d561bf2ac57ca3e/charset_normalizer-3.5.1-cp37-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4b599739b93b2cbeded49645ae3c8d1405c29ddfbceac1545c87a3f9580a9e96", size = 255097, upload-time = "2026-08-15T08:19:59.056Z" }, + { url = "https://files.pythonhosted.org/packages/f5/7b/ade0a122600319dfa0b1000ab0f9731c94a817904cf3c5de408c73a4ede7/charset_normalizer-3.5.1-cp37-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b39b69b347e5e47a3b5b8cfc005c68c1ba347474e3960236c4944a8ecd174962", size = 250166, upload-time = "2026-08-15T08:20:00.612Z" }, + { url = "https://files.pythonhosted.org/packages/75/9c/019fbb9f4834491a160951349b1a3714439376f66e5f7cf18b4f18f0c7aa/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:a2028475ba855475b8b4d3cfeb4994269c967aea8b9892dfba907f4263a863a3", size = 241821, upload-time = "2026-08-15T08:20:02.321Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b8/11d4840bfc99330cc7fbcc2681ee5a044553a6e77655508d8f9b2bff7b34/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:36047af20e17097c3bb9476c2b7655f2f7aa51322c0ba58c07695bedf755a950", size = 232529, upload-time = "2026-08-15T08:20:04.008Z" }, + { url = "https://files.pythonhosted.org/packages/18/96/2b3a21492d9f65171ac75d872f5018260013d00bfa0ff70ec9f179148cbd/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:4c4fb141a727957c93edfe5c32a26ceb6b5f6461d67146e2d39f51e16170bea8", size = 260348, upload-time = "2026-08-15T08:20:05.877Z" }, + { url = "https://files.pythonhosted.org/packages/d6/aa/a69a2028e8bd052476c245460ab19d7de595de084dd968f2d75cd50c3e25/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:2f293479cce755c75f1697e87c409b7ae4c555c7dfecb6e988ad13abba943031", size = 247234, upload-time = "2026-08-15T08:20:07.487Z" }, + { url = "https://files.pythonhosted.org/packages/35/8a/3d130aeabcaf3d2466af76b7b141c08d9e89c9016ab4b7cdd0f7dc2d1c62/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_s390x.whl", hash = "sha256:3588e376b3ea2eea84976f67273d679f229e24c66dce7b82ae45aef04ff6e072", size = 256917, upload-time = "2026-08-15T08:20:09.142Z" }, + { url = "https://files.pythonhosted.org/packages/80/c2/a7379b840292d0c1ab9fbd17d1f3967aa81794dc95bc74be8999d7fedcf7/charset_normalizer-3.5.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e199fb99720074809a7720f1c0b4d919eea8b87e88713e0f8f602f7bef543d9d", size = 254846, upload-time = "2026-08-15T08:20:10.727Z" }, + { url = "https://files.pythonhosted.org/packages/01/65/d43b714731bb2f40d4053dfa00ecfc1c5a301f8e3316c5db3a09af59fe94/charset_normalizer-3.5.1-cp37-abi3-win32.whl", hash = "sha256:dd732602a7009217f658d5863d12d79d373a4de0eebc111094bcdd3bb8e0a6cc", size = 174216, upload-time = "2026-08-15T08:20:12.334Z" }, + { url = "https://files.pythonhosted.org/packages/35/4f/b911ed898b26a09789eba9c9200c999aff6c61b4bafaf4838e56d1a1e1a3/charset_normalizer-3.5.1-cp37-abi3-win_amd64.whl", hash = "sha256:70055ff39b97c99e7ae40ea3e393fb62aa2e44dbd9b29f8d14f42fb0025c3959", size = 199764, upload-time = "2026-08-15T08:20:13.908Z" }, + { url = "https://files.pythonhosted.org/packages/f0/a7/920baf467bfd9bf689f3b318340f37aee4572a71f162bd8db51da55ba4fa/charset_normalizer-3.5.1-cp37-abi3-win_arm64.whl", hash = "sha256:87e4f41d375c0b9be2fb5251aee4b8a689169e134535aed81bf085c3b647451e", size = 287318, upload-time = "2026-08-15T08:20:15.551Z" }, + { url = "https://files.pythonhosted.org/packages/cc/61/d01fc49b8dea277640b55a9e15960dbca9fdc8c9fde18e572d39c59f4019/charset_normalizer-3.5.1-py3-none-any.whl", hash = "sha256:6df0ec430f9a831772c23ca5a224cba36517a58a84bb32c32bb59a9fa67c47f6", size = 68658, upload-time = "2026-08-15T08:20:43.306Z" }, +] + +[[package]] +name = "cloudpickle" +version = "3.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/27/fb/576f067976d320f5f0114a8d9fa1215425441bb35627b1993e5afd8111e5/cloudpickle-3.1.2.tar.gz", hash = "sha256:7fda9eb655c9c230dab534f1983763de5835249750e85fbcef43aaa30a9a2414", size = 22330, upload-time = "2025-11-03T09:25:26.604Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/39/799be3f2f0f38cc727ee3b4f1445fe6d5e4133064ec2e4115069418a5bb6/cloudpickle-3.1.2-py3-none-any.whl", hash = "sha256:9acb47f6afd73f60dc1df93bb801b472f05ff42fa6c84167d25cb206be1fbf4a", size = 22228, upload-time = "2025-11-03T09:25:25.534Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773, upload-time = "2025-07-26T12:01:02.277Z" }, + { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149, upload-time = "2025-07-26T12:01:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222, upload-time = "2025-07-26T12:01:05.688Z" }, + { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234, upload-time = "2025-07-26T12:01:07.054Z" }, + { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555, upload-time = "2025-07-26T12:01:08.801Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238, upload-time = "2025-07-26T12:01:10.319Z" }, + { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218, upload-time = "2025-07-26T12:01:12.659Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867, upload-time = "2025-07-26T12:01:15.533Z" }, + { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677, upload-time = "2025-07-26T12:01:17.088Z" }, + { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234, upload-time = "2025-07-26T12:01:18.256Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123, upload-time = "2025-07-26T12:01:19.848Z" }, + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189, upload-time = "2025-07-26T12:02:16.095Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251, upload-time = "2025-07-26T12:02:17.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810, upload-time = "2025-07-26T12:02:18.9Z" }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871, upload-time = "2025-07-26T12:02:20.418Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264, upload-time = "2025-07-26T12:02:21.916Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819, upload-time = "2025-07-26T12:02:23.759Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650, upload-time = "2025-07-26T12:02:26.181Z" }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833, upload-time = "2025-07-26T12:02:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692, upload-time = "2025-07-26T12:02:30.128Z" }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424, upload-time = "2025-07-26T12:02:31.395Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300, upload-time = "2025-07-26T12:02:32.956Z" }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769, upload-time = "2025-07-26T12:02:34.2Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892, upload-time = "2025-07-26T12:02:35.807Z" }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748, upload-time = "2025-07-26T12:02:37.193Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554, upload-time = "2025-07-26T12:02:38.894Z" }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118, upload-time = "2025-07-26T12:02:40.642Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555, upload-time = "2025-07-26T12:02:42.25Z" }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295, upload-time = "2025-07-26T12:02:44.668Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027, upload-time = "2025-07-26T12:02:47.09Z" }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428, upload-time = "2025-07-26T12:02:48.691Z" }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331, upload-time = "2025-07-26T12:02:50.137Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" }, + { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809, upload-time = "2025-07-26T12:02:52.74Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593, upload-time = "2025-07-26T12:02:54.037Z" }, + { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202, upload-time = "2025-07-26T12:02:55.947Z" }, + { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207, upload-time = "2025-07-26T12:02:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" }, +] + +[[package]] +name = "contourpy" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "(python_full_version >= '3.14' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.14' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "(python_full_version == '3.13.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.13.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "(python_full_version == '3.12.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", +] +dependencies = [ + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/5a/a55177dd22553a277388e8a1b3220e92de91bacb28356cdc73caa240121d/contourpy-1.4.0.tar.gz", hash = "sha256:20156f5a1ac4f8ce02656e39a61e82164a3d359796dc8026f75b062783d500e1", size = 13323726, upload-time = "2026-09-11T19:05:05.808Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/ba/01bde9753bdbba04a6da9d2bff3881f021bc708f654655e95fae26d3b3a3/contourpy-1.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:186ba929df36d61b6127da2e89cd1357e4cb79aca647381ab1a6feb0b152877b", size = 297302, upload-time = "2026-09-11T19:02:45.103Z" }, + { url = "https://files.pythonhosted.org/packages/dd/f5/c5bf67522d49a2222f3154fe46879451d26f0e35ece41770758a64ea78cb/contourpy-1.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c76f3a5318164db7d9401132fc1b5364b784c613c93fa506e3b5e6d1bf353ec8", size = 284921, upload-time = "2026-09-11T19:02:48.049Z" }, + { url = "https://files.pythonhosted.org/packages/0f/cc/cb989599eec12fda312e127eb8e04a8b21a7a6c94bf7ff1bc68273334a42/contourpy-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:43c3ccbb32c6294b183dcc8e8c46dacf5ecef809497e3d48a5be298eef185ad0", size = 356332, upload-time = "2026-09-11T19:02:51.408Z" }, + { url = "https://files.pythonhosted.org/packages/47/fb/6f620d7602507817b0b4c21dd790ed68688f1f4ae9c29aacf21f08db5cf1/contourpy-1.4.0-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:86d05cec773c9507a3950122e0e40ce77c23c75ceeb2fc189514e71893cbb34b", size = 405878, upload-time = "2026-09-11T19:02:54.093Z" }, + { url = "https://files.pythonhosted.org/packages/32/4e/693c6d6bdece679f0953775eef3a1b66d56be55478d936e7deb1f3004422/contourpy-1.4.0-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2deb580178ca19437a84bd77e4bc2cd91a8ccad212413a83c273900868b5978c", size = 408296, upload-time = "2026-09-11T19:02:56.528Z" }, + { url = "https://files.pythonhosted.org/packages/78/f9/b6831508960d559581c448532ba4df312217072975486dbf2b24fcc5b76f/contourpy-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:875f42444c9cf48d56f724f2637e60d0f73b3b12c9041e1484580a233edf9591", size = 383243, upload-time = "2026-09-11T19:02:58.638Z" }, + { url = "https://files.pythonhosted.org/packages/f2/21/52903825a0ae7bb625e8bd30a09816d4c3c5d6174a469c10a616166cf780/contourpy-1.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f863c6100bf926cf47d13f3cd75f9bb8ebd98aaab230eeb4468b91f98f39a6b3", size = 1357306, upload-time = "2026-09-11T19:03:01.036Z" }, + { url = "https://files.pythonhosted.org/packages/d8/79/d68b1ce8539e4071518fed9523f558398f34dcd078b8927b109c72dad2ef/contourpy-1.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3863ef2e2b13fe93f8c0ebb08ee400cb07153b8b0e91c5acb26e4537f283634f", size = 1427243, upload-time = "2026-09-11T19:03:03.866Z" }, + { url = "https://files.pythonhosted.org/packages/ac/f0/b75a10e9d0616b97a30de277b6dfe83f1879880854c7330337309530eb48/contourpy-1.4.0-cp312-cp312-win32.whl", hash = "sha256:5450f091ac1be0be3ad3a2a3b3f23b5e443e78c670ced4fd347d626f92a28fd2", size = 347345, upload-time = "2026-09-11T19:03:06.192Z" }, + { url = "https://files.pythonhosted.org/packages/50/a9/dab08786bb4d77ef9a046b3c1be923be4e73c5d07d91f5a54e8ea9b09e41/contourpy-1.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:6e697d94e69f499ff6bebb899cae97a58d5d14f0e1fe9568b43a0248d2f9af8c", size = 234083, upload-time = "2026-09-11T19:03:08.122Z" }, + { url = "https://files.pythonhosted.org/packages/47/b9/3ba509755a970dbde5948e7142ac21f266be72f38017cc4087a05fdceee1/contourpy-1.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:0c7a4c2716a4e98342221954416a836cca77c996c14ddbf22b5f01d5d93ca09c", size = 559521, upload-time = "2026-09-11T19:03:10.047Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8b/62a6eacea08ea0b6ab0159a7783df7ed421ff9c1ff58fef7c31f58fa5e52/contourpy-1.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e21d1d4a9db5b3a793649c7ab0ddb4697f2818929eec871a7b9c45fce7b2a1ea", size = 297330, upload-time = "2026-09-11T19:03:11.809Z" }, + { url = "https://files.pythonhosted.org/packages/3f/2f/103cdc5b7077cd569989d3ddb99ee3d4e96ee31bde8df2a6e426b2dc6195/contourpy-1.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:196759a3e4db60e1546167e361090ebb6d199aa3aafc9e34ea17a5ac3b23e814", size = 285037, upload-time = "2026-09-11T19:03:13.781Z" }, + { url = "https://files.pythonhosted.org/packages/bf/25/97001d1fdf940e6f5adfc592d4f5899fff95daf7dceead3988fe09987d2d/contourpy-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c0e07c691f3b3321913ed9b8161c50ea5f77fadd006f52f5e755359b0dcbfc5", size = 356675, upload-time = "2026-09-11T19:03:15.374Z" }, + { url = "https://files.pythonhosted.org/packages/a6/5e/9a7241a89e2f74402aefa2569e1349ad2750ff77823c04c788eaaedb7fdd/contourpy-1.4.0-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7f861af508fca2384eef392bc1d8377cfa349b2b854cb11b45d89c75780e2561", size = 406990, upload-time = "2026-09-11T19:03:17.44Z" }, + { url = "https://files.pythonhosted.org/packages/36/81/3a4fbbf6a806eada5453a6d16f6c7d96b9f4b3e57a3127368fb545986b8a/contourpy-1.4.0-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a03b32c2e7eda8b17757c022162c13c86f5c3d6f937dddf9ba3c3ff7b513953b", size = 407271, upload-time = "2026-09-11T19:03:19.523Z" }, + { url = "https://files.pythonhosted.org/packages/68/77/8f93ecbde1a4d11dfd460cd19a0c159f5487352e751fa87f5d78cc9db08e/contourpy-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f1219a8898523cba821085f2da8a1b962cc696325763f09d7f93538ba43b2d70", size = 384707, upload-time = "2026-09-11T19:03:21.208Z" }, + { url = "https://files.pythonhosted.org/packages/05/07/e5cdf94d68961ee464de6b4fedd3d2f666584f59ccd124bb1290597122ab/contourpy-1.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:20da2f86bfaed60dbba729fe738c8241b1dd22b6cf7e8cbbf30df290bd04ba28", size = 1356741, upload-time = "2026-09-11T19:03:23.621Z" }, + { url = "https://files.pythonhosted.org/packages/fd/8a/2301d07accb257ac08daeb631875fada06fedd019c20ff7b00ee07e9d211/contourpy-1.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6ced1670fafee703b8277ab1645072a226e74f167166eae146fb743916119b67", size = 1426793, upload-time = "2026-09-11T19:03:25.955Z" }, + { url = "https://files.pythonhosted.org/packages/7d/5d/a62648f06259d15c139b14eb8cf3c58fe53cb970a55f2bb77d1070e80a41/contourpy-1.4.0-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:abd0f7e51ecc52bf8c95713bd80b1c17c516a71fa391c54475308a4377903c2b", size = 117961, upload-time = "2026-09-11T19:03:27.713Z" }, + { url = "https://files.pythonhosted.org/packages/71/31/c5b7771ba6982f319ec90c0cf5c425b36891adfeee2d9f667f90b2d0c166/contourpy-1.4.0-cp313-cp313-win32.whl", hash = "sha256:510f7d93d94cf6ebf4e2cd0640bea16ab8affac7547230175b6745b596ce0599", size = 347438, upload-time = "2026-09-11T19:03:29.829Z" }, + { url = "https://files.pythonhosted.org/packages/68/c1/a59df0754bf83a6f3e153cc19d550a5b01f607e389b1c4d57f436f9139e0/contourpy-1.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:6507a016976a75a15aee47809a34605de6244ccc056e6164bf9fb14b27eecad4", size = 234084, upload-time = "2026-09-11T19:03:31.657Z" }, + { url = "https://files.pythonhosted.org/packages/41/48/97224f5decb1efa5a610f912195deb45321f73ec9b9dac485cd6fe2d5a6a/contourpy-1.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:423bd5f4b3f11d54a8c597234e513382e3454bb106b8ec7ae32ba4ed63f8d99b", size = 559559, upload-time = "2026-09-11T19:03:33.528Z" }, + { url = "https://files.pythonhosted.org/packages/75/b0/b548628c8dddf6e5e0a981b7fa8e4c008024df09c7d17c6a9e271edfa0b3/contourpy-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a3e67bc1a6a4618a1dac7c3053a9ffece5ddfa2046b2670b342cf430bb0b87d1", size = 297354, upload-time = "2026-09-11T19:03:35.017Z" }, + { url = "https://files.pythonhosted.org/packages/04/5a/513484208742f65af2648c519f0b7ab034616e183c4403538024c136a1ab/contourpy-1.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:072a702e2e178f4fcf96f04775d0c059e4c917925abf0d3208ebb6865df3c23d", size = 283729, upload-time = "2026-09-11T19:03:36.818Z" }, + { url = "https://files.pythonhosted.org/packages/35/da/5a6562febc994b2c4bf9d01e57a50458ef8a2051bb3e7b35a00333e0fc26/contourpy-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:404dbcd9233513dfd1323b66ea593fef90e899f658f6b8a9ed8e93bd0ca669db", size = 357819, upload-time = "2026-09-11T19:03:39.058Z" }, + { url = "https://files.pythonhosted.org/packages/6d/99/7b358ce888aaa426f755daa096c99c59d17c352037344e836f20e5d3b957/contourpy-1.4.0-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:61624f6722480aa7e168fd746164e7bfdf48f8ccb6542f1613741200dc37e2b1", size = 407795, upload-time = "2026-09-11T19:03:41.293Z" }, + { url = "https://files.pythonhosted.org/packages/be/02/34d7548adf08c60967435d79d7a90882eacc84f5093435287974c7e99943/contourpy-1.4.0-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2e741a39dfc96babe1722561e81351aeec104526c57dbe91c167c1db606c2d55", size = 408552, upload-time = "2026-09-11T19:03:42.728Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8c/9677dad226e5aaac5b823d5b09d881ebc32ff1648af417597649841e516c/contourpy-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e439ab450c93455feb0218532ded3e946ec7a9b5f459069f122cfa44b89229f6", size = 384850, upload-time = "2026-09-11T19:03:44.402Z" }, + { url = "https://files.pythonhosted.org/packages/08/f5/e3fbeaa489c223629fbb434737cb3de4ecaca9cae4825e77b92490f640f8/contourpy-1.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:417be048f7e122cefbe2a34c51a1f2b0410f8eb35796f794d45475ddb7872d9d", size = 1357601, upload-time = "2026-09-11T19:03:46.746Z" }, + { url = "https://files.pythonhosted.org/packages/88/be/55fec293d342c222ed58a5d4056df4362e192af2e59527a3d5d822de8828/contourpy-1.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:43d80072a32299bf945de0a6dd4e034ea0162e832261de2e07a274a5adbba9c9", size = 1427340, upload-time = "2026-09-11T19:03:48.745Z" }, + { url = "https://files.pythonhosted.org/packages/86/40/0faabf453edf59b0e3633381d7ca72c3414fb9b72b5cbb08b06ed792d3e5/contourpy-1.4.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:fa1b787362a3856e63dd2b89449f6c384d55ee1beb8f94f4bcc871b40f02462c", size = 118355, upload-time = "2026-09-11T19:03:50.047Z" }, + { url = "https://files.pythonhosted.org/packages/38/0c/7ea75aa3559ae8a6805015e15a19c92b6480752ecc92526361e5776e88c5/contourpy-1.4.0-cp314-cp314-win32.whl", hash = "sha256:738c44fa71735a617f36da58e32810512407d283d5d1bb5b1cecb00d7eeba7cf", size = 356977, upload-time = "2026-09-11T19:04:11.401Z" }, + { url = "https://files.pythonhosted.org/packages/15/41/3df8cc14bb572c8b447f9dfbc876703f0f2f2896058285b5c87a1d4a638d/contourpy-1.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:181bea01bc742734ae672fa00c717d855dd35e1f029536406538c52e7b0cd73d", size = 240101, upload-time = "2026-09-11T19:04:12.772Z" }, + { url = "https://files.pythonhosted.org/packages/66/01/ee6830a5aa4565662a345172f6f35eeeed625d20f1c9d4ecd35318fe4ade/contourpy-1.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:64039341e2d8804f1a13bda8c69083eab935167bbd7e856cf096241f17d5bd45", size = 576359, upload-time = "2026-09-11T19:04:14.983Z" }, + { url = "https://files.pythonhosted.org/packages/51/af/49ee9c9cf012699e505c1b63c531cc99f19df50f205173092c4d541e3ec7/contourpy-1.4.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:ef47fef9a912c77e3d84b014f701e5a9340f25703e9ed3bcebe37f91fb69dc49", size = 313601, upload-time = "2026-09-11T19:03:51.452Z" }, + { url = "https://files.pythonhosted.org/packages/ad/59/ce411ab2be0f805038626d8f4ca9ce563487ff51ff6c363e7512271564ed/contourpy-1.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:96019f059bcb3774acc0104be3360a57b36d33eaaa2e1d7f77c800ca8e07618b", size = 302812, upload-time = "2026-09-11T19:03:53.022Z" }, + { url = "https://files.pythonhosted.org/packages/95/b0/390915f9af14c1e2d3b2a9ad99d85b98df4352346a51e368cbb825f813c3/contourpy-1.4.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ddf5a2596d716fd3793434844caf31abc7a40b1e8718431420c89858268fb909", size = 348996, upload-time = "2026-09-11T19:03:54.594Z" }, + { url = "https://files.pythonhosted.org/packages/c7/85/e0952576d54322f3e9983b1e049a7a31f42ce82c5c29d01821e6dd3780d7/contourpy-1.4.0-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dd59df9e2fb0aff8bd7fd1adb9f349b7c835245a9d0f18c2f2deeb537190f2b1", size = 400272, upload-time = "2026-09-11T19:03:56.822Z" }, + { url = "https://files.pythonhosted.org/packages/d6/7d/f13543a5e1598e4a4ad01d9d5e2d65f9c09c37660616429913d606c5977d/contourpy-1.4.0-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b7794ea07cab575633daad8d6e963b662053391022294d3aacc1d9ba9ef54114", size = 412895, upload-time = "2026-09-11T19:03:58.487Z" }, + { url = "https://files.pythonhosted.org/packages/c5/a8/6e5eaff53507dfd2dfc428240eecda32453067277d4b3e7ca71210b2d611/contourpy-1.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a1c8a74744fa746eeaa12f0f9ed7f8b4add9d8f1b14d95e3b5e133675eac888f", size = 377060, upload-time = "2026-09-11T19:04:00.122Z" }, + { url = "https://files.pythonhosted.org/packages/16/a3/d00e44d35511b3cead5bd794ee672d4eecf30d9de4ceac57a49d6204064f/contourpy-1.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:107ec46f7aa1664266d69b1181aadc953d58d39f7d8d648fa5b795d4a060b0de", size = 1345688, upload-time = "2026-09-11T19:04:02.705Z" }, + { url = "https://files.pythonhosted.org/packages/1e/01/1e533b0cae32c8edd63fe40435ec3b29345dab87321afcd28722d7f957d1/contourpy-1.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5a4c89c7f38a0d7a94356d74e3391073c4325c4d47ad2fd065c3fe7dbae16c0c", size = 1416140, upload-time = "2026-09-11T19:04:04.77Z" }, + { url = "https://files.pythonhosted.org/packages/6d/0c/4ee66759f00d6a5d6909782f14f441d639fa18a4a43142e334351efc47f8/contourpy-1.4.0-cp314-cp314t-win32.whl", hash = "sha256:912c6afaa106e2f74ba22b30416b77ef7eb94e3bdc5a4df51ab147845dba9b6d", size = 371982, upload-time = "2026-09-11T19:04:06.233Z" }, + { url = "https://files.pythonhosted.org/packages/e6/ac/b3e5324138c3e3741f526663f4f265f4f69dfdf26415a39428940864a5f6/contourpy-1.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:ef9440f6f8506246269a82734f5ff9e2e4c5e775b3996fc883cc491c5257eca6", size = 262907, upload-time = "2026-09-11T19:04:07.882Z" }, + { url = "https://files.pythonhosted.org/packages/19/37/c9aa45e47819dc15a38fc5c81a2fb987fde55e9d3b991fbde514e3b6b5f5/contourpy-1.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:fc9feef8f1f001c5b87decadc67c4a5d1eebb62ca39c4763d1237ff62cf2b707", size = 587071, upload-time = "2026-09-11T19:04:09.898Z" }, + { url = "https://files.pythonhosted.org/packages/cc/74/66d4e6fbea3bcb3fd4e5ae21c039ba31b8fc408b35884b4bc09b88016dce/contourpy-1.4.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:79b06c60d5e569ce12c5da8f0c51217cdc484386e2349fa717c30fafb56d2871", size = 297358, upload-time = "2026-09-11T19:04:16.718Z" }, + { url = "https://files.pythonhosted.org/packages/2e/8d/8f7f25e71d73f15d7859943189900d2d348e740388c9ef52a0180d284762/contourpy-1.4.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:6f963ea9f0d68d2b6a02d861e3c0aae09ae25ba21f243fcf281e9fed468b078d", size = 283732, upload-time = "2026-09-11T19:04:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/f0/90/957549e3b03c407c670e3e191db63f4aef60dab6605bc967af3a806b543e/contourpy-1.4.0-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5545ff38229c15d11d822fc6f7415b932da9f4975f53e305b7b96ebfb01f889c", size = 357820, upload-time = "2026-09-11T19:04:20.077Z" }, + { url = "https://files.pythonhosted.org/packages/56/4c/fa8de87d907b41b05d03f4945a51675cd67319650d01b4c927d209ffa6ee/contourpy-1.4.0-cp315-cp315-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:630d32f06cedf37b7f1dd2b6a12e4492826bd477a4c9c7b2e2fee6ce3a2cea76", size = 407804, upload-time = "2026-09-11T19:04:21.781Z" }, + { url = "https://files.pythonhosted.org/packages/04/e7/96bd4f4a4ae285727befbdb4b332d53a2654cc5da4585d2525b47a063e1f/contourpy-1.4.0-cp315-cp315-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:be85d160e7c795113c2a93254dde2fc7e86b375322570eee78b420969426973c", size = 408559, upload-time = "2026-09-11T19:04:23.432Z" }, + { url = "https://files.pythonhosted.org/packages/ae/94/39660e8dc309f96bf7971eb4ec5659f272f84e42b34c9990a96ecce8442c/contourpy-1.4.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:018227e134b73090b06f911e773a526c77c9af426be29065500ce096a5accd4c", size = 384861, upload-time = "2026-09-11T19:04:25.198Z" }, + { url = "https://files.pythonhosted.org/packages/ab/7b/411dccbf73d5d19da49bf7735786b3baf4ddb1456412d48ae4d4ab1fc761/contourpy-1.4.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:4bffcb2e8cc5c0e837631acab59dd04265fdac376550e7c3e310523877c68cb7", size = 1357612, upload-time = "2026-09-11T19:04:27.614Z" }, + { url = "https://files.pythonhosted.org/packages/a0/39/bf2442130e7d5aae75a4de4504f0c8aca3ef3da3feac3940ee27ca985d83/contourpy-1.4.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:cc87f2ffa84a49a77d76cb792f28a48ff3b05a222aa0b2bddbd839ba78e1d5ca", size = 1427345, upload-time = "2026-09-11T19:04:29.646Z" }, + { url = "https://files.pythonhosted.org/packages/96/60/e5d9196dd83ccd7dd103762982b10ef19a4f72e8ef67ae7157699b9be0bb/contourpy-1.4.0-cp315-cp315-pyemscripten_2026_5_wasm32.whl", hash = "sha256:c8be3392b84cf43373a488874dc1ebf46f60784a70977f92586e18019d71c7ed", size = 118157, upload-time = "2026-09-11T19:04:31.091Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b2/ae3d90f08ba2ed82189d93b55ffbd41e559760e89af4f9ef54d51869f41d/contourpy-1.4.0-cp315-cp315-win32.whl", hash = "sha256:618137ec5778fb76d494c9ec854b104a377fddba0d128bef7136cce2c3bf0df8", size = 356982, upload-time = "2026-09-11T19:04:52.913Z" }, + { url = "https://files.pythonhosted.org/packages/02/a0/36648fff407dcf8b8482985d33367ffc0fe90be72383869312cd0bd00a1b/contourpy-1.4.0-cp315-cp315-win_amd64.whl", hash = "sha256:ea09dc704029930cbd097f75cb0cc1db9852adbcf1a151fac7e9559f7bcbfd19", size = 240101, upload-time = "2026-09-11T19:04:54.587Z" }, + { url = "https://files.pythonhosted.org/packages/07/09/49e987a96706b8f877596cee00d558d7880793a833addc6b33f80805e5dc/contourpy-1.4.0-cp315-cp315-win_arm64.whl", hash = "sha256:a5e2bb871b90cd7a52bdee63bf80ef7acb46398d27efc66d7679240016efc5aa", size = 576375, upload-time = "2026-09-11T19:04:56.515Z" }, + { url = "https://files.pythonhosted.org/packages/e3/18/820ba24a070fe2a834af73e52245c501960746f5c1777ebc64ec0c0dec12/contourpy-1.4.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:432e89f835cf01f8d2123a130a3126b17ee6e0348e4d62c0973872b30aa873bf", size = 313543, upload-time = "2026-09-11T19:04:32.582Z" }, + { url = "https://files.pythonhosted.org/packages/d3/4c/f61a63d8107e0c1c3fa47d30ce45abad90b2ad48a1a9a4510332db7e0176/contourpy-1.4.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:3e0a2392533e5e2abdf277c951047516acc8d2f3c42b2dd9dc34c907c9ebabf2", size = 302702, upload-time = "2026-09-11T19:04:34.257Z" }, + { url = "https://files.pythonhosted.org/packages/9d/93/5af95cb5113ecc6e780ca0c6c79756a2cea8833f971bbae112dd4ad73ded/contourpy-1.4.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:758e7496cec3195fc28a28945eab3ceef348c47fb95c7afc2eca2f3901209c8c", size = 354370, upload-time = "2026-09-11T19:04:36.158Z" }, + { url = "https://files.pythonhosted.org/packages/47/75/5a9942446647202beb7b4d150891bfcb78fb112c73862484bbe4cc031092/contourpy-1.4.0-cp315-cp315t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bee6ff96653e0807cd0f8eaef00174a031e3a2effa5c20f49a5a8d574b05af23", size = 402340, upload-time = "2026-09-11T19:04:37.914Z" }, + { url = "https://files.pythonhosted.org/packages/c3/4f/bfdb0c67775a584f957211936661289789c4d0ec3e988bca2c8c02f8090e/contourpy-1.4.0-cp315-cp315t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a58b5f130afec61a093d743cdda435cc4047748b6791627e34a68f41ec3a9b07", size = 410721, upload-time = "2026-09-11T19:04:39.925Z" }, + { url = "https://files.pythonhosted.org/packages/65/d3/dddf13d6bb26e145c99debd1f2695018b5f3e24452dd9bfc9904c9d2ec89/contourpy-1.4.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b9dc493e7924e5aa32d89d0b8e50986280f3d4b284968a792787bd7bcffd3cad", size = 382604, upload-time = "2026-09-11T19:04:41.793Z" }, + { url = "https://files.pythonhosted.org/packages/37/b4/89f0a5f6c6ccd322eae2704c7e933c82a4e594a61773933b4b0a18646866/contourpy-1.4.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:c927ec747633e68c9920bcaad48b0bcefe648812b822f18c34e2d0e2270a3d2a", size = 1354996, upload-time = "2026-09-11T19:04:43.856Z" }, + { url = "https://files.pythonhosted.org/packages/5d/29/fc91cc1ac6f3b591a269f4357b656d6ed0c39eb17c148f41f6da2f9729b9/contourpy-1.4.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:80c7fc8e7ac217777ce7ba2db3cf8478652b5a4b335283111012ff9eaac9d842", size = 1425030, upload-time = "2026-09-11T19:04:45.981Z" }, + { url = "https://files.pythonhosted.org/packages/d8/b8/bb129f524210c5d3eb8616876e02af280fba8b5554e0ac1afad80b51e06b/contourpy-1.4.0-cp315-cp315t-win32.whl", hash = "sha256:90feb8da006803a95ba573fddc9536357d0c3faddc3a4c9e22816ca49af52878", size = 371854, upload-time = "2026-09-11T19:04:48.106Z" }, + { url = "https://files.pythonhosted.org/packages/d8/b1/bc774d9d200cfc4f073bba78b1bb1cb3b55bf1c8c345eae41fc2db510459/contourpy-1.4.0-cp315-cp315t-win_amd64.whl", hash = "sha256:de503609fdb71f597634ca64fb4bd2f13d27c97f140e912b1e8ed93544840df0", size = 262450, upload-time = "2026-09-11T19:04:49.502Z" }, + { url = "https://files.pythonhosted.org/packages/54/bf/eb4ff492e1c3d027617b5a20e4e6d63a035b41b8cf77a95950159556a3a5/contourpy-1.4.0-cp315-cp315t-win_arm64.whl", hash = "sha256:78ed5c5f962b3e156109f0531b174a65ba80d13cc681a70227b12524c162e184", size = 587064, upload-time = "2026-09-11T19:04:51.148Z" }, +] + +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, +] + +[[package]] +name = "debugpy" +version = "1.8.21" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/aa/12037145b7a56eaa5b29b41872f7a21b538e807e13f32c4d3c46e59be084/debugpy-1.8.21.tar.gz", hash = "sha256:a3c53278e84c94e11bd87c53970ec391d1a67396c8b22609fcac576520e611a6", size = 1697577, upload-time = "2026-06-01T19:30:35.156Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/fb/cbf306d6e07a313a91e7171a98669054502840931432c227cfd505ee367f/debugpy-1.8.21-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:da456226c7b4c69e35dbe35dcee6623d912000a77816db7856a41af1c72a0264", size = 2203120, upload-time = "2026-06-01T19:30:43.964Z" }, + { url = "https://files.pythonhosted.org/packages/aa/57/aa739bd4ad2cbf96aeb1b20b56918ddd5ae4c28b68709bfcd327f02123ee/debugpy-1.8.21-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:f68b891688e61bdc08b8d364d919ff0051e0b94657b39dcd027bc3173edb7cdc", size = 3059958, upload-time = "2026-06-01T19:30:45.622Z" }, + { url = "https://files.pythonhosted.org/packages/a8/31/453d2c9a23d133fe2c8ec7ca1d816ded52a913487fe3ffef7c01b4b706af/debugpy-1.8.21-cp311-cp311-win32.whl", hash = "sha256:f843a8b08c2edeaf9b1582eed4f25441af21a297c22ff16bf76a662557aa9c9e", size = 5236515, upload-time = "2026-06-01T19:30:47.461Z" }, + { url = "https://files.pythonhosted.org/packages/60/94/6660de2f2d7bf388f229335ba4637646eebabdbf38564cb439a95a9193c9/debugpy-1.8.21-cp311-cp311-win_amd64.whl", hash = "sha256:84c564d8cc701d41843b29a92814c1f1bef6798724ca9d675c284ad9f6a547d7", size = 5256138, upload-time = "2026-06-01T19:30:49.113Z" }, + { url = "https://files.pythonhosted.org/packages/a2/df/bf625547431a9cadc9f4cbfeda38866e2b17f6aed147b625377e87834449/debugpy-1.8.21-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:9f96713896f39c3dff0ee841f47320c3f2983d33c341e009361bb0ebc79adc4e", size = 2483609, upload-time = "2026-06-01T19:30:50.794Z" }, + { url = "https://files.pythonhosted.org/packages/bf/09/59324b903599031ff9faaec1758292409f6561a0ec2492fe4b703327705a/debugpy-1.8.21-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:c193d474f0a211191f2b4449d2d06157c689013035bd952f3b617e0ef422b176", size = 3968900, upload-time = "2026-06-01T19:30:52.341Z" }, + { url = "https://files.pythonhosted.org/packages/14/cd/27f65b805d7fe005c44e1a36b9183ecdfbcdbf9d3e721a5115d461ecc7ee/debugpy-1.8.21-cp312-cp312-win32.whl", hash = "sha256:4743373c1cac7f9e74a1b9915bf1dbe0e900eca657ffb170ae07ac8363205ae9", size = 5336340, upload-time = "2026-06-01T19:30:54.047Z" }, + { url = "https://files.pythonhosted.org/packages/77/1d/c84e30c0c674184948b66f076ab271c01d940618a2824c23cd035a27bc20/debugpy-1.8.21-cp312-cp312-win_amd64.whl", hash = "sha256:bd7ba9dd3daa7c2f942c6ca8d4695a16bf9ac16b63615261c7982bc74f7ed20c", size = 5374751, upload-time = "2026-06-01T19:30:55.891Z" }, + { url = "https://files.pythonhosted.org/packages/77/6b/d817e1f8cc77aa055d37fba092e0febfdff40fe652d8d53d4cd7a86ad98d/debugpy-1.8.21-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:13678151fc401e2d68c9880b91e28714f797d40422994572b24560ef80910a88", size = 2477398, upload-time = "2026-06-01T19:30:57.644Z" }, + { url = "https://files.pythonhosted.org/packages/48/57/412421516afc3055fa577516f00beec3d663f9b0ab330639547ae6c57720/debugpy-1.8.21-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:ecbd158386c31ffe71d46f72d44d56e66331ab9b16cad649156d514368f23ab2", size = 3962096, upload-time = "2026-06-01T19:30:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/c1/62/2c616337cf6ba7b07ebbc97f02c6c945a8e2f76b365e33ee809c32ee36d1/debugpy-1.8.21-cp313-cp313-win32.whl", hash = "sha256:2c2ae706dec41d99a9ca1f7ebc987a83e65578363be6f6b3ac9067504917fae1", size = 5336288, upload-time = "2026-06-01T19:31:00.79Z" }, + { url = "https://files.pythonhosted.org/packages/f8/99/9175103392f84c4b1bf7622888cdc68da07f0ff7d9e581266428f6776033/debugpy-1.8.21-cp313-cp313-win_amd64.whl", hash = "sha256:aa648733047443eb1d07682c4ef287d36a54507b643ffdf38b09a3ef002c72a0", size = 5376567, upload-time = "2026-06-01T19:31:02.56Z" }, + { url = "https://files.pythonhosted.org/packages/ce/3d/f4bbb323a548bfab2af3d6b4ffd9bf22636e55956a1285d317a1de643aad/debugpy-1.8.21-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:9bb2a685287a2ac9b181cde89edcec64845cb51de7faaa75badb9a698bc24782", size = 2477209, upload-time = "2026-06-01T19:31:04.157Z" }, + { url = "https://files.pythonhosted.org/packages/8c/2d/6e7ec524984a1702777868de49a4c53202bddac2a432a76a093469587750/debugpy-1.8.21-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:3d6922439bf33fd38a3e2c447869ebc7b97da5cd3d329ff1ef9bc06c4903437e", size = 3927115, upload-time = "2026-06-01T19:31:05.863Z" }, + { url = "https://files.pythonhosted.org/packages/97/47/d1aa6d64005a98a9144647d99306b419396f9ad7bf1d73c119e17a81fb4d/debugpy-1.8.21-cp314-cp314-win32.whl", hash = "sha256:15d4963bd5ffa48f0da0947fd06757fa7621945048a14ad7705431566d3c0e7c", size = 5336724, upload-time = "2026-06-01T19:31:07.711Z" }, + { url = "https://files.pythonhosted.org/packages/5f/67/b905b90d163af11878c1af8abafa4a25206335e112e284e413454543a6da/debugpy-1.8.21-cp314-cp314-win_amd64.whl", hash = "sha256:fe0744a12353406de0ae8ccff0d0a4a666f00801a3db8fd04e7a5f761cd520e8", size = 5373803, upload-time = "2026-06-01T19:31:09.469Z" }, + { url = "https://files.pythonhosted.org/packages/95/51/67e7cf11a53e40694f720457d5b3a1cdaaa3d5a9a633e482f225456b93ff/debugpy-1.8.21-py2.py3-none-any.whl", hash = "sha256:b1e37d333663c8851516a47364ef473da127f9caebe4417e6df6f5825a7e9a92", size = 5352888, upload-time = "2026-06-01T19:31:25.186Z" }, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, +] + +[[package]] +name = "econml" +version = "0.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "joblib" }, + { name = "lightgbm" }, + { name = "numba" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "scikit-learn" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "shap", version = "0.49.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.12' and platform_machine != 'x86_64') or (python_full_version < '3.12' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" }, + { name = "shap", version = "0.52.0", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "sparse" }, + { name = "statsmodels" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/43/fa3f0bd1f0ee613f81f4442bab98dc39f486a28865d300b35124506c1ed7/econml-0.17.0.tar.gz", hash = "sha256:b637b6166d290203775954c3af58c45a728a932315df3c334a625ab94e6e0b30", size = 1767740, upload-time = "2026-07-31T20:56:30.338Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/69/77f69b04ac90245060e39c8b3eeb43a40c5a1e03ec48ee5a2ef6b48a386e/econml-0.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7746aab5d9300303feadfa62d4b5eb242a12d8ef5d275e4a52aeff9b61e5303b", size = 2398727, upload-time = "2026-07-31T20:55:57.208Z" }, + { url = "https://files.pythonhosted.org/packages/a6/ad/26f60c086d70be70be27548c0ac935ceeb02ed8f92dfff4353ef2182f72b/econml-0.17.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c375b09ea690f7f14d757e9cf0575cc0d2876083de5549d8fb49790690fc198f", size = 5601208, upload-time = "2026-07-31T20:55:59.585Z" }, + { url = "https://files.pythonhosted.org/packages/db/0f/a5321090502d340e2a38f50810a9922a191203a64e0a2579347facf01250/econml-0.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:488ecb1b1ed78c7f3d31c6b1d8d2ec1dddda9eb67d16a6062d208ff397dfd6a9", size = 2307395, upload-time = "2026-07-31T20:56:01.473Z" }, + { url = "https://files.pythonhosted.org/packages/71/da/0916160c5e799b3088a824cad7b6d424569ec75c890143313792e0cdf4f5/econml-0.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f68503da12025377b89552da6c8876634c738122a9d2bf33975abe80e1578f1", size = 2399525, upload-time = "2026-07-31T20:56:03.016Z" }, + { url = "https://files.pythonhosted.org/packages/80/b4/70fffb4c0bdb5cf78c1f9a2655e92248106e6d1a00b196a4696b48b1e845/econml-0.17.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5b59d410d7dc9255ecd2e2fae0ed7206b6cf496439e24dd60907fbf844549bfc", size = 5631497, upload-time = "2026-07-31T20:56:04.794Z" }, + { url = "https://files.pythonhosted.org/packages/19/43/c942addc558c3a8a2df368240ba8ef801962577ad7983cf1b1860d4242ae/econml-0.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:56f6e8965ffe242675f95a1011d01b474cb8f556a25f7bb736c8e723f9831f37", size = 2309251, upload-time = "2026-07-31T20:56:06.692Z" }, + { url = "https://files.pythonhosted.org/packages/b5/fb/7a4bc0e3a6817752e0059c9b33ef57bbfcab34598cdfc032177e31f554ba/econml-0.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:129b04ef32cfe84314ee1a8935c84254c2ab26a530f87485e7f68c487afa9a7c", size = 2393955, upload-time = "2026-07-31T20:56:08.32Z" }, + { url = "https://files.pythonhosted.org/packages/aa/39/de811f79760a463f69a98c017f29b6f41b619233b8cfce1ab887a4ddc8e3/econml-0.17.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c66ef0164fa807025a445e60ab9144cd0e1d0112bf2b232da9a5fd35d1b75045", size = 5595397, upload-time = "2026-07-31T20:56:09.977Z" }, + { url = "https://files.pythonhosted.org/packages/74/cf/9934eca38d76585c00c369726befaca5eab39aa8d7999706850b116ed4d7/econml-0.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:6033b2d9cb30263e23c1e47f72395d4b4f575966237674f7afd13385d18c470d", size = 2308289, upload-time = "2026-07-31T20:56:11.71Z" }, + { url = "https://files.pythonhosted.org/packages/61/e9/0094621a70b246bc0a26956c7a7539786442540b4ac9caf66d209cd5fc04/econml-0.17.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8582c059b735867de0ee39359f8f7ac54d8451ffde3bf5ae9cfaf26b86d64894", size = 2398628, upload-time = "2026-07-31T20:56:13.264Z" }, + { url = "https://files.pythonhosted.org/packages/61/42/de30058d2f53e22d5c94d598da2789d3278a52d20a607166a9f6915f7adc/econml-0.17.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c135f2f58b089acb2c44bc51432956dfcdf5a0d642ec6f364ef009dcb97ef51", size = 5565547, upload-time = "2026-07-31T20:56:14.996Z" }, + { url = "https://files.pythonhosted.org/packages/dd/bd/317e584748378aac4a7b481512425be618c5586ecfffc1791780e64b10e1/econml-0.17.0-cp314-cp314-win_amd64.whl", hash = "sha256:5e2b5eb5cd19fa628805e4a6064e74784116cd2e30ee69532461320ea63f0ecf", size = 2313378, upload-time = "2026-07-31T20:56:16.733Z" }, + { url = "https://files.pythonhosted.org/packages/d5/96/fcde612e5430ad9694992dfa92c9fd49d5689dd127cfe56057a62c17dfa7/econml-0.17.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:110ca11fa8f0fecba514b87747db03b2e4a385e68ca1ffc83e6f27f743824a4e", size = 2434451, upload-time = "2026-07-31T20:56:18.787Z" }, + { url = "https://files.pythonhosted.org/packages/9c/8e/4edd4a2d8b458ddeceed37a712414d3d0d2c336544f1195672509d78f505/econml-0.17.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34539aa17ed4fec2f35c4f7314925ca670f32a64a8546a59a53a7b9b53856265", size = 5551979, upload-time = "2026-07-31T20:56:20.476Z" }, + { url = "https://files.pythonhosted.org/packages/59/89/f499ab47cbb57465ce3ec8dd7b260200a113f21ab1f36e85f991f1b968be/econml-0.17.0-cp314-cp314t-win_amd64.whl", hash = "sha256:a613a3b9eeb33a9bd860032a5352a3ba327b271d609793b076e277d279937e51", size = 2354549, upload-time = "2026-07-31T20:56:22.493Z" }, +] + +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.22.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/33/a4/9473c7c3b87009d9c1d74034e4a0f6a35ff0d42dd0f9866d0c3ec4e9217b/fastjsonschema-2.22.2.tar.gz", hash = "sha256:72064e12356a7d6ef02165be2946b9abadbdf238536e07eb587e3dbaa33099cf", size = 385171, upload-time = "2026-08-15T19:47:08.853Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/82/2755c7c982086f00d4dab85bc120ec35045a9fc2191893a6ce79afe94443/fastjsonschema-2.22.2-py3-none-any.whl", hash = "sha256:0fb3915616adac85ccfdd737d26be1089845d2019819505b42d39888458f74d4", size = 27413, upload-time = "2026-08-15T19:47:04.406Z" }, +] + +[[package]] +name = "fonttools" +version = "4.65.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/77/51/d63c7e52163ac14393a35bd14bd7c0da95f8f74be5d7cc988092f9965129/fonttools-4.65.0.tar.gz", hash = "sha256:762ba5431358d0dbd4a01982484a1d494fb267e91f974cdcf20b80eab8560f6f", size = 3674467, upload-time = "2026-09-10T15:35:54.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/9e/58250cdc54d96fcfacb544e12997a6390fa4e6b71ae2241cfcfe5b341803/fonttools-4.65.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:06273c71e692caf5989c0437ca50875a5e49e216ddf653228fe9bb35bdc82c0f", size = 3089141, upload-time = "2026-09-10T15:33:24.509Z" }, + { url = "https://files.pythonhosted.org/packages/3e/67/0f0416069e38da0a1327a847a2e8dd1edb425d0043d8a3e63eb940070209/fonttools-4.65.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ca2b02d74e9ad7e21a1d11e4701425800a4b0c63cf90486e60258262feccbcbf", size = 2584298, upload-time = "2026-09-10T15:33:26.598Z" }, + { url = "https://files.pythonhosted.org/packages/99/0d/7e40e9957359afc0bab081131c215370a6d2d203361bb6f945ab595e924c/fonttools-4.65.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7830e9fa3bebc44dbc27ff44d8201def30ea5c48a773696d58e69e6bcd9cd5d4", size = 5498163, upload-time = "2026-09-10T15:33:29.071Z" }, + { url = "https://files.pythonhosted.org/packages/a1/e6/e48cf0a272a5d4d17a09d44f92727e67f975ddfa94acc8464763d19a654d/fonttools-4.65.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a3991732c87b3f054a2a8cf86dd0d602833fa8cb37c911503173771646e1013d", size = 5457456, upload-time = "2026-09-10T15:33:31.918Z" }, + { url = "https://files.pythonhosted.org/packages/e4/8a/a5c67ddeda82ee5e4ec3bc52ac1cbb685f0bb7a0516badc55643b454ab0d/fonttools-4.65.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6031e77b3fb8c765055ba2b8bd8dcb17030f3bf2484c448b472fdedf4460ba80", size = 5464334, upload-time = "2026-09-10T15:33:34.605Z" }, + { url = "https://files.pythonhosted.org/packages/d7/16/294e77383b2d39c9f8f25144a7ba23fe1cbbc05227cc72545097785ff07c/fonttools-4.65.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6813cc1e2e883bd6c15b3e04f72c78dc65fdc4ca861063adf5f341fbaec2ca62", size = 5595597, upload-time = "2026-09-10T15:33:37.591Z" }, + { url = "https://files.pythonhosted.org/packages/80/01/8e74ce8626c734959c782f2d89af8e9f14d078fd3d4ddf8b5a51401ae475/fonttools-4.65.0-cp311-cp311-win32.whl", hash = "sha256:4a5db8442453da4b6f43ad325879381b726bf2238a2253efd9584be21a2cefc2", size = 2441114, upload-time = "2026-09-10T15:33:40.592Z" }, + { url = "https://files.pythonhosted.org/packages/37/3e/835dc6c658426e2670b7f38c38295492fcbaeb06080e9dce89ce8105993c/fonttools-4.65.0-cp311-cp311-win_amd64.whl", hash = "sha256:9f201796c8e24e657be77c16fa664e798a46122144217f90838982937a964f0a", size = 2498823, upload-time = "2026-09-10T15:33:43.402Z" }, + { url = "https://files.pythonhosted.org/packages/58/db/242fa4fce7f632c5f7ab15585343393b25792510c0c32bd218ad24d59f1c/fonttools-4.65.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e844a45c9e5ced6536f184cf1a65b5d65e8f7e711993b413e10500a8223622e5", size = 3097120, upload-time = "2026-09-10T15:33:46Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b6/42fa4d373416675f74446421cf0b2badb82a4245c60745f05f424f75c649/fonttools-4.65.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b30e953de049bf43fc0a63c7d0c44d205c923e4bbf24716aae1518c0e65f977c", size = 2584658, upload-time = "2026-09-10T15:33:48.473Z" }, + { url = "https://files.pythonhosted.org/packages/75/6f/d589b9d62280a846c77a2c383d852c6dcb79ae8aa02bf0fa46c8577af145/fonttools-4.65.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09c34bdeed8915bfb53bee0c8ed2254dbd8ec69c0014b7f3702f347c049bf358", size = 5425737, upload-time = "2026-09-10T15:33:51.473Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/de2c0c20a42c18e565a2617932beb08c06697bbdd0d3f62b108262e11583/fonttools-4.65.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:05595385ae99f4b9626cebb973bf171b8fe38a8f40708e6e42abba0ed7537778", size = 5402463, upload-time = "2026-09-10T15:33:54.907Z" }, + { url = "https://files.pythonhosted.org/packages/79/2e/bc0f5c9dce21821454bb5812d3b23410bca33c8bbd5468386d0327aa0cff/fonttools-4.65.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d95b34dd68fbfc0e4a1740c421597656117f979ed8dc85de66e08f9f9981806e", size = 5362168, upload-time = "2026-09-10T15:33:57.481Z" }, + { url = "https://files.pythonhosted.org/packages/1f/0d/2116763ade7e71e0e5d421babe1785d745be9b3d605bf914792ce1c97f79/fonttools-4.65.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:924d06e6130429168318db71c40174a765ad016fc4b56ca811287e3d7373b3a6", size = 5524117, upload-time = "2026-09-10T15:34:00.021Z" }, + { url = "https://files.pythonhosted.org/packages/e2/5e/f9600553b9f645e3068553831685ff1dab6259536a23b38d2e048de38f17/fonttools-4.65.0-cp312-cp312-win32.whl", hash = "sha256:04f73dd01005752a6e75cf4a8dc6b70dc724d1d4bc34cc89522153f4a2f07680", size = 2432089, upload-time = "2026-09-10T15:34:02.803Z" }, + { url = "https://files.pythonhosted.org/packages/3a/02/e436a6a1863b9862bab9f82d6da33055dd7aa3738017edd902a163525dc2/fonttools-4.65.0-cp312-cp312-win_amd64.whl", hash = "sha256:3b5d9ba89edf778b376e669b879ae33a198bf45cf5a23c3f6514f935cf9d0d9d", size = 2483475, upload-time = "2026-09-10T15:34:05.09Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5c/343a4225e83eb06f82c1d8bf41fc5e5f71eab2f62bc7ca215c764722c0a9/fonttools-4.65.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8b7bb52817a24731d2e4f4df0e71fdde05e6c806c8f8f1517b015d142fdacfa5", size = 3094663, upload-time = "2026-09-10T15:34:07.235Z" }, + { url = "https://files.pythonhosted.org/packages/9b/c9/49b2401be932741d9218181c08948c96db32eab21ecaaf79283b752e13e7/fonttools-4.65.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e2c21772fcf70325189707b19f346812690bb1b0bd7e207e6ac205244806b303", size = 2584521, upload-time = "2026-09-10T15:34:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/51/c9/48b07e6c5cf44fa56f758a04c3772a66c0e9ba82bbe22077e4076746a62b/fonttools-4.65.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:64c9b26816415b5e3d899e9077109d327b22140fe3c4066644d8cdbad5bb1569", size = 5395399, upload-time = "2026-09-10T15:34:12.38Z" }, + { url = "https://files.pythonhosted.org/packages/fa/2d/5cc5a10c8ed56079d6c2e9e3e5920622529a2ae045c9f47a6055ccb1a319/fonttools-4.65.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6dd6243f60e2d6160c2966e1e14020dc261ffd741b69a2e4ca8bfd051592e4b7", size = 5376659, upload-time = "2026-09-10T15:34:15.239Z" }, + { url = "https://files.pythonhosted.org/packages/ab/6f/ccf33739d936bb3afa1655a225be7ee5d63d6d3c8b7d0e570bc5a2a7b899/fonttools-4.65.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:834962fd7cf21c58e81ac50a59e6ed2306f9df5e3dd481dad1cd7d2c4c60b773", size = 5336795, upload-time = "2026-09-10T15:34:17.817Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c1/ffd17483f2094f0f4118974295b514b5b82afd4f6e3c80c23f01684e97a6/fonttools-4.65.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:580eb68ff7bd6954a7a76afddd864bfc66eaaf5f5c20dd6ead9186d0055a4ffe", size = 5496530, upload-time = "2026-09-10T15:34:20.241Z" }, + { url = "https://files.pythonhosted.org/packages/b1/19/9aca7712d0676ba5f8d1530ce20478a9bb09cccd0153d56693337379cdcf/fonttools-4.65.0-cp313-cp313-win32.whl", hash = "sha256:7a18b2ffd44249fe84289253197aa65ad4f2de554c0d381f18b1f5939bc6bc60", size = 2430392, upload-time = "2026-09-10T15:34:22.906Z" }, + { url = "https://files.pythonhosted.org/packages/1f/6f/f015dea0f4354e0798751b657cea2dee482914737f88bf1a078349ce92cf/fonttools-4.65.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ae1846b0f192fd485d26a455af19b8f5cf05aff08f9836f533913d8fcea133c", size = 2481620, upload-time = "2026-09-10T15:34:25.816Z" }, + { url = "https://files.pythonhosted.org/packages/64/29/606365ef601668bfebed14cfe3dc72bb7fcd1e23011bbb2833f17fea3065/fonttools-4.65.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:dc87a9f846bec83c3795804f62b4632716d46e3522869a3dd9cd44a5d245b006", size = 3098393, upload-time = "2026-09-10T15:34:28.472Z" }, + { url = "https://files.pythonhosted.org/packages/c7/61/11412939d6b7abf5ac7ce0d61d7f94a0a4fbabc9f1ab0a04fa622e0fc11c/fonttools-4.65.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:aa50dd7b9baf75e2bbd43401fc0d237f7a94a8ad2e0c57ea97160fc631af5eb0", size = 2585766, upload-time = "2026-09-10T15:34:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/db/17/734921d8aee8309801da42590375d32d4d46f771b73373ec9520d5d4220b/fonttools-4.65.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0d2a9892fdb3b7e2d0f4174e3b907d226ff83698249762eeefce08ec5b2de1dd", size = 5380679, upload-time = "2026-09-10T15:34:33.933Z" }, + { url = "https://files.pythonhosted.org/packages/cf/eb/2a4d78d60d978e694cfa04c98e4d8ddbf7f028fd768ddef470bb9da5d69e/fonttools-4.65.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6d815734e7fede0ad1f233f23f0f191cbe8fc64762ff041e589bc0f78e0b2397", size = 5321833, upload-time = "2026-09-10T15:34:36.295Z" }, + { url = "https://files.pythonhosted.org/packages/d9/ca/1cd48b5c11ef9658732787bf2362e1bf3871dad5945d2f6cc8f675ca769c/fonttools-4.65.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:71e4c67b6196a2f447f46476fd2302604721617f5e0a21b0988bdd87b6bb9687", size = 5320938, upload-time = "2026-09-10T15:34:38.992Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0d/90e6051bded926cccabe9dd0bce3b6ca012f4d5779d61167afbf4989ceb6/fonttools-4.65.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b11d8a4a0c3ca74bbd4c105b7ef82501945c939e6096d9934ec7d288cdf5aaa9", size = 5451747, upload-time = "2026-09-10T15:34:41.387Z" }, + { url = "https://files.pythonhosted.org/packages/18/74/23e0268e48029ff0752083f69312c49b738163d5af919add9dc4ac81e907/fonttools-4.65.0-cp314-cp314-win32.whl", hash = "sha256:8e44a34d91b3c793879767eb115867ced74d2eb94974e64e72fe9e2eea71cf1a", size = 2434246, upload-time = "2026-09-10T15:34:44.385Z" }, + { url = "https://files.pythonhosted.org/packages/a1/2d/ee69affecd4bc81cb932a213438d4199fb48bf8ca6d664438ccc7f623c2a/fonttools-4.65.0-cp314-cp314-win_amd64.whl", hash = "sha256:0aa8901db22875c831d6a91796549590d7e747da37438f38b69d771b668be445", size = 2486706, upload-time = "2026-09-10T15:34:46.842Z" }, + { url = "https://files.pythonhosted.org/packages/8e/9c/edee5f785198ce3327e1ddeace91c773122d47f086a67e0a84b800f4a940/fonttools-4.65.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:2e4a380ca40d3a5372e31b340f0da0d53b4583aadbb8e41f6a516afa69c509a4", size = 3172027, upload-time = "2026-09-10T15:34:49.269Z" }, + { url = "https://files.pythonhosted.org/packages/9c/c6/252ec9884381089bc30da75978b072593920249de60219817f16cbc9145f/fonttools-4.65.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:661bd91c4be13721408b2d4b67a9b3fa7736713adc9a6c9780c9c60fc7959f90", size = 2619020, upload-time = "2026-09-10T15:34:51.453Z" }, + { url = "https://files.pythonhosted.org/packages/42/79/f71b0d202b8473bb45b07876c08a474de9fe560ed2c0cde642812a81e22a/fonttools-4.65.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:62c5e42c79449def957adf8a9a65a43018efa7e2a6bc6baa3afe955e0d5fb2ab", size = 5545942, upload-time = "2026-09-10T15:34:54.804Z" }, + { url = "https://files.pythonhosted.org/packages/4a/bd/52e1bf33e0aebfe22ecc9a85c634db707c1dd9f6b1b438efeed98c55b959/fonttools-4.65.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:36fca8efc46b5adfca327c666e739fc05b7a7a6ef17840230f81b22f53230f61", size = 5351477, upload-time = "2026-09-10T15:34:57.514Z" }, + { url = "https://files.pythonhosted.org/packages/5c/76/8c6b2ad20beec95cd446f3a8bdc753c7e4a4fd69ef3e66704c0f7c8cb0b5/fonttools-4.65.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8aa1291e4c767abf1b0b79ca2d6895f7c0b661d9d95d03b5791c883a9d1e1f08", size = 5412271, upload-time = "2026-09-10T15:35:00.895Z" }, + { url = "https://files.pythonhosted.org/packages/79/49/fadbf11bbbd2d699d88a5498a0634280206e01e3bd5da9a4e0c504953ce9/fonttools-4.65.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fcf39949f56911348514b466714efa9118bec3d2be249e1c487263f7cda6edab", size = 5446450, upload-time = "2026-09-10T15:35:03.369Z" }, + { url = "https://files.pythonhosted.org/packages/df/77/5fda646d3a6d5ee26465865c00319cc0925cf484a3b42dd8232d5b39f973/fonttools-4.65.0-cp314-cp314t-win32.whl", hash = "sha256:ffc918702661f1d74d2fbb2f5551036b64f6d2d743139e105289b694bcd16f54", size = 2467858, upload-time = "2026-09-10T15:35:05.744Z" }, + { url = "https://files.pythonhosted.org/packages/ae/0f/afa0f3de70ebe02bba46b32cccb30b1de52624472b14ac2e7cd403d08db9/fonttools-4.65.0-cp314-cp314t-win_amd64.whl", hash = "sha256:5a977e3645dbffaee924209828aa702a215f7ff68bc08010740c10c723787e62", size = 2518248, upload-time = "2026-09-10T15:35:07.846Z" }, + { url = "https://files.pythonhosted.org/packages/86/54/b273cf5712b36a381c13284fbf244e811e1e1d7081aed20f200f0a191ffa/fonttools-4.65.0-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:7aa0518b45ff5286ad56f063938db3add3816e899aab58d782b3f9a252523caa", size = 3092770, upload-time = "2026-09-10T15:35:10.868Z" }, + { url = "https://files.pythonhosted.org/packages/36/1d/d3e4511475954d4ec4f3c254e81f0fcc1ade504cb7381eeca48b8c44b8a6/fonttools-4.65.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:673e2b3ac4ac8e4f3607d390ecc5a606e5db5c4e88fb4cb2999593efb65afea2", size = 2584364, upload-time = "2026-09-10T15:35:13.54Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3f/7cfaba467bdd1d3d04be21ba7b5bd75c6ca58ba280e0519707ca96a43c4d/fonttools-4.65.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a03cff943b204a90bf3d1c04c97b9509a8aa0ee99e2e544084ca43ad995975b", size = 5377819, upload-time = "2026-09-10T15:35:15.839Z" }, + { url = "https://files.pythonhosted.org/packages/25/17/a68d9b19a97bb2ee37e8098fea50657073df97c7e5392afbe1b9d7c0c581/fonttools-4.65.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:41f684ee6212e411196ab054f8308faf6605f154950e6f4686fb8f2103d624b0", size = 5341296, upload-time = "2026-09-10T15:35:18.527Z" }, + { url = "https://files.pythonhosted.org/packages/ad/8d/d744653ed607a241339015d4af6743ca3d85a74a2045a02cc06ea0383c71/fonttools-4.65.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:52ea9d2a8385075770db74d5e5718fa80b2222bb4fc62856a377dd2865ca8848", size = 5315310, upload-time = "2026-09-10T15:35:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c8/1ca6dc69cbaa0e394ff70d9e266777124d3ce3c6433026a6b4de50b890ae/fonttools-4.65.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:d0d25027ade65ec46b13c0436e51bcb7c5171a4ea255a5e7a8d0d1d3ab4cffd7", size = 5463840, upload-time = "2026-09-10T15:35:24.022Z" }, + { url = "https://files.pythonhosted.org/packages/07/97/d374df38a14f2ac04ba9ed96bca89d4988e7d63aa5ed85c54fd8f2badd7d/fonttools-4.65.0-cp315-cp315-win32.whl", hash = "sha256:22cb846d35d278235ef3b7e947c6040b2057d72e8305a314f21d5342eca49040", size = 2433149, upload-time = "2026-09-10T15:35:26.59Z" }, + { url = "https://files.pythonhosted.org/packages/62/c5/eb8f7506faf6a70c5a8f2eccbeea3cd826c748a6fd78c7b4b3effb5a3a11/fonttools-4.65.0-cp315-cp315-win_amd64.whl", hash = "sha256:aecc899fdbf9ecbf728f8977977e2e1043ee4d70c257124c8fa4cbcf796fcd83", size = 2485725, upload-time = "2026-09-10T15:35:28.945Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/2df0d97514feb8d857d5de854cd8d660d9a7ee1fd081bc98497124f515a8/fonttools-4.65.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:6275863dad195ee34b6e0ca3fc61c74096bc37e5d6fb8e049f4d68d65865a2b7", size = 3164065, upload-time = "2026-09-10T15:35:31.197Z" }, + { url = "https://files.pythonhosted.org/packages/15/33/e09661c09e6c8a3b0bd50da0e72918df7576dede31f39c948cc245011434/fonttools-4.65.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:d8ffd2f62b402180b0edae8f86a071f583970e2177143117db5cf4c52da60079", size = 2615195, upload-time = "2026-09-10T15:35:33.569Z" }, + { url = "https://files.pythonhosted.org/packages/64/d7/114b05f4193679d0935272220083ec43de7f918b5a777018c5ac5c1ae39e/fonttools-4.65.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:830f91327ca83bfc1278e7060068a498938f84d05dc4869675486f84f55d4fe1", size = 5521239, upload-time = "2026-09-10T15:35:36.291Z" }, + { url = "https://files.pythonhosted.org/packages/ba/10/67d615939f859ffe75663a67bca3593966febbcd0109ec72f20f73cbb4cc/fonttools-4.65.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9db2cb95847c18eef74a4ef0fe257a893ae3f4b0395f4866e2f426ab07f3d804", size = 5343802, upload-time = "2026-09-10T15:35:38.82Z" }, + { url = "https://files.pythonhosted.org/packages/d1/06/faa793a806da03acce862fbed353f76026b28103d43860d69be9a6a1f0fd/fonttools-4.65.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:be9b9a95ed0af03375e99020e921c4bc6b41fad10e053dea7acad370521a3c46", size = 5388482, upload-time = "2026-09-10T15:35:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/53/d2/eb7258df60e634db60c9a8cd72bc9eaf8dea409d1b1ceec3b9fb49531ad2/fonttools-4.65.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:bbd9faf777a9deb6790df4f2b0be611857c45fe86605e840d7154a028d828af7", size = 5435088, upload-time = "2026-09-10T15:35:44.639Z" }, + { url = "https://files.pythonhosted.org/packages/00/6a/58597f16e1265fe9205de3069e338a339e3eef0b1daf049ee08269458091/fonttools-4.65.0-cp315-cp315t-win32.whl", hash = "sha256:c779d838815b91889c95ed64c9be5950ad5a683279f91aeb23384cb757ddc6a3", size = 2464925, upload-time = "2026-09-10T15:35:47.224Z" }, + { url = "https://files.pythonhosted.org/packages/4b/95/122fc172006db747f4968e08c710f52a94f55eb007173b859b3f80b5b810/fonttools-4.65.0-cp315-cp315t-win_amd64.whl", hash = "sha256:d9484b7ee1b49b6b8a0231c849f3983723dec29e3a7366d9b1b02f4036f71944", size = 2513945, upload-time = "2026-09-10T15:35:49.895Z" }, + { url = "https://files.pythonhosted.org/packages/e6/35/f894ceb867118c0261d0f69a9bd516b045a3754238f76c88a49513ac7a83/fonttools-4.65.0-py3-none-any.whl", hash = "sha256:3060b8c1fc2329fa20265b7c138614143ea7c1624e26c5c180c76aeb74deae6f", size = 1196441, upload-time = "2026-09-10T15:35:52.347Z" }, +] + +[[package]] +name = "formulaic" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "interface-meta" }, + { name = "narwhals" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "pandas" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "typing-extensions" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f1/87/e7b9b39d218793f159d7425e264c0ac196da07f1decc333001502fac02fb/formulaic-1.2.2.tar.gz", hash = "sha256:c99e8f11ff7d327eaecaf63855ca69b7fa0da100ad6c0041ef80912fbac667e6", size = 657522, upload-time = "2026-06-02T18:24:42.632Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/75/0576b03f7889ad25b5385b4f6c69e0543713425a6f193b056c9b0a2e65ce/formulaic-1.2.2-py3-none-any.whl", hash = "sha256:0f84ff49e3fc9dc0e68ab08a0a9427874021aa6c558e66b44dc634a35739b09b", size = 118939, upload-time = "2026-06-02T18:24:41.344Z" }, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015, upload-time = "2021-03-11T07:16:29.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121, upload-time = "2021-03-11T07:16:28.351Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "idna" +version = "3.19" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5f/f7/abb373e5757eaec4b922b92f97ec8d6d7e057cf06778247604fbc4e7c3f3/idna-3.19.tar.gz", hash = "sha256:5e0811a4383b21dc5838069f801c4fb62113b7447663d2530d2bd6e77b49bf15", size = 215237, upload-time = "2026-08-18T05:14:24.27Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl", hash = "sha256:815e7be7a7806d54abb586dc943addc79e8b2ee16915059658cbeff4b1b43bf4", size = 68550, upload-time = "2026-08-18T05:14:22.343Z" }, +] + +[[package]] +name = "interface-meta" +version = "2.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/28/5b/202a48a1ccdef721a95357fbe263c54ef87c18c4972df1ab5c22fe0f33d5/interface_meta-2.0.1.tar.gz", hash = "sha256:902bd9a95a12f195f15753a1080075d4eca7a2cb934fac7ac03c9e362b50796a", size = 15281, upload-time = "2026-04-30T22:35:36.882Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/d3/20a61a248feb1249cd81f83ce731f0bdf5170ed96a08a298f7081cda9e90/interface_meta-2.0.1-py3-none-any.whl", hash = "sha256:f38016bef9a4429b6d0792d809be7b65e9781820c674bf7f463999086b6e6323", size = 15330, upload-time = "2026-04-30T22:35:35.201Z" }, +] + +[[package]] +name = "ipykernel" +version = "7.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio2" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/c4/e4a38f579de4225a561305666f7541cdabb30075def2aa1ac17bd73c1fb5/ipykernel-7.3.0.tar.gz", hash = "sha256:9acaaaf97d16355166e4085afe9d225bfbdf2b7ef520f9df3be8f2b248275e09", size = 184899, upload-time = "2026-06-10T08:41:25.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/02/77b271f5dc58bfbc0b577c877b2365d1ffea2afe66a80c13f2312820348c/ipykernel-7.3.0-py3-none-any.whl", hash = "sha256:897eb64da762549ef610698fca5e9675195ec6ac8ec7f19d81ce1ca20c876057", size = 120583, upload-time = "2026-06-10T08:41:23.648Z" }, +] + +[[package]] +name = "ipython" +version = "9.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "psutil", marker = "sys_platform != 'cygwin' and sys_platform != 'emscripten'" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/32/99451b1283ec5d92ad77073f12e1c667dc10775384d8f15c2914207149dd/ipython-9.17.1.tar.gz", hash = "sha256:8919be8c27f20a6f4423145028063f6637b42a03ce57665bb12015ee1f073529", size = 4539289, upload-time = "2026-09-01T08:29:32.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/1e/65b59cf518c106aa755e7f7da3099027738687a862ec785060702a481320/ipython-9.17.1-py3-none-any.whl", hash = "sha256:6d1645743cfd1a07eb695d85aa2b5fa66721f8cbae9431d4049f7084bbf06509", size = 639038, upload-time = "2026-09-01T08:29:30.673Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "arrow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649, upload-time = "2020-11-01T11:00:00.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321, upload-time = "2020-11-01T10:59:58.02Z" }, +] + +[[package]] +name = "jedi" +version = "0.20.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/b7/a3635f6a2d7cf5b5dd98064fc1d5fbbafcb25477bcea204a3a92145d158b/jedi-0.20.0.tar.gz", hash = "sha256:c3f4ccbd276696f4b19c54618d4fb18f9fc24b0aef02acf704b23f487daa1011", size = 3119416, upload-time = "2026-05-01T23:38:47.814Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/93/242e2eab5fe682ffcb8b0084bde703a41d51e17ee0f3a31ff0d9d813620a/jedi-0.20.0-py2.py3-none-any.whl", hash = "sha256:7bdd9c2634f56713299976f4cbd59cb3fa92165cc5e05ea811fb253480728b67", size = 4884812, upload-time = "2026-05-01T23:38:43.919Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "joblib" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cloudpickle" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d5/1d/537ab090f302b838943a1b56497dd53059b9a9b46a074936470173a2e207/joblib-1.6.0.tar.gz", hash = "sha256:2ccc96785b12046c08fd6d55839c12857831b54a3c1673ffadd2f04bfc4eda03", size = 327903, upload-time = "2026-08-31T09:39:04.122Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/53/84099323c2ec4be98d935f63c033ac4151ee83836ca1050ede3b3aadf155/joblib-1.6.0-py3-none-any.whl", hash = "sha256:3dbbf9f6e4b592a2357b854608e980fe6390d131d7a82f011a377ef2ebef7aba", size = 306115, upload-time = "2026-08-31T09:39:02.298Z" }, +] + +[[package]] +name = "json5" +version = "0.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/7d/05c46a96a78147ae3bf99c2f4169ce144a70220b8d6fcd56f6ec368b8ce9/json5-0.15.0.tar.gz", hash = "sha256:7424d1f1eb1d56da6e3d70643f53619862b4ce81440bdb8ecfd6f875e5ba4a71", size = 53278, upload-time = "2026-06-19T20:08:27.716Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/be/59527c99478aade6bb33a68d72e6e18dd4e6ff6eacfc7d01bdb15bc76912/json5-0.15.0-py3-none-any.whl", hash = "sha256:56636a30c0e8a4665fe2179c0212f32eae3796dea89ea6f649b9436ecdb39618", size = 36570, upload-time = "2026-06-19T20:08:26.748Z" }, +] + +[[package]] +name = "jsonpointer" +version = "3.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/c7/af399a2e7a67fd18d63c40c5e62d3af4e67b836a2107468b6a5ea24c4304/jsonpointer-3.1.1.tar.gz", hash = "sha256:0b801c7db33a904024f6004d526dcc53bbb8a4a0f4e32bfd10beadf60adf1900", size = 9068, upload-time = "2026-03-23T22:32:32.458Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/6a/a83720e953b1682d2d109d3c2dbb0bc9bf28cc1cbc205be4ef4be5da709d/jsonpointer-3.1.1-py3-none-any.whl", hash = "sha256:8ff8b95779d071ba472cf5bc913028df06031797532f08a7d5b602d8b2a488ca", size = 7659, upload-time = "2026-03-23T22:32:31.568Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.26.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b3/fc/e067678238fa451312d4c62bf6e6cf5ec56375422aee02f9cb5f909b3047/jsonschema-4.26.0.tar.gz", hash = "sha256:0c26707e2efad8aa1bfc5b7ce170f3fccc2e4918ff85989ba9ffa9facb2be326", size = 366583, upload-time = "2026-01-07T13:41:07.246Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/69/90/f63fb5873511e014207a475e2bb4e8b2e570d655b00ac19a9a0ca0a385ee/jsonschema-4.26.0-py3-none-any.whl", hash = "sha256:d489f15263b8d200f8387e64b4c3a75f06629559fb73deb8fdfb525f2dab50ce", size = 90630, upload-time = "2026-01-07T13:41:05.306Z" }, +] + +[package.optional-dependencies] +format-nongpl = [ + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "rfc3987-syntax" }, + { name = "uri-template" }, + { name = "webcolors" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "jupyter-builder" +version = "1.2.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/75/3e/56f593e6a664cd14d441724654ce8243f3cac7d3e45867cf084749c8bc75/jupyter_builder-1.2.3.tar.gz", hash = "sha256:01aba6794eb9b19e0e29ae21137ca60ba4135c70347d4b9f664a586822b8c809", size = 1024218, upload-time = "2026-09-04T18:54:09.411Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/aa/be79e87c50698673f196d0633fc1664607da2289f9688d1de7a1c9db9e71/jupyter_builder-1.2.3-py3-none-any.whl", hash = "sha256:c5ea5a7190c2a7b082494abade98eece1b2b5bd5dbd7d610606cbcd10a1d08b3", size = 947541, upload-time = "2026-09-04T18:54:07.644Z" }, +] + +[[package]] +name = "jupyter-client" +version = "8.10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c5/2a/906772148a06e48885039e0250c340b770a55bbf37b08d6ee0449df369c3/jupyter_client-8.10.0.tar.gz", hash = "sha256:9f7116294dca55f1785be880057d44544db9b1567718d92cb33c58886afb9497", size = 360653, upload-time = "2026-08-28T12:17:10.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/88/7c548de1f6c2ade7c931a3282da73f9274fa6a1531091be682f89c85efb9/jupyter_client-8.10.0-py3-none-any.whl", hash = "sha256:5f73f24f22fa25192cfff6b23c051932a2473a797b05734aff495b392103e14e", size = 110184, upload-time = "2026-08-28T12:17:09.028Z" }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" }, +] + +[[package]] +name = "jupyter-events" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"] }, + { name = "packaging" }, + { name = "python-json-logger" }, + { name = "pyyaml" }, + { name = "referencing" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/f8/475c4241b2b75af0deaae453ed003c6c851766dbc44d332d8baf245dc931/jupyter_events-0.12.1.tar.gz", hash = "sha256:faff25f77218335752f35f23c5fe6e4a392a7bd99a5939ccb9b8fbf594636cf3", size = 62854, upload-time = "2026-04-20T23:17:50.66Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/6c/6fcde0c8f616ed360ffd3587f7db9e225a7e62b583a04494d2f069cf64ea/jupyter_events-0.12.1-py3-none-any.whl", hash = "sha256:c366585253f537a627da52fa7ca7410c5b5301fe893f511e7b077c2d93ec8bcf", size = 19512, upload-time = "2026-04-20T23:17:48.927Z" }, +] + +[[package]] +name = "jupyter-lsp" +version = "2.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/ff/1e4a61f5170a9a1d978f3ac3872449de6c01fc71eaf89657824c878b1549/jupyter_lsp-2.3.1.tar.gz", hash = "sha256:fdf8a4aa7d85813976d6e29e95e6a2c8f752701f926f2715305249a3829805a6", size = 55677, upload-time = "2026-04-02T08:10:06.749Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/23/e8/9d61dcbd1dce8ef418f06befd4ac084b4720429c26b0b1222bc218685eff/jupyter_lsp-2.3.1-py3-none-any.whl", hash = "sha256:71b954d834e85ff3096400554f2eefaf7fe37053036f9a782b0f7c5e42dadb81", size = 77513, upload-time = "2026-04-02T08:10:01.753Z" }, +] + +[[package]] +name = "jupyter-server" +version = "2.21.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "argon2-cffi" }, + { name = "jinja2" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "jupyter-events" }, + { name = "jupyter-server-terminals" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "overrides", marker = "python_full_version < '3.12'" }, + { name = "packaging" }, + { name = "prometheus-client" }, + { name = "pywinpty", marker = "(python_full_version < '3.12' and os_name == 'nt') or (os_name == 'nt' and platform_machine != 'x86_64') or (os_name == 'nt' and sys_platform != 'darwin')" }, + { name = "pyzmq" }, + { name = "send2trash" }, + { name = "terminado" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "websocket-client" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cf/e0/63b481d5b21f81fe23173dfc9eb25629fa1bc174fdc4a2c19d09c1ff8124/jupyter_server-2.21.0.tar.gz", hash = "sha256:70d9a1883f57d3576ea17f4ce061ec1a7aad7ef388d00428cfb7f5e4f0022271", size = 760357, upload-time = "2026-08-27T16:06:34.049Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/8a/cb97c2b353cb46cced413be8f742fa8fcd3cb1659524f27314494aa94968/jupyter_server-2.21.0-py3-none-any.whl", hash = "sha256:2ae2e5ce5e97268553e25aebe040197455673d925b5fc7995477153318160cf7", size = 393961, upload-time = "2026-08-27T16:06:31.814Z" }, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywinpty", marker = "(python_full_version < '3.12' and os_name == 'nt') or (os_name == 'nt' and platform_machine != 'x86_64') or (os_name == 'nt' and sys_platform != 'darwin')" }, + { name = "terminado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/a7/bcd0a9b0cbba88986fe944aaaf91bfda603e5a50bda8ed15123f381a3b2f/jupyter_server_terminals-0.5.4.tar.gz", hash = "sha256:bbda128ed41d0be9020349f9f1f2a4ab9952a73ed5f5ac9f1419794761fb87f5", size = 31770, upload-time = "2026-01-14T16:53:20.213Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/2d/6674563f71c6320841fc300911a55143925112a72a883e2ca71fba4c618d/jupyter_server_terminals-0.5.4-py3-none-any.whl", hash = "sha256:55be353fc74a80bc7f3b20e6be50a55a61cd525626f578dcb66a5708e2007d14", size = 13704, upload-time = "2026-01-14T16:53:18.738Z" }, +] + +[[package]] +name = "jupyterlab" +version = "4.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-lru" }, + { name = "httpx" }, + { name = "ipykernel" }, + { name = "jinja2" }, + { name = "jupyter-builder" }, + { name = "jupyter-core" }, + { name = "jupyter-lsp" }, + { name = "jupyter-server" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "packaging" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/00/c0/45934229995d4c6e38192ca118d93185f60808f64157e3df3c5c28f8c5fd/jupyterlab-4.6.3.tar.gz", hash = "sha256:2e3db6e3a12495ebd188276e985bf5ac502fbde3d1e8628819920210008de498", size = 28319771, upload-time = "2026-08-10T18:50:57.947Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/47/242f46de028074651c9bd6d8000fc340ed0d3cdd1a0eae4387826123413a/jupyterlab-4.6.3-py3-none-any.whl", hash = "sha256:0a1ebc6567186f1eabd99536e94df7ed9e96d1e7c5ddf3e4406ae16e88abacb7", size = 17168312, upload-time = "2026-08-10T18:50:53.044Z" }, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, +] + +[[package]] +name = "jupyterlab-server" +version = "2.28.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "jinja2" }, + { name = "json5" }, + { name = "jsonschema" }, + { name = "jupyter-server" }, + { name = "packaging" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d6/2c/90153f189e421e93c4bb4f9e3f59802a1f01abd2ac5cf40b152d7f735232/jupyterlab_server-2.28.0.tar.gz", hash = "sha256:35baa81898b15f93573e2deca50d11ac0ae407ebb688299d3a5213265033712c", size = 76996, upload-time = "2025-10-22T13:59:18.37Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/07/a000fe835f76b7e1143242ab1122e6362ef1c03f23f83a045c38859c2ae0/jupyterlab_server-2.28.0-py3-none-any.whl", hash = "sha256:e4355b148fdcf34d312bbbc80f22467d6d20460e8b8736bf235577dd18506968", size = 59830, upload-time = "2025-10-22T13:59:16.767Z" }, +] + +[[package]] +name = "kiwisolver" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/07/bd78e6a8fae171ea041ef5bba3ed21a003522fa088834b069b1909981f30/kiwisolver-1.5.1.tar.gz", hash = "sha256:f1303ef2eec81262a4b708c3e858afe58d7c75ad91c1c05266eda7673369859a", size = 104395, upload-time = "2026-08-28T10:28:27.153Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/7b/2de6908edc668427c149af5f93112e931f87e1fa4cab80bac32c5844dccc/kiwisolver-1.5.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b3d78f7bb2b9d9a30345be1474b9aaa8685430b54afb51ba3639b5c6c11e9ed6", size = 123364, upload-time = "2026-08-28T10:25:04.359Z" }, + { url = "https://files.pythonhosted.org/packages/8a/24/e70914415c77c97be7e22c80a0740869cb7428768cc380fdcdf6703e7084/kiwisolver-1.5.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5025e36fb4fb275cef0a4e30dbb11cb4ae61d1c83deb90189cb5d7e4cafd6b55", size = 66558, upload-time = "2026-08-28T10:25:05.506Z" }, + { url = "https://files.pythonhosted.org/packages/e8/2b/8b08b11833db4d475b8ef1f36174f8d8a7abd31bedd7e794be78e8814b48/kiwisolver-1.5.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dc1a26b8e53395a01c2c611e58602fa47461f136fba7cd5542e6db6d64be1839", size = 64071, upload-time = "2026-08-28T10:25:06.7Z" }, + { url = "https://files.pythonhosted.org/packages/89/00/05c2d0369ac322d22d5c05f84b5c4a6856fa6207fbae42869108a28f0383/kiwisolver-1.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:95a02752aa032eef4aed01cda6d9b687c669bd0396bf4519eef8bba22a286720", size = 1438206, upload-time = "2026-08-28T10:25:08.254Z" }, + { url = "https://files.pythonhosted.org/packages/c0/05/c941a139f27438c1910d630fdc3ccfdab7c8407c72052299ead12ece086e/kiwisolver-1.5.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:719a35fa1156db3640555f95ebb94f60a444e64d1c69626b0edef5df78eba225", size = 1248975, upload-time = "2026-08-28T10:25:10.053Z" }, + { url = "https://files.pythonhosted.org/packages/58/a1/2669ee5512e39b9d4de25faacaedf788c957f93730c5f7c63993ec4f5933/kiwisolver-1.5.1-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:febcce10f2bcdbb80b4ea919238a6a4ac13dbc4c7cadbe8d5d75c3682f8b5404", size = 1266301, upload-time = "2026-08-28T10:25:11.754Z" }, + { url = "https://files.pythonhosted.org/packages/28/b8/353f52f2c7f861a9e90cd2e8f90f85b3ad03060835f823e08298d094c463/kiwisolver-1.5.1-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1d852545c4d0e35a72728d072cbaa59e2fa7dd84bdf01e068d670dd0ceb58eb6", size = 1319708, upload-time = "2026-08-28T10:25:13.559Z" }, + { url = "https://files.pythonhosted.org/packages/21/0e/14b83200eadc2c1d63b76bac01c1813bf072aecf567429f303e00b70258e/kiwisolver-1.5.1-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:2e10ae1bba1899188b33557c10d73affcc12033edd18adddb57d209039976a4c", size = 971720, upload-time = "2026-08-28T10:25:14.934Z" }, + { url = "https://files.pythonhosted.org/packages/86/91/9d43d84d23b1cbff72a142d387ead1ea03db0cba8ff86ed5335addad3cc9/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b69602970994a2ed8bbfa78c2f0394a7435226c6040489702d9f0a0ad0c07052", size = 2200119, upload-time = "2026-08-28T10:25:16.636Z" }, + { url = "https://files.pythonhosted.org/packages/ff/7c/f2bd9616f27ffb5e17cecc0baa5d0bbcee7e55aeddc0ccc871d69e2fc3ee/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d50de98e8d807dc31822fff96f50293163a62418eb65487a21b42713d72ed0b7", size = 2295005, upload-time = "2026-08-28T10:25:18.374Z" }, + { url = "https://files.pythonhosted.org/packages/ba/17/ee671b72bf8f46a08379d4392c65582541759a542428197562f2898294ad/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3221f78211074f561c44ca42eac0619828171bec15a2c4cf6f7747d07df76e8e", size = 1960982, upload-time = "2026-08-28T10:25:19.893Z" }, + { url = "https://files.pythonhosted.org/packages/2e/f7/0e26b4c05bee3bdb0f048dfa305e4fe701999ea17b51e9c616ef91035bbe/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0ba9527afc80ae3d7814ed98b6572d02bf85eaf48065678342c5f0c6dab7a8c7", size = 2464918, upload-time = "2026-08-28T10:25:21.65Z" }, + { url = "https://files.pythonhosted.org/packages/ae/62/6eb431133d30ce656ac1e5ff72fac70dd34d54c3984f4011b9ac8bf77d54/kiwisolver-1.5.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e12dfea7f5fc2a34a9080efbf79c4c44eb380ec5b9c6fea09407e08f0d1e941d", size = 2270967, upload-time = "2026-08-28T10:25:23.643Z" }, + { url = "https://files.pythonhosted.org/packages/bf/9f/6f9e489c188200e6fb3193935501894811e8c97577c8ffe9033589bf3521/kiwisolver-1.5.1-cp311-cp311-win_amd64.whl", hash = "sha256:1a7587dc335f2c0f5bd577fd0540bd16c66006bdb60f759a1059f025e6c4f071", size = 70744, upload-time = "2026-08-28T10:25:25.061Z" }, + { url = "https://files.pythonhosted.org/packages/c6/6d/dfc430d1d43957061599adea3f08ea982bb6f4ab601a8c974bedcf2ba850/kiwisolver-1.5.1-cp311-cp311-win_arm64.whl", hash = "sha256:e4e4523d6f336708d732516e6cfca7796cf3d96c9474eb5aecf6165f2f1fefc3", size = 68404, upload-time = "2026-08-28T10:25:26.186Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9b/65b302742389c6f96f2956bef5decf26011309feb2fc5d79613af18adea4/kiwisolver-1.5.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63fb7294b768f444eb4b068965f2662f28c2fd4161e23bd60fcf3ff27b74c046", size = 123876, upload-time = "2026-08-28T10:25:27.44Z" }, + { url = "https://files.pythonhosted.org/packages/71/74/c21f339956f6f691b2ed7e31d5f3ae767304df6c460192739fc830853051/kiwisolver-1.5.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0ebdef3eae5336568147c39a55be6a2036ffde53faa9ca2d978989ae7c2da12c", size = 66487, upload-time = "2026-08-28T10:25:28.728Z" }, + { url = "https://files.pythonhosted.org/packages/84/e5/bdb34e21523e01dceda064d63713f3bdec91388af24fba1eca7ea5e85864/kiwisolver-1.5.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1798e83840c3f627246104c4d8a9639c60fa068adf9ce92b61791781fa8a68c1", size = 64660, upload-time = "2026-08-28T10:25:30.071Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f4/dadfec469313c7f428efa7e84b4aba9732f813c13ea7131a24b7b008ef57/kiwisolver-1.5.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34633ecf50d16187ab8e5528b7a2530f2feb4e23f300db4672538b51cfc5cd38", size = 1477929, upload-time = "2026-08-28T10:25:31.495Z" }, + { url = "https://files.pythonhosted.org/packages/6f/35/09c58daac34e6f6ea5c6dee0094b422118e5a7c265586008a95fd135ac5f/kiwisolver-1.5.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d27c2123977cb9269c30a49ba45f03a4323017ef693e19db4ec9dbe1299a3002", size = 1278499, upload-time = "2026-08-28T10:25:33.375Z" }, + { url = "https://files.pythonhosted.org/packages/19/32/739765e24fbad29d13f83e546ea4abc215a78cea9d677ca09025b027724d/kiwisolver-1.5.1-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6a797a1cefc8b9c93170db580337e1fe3d011ad18b1299943231279406342048", size = 1296677, upload-time = "2026-08-28T10:25:35.059Z" }, + { url = "https://files.pythonhosted.org/packages/df/32/03304d1010e2cc45e5b3b52cef7e43fed3a2a5cd6c87a89b4a88e1d85b5d/kiwisolver-1.5.1-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2551cf9917af48ee7c4b29cc82320489508cf96fd26a51f6fc124de661cd44c7", size = 1346037, upload-time = "2026-08-28T10:25:36.705Z" }, + { url = "https://files.pythonhosted.org/packages/3e/57/4c49377bfd274450dd72ecaa13eaac32ea804a03363e4d1db0c5aa999ceb/kiwisolver-1.5.1-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:38f6e0deb4d0a4615efe0c4efc5990b06ae450ab50a0b321c0b078b6d238c083", size = 988248, upload-time = "2026-08-28T10:25:38.299Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c3/38df144a08b6c5d75ca4504e5cc3141bb3bfef64c04f4ef48204f42711b6/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bfd1de989b3330420e29de39352f5c049905c9e3ee67233a50d550e3d652c148", size = 2228722, upload-time = "2026-08-28T10:25:40.038Z" }, + { url = "https://files.pythonhosted.org/packages/e7/11/3221838a89cd64d9b386353e000cd8a296069a20fbe3584507fdfd5bebae/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1209042a623ddfda5497e4066c7b77651dde8e1d3a9dd97599dc7e97f3b9b78c", size = 2325216, upload-time = "2026-08-28T10:25:41.699Z" }, + { url = "https://files.pythonhosted.org/packages/83/d4/075c219230697bb5db910d37262b9bacf880f92b4811a02ab81ed073a253/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:26e8268480be5061d509e29669d59103c067a26377a56491630ece11762e3858", size = 1977689, upload-time = "2026-08-28T10:25:43.559Z" }, + { url = "https://files.pythonhosted.org/packages/bb/08/1d219c3c2dd960983d0d4da623d916e9de6385df2b0bab3d1af0e9b8fccc/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:d79308fa689fac89cbcfbd4dbfc80b5f95c54c5a7fd4d194be221f9d33d026e6", size = 2491443, upload-time = "2026-08-28T10:25:45.242Z" }, + { url = "https://files.pythonhosted.org/packages/ba/d3/024208ec1079d273f1047468d1bdffbf38bb75b7b268090fd3a0301b9d9a/kiwisolver-1.5.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b03af77d77e50edba2030fd5f7c352ff209314b09030a3cba7c14edf9a09a444", size = 2295200, upload-time = "2026-08-28T10:25:46.984Z" }, + { url = "https://files.pythonhosted.org/packages/6e/7c/7b210498f9f92e1cd7855f260fa69ef056881087b199ee20c208f0e4189a/kiwisolver-1.5.1-cp312-cp312-win_amd64.whl", hash = "sha256:06a6917674de9e0fe3f66f5430787f59a9f2ddb64af9b714eaec547e29ef5c19", size = 70748, upload-time = "2026-08-28T10:25:48.444Z" }, + { url = "https://files.pythonhosted.org/packages/94/61/ef0daa157c8bb23672f7423e0d14c39db1dc6ef8ed47e6bc54c9c1bef3bf/kiwisolver-1.5.1-cp312-cp312-win_arm64.whl", hash = "sha256:ad8b9671348d7c8716715652ae11f85ed0eb99e265a2df2ca490577d69860b2c", size = 68324, upload-time = "2026-08-28T10:25:49.81Z" }, + { url = "https://files.pythonhosted.org/packages/08/c1/88018321d976f53c421e379c43bc6993e70ce0c8a3ec5edc4bfe102257f6/kiwisolver-1.5.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:b6ae6a0328f0bc035741820fdeecdcd67bf4694eee03972e843663107122f450", size = 62272, upload-time = "2026-08-28T10:25:51.02Z" }, + { url = "https://files.pythonhosted.org/packages/85/d2/712bc17ea4f1d216034928069d612defbc6c95a471c55a7203a39faecb1a/kiwisolver-1.5.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:886fc26012f0e8b5f69d1cfe6d711f6b11f194621539bf8e6bb1c25c5dc82724", size = 64481, upload-time = "2026-08-28T10:25:52.22Z" }, + { url = "https://files.pythonhosted.org/packages/1b/e6/6c5380d676f43b6d918033962ea5e72360ca69e5a404154bc496b598ffdb/kiwisolver-1.5.1-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:aefe930d113798330e9462f7874542977869c0613cba3262e2de3a8d5dee8f3a", size = 66260, upload-time = "2026-08-28T10:25:53.387Z" }, + { url = "https://files.pythonhosted.org/packages/92/6a/7087f5822cc8bb272679641404b1966a42504dac9ee74e2b33840475a0aa/kiwisolver-1.5.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5ca5aebae78a0bc13c1943af4af615d4966c5b650b05d5aa83b50e427196fee", size = 123876, upload-time = "2026-08-28T10:25:54.644Z" }, + { url = "https://files.pythonhosted.org/packages/5c/4b/9f385087ca09ee5ab9c09c6832561a7d2f7c78d3e5661d511e669f70e439/kiwisolver-1.5.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1ed0f5e49d0ceff8b72190824d9e59c062fbbc02c231b853112c78474b3f5ec2", size = 66487, upload-time = "2026-08-28T10:25:55.899Z" }, + { url = "https://files.pythonhosted.org/packages/47/8b/40d33ffd2f378094ed462e9a9a0907e59d4de9845e65a59561272da350d4/kiwisolver-1.5.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:77a4c8187a5948d7f8795adb765a3c7b553d07d86d88e43038fc32fc1fb9a3f3", size = 64673, upload-time = "2026-08-28T10:25:57.048Z" }, + { url = "https://files.pythonhosted.org/packages/ab/43/86aacc027959108b4c66eeae8b73cedb057dfa6eb3a335d05ad65197081c/kiwisolver-1.5.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:74ad5c3dad54a4641b4c28cd15ded70899d04459c6c7aeacafea716be97cce6d", size = 1477992, upload-time = "2026-08-28T10:25:58.479Z" }, + { url = "https://files.pythonhosted.org/packages/ed/40/b1d0369048c79733a32c8abb0f2718532e6630641368e33a81384246e844/kiwisolver-1.5.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:21e46b23a2da695c364124817bc01d970effd5483147f8d66a6a7167e3f6b851", size = 1278821, upload-time = "2026-08-28T10:26:00.121Z" }, + { url = "https://files.pythonhosted.org/packages/61/a1/fa71c1792272ff9461432715ae60ffb7e11a4d7ac3bf68961b9cab6c60cf/kiwisolver-1.5.1-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:75d9b1cf8258462dbdc1eeda718c96ea7f079324c09067f6daabfcf37712b7fe", size = 1296805, upload-time = "2026-08-28T10:26:01.868Z" }, + { url = "https://files.pythonhosted.org/packages/a3/49/3f0bd94af8e06ecc47eb834b195a06f05d48711ceb2352c56d6835160f0e/kiwisolver-1.5.1-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fca690b00c4c48f6c2a547b0160ed511357093a4e4c9b47e0fadf3128066d89", size = 1346109, upload-time = "2026-08-28T10:26:03.59Z" }, + { url = "https://files.pythonhosted.org/packages/a4/44/3afe6ef9cf06d61220953a8963e94eca978491be1d9547cb01d82a1efa08/kiwisolver-1.5.1-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:876bbfd276473d3daffe30e8c975df4ed9429967b41a6cb362dbb5155b6f13ad", size = 988252, upload-time = "2026-08-28T10:26:05.306Z" }, + { url = "https://files.pythonhosted.org/packages/e4/30/a12bd7a7285a211e1747c3eec77b8c614dbfcc1dad942f7611a1a6921ae5/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f942903fde7363d1d879057ec5de01310efda2597161784d752fa9953a01a71a", size = 2228846, upload-time = "2026-08-28T10:26:07.312Z" }, + { url = "https://files.pythonhosted.org/packages/a1/6b/233e2958abf0dab7b18d07e52f286e02e519d7651bfbbe97af9347564109/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c90d3022d8a94778939cda8638c6c8da8fa757b8958dad7ec868ce29c87681b8", size = 2325583, upload-time = "2026-08-28T10:26:09.093Z" }, + { url = "https://files.pythonhosted.org/packages/42/8e/7673060a27b01405b580058510adef34687069d229800239f5e44682d4d0/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8a34616dc2521cc8dc1d7d081734da63539f021ac0450ce950908340c6e7aa2f", size = 1978221, upload-time = "2026-08-28T10:26:11.127Z" }, + { url = "https://files.pythonhosted.org/packages/3f/7b/1b882fc1a8b4a0bb8084e7d1d85004116d08c92c0705d31f2928dec607f2/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:8bf4df63592c2a66b4f8edc5df2544998c288aa02f96ce0acd880cd1de8c8127", size = 2491819, upload-time = "2026-08-28T10:26:13.348Z" }, + { url = "https://files.pythonhosted.org/packages/39/9c/426deb49e62c5f69464b64bbeca064d3b758a7506b8913d986ef34f4619c/kiwisolver-1.5.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d09037ca068d784ebc4aec290ef952ca27ac15dd9c0b5801a88c6e1096b83e6b", size = 2295520, upload-time = "2026-08-28T10:26:15.042Z" }, + { url = "https://files.pythonhosted.org/packages/f5/22/deabbb3ad6d918d74b7831b2d8ae7151b09d21c87974e5ee8a456f58c94c/kiwisolver-1.5.1-cp313-cp313-win_amd64.whl", hash = "sha256:dc23390afe9f4ef9ac3bcc72a03a56eebbde03f4c571a32cb38f859cff9a6524", size = 70758, upload-time = "2026-08-28T10:26:16.504Z" }, + { url = "https://files.pythonhosted.org/packages/b9/71/02fa5c2fd92068bb8952847e70ee6c5cb280e7febe11653d17812acc53dd/kiwisolver-1.5.1-cp313-cp313-win_arm64.whl", hash = "sha256:186884a58486651e3c217b6acea0a53eaa9498fdd472057c46f2f0fb5c25aad5", size = 68329, upload-time = "2026-08-28T10:26:17.658Z" }, + { url = "https://files.pythonhosted.org/packages/dd/87/2d5dfad0daf17dcc18d98c48ed2332fc3f051cf599e60be6182a30dd4cf1/kiwisolver-1.5.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0324cd2567259b7a095f6cf18a52b0ffc6f3de9e69528ff1bc0e7a37bd43ff1a", size = 62337, upload-time = "2026-08-28T10:26:18.778Z" }, + { url = "https://files.pythonhosted.org/packages/08/c8/83e1624f15d6262b470dbcc80b09979fd4d5b2ea3ddfc6b6e3327e235726/kiwisolver-1.5.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:74ea337e0ec3f6f342a36a4f1b5cd94dd9affddcd28ba9aae2905af932ee8c6b", size = 64513, upload-time = "2026-08-28T10:26:19.909Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2d/827ec30eb07f528c08d8459ffb318ae91a56d793ee8acbea8b491f0ff906/kiwisolver-1.5.1-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:ee9df1f0d77b9c6e94f4ac0fec533fbddd5ea3a327807f18d7b069ae019ded80", size = 66287, upload-time = "2026-08-28T10:26:21.078Z" }, + { url = "https://files.pythonhosted.org/packages/53/11/5c43a562529dad8def4b81e5e1877c612a7e0298105a5939b3b409d2079c/kiwisolver-1.5.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fc271a6f0a2126958f4090e5507b9da5848927dae331f8f763bd4aa642b3d2cd", size = 123940, upload-time = "2026-08-28T10:26:22.475Z" }, + { url = "https://files.pythonhosted.org/packages/64/db/9bd6c505c95128c258a55236bfbb3a7a3fb6023f863316b6d7d9f3c69052/kiwisolver-1.5.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:9b3092d8992a1d69b7a59c3e39f35e1b9be327a17f68a7c35fc17329e337d6f2", size = 66493, upload-time = "2026-08-28T10:26:23.743Z" }, + { url = "https://files.pythonhosted.org/packages/e1/f4/b3007a3ed5c9be73f81161140684cf7d9bdb9c4b632f5f484d2a1c713fb9/kiwisolver-1.5.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c2306e8bb53601979fcb3fa09cc65e031876d9ae01eff2fcbcd7a84ef94d5bc1", size = 64720, upload-time = "2026-08-28T10:26:24.95Z" }, + { url = "https://files.pythonhosted.org/packages/a1/13/08188f0cafa3a800403e4ff62b9aad4e7a17f9c4c7e080dc8f18c64794cf/kiwisolver-1.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:18a0cfb124546a4c2e6087c5f3029c7f44b37c85b142e0ced71f73a7599ac208", size = 1475867, upload-time = "2026-08-28T10:26:26.393Z" }, + { url = "https://files.pythonhosted.org/packages/8a/3e/053bdc3c9abdb8f2606225eda398adca25c0c91ab90add8222a69db65ee0/kiwisolver-1.5.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:34ec467940442c9943016fb2d4c81d1ba84351eeca2f1a78f8bc87f1ba0d414c", size = 1282865, upload-time = "2026-08-28T10:26:28.118Z" }, + { url = "https://files.pythonhosted.org/packages/5e/64/a44c341b36b610588cc2f1e89b3cae072a3119aa8be578e90987cd640751/kiwisolver-1.5.1-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a83ee7107df13abe42a54a6654670eef9bb39425cf2e27f65e0007465e1286ab", size = 1300865, upload-time = "2026-08-28T10:26:30.125Z" }, + { url = "https://files.pythonhosted.org/packages/60/5e/7e7d716dca38c714478b741257a5b4a321d9932b8d851551a136dcaf3984/kiwisolver-1.5.1-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bebb89489b279b2f5661bbbb2abcc87bcd4a46607bb4a5c966f04f1db6b8df9a", size = 1348071, upload-time = "2026-08-28T10:26:31.829Z" }, + { url = "https://files.pythonhosted.org/packages/10/1a/2b98fdda8bf45b7be317e48ed12393d44334394d315c74b81f4a14c0e31b/kiwisolver-1.5.1-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:509735237ae0d849e8a843551d423d2500d2e0a9ac1611a145658b29c0fb9f85", size = 992191, upload-time = "2026-08-28T10:26:33.544Z" }, + { url = "https://files.pythonhosted.org/packages/b6/55/d893f5ede0e50f9e3fcf01f6015f42ec7d9cd221e26772701fe4a98745f9/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:824c3d763a05ea9e9003610145186b0e9848c7584a5575c79bac5a8e7cd80bad", size = 2233854, upload-time = "2026-08-28T10:26:35.282Z" }, + { url = "https://files.pythonhosted.org/packages/b1/82/f85f6279555a6ee1639fef7bfe83adb037a03e11a6fc9eaa54b8d0380339/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:1fff05e239575b1481b6ed1a782f6fad616efbf1f0b1f44e6e85c4dfe426e483", size = 2330621, upload-time = "2026-08-28T10:26:36.9Z" }, + { url = "https://files.pythonhosted.org/packages/56/31/e11aea078f66fc2fffcc179d38ca90d9da97652a241b64519169742ba46a/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0627b9bceb9c3cdcf12b8a18655eedfed2692b038df27423383c120d0b7dc2d6", size = 1982848, upload-time = "2026-08-28T10:26:39.01Z" }, + { url = "https://files.pythonhosted.org/packages/af/ea/2956b63bf5140ca46aa2c2818e6aa03e2d5754dd2fa41db1c6b28922940c/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:8a708a47ade1fe19e8371d5da076bac0dd4b0a5a7985ad6c637f7f7e361b6baa", size = 2494850, upload-time = "2026-08-28T10:26:40.837Z" }, + { url = "https://files.pythonhosted.org/packages/11/d1/3829542258d8b3fc0898d221e7ef0e2c83eca0d348709bb8dbe54f3d4005/kiwisolver-1.5.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:007a5553dfc4f4e8d184f588a0200e2cd4b63a59cc8796df3c39909e679dc7a0", size = 2298067, upload-time = "2026-08-28T10:26:42.803Z" }, + { url = "https://files.pythonhosted.org/packages/4e/0e/49522e1ab5788cbaf63a26fbd3b851f9028616828c961b8a31b35cb96df8/kiwisolver-1.5.1-cp314-cp314-win_amd64.whl", hash = "sha256:f4167e87b397f273dc2356fcf1eaf50a6bac51e6105f45103ef7129c8efb0255", size = 72282, upload-time = "2026-08-28T10:26:44.268Z" }, + { url = "https://files.pythonhosted.org/packages/f5/b6/22e7ca5315d363e6f81c9f37c9472e12e7b298731e77c0428e6a911a2c39/kiwisolver-1.5.1-cp314-cp314-win_arm64.whl", hash = "sha256:5c490db2168a508088f59140dd392556a54b8bd1048fc6383c8baff13c359673", size = 69855, upload-time = "2026-08-28T10:26:45.725Z" }, + { url = "https://files.pythonhosted.org/packages/30/8c/03a9cfbe871964c8758a816eb03ac96c806da2795a9a7cd9bf9648bfb594/kiwisolver-1.5.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4d4ca09bf13cff792b1884f64b98ee6c2467930d632233be25c56b442d99f10e", size = 126289, upload-time = "2026-08-28T10:26:47.023Z" }, + { url = "https://files.pythonhosted.org/packages/f2/e3/14ce3041ca79dff9c9d884ca00c7bf32374e76028a865a9ecd99b4f5a517/kiwisolver-1.5.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:44b8faef94f1857e77fa0238f3390ff1ac51d2ea20a487e2e452a59fd2b5f5ca", size = 67709, upload-time = "2026-08-28T10:26:48.268Z" }, + { url = "https://files.pythonhosted.org/packages/af/c4/45030471a66ec8ef042e9f96ffe1d522c9ab12da180186a0898966fc1385/kiwisolver-1.5.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2ae70bc59790d2af72a3f76f24b272403e135070340281108b447cb77ea70819", size = 65909, upload-time = "2026-08-28T10:26:49.523Z" }, + { url = "https://files.pythonhosted.org/packages/42/73/17dce073a6ae259bb32cf9d686c4079d2e538868bc45967462bf33df914a/kiwisolver-1.5.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:43844c1a7ad6d723d5b5b4c4fc7f5bd399c40e288120d16257c7c9e8765c6e85", size = 1584907, upload-time = "2026-08-28T10:26:50.933Z" }, + { url = "https://files.pythonhosted.org/packages/8c/84/ae3c75909f507283cbfcc7e916c7e822579ef962020b97e6882b27b4478f/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22d5e5aaad6be121f2515765e3b1c444352cb8eb4c86510801db8f2e50757316", size = 1392474, upload-time = "2026-08-28T10:26:52.638Z" }, + { url = "https://files.pythonhosted.org/packages/34/31/8bcc83caad5bce8fa4577152389848bf6bc110e51e573a2b4e7c2aa34c89/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3fa5855898f6d3d01b72ccd48a2d65cbdee301251603fefe34e2025bddba219c", size = 1405246, upload-time = "2026-08-28T10:26:54.248Z" }, + { url = "https://files.pythonhosted.org/packages/55/72/220345537d790cf4ae54f8acfff4b5cc2468e0702a384d651cf7a771c63e/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d66a64dd5dec136040ec2ae94aa026a912ee60fdd45bc28d3db30037fd809e88", size = 1456099, upload-time = "2026-08-28T10:26:56.042Z" }, + { url = "https://files.pythonhosted.org/packages/cd/10/3725fd2398f66d18c34b4e0f81a8d03764cd4f4f089f58a527f0b4428086/kiwisolver-1.5.1-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:9e51c119992ea8820706871c30a4642ec76de20ae82f9b50b9a45517d8e9f810", size = 1073695, upload-time = "2026-08-28T10:26:57.658Z" }, + { url = "https://files.pythonhosted.org/packages/86/cb/28d6e09e66b93e4588b2e6b7d84d020ccefea09e2f4de788510a07efeab7/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:70ed9a45c7484d2b30cdacf60d220f494a1763b9fec1ad03285c6553fa0889f2", size = 2335355, upload-time = "2026-08-28T10:26:59.202Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b3/a0f31d5e4e40af7dc97c36b8a74fdd3a36cf3c8bbd098da9a23466ff6a94/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:98b208a7cc42c803445ef551d6753cc42a5ea13e9cab1ee66cd8b9cb70195330", size = 2426524, upload-time = "2026-08-28T10:27:01.181Z" }, + { url = "https://files.pythonhosted.org/packages/2f/c9/728f63bd58c72cafdc79fc306abeeac7391bec03b757a48dadeb30906521/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:c6834b92dd2428e2dd85ef3d85f723d3c12f20aaf43a2ddd4f944ca25d833408", size = 2063430, upload-time = "2026-08-28T10:27:03.06Z" }, + { url = "https://files.pythonhosted.org/packages/84/df/ce188b96f92f9a2c958231da140768918cba53c9713dc887b82f85462118/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:5d142e352eb13facc7dd047489aebdff6ba78576c239f1ea04931979caaf0567", size = 2597513, upload-time = "2026-08-28T10:27:05.072Z" }, + { url = "https://files.pythonhosted.org/packages/69/d6/76947c8203768968382e5bd74d9cc95654746703a61ea53015f2c74a2e06/kiwisolver-1.5.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f9b1c4900736e489a812c529100de4b8fb617d4db075e931e213c57424b83d9b", size = 2394488, upload-time = "2026-08-28T10:27:07.423Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d4/14b21e4eb203c4d15425e8b6a2c625a320b4a1f2f7557eead63ffc30ffb7/kiwisolver-1.5.1-cp314-cp314t-win_amd64.whl", hash = "sha256:5978c3340f16a35c30f8ab2fa7bcf559973c55f1a5ef6970e1f621acf3c4db13", size = 75404, upload-time = "2026-08-28T10:27:08.892Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f5/53157899fc7f45f76421b77b99eb1639dd0f83f26ff9d76300c96bb4a3b0/kiwisolver-1.5.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ca307d6c259e5c98d3cb9ade55342b47a6839762caf2536f3d7b46ee660cc82e", size = 72946, upload-time = "2026-08-28T10:27:10.944Z" }, + { url = "https://files.pythonhosted.org/packages/75/62/f786c3a27f181fa339d851a77e266d208e776b9883cabc40a5b041a31b5a/kiwisolver-1.5.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:bb7c99f0673c03017a3ee01e54a5c2617a05468b11eabe513b0080e063ed95b1", size = 62420, upload-time = "2026-08-28T10:27:12.308Z" }, + { url = "https://files.pythonhosted.org/packages/02/cd/58a91ed25fbad0facdf503297b03768efab04bdf3141e5e3b49a34be7443/kiwisolver-1.5.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:0d8924877ce22e17326a99a418c3c82037da078df3c6a260b13eca677444e6e7", size = 64577, upload-time = "2026-08-28T10:27:13.502Z" }, + { url = "https://files.pythonhosted.org/packages/f6/5c/d501ef5a0958b226eac28306d24d5e5f114be0ace50e19cabae7b6b3b197/kiwisolver-1.5.1-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:534f02c1abb31ed6dbd3515545285c330b2f12d00fdb1fdb71658b9ca5a13a6a", size = 66284, upload-time = "2026-08-28T10:27:14.813Z" }, + { url = "https://files.pythonhosted.org/packages/a3/a6/8fbecaf4fc18c02f31f05e47a84c010a80e3ec391ed2f0bdade1d62b5954/kiwisolver-1.5.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:cea20da04494e662b83c872683bf4ff2345206043d036315ed0e924b652e7294", size = 124031, upload-time = "2026-08-28T10:27:16.193Z" }, + { url = "https://files.pythonhosted.org/packages/7c/c6/bf3090d2983b4204347cbdbe952116e7c3b2abf62b4e33e50167a13e75ee/kiwisolver-1.5.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:7fd82debf43c6acd0a94359d232f6bb516ee13f269a7993736a9ac9f988bb5d9", size = 66489, upload-time = "2026-08-28T10:27:17.506Z" }, + { url = "https://files.pythonhosted.org/packages/85/de/562dddef55fdd7c291da8626d6619e72b5fc0870e6ccca0e149a5731e7f3/kiwisolver-1.5.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:18170a77ddfecf40ec60d0928268dc95880c881864e015a8f34094ed18b9b9ad", size = 64806, upload-time = "2026-08-28T10:27:18.673Z" }, + { url = "https://files.pythonhosted.org/packages/89/b1/ba7b9c0164ce1cf62bf2872db63b8483289cf0f3110d6f9390eb09e409ed/kiwisolver-1.5.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ca7f6fe0f37ca978a1e5eb7a3a68e6413f417e78e838324947ffd420202b198b", size = 1482211, upload-time = "2026-08-28T10:27:20.039Z" }, + { url = "https://files.pythonhosted.org/packages/13/dc/34da54efb4976616d45c20aae32d70e89d6e7395ed908029154d1609ef22/kiwisolver-1.5.1-cp315-cp315-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5b973887ff782cfd6b67c9904ad8ca542e0bc5e4961503408b423b5a688b4d38", size = 1283739, upload-time = "2026-08-28T10:27:21.82Z" }, + { url = "https://files.pythonhosted.org/packages/5a/3a/30ffb62bee646e266e98a1b5cd276d9c75b6116fbfcb87c1190838c1b6df/kiwisolver-1.5.1-cp315-cp315-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f76fc85bd054c806960f917ec0f329e24e436f1712267d90588e4c39890caa63", size = 1301681, upload-time = "2026-08-28T10:27:23.876Z" }, + { url = "https://files.pythonhosted.org/packages/a9/8d/13c70be22a8506880b35fdc38dca36629613bc493405c79f4037f2cd2bb9/kiwisolver-1.5.1-cp315-cp315-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:828f75af2b0080c8a972e75f649ab46af008e92c6104a57a759157200b835b75", size = 1349159, upload-time = "2026-08-28T10:27:25.899Z" }, + { url = "https://files.pythonhosted.org/packages/82/0e/993972b8ec6767f47cd69818fb3a5ff14510557d29f7d1a839be7574fa1b/kiwisolver-1.5.1-cp315-cp315-manylinux_2_39_riscv64.whl", hash = "sha256:431dc224a1a92a5c8f582d96e505196a3b5997a7271076678da2dfde67b77e9a", size = 997613, upload-time = "2026-08-28T10:27:27.507Z" }, + { url = "https://files.pythonhosted.org/packages/36/82/ca26eddd2eda2420dfc56693449c1f821f78b485da9cbde9904c03af3f93/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:61e9a64c7635095a6bfe483e2ff055d437c59bd45f3617a228b37277f0185d62", size = 2235109, upload-time = "2026-08-28T10:27:30.113Z" }, + { url = "https://files.pythonhosted.org/packages/c7/84/97d920881e10840b8d7c7185620298e3e4c88820b05514e3a15a258b08a6/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:3c24cd69455e1b00ddf770c13b6e2c33e07d6dc3f2d34add0bf9277c5c6bbd46", size = 2331207, upload-time = "2026-08-28T10:27:32.795Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ce/34d74b8f25acc58800f4c09268371e8d6159cf0f1206f1e4dc7835629b48/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:27add358abe374ebaa3b8763ef380bc99051b5a4b18d94878366a9e4f59efef0", size = 1986696, upload-time = "2026-08-28T10:27:34.628Z" }, + { url = "https://files.pythonhosted.org/packages/0e/01/f892644014612527aef7031d3306a2ffc60b3cb044f802c1561f8e5e14f3/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:255605693a483db7bd5c79f60437f7bf658f7f520d61aa42722e32257c941951", size = 2496400, upload-time = "2026-08-28T10:27:36.818Z" }, + { url = "https://files.pythonhosted.org/packages/32/6d/d8284e66e697026536e5f418b9cfe56567bffd3c775e3ecfbae373605854/kiwisolver-1.5.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:7d38b0c279c3032e8c9cc013b405c6df8e1668dbf15465779aa7f15f61201812", size = 2302967, upload-time = "2026-08-28T10:27:38.803Z" }, + { url = "https://files.pythonhosted.org/packages/46/0a/69a355e27f32ba50d5b6369949b6a1702e122f5277c89bc76d452b81c1c4/kiwisolver-1.5.1-cp315-cp315-win_amd64.whl", hash = "sha256:958254518717542d02d0688d0d20cbf771da5e415e6f49543f92481c850a4540", size = 72283, upload-time = "2026-08-28T10:27:40.491Z" }, + { url = "https://files.pythonhosted.org/packages/ef/d8/7a95be90c33dcdd52204d4aa6384d731443225b887283bbd8b61e7931f6c/kiwisolver-1.5.1-cp315-cp315-win_arm64.whl", hash = "sha256:da3275833be0edbaf4830fae08bae3dc7219f40ce0c37eaa6c25825957e06612", size = 69860, upload-time = "2026-08-28T10:27:41.835Z" }, + { url = "https://files.pythonhosted.org/packages/31/f8/9bc493e7f5707788ba7f621902c68f82dc3a7ba03c78fbd337b026cef1ed/kiwisolver-1.5.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:470d420f98d368d6f010633a20659b544c5fdfa5329e6b70219f2ef08fd4a7ef", size = 126336, upload-time = "2026-08-28T10:27:43.379Z" }, + { url = "https://files.pythonhosted.org/packages/d1/82/3aea86b3f99712db825e9ac5631bf99571e818a8b8961ff98cebd798413e/kiwisolver-1.5.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:83f78128fa28705fa85d01c59771c72fe81c11bd0e6155edbb9f818983a7d761", size = 67698, upload-time = "2026-08-28T10:27:44.613Z" }, + { url = "https://files.pythonhosted.org/packages/84/7d/8daafc5d2e7f9c47a4f78f8865d86d2a9cf399c2a85f86c44a993594410c/kiwisolver-1.5.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:9506e892bcc3b409831d363c6f53e5985e1c8d1f6f6b0256d00358684ff85378", size = 65945, upload-time = "2026-08-28T10:27:45.932Z" }, + { url = "https://files.pythonhosted.org/packages/3d/c9/51dc974d9130da70a8c47a96160123443d387ffe1b6b833d6f91d9429339/kiwisolver-1.5.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cea90547bfd93807e0013a004dc76552be44fad3bc1cc2b38610a9e889ed098f", size = 1588030, upload-time = "2026-08-28T10:27:47.678Z" }, + { url = "https://files.pythonhosted.org/packages/e6/86/f3e1a730e7a995149d8d3ff9e313b6d8a17b2cf1d98a8eff139dc30463fb/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e8e4d953faaded9ec7ede36824e9814082d22d4c7b1eafbfa079ecba8cd0d076", size = 1390760, upload-time = "2026-08-28T10:27:49.676Z" }, + { url = "https://files.pythonhosted.org/packages/4f/3b/8ba25a2b5a0d2375e046f1b72de5179513f0be95aba6e7b094c89303929f/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7e9c01d3dd7ceba4d1d436cc021d40d592466e40b9bc7f5d83dc4e98a5c9cd8c", size = 1403279, upload-time = "2026-08-28T10:27:51.242Z" }, + { url = "https://files.pythonhosted.org/packages/18/d0/278d5cb8be812740027d5ca0a7eda0c375488a88d6dce0fa60fcc2591ad2/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:37f801b5d7cc0e5a548921308e059fd2b057bb42972b591cfa3049f95423c4ed", size = 1454429, upload-time = "2026-08-28T10:27:53.213Z" }, + { url = "https://files.pythonhosted.org/packages/94/37/bcbab41063ec284c1d200efe5087cf087798c2f8916960aa8a20dd303290/kiwisolver-1.5.1-cp315-cp315t-manylinux_2_39_riscv64.whl", hash = "sha256:e68e151428b5384f766cd25739bf77c7e4a3dc93b5ded7a12118d9fbfdf78ab6", size = 1073225, upload-time = "2026-08-28T10:27:55.089Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c5/ab79dcdf5ae28909a51210ae0a1c579e97ff997b3466414f0d04c0994583/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:8f8fddb8e323bd6eee4e54e69a39243beab22689070f4c66b472c4cc88bb89d8", size = 2334335, upload-time = "2026-08-28T10:27:56.78Z" }, + { url = "https://files.pythonhosted.org/packages/8d/8e/71d047468a189041d9c93f3b76844b924f9793b188c44bd149fa258912da/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:3cc210010fd2f438a3ed430b45f1b501fd13a8618bf984dc2c5ce5b69b78752e", size = 2424982, upload-time = "2026-08-28T10:27:58.639Z" }, + { url = "https://files.pythonhosted.org/packages/7d/37/1347461bbea6d0e1f0580b94ef603b18e72c2be5f667fa1653867361a00b/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:b5664603a253efd3a75716d793d1d3a6a82723b61dc6db767b2460bbbeec4c0f", size = 2062857, upload-time = "2026-08-28T10:28:00.407Z" }, + { url = "https://files.pythonhosted.org/packages/1f/87/c7f0976c9cd0d127643351bc0c9929e0b8899d7f49d4ec238cd909e39c42/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:a7b85b2cc6ea45e5f7e8c9a30bc9fabd47cda09106cbb4b967335c3e6c43b69d", size = 2596022, upload-time = "2026-08-28T10:28:02.183Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9a/59a6f6ae6f938c15076be2c21b6cedea973d71bb1349ec84fa485fab82cf/kiwisolver-1.5.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:ab620eb663952455271ac37f9aaad86b73c969c02f11f53cea405b38e96a4300", size = 2395634, upload-time = "2026-08-28T10:28:03.977Z" }, + { url = "https://files.pythonhosted.org/packages/e9/2d/8982c1fb7926da5bb7ed60318c3665b5c3f941447271ac982960a11b8637/kiwisolver-1.5.1-cp315-cp315t-win_amd64.whl", hash = "sha256:cb6fae641357ed2f6e533c0d3c6504a4a5703621a50c89459e46051d56b61140", size = 75379, upload-time = "2026-08-28T10:28:06.307Z" }, + { url = "https://files.pythonhosted.org/packages/07/78/ba7b6dfa1708b82b373ac056928a30c545d5c1a627df9839dcec3c6c1881/kiwisolver-1.5.1-cp315-cp315t-win_arm64.whl", hash = "sha256:b390aec180a7c054919c04898835e1c77bced23ea8383eb2c570213bf25d1a86", size = 73011, upload-time = "2026-08-28T10:28:07.578Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c4/1407df7512a5b36cc79840e01710dc575733c461b13ab866cae77eaf87f3/kiwisolver-1.5.1-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:482676e5bd48d70ac99d9fc78863469845421e01184fa83f1f9366dc49f7e974", size = 134002, upload-time = "2026-08-28T10:28:08.881Z" }, + { url = "https://files.pythonhosted.org/packages/16/45/c37a21ad5c0ab581a93c55ad544721aaa1f0ae94edb29c6a678a23d013e6/kiwisolver-1.5.1-graalpy312-graalpy250_312_native-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:072bdb15a3c19a5b5dbc8f8fb1f4e1884bf4f3507eeb4cc6334401274d37a5c0", size = 194292, upload-time = "2026-08-28T10:28:11.06Z" }, + { url = "https://files.pythonhosted.org/packages/a6/c1/69f00d627949580e43d57af0aa465df46868d7c29801c137a55374101294/kiwisolver-1.5.1-graalpy312-graalpy250_312_native-win_amd64.whl", hash = "sha256:a5a00665d1a0e26763a7338d7e911d4598fbc1d50dd0d6b7919b7dc6c5d6569f", size = 73362, upload-time = "2026-08-28T10:28:12.449Z" }, + { url = "https://files.pythonhosted.org/packages/b5/1d/59ba570b1774e95e97fde3a0981b2e22118a7a495f73bf74cedc538566a0/kiwisolver-1.5.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:416ba7ff9f233b7036689bb5a3783537e838ad483f63558d2a800f75afe738b1", size = 59450, upload-time = "2026-08-28T10:28:20.383Z" }, + { url = "https://files.pythonhosted.org/packages/22/98/a6849f04dc18b5400e8b98affa2cd8fd86ed583085f036e57b32e571f4fa/kiwisolver-1.5.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8af9b142ad719ae3a911ebf616bc4b78b32bbab84d6a40d3ad2f129670509957", size = 57400, upload-time = "2026-08-28T10:28:21.632Z" }, + { url = "https://files.pythonhosted.org/packages/f4/ce/a7dc71353dd06a4cbe02222773f52d4a28c81e5a452a75797f8ed113dc99/kiwisolver-1.5.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5daa1f19e097050b9c4d9a78fcc9263cb96c9dfae08037ddc1b7c4ad1889f2a2", size = 79891, upload-time = "2026-08-28T10:28:22.936Z" }, + { url = "https://files.pythonhosted.org/packages/10/b1/d61c61a84ff85d1a36a99df2c152b59ffedb1d356c598902aba44abcdb60/kiwisolver-1.5.1-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cdaeeb6c350106df6bf9d873395973e5f066a9713200b72cd64f55d0a3eafab6", size = 77605, upload-time = "2026-08-28T10:28:24.322Z" }, + { url = "https://files.pythonhosted.org/packages/d3/52/5aef56f21a460a6e43ab3cdfc7697d59d7b87deb0ec97a0f7b91aa4a521b/kiwisolver-1.5.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:17851e5dad4484be0cbccbde3b15331deae036de9aebd45eed964487802b172f", size = 98465, upload-time = "2026-08-28T10:28:25.696Z" }, +] + +[[package]] +name = "lark" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/34/28fff3ab31ccff1fd4f6c7c7b0ceb2b6968d8ea4950663eadcb5720591a0/lark-1.3.1.tar.gz", hash = "sha256:b426a7a6d6d53189d318f2b6236ab5d6429eaf09259f1ca33eb716eed10d2905", size = 382732, upload-time = "2025-10-27T18:25:56.653Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3d/14ce75ef66813643812f3093ab17e46d3a206942ce7376d31ec2d36229e7/lark-1.3.1-py3-none-any.whl", hash = "sha256:c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12", size = 113151, upload-time = "2025-10-27T18:25:54.882Z" }, +] + +[[package]] +name = "lightgbm" +version = "4.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "narwhals" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/8e/4db5e29290d7e619c307fdb8dab0a0514090af2ce3ec483050e024ec6126/lightgbm-4.7.0.tar.gz", hash = "sha256:f8e20f682c9aabd000bcf4a7ed8aa6f473c1adfecccae34ec24e823d156f4af0", size = 1792896, upload-time = "2026-07-18T21:00:56.139Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cd/05/7213965863cba1ed0150ad045bceed6276a1afaaaedbaeff4699ec4f0ccb/lightgbm-4.7.0-py3-none-macosx_10_15_x86_64.whl", hash = "sha256:dfc1cfe8e760387be1e7ba7a214688be21fdff96e4ed9749188f83e1877c2477", size = 1877851, upload-time = "2026-07-18T21:00:35.225Z" }, + { url = "https://files.pythonhosted.org/packages/b2/86/f4fe714f2e0bf3941705a20d7f6849dc476276d71236e82ea6b0d6539b86/lightgbm-4.7.0-py3-none-macosx_12_0_arm64.whl", hash = "sha256:129535462686f274df179133643118c5c5c5667167fe6c3a28d955f0b3c8e868", size = 1498914, upload-time = "2026-07-18T21:00:36.549Z" }, + { url = "https://files.pythonhosted.org/packages/c6/a3/b29580948b92e8c2f84dea70118ac702ff067dc52ec4ffb5d73c953536a5/lightgbm-4.7.0-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d4529acec5c6fefe4768302a529707d0ead90f6a6f42df694b856212e09695b8", size = 3349492, upload-time = "2026-07-18T21:00:37.943Z" }, + { url = "https://files.pythonhosted.org/packages/15/eb/837ea3b40cc36e22eeebb9785c01e42b2c255d033eea1d2d9ee8e2540e55/lightgbm-4.7.0-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d23e922acd891e77212e4d0fbcee9ba973c96dee479491341d05ba595357ebb7", size = 3476028, upload-time = "2026-07-18T21:00:39.331Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0b/c5c17d862b12ce292f24cd85d40f2f8f8981668fbdbd43fdc2625eccbc79/lightgbm-4.7.0-py3-none-win_amd64.whl", hash = "sha256:f42d1e5b32b6f170e606d7c689c6165671da98d7bf37f1addec2623efc8740c9", size = 1360833, upload-time = "2026-07-18T21:00:40.865Z" }, +] + +[[package]] +name = "llvmlite" +version = "0.49.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/27/72ae94ea5c8f7349ec1c229d4cd058feb799cbd0833ad6d1b47c919b37b7/llvmlite-0.49.0.tar.gz", hash = "sha256:00f16db782f4a13c78c5804aedc434e46794a77e89999a168f9401106270e50a", size = 194467, upload-time = "2026-08-11T16:26:00.489Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/d0/ab52de2328e97ca96cdf0331a5f774796bddc420a51768f4501193f80cbb/llvmlite-0.49.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:4b0e710880b7cc910392bd6b9f1bbf468fed99b182e4420d51598f36114b3dce", size = 40479230, upload-time = "2026-08-11T16:23:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/1f/80/0989432d12b7c86a6f5f380eb92eca7de779af9b34dedbd311b694d7da8d/llvmlite-0.49.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a8c0fc9d624bdc30a3d2db11eb2fb98f80fb209d20b37604eda516cd9b699cf4", size = 59890659, upload-time = "2026-08-11T16:23:37.346Z" }, + { url = "https://files.pythonhosted.org/packages/58/e9/76859ca36aaa460b6ae0508e01637f0e9bdb9b59faaa4637ade3b94bbcca/llvmlite-0.49.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20496a5c9fdb8179fb9300e7d19f6782555d98aeeb4a322264aa7fd99f980618", size = 58344482, upload-time = "2026-08-11T16:23:44.199Z" }, + { url = "https://files.pythonhosted.org/packages/7d/49/47cd23e05d52d117b6119871ec299adedc9d8d332a2296964d9b2adc06d9/llvmlite-0.49.0-cp311-cp311-win_amd64.whl", hash = "sha256:6a5b06c1b5fc4ae4c9b169b065f42b719448ef1f873687ef224ef69969b75ec3", size = 41865253, upload-time = "2026-08-11T16:23:50.198Z" }, + { url = "https://files.pythonhosted.org/packages/6b/ae/3f699ebe3590e15e023a6372dd147526fd8ec398aacf9ceb844e854964a8/llvmlite-0.49.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:b541c8fac3450db7574d1f53cf9dff83f285bfed9d69bf81fe71fc2a7d4f97fe", size = 40479231, upload-time = "2026-08-11T16:23:56.773Z" }, + { url = "https://files.pythonhosted.org/packages/be/3c/e97f69c62a2d972066d9a2612ce1f3de313035ac897a5b9f787cad8b55f7/llvmlite-0.49.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6acba646d88abbc87d5c113a3d62c1fbf8b8fee11c6493f516803e30f21ae870", size = 59890658, upload-time = "2026-08-11T16:24:05.451Z" }, + { url = "https://files.pythonhosted.org/packages/69/e6/e942ee08605fc0526ff3854260c384d8315a5830e16c4c2a5aebc14dc9bf/llvmlite-0.49.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4ec8ad805e7515cb8440a690eb3cef4d34acb29eef80b705ec4e1c1ad3c43c68", size = 58344481, upload-time = "2026-08-11T16:24:13.503Z" }, + { url = "https://files.pythonhosted.org/packages/84/49/2a44871cac6b5a2fd4aabd68cfdaf6de9a5c7edb36dee5d47b77bda4b50f/llvmlite-0.49.0-cp312-cp312-win_amd64.whl", hash = "sha256:3a9c9e3af4e214acfefa4f73ebe7bc3fb35854a62b654edb3953f5ae33c08ba3", size = 41865543, upload-time = "2026-08-11T16:24:20.41Z" }, + { url = "https://files.pythonhosted.org/packages/7d/85/0b536a3c59f2636d9dd51dda832b6c1d0ffec37608429dedf128664918f1/llvmlite-0.49.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:039fa4054a06f537fb39248d4472284ca96be311a142ec09e69f95630ab469cc", size = 40479230, upload-time = "2026-08-11T16:24:27.295Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1c/ca8ba47b057b793099784475499771780ec46839f2782f753a7079d23520/llvmlite-0.49.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ddc7aecd4f56397ed6e8f120ec5dcd5a1a8f0e6032ca4af413462792d4dca2e3", size = 59890659, upload-time = "2026-08-11T16:24:35.595Z" }, + { url = "https://files.pythonhosted.org/packages/de/af/9526dfdd33a923f33e29a18b8f9801ee7ee4b7397e88d28192c1024c4a75/llvmlite-0.49.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d3dee64784201b64c13a8df62c48a4f4218858faaa65889866bb29bdc243c038", size = 58344482, upload-time = "2026-08-11T16:24:45.79Z" }, + { url = "https://files.pythonhosted.org/packages/96/7f/9f5afcf6476b228d6b170408f377a0c4f91477fc1fc91f8141088b45bf46/llvmlite-0.49.0-cp313-cp313-win_amd64.whl", hash = "sha256:a1b414dc6b164738ec39dd8987cea73829057b7dd92fc6d91b52838385fc1dd2", size = 41865544, upload-time = "2026-08-11T16:24:53.962Z" }, + { url = "https://files.pythonhosted.org/packages/25/d1/16599b8c9f21802448059482eab48a9e74086dc56b901a677ba355565e64/llvmlite-0.49.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:80a84683d04516bb51da1bbeebddaf2c2f558809c93078a8f91807909ae331f8", size = 40479230, upload-time = "2026-08-11T16:25:01.513Z" }, + { url = "https://files.pythonhosted.org/packages/3a/61/0b23849141a4c4e7091fcd158ebb45195896974bebca3e58fee7cad4b4f4/llvmlite-0.49.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4281a0171d66d2098adce4ba706b8c550b1b10718650f682d64cde16e84e4de5", size = 59890659, upload-time = "2026-08-11T16:25:08.733Z" }, + { url = "https://files.pythonhosted.org/packages/c4/92/628692b74b31e27af9ba7e8ba651941ee4956959d5478123c453f59aad4a/llvmlite-0.49.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b095f15fb12c4d90495df5b1a3772b4732cc408398b204a787dbedd370e09c69", size = 58344479, upload-time = "2026-08-11T16:25:15.731Z" }, + { url = "https://files.pythonhosted.org/packages/96/8a/412fc273521b02cbfe0b5f8ad56cc696385f6eaeecdb9e9ae6a90111d98d/llvmlite-0.49.0-cp314-cp314-win_amd64.whl", hash = "sha256:294e2f0b70aef8f92d0ae7b203e2609f08beb39437eee73de59a21669331aae9", size = 42986588, upload-time = "2026-08-11T16:25:22.534Z" }, + { url = "https://files.pythonhosted.org/packages/fc/15/f47cf45c00c8b165ac3d268502dcb21d900e86f27fd338268a66ce922ab0/llvmlite-0.49.0-cp314-cp314-win_arm64.whl", hash = "sha256:95d1071023ed858b79f6971954fd7cc1f5dbcbab987718a4ccbe1411e47d0b81", size = 37441881, upload-time = "2026-08-11T16:25:28.324Z" }, + { url = "https://files.pythonhosted.org/packages/e8/2e/eafd488766d1c02413cba24f7b22acb9b3ccdfd8407e98d30eb16bac4e2a/llvmlite-0.49.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:f3f2ff0aeb17d34fcce9f79b99baac441cfd3efa41b83e233ca4530a72381f72", size = 40479230, upload-time = "2026-08-11T16:25:35.125Z" }, + { url = "https://files.pythonhosted.org/packages/98/07/a2c4f04e2111ccc274b4d5e3331398a9dcf6d6e5e55d6444b1ad9d6381cf/llvmlite-0.49.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d5555ea1d63928481cbf7fcb1d67452b216c7e5b393a4eb7aa1401e67f2a4fc4", size = 59890658, upload-time = "2026-08-11T16:25:43.294Z" }, + { url = "https://files.pythonhosted.org/packages/80/f9/7b7b50f80b4585bcd78675ff3110c256877b11df32a8cde284f851762f57/llvmlite-0.49.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32adb84fdaae28aeb86fdb6253084ee707ee157289a2e98fe3caf48a62bee82", size = 58344482, upload-time = "2026-08-11T16:25:51.527Z" }, + { url = "https://files.pythonhosted.org/packages/d8/c6/32d68bfbf1d0c36888530ef6fd72864861af23dc546302b41033471a8c3a/llvmlite-0.49.0-cp314-cp314t-win_amd64.whl", hash = "sha256:be637e465010bc9c50f070468f7f1cf5385e92fee364d192dd5e6cea790ecba9", size = 42986602, upload-time = "2026-08-11T16:25:57.69Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" }, + { url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.11.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "contourpy", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e7/c8/9aa712a0afb882649424dd8de8ad9aa6235e796e84c6052e8f6dc1598d0d/matplotlib-3.11.2.tar.gz", hash = "sha256:cec596316640f2b394b8f0daa0ea61a8eae82d017b620b9f202befb972a59ea4", size = 32660610, upload-time = "2026-09-11T19:05:31.214Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/a9/a7fc5a63c427aeb9a4b99d6a0449f891be0952d3aee2b85229099f7b9f54/matplotlib-3.11.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:5e1e923a3fc3326b99ec0a6ff1ab1338ac6c6cc62ad9d8a9c944197c7f8c6221", size = 9461046, upload-time = "2026-09-11T19:02:59.277Z" }, + { url = "https://files.pythonhosted.org/packages/0b/d7/59d8ee63e4dee845d953515c50d67e6b8cefa953b453c6b803f197ae556e/matplotlib-3.11.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c27e577ece613ea12a0790e00b4eb80d901c59a3e16cad474f31d8b1529690b9", size = 9290872, upload-time = "2026-09-11T19:03:02.295Z" }, + { url = "https://files.pythonhosted.org/packages/2e/a4/1ca765c63a60e3096ae2ad132eb25f6f7eab0377418cd0472808befd9665/matplotlib-3.11.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:07d9b9fa60cd4c393692f50d0bb03123242ddf61c99bb0e95e75feb354e7c1a8", size = 9854405, upload-time = "2026-09-11T19:03:04.796Z" }, + { url = "https://files.pythonhosted.org/packages/d7/3d/f28ca971a4ad0ed83ebdd60230b09d99de8b91aba47964fac3a81eb2e2ba/matplotlib-3.11.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:30ec15d7eefee71de16b7c689b42ba49715a4644650b76a6c7c70d79daf24e91", size = 10660507, upload-time = "2026-09-11T19:03:07.402Z" }, + { url = "https://files.pythonhosted.org/packages/f7/0c/a743556bc64a9b57d2246b14d91b713078adfd2df4199f542df1861737a9/matplotlib-3.11.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:116cdb0eb0eb5644fc98eb2975d4b4dd4ad35e5c8e6b851c22e6976f371f7ab5", size = 10801141, upload-time = "2026-09-11T19:03:11.357Z" }, + { url = "https://files.pythonhosted.org/packages/66/54/91fe3fdfa29100b4668cbf9721577a10acde6e009694618230e4e7a97527/matplotlib-3.11.2-cp311-cp311-win_amd64.whl", hash = "sha256:a24d5fd36e4f0e742c3851dcd20810e56a95633a342e4bf6cb591c678e8fe61f", size = 9329982, upload-time = "2026-09-11T19:03:14.25Z" }, + { url = "https://files.pythonhosted.org/packages/49/c1/13b70871c98d7e93f0d2ed71f226b8d6f873f1372124046068a6b4902fb5/matplotlib-3.11.2-cp311-cp311-win_arm64.whl", hash = "sha256:57b9ea60a835937c2012861923cbb91f47db8565775d326d1c42fc926aa10351", size = 9023542, upload-time = "2026-09-11T19:03:16.878Z" }, + { url = "https://files.pythonhosted.org/packages/cb/ce/1bfcc4873b121597791ad74032943b123218c0613af0b97e8dd05e916fb1/matplotlib-3.11.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ef752769cd962f39ea0b6ffc82d1ea43a0012c5a6157c7a075212fa509cfcff2", size = 9476466, upload-time = "2026-09-11T19:03:19.45Z" }, + { url = "https://files.pythonhosted.org/packages/a6/c4/7f5f3601ee69baf072c0c7d3ce60c03e0618621c5a56c34a62a460e29d11/matplotlib-3.11.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ef31985c4dedb5f1424e1aec6849a47dd37689cb7fa3c20b1b82187f26806261", size = 9305583, upload-time = "2026-09-11T19:03:22.39Z" }, + { url = "https://files.pythonhosted.org/packages/b8/90/2b3fd67ee273163faeda6d514be70b5596eaa0fd77b60ffc294ad0b34f5f/matplotlib-3.11.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:df4f7784aca81a94f254c0a2767d592ee25f407e488f5fa7203e51093fb6ca27", size = 9860353, upload-time = "2026-09-11T19:03:25.049Z" }, + { url = "https://files.pythonhosted.org/packages/f4/84/32549e7a462dc311aed2ab62e5d2538028840b5c53a8be0195c789937c3d/matplotlib-3.11.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b9a7ad579856284135e401ecc918c5f8a017ee30539298862a109f51b971710", size = 10670348, upload-time = "2026-09-11T19:03:28.108Z" }, + { url = "https://files.pythonhosted.org/packages/84/39/02e21b74f7439bd643d717ea846006d46e309e6d29b632b57751265311d6/matplotlib-3.11.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3aa4b8516fd26659e4363abbf317c703d9116496c5db2e9d0609a2866dd39dd2", size = 10810580, upload-time = "2026-09-11T19:03:31.402Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/0d239bde12b308262265c2d98909b2f0ecad2b5deeae96241642e822e9c7/matplotlib-3.11.2-cp312-cp312-win_amd64.whl", hash = "sha256:c5c1c68ee401fc98271263410f0e5ce88285abacf7627132914e8adf3d70ff43", size = 9349409, upload-time = "2026-09-11T19:03:34.195Z" }, + { url = "https://files.pythonhosted.org/packages/49/a8/06baf901c02246c8a222b655cc4540ef9c15e1549a04e07927f9cde716c3/matplotlib-3.11.2-cp312-cp312-win_arm64.whl", hash = "sha256:643ff850d8e0f5b8319337f87ed3cb59506afb3df3cc48de777d85871233be7b", size = 9028084, upload-time = "2026-09-11T19:03:37.032Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ce/fc58855a3d17f6cb8a87b6f9ccd100f65432a3a7ffed57309cbf14c78987/matplotlib-3.11.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7d43ff8cebb50840648cb6429b2228621dbd709010f3117b3740abb20abf21c0", size = 9476987, upload-time = "2026-09-11T19:03:40.17Z" }, + { url = "https://files.pythonhosted.org/packages/a9/29/2a47b700545aca050e0ed73c89ba21e08407e11f5f42a567421b220de6c1/matplotlib-3.11.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2a8285cea8ef4d92aa041d1c33788bcae82248503300f93f1ca2136b9049452f", size = 9306050, upload-time = "2026-09-11T19:03:43.103Z" }, + { url = "https://files.pythonhosted.org/packages/a9/df/e7c10292f348cf55178a5b3c0092a38ea68891a3945f199ae8b7b8ac9dc1/matplotlib-3.11.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1944895967f87c84c9b4bad29a707b31f5b36df4a3a2339ea1f8ea3ce5105539", size = 9861060, upload-time = "2026-09-11T19:03:46.044Z" }, + { url = "https://files.pythonhosted.org/packages/e4/b9/b978de6d43d47f1d4d8e653fac32c16d8d2e5f46bbbb822e26d7cb1adece/matplotlib-3.11.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af2661f6ac6bbd1d081996f54fdd9385715c625ace8cec0869055c0cfbf38981", size = 10670885, upload-time = "2026-09-11T19:03:48.942Z" }, + { url = "https://files.pythonhosted.org/packages/a3/80/d72f61bb2631ac15d17fada1f17e0f99fecba69d8376d34f17cf93b7eddd/matplotlib-3.11.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7e5a90f8a707ebb6004a713b1cff091a40cc5df4c7c1cb165e5a505ebc11c292", size = 10811222, upload-time = "2026-09-11T19:03:51.665Z" }, + { url = "https://files.pythonhosted.org/packages/94/2e/6d1d33f242c705b5c6c6fb3f0fc141add51cb1abb62912e59de0835d28c4/matplotlib-3.11.2-cp313-cp313-win_amd64.whl", hash = "sha256:bc067c462a86f0e57bf52fc6e058d90171a5420007dac00c46e90153050c69a7", size = 9349539, upload-time = "2026-09-11T19:03:54.534Z" }, + { url = "https://files.pythonhosted.org/packages/bb/bb/c0aa86a7f4c0e62f1c3c0711e361f6f23f87eb9018732a5e11994bd1b7ec/matplotlib-3.11.2-cp313-cp313-win_arm64.whl", hash = "sha256:3e8576f7c47e02fd4f21f44171302d2d1d58d4471d46da3d71fe8899d19539d9", size = 9028295, upload-time = "2026-09-11T19:03:57.261Z" }, + { url = "https://files.pythonhosted.org/packages/54/b4/4facdb700bc236e4c676495ca3798d8134ab8668cbfe0f6b2e9ebf962a38/matplotlib-3.11.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c9721f81275499da1feeb36a2cf8192ea086283b3bd16b7dc4c9d7aedb7396d6", size = 9478976, upload-time = "2026-09-11T19:04:00.12Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a0/bba05f0a25bfeb0475c2f2a87958b31103aa6b7a5386017afb1a96212825/matplotlib-3.11.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1a3040b209f3968b4e84161df7b174f07a9fad33b0f2d7e48ea3bbd3075e2863", size = 9307932, upload-time = "2026-09-11T19:04:02.976Z" }, + { url = "https://files.pythonhosted.org/packages/d4/42/81d5cba4bb39b41b0998efc880e129f2d7cdb94256ca49678fdcd9c21be5/matplotlib-3.11.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf3fe71fbfb8ec0e310e0bc8537c3405a01f38f25f9394ed2135e6202fed542b", size = 10674370, upload-time = "2026-09-11T19:04:06.912Z" }, + { url = "https://files.pythonhosted.org/packages/29/5e/52f56f93d5b20815ee0ae352f7a38eff25580edb180b4fa7df87cfeba68f/matplotlib-3.11.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8c8255de28f986d935a64c9ca71c0ec2d2f41d355691f5ea684725dc91413f71", size = 10954597, upload-time = "2026-09-11T19:04:09.948Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ae/f8918a1b564db49c53cd603eb3c8748c5767e4ce0fb2cf1d7c38653e4c5d/matplotlib-3.11.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a8756cc73d9af9a7fe0deb54ea2e75ef73b01d9e575877e72acad5458e660943", size = 10812583, upload-time = "2026-09-11T19:04:12.887Z" }, + { url = "https://files.pythonhosted.org/packages/ea/61/4315ef0d63937fe56f451887b4a0be3b8e8b22cf1d92a8d157caac54570d/matplotlib-3.11.2-cp314-cp314-win_amd64.whl", hash = "sha256:ecea603dd2fbf8242fd31a305a8b12a4ece2de28096870c65fdd0d1e35b8d9a6", size = 9505972, upload-time = "2026-09-11T19:04:15.788Z" }, + { url = "https://files.pythonhosted.org/packages/d5/00/02398b0a1a62ef73d9af0a957fe1773363eec9a6ca7e433c72ae2790fbce/matplotlib-3.11.2-cp314-cp314-win_arm64.whl", hash = "sha256:01dc8eaaab5a9fce9ff615eca82345728f289e4715b186ee10c6d85272fc26bb", size = 9184534, upload-time = "2026-09-11T19:04:18.691Z" }, + { url = "https://files.pythonhosted.org/packages/ec/c5/1e6ca10baa7e04f113c37856aadb4adc3dbb1c55fc7da6dc830bba1292d7/matplotlib-3.11.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79a258f58253dfa025af80a9e9bb228d75fced007f0e93ae7423fefbde81a74d", size = 9526415, upload-time = "2026-09-11T19:04:21.39Z" }, + { url = "https://files.pythonhosted.org/packages/e0/93/7561727af07ccc84747953c6a33eee3981cc436d04f465032e707ca0e429/matplotlib-3.11.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c0b83f044ce10a98027b105b3931548719a6e8c7ef986b4362651e0b5367c8dc", size = 9361064, upload-time = "2026-09-11T19:04:24.107Z" }, + { url = "https://files.pythonhosted.org/packages/c1/40/ce270ef2a6794d94a409fe28b8dabedffc07c07f9e5dbb89e0f605bd157d/matplotlib-3.11.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e43b188f0a5b75447bcc197728258166aa64365770ed1caa36595a5e1ca4bbba", size = 10684626, upload-time = "2026-09-11T19:04:27.201Z" }, + { url = "https://files.pythonhosted.org/packages/45/46/396e0307dbf1c1f2d0a3654caa6dbc780dd5379f5f11257369cf8d21d9fe/matplotlib-3.11.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3304eb5a59442a8867f6920d484591c0fa09ffc29e9260be2feec3351e25869", size = 10960602, upload-time = "2026-09-11T19:04:30.254Z" }, + { url = "https://files.pythonhosted.org/packages/1c/97/4defb84695477340aa88b27c9482cc1ca4de11f36f66b6c8c0ddd685def1/matplotlib-3.11.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:02329432ae5c6af87cf208ee575b701d698bdf0b1a3bb28cc6d53c36e967e575", size = 10822603, upload-time = "2026-09-11T19:04:32.964Z" }, + { url = "https://files.pythonhosted.org/packages/7d/e7/eab54551c1ec6b72dcd678a078b6c6da8d4c85ec1ff0016e81fe52866304/matplotlib-3.11.2-cp314-cp314t-win_amd64.whl", hash = "sha256:f2ac30cf5eb5dff1b584627ae0b0e1186551a4f69ae3c75073911da497a29170", size = 9551206, upload-time = "2026-09-11T19:04:35.811Z" }, + { url = "https://files.pythonhosted.org/packages/4e/0e/04698032cb4d8fb1e30d8ffec5ded20f6f582b03c8c58b2385c95245f158/matplotlib-3.11.2-cp314-cp314t-win_arm64.whl", hash = "sha256:cf41ecd1b0c0b6f7177ed965a54c2afbe888715c7cf6054dc12d53bc1494002c", size = 9234977, upload-time = "2026-09-11T19:04:38.972Z" }, + { url = "https://files.pythonhosted.org/packages/44/a9/ca827c184b87364378964e36e7c0ae23651d146fdbc4000635205490cf82/matplotlib-3.11.2-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:894a9cbbecbe30ae6787d464df2e8fc7a8d475cfc68f87c3029f7c11152899b3", size = 9478997, upload-time = "2026-09-11T19:04:41.914Z" }, + { url = "https://files.pythonhosted.org/packages/48/60/01aaafc9c3159f3fae9a65bbcddaa4a6d4d72b0aeffdd636d7f6d00a5c8d/matplotlib-3.11.2-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:bbf1062991d826ed27e2144f3afa4461afbb8ff56e8f703043e191a8163b1ee9", size = 9307947, upload-time = "2026-09-11T19:04:44.834Z" }, + { url = "https://files.pythonhosted.org/packages/1e/a0/6aa72c7cd7cf4dfac652744d7a3310007cec3ce8e5ab9be607bec7096471/matplotlib-3.11.2-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:399fef672f7046ef7d6a57572b2a6f9845f3f5afcff04e7b2df7a363a9f42190", size = 10674370, upload-time = "2026-09-11T19:04:47.745Z" }, + { url = "https://files.pythonhosted.org/packages/a1/97/d7e90225ac145046787a2ee0fa4cdc7e4d5cb6772ea232130b10f8a4095a/matplotlib-3.11.2-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cc82dde2a0d3e3ad472edce04897ad7146b8d8bfd1df8a32992eebb81af18fdc", size = 10954581, upload-time = "2026-09-11T19:04:50.712Z" }, + { url = "https://files.pythonhosted.org/packages/58/18/89cf056a9d2cae01f4b8baf01c7e809d613244fcdfa2a2acf28c1e0d79fa/matplotlib-3.11.2-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:930efb28f59fda124e39265d177bab302625297bb147d2910de725a2fc2aef54", size = 10812605, upload-time = "2026-09-11T19:04:53.552Z" }, + { url = "https://files.pythonhosted.org/packages/9d/4d/c61b9f4c34af802d4d84e58803e009013d626b5f468bafe1416131863b5b/matplotlib-3.11.2-cp315-cp315-win_amd64.whl", hash = "sha256:3da3bc0cbf7245e7db72cc6d29d12c5abef72cb73059c73b945f14e3545f3eb2", size = 9506068, upload-time = "2026-09-11T19:04:56.519Z" }, + { url = "https://files.pythonhosted.org/packages/03/7b/047f2fa8708d47430d8e7fa45e9fffb0aee5d4e300f978e087be2ee11fbc/matplotlib-3.11.2-cp315-cp315-win_arm64.whl", hash = "sha256:f25446b2981717dca9786bac841cb3fd7efb568e3e3c755dd980481c5cb9228d", size = 9184576, upload-time = "2026-09-11T19:04:59.318Z" }, + { url = "https://files.pythonhosted.org/packages/03/6e/ad9c5989950785a98642667df265a47c6637e924cb69b5dcf68c3299ae7c/matplotlib-3.11.2-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:fea03cf56568cc1cba08b470be6a0559e71c3a5b688d54b7179bb35ba23d0821", size = 9525988, upload-time = "2026-09-11T19:05:02.304Z" }, + { url = "https://files.pythonhosted.org/packages/a6/c3/25c61701fb655dd412428b15eee2591ce554cdd593e39a045a153373f428/matplotlib-3.11.2-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:254d4ddb2fa8df3b4c689c0c306063aee10521df82cfb438185e499c75fe37c1", size = 9360774, upload-time = "2026-09-11T19:05:05.092Z" }, + { url = "https://files.pythonhosted.org/packages/58/5a/4552878fce8f9d249a5e264c16f5c267c27eac08fb039fa3e207a06feff5/matplotlib-3.11.2-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e60cf3047a51edecdc4535a9196bbd6a732936b8e9f8184aabf4d16165884aaf", size = 10685892, upload-time = "2026-09-11T19:05:07.686Z" }, + { url = "https://files.pythonhosted.org/packages/af/dd/b3b19ec0124fc4aafd8a4b3bae859c562a7ff0fd8ae3b2099947f78bde19/matplotlib-3.11.2-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eb3712dc9b464793de0a4e42a7313d50293c751f94bddaf7332a1bc71bccdda9", size = 10964946, upload-time = "2026-09-11T19:05:10.943Z" }, + { url = "https://files.pythonhosted.org/packages/7b/30/687ccce22f66a57fed85942450e88062773bcbf1a42914e70c7148ec71dc/matplotlib-3.11.2-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:75b6d88402770e181b5d06a67dda4129c31da7d05004d63a21c310ec78d1b83c", size = 10824960, upload-time = "2026-09-11T19:05:13.9Z" }, + { url = "https://files.pythonhosted.org/packages/d3/34/117fe35a8d05054b4b34d2d29287099927c24c3841d36e06d9fa2f20c1cf/matplotlib-3.11.2-cp315-cp315t-win_amd64.whl", hash = "sha256:a6939df7567114b6bac7f4c5e06c84a67f197c1b2f2e4b234d4eecb3bfec9482", size = 9551204, upload-time = "2026-09-11T19:05:16.48Z" }, + { url = "https://files.pythonhosted.org/packages/63/5a/9f440e7bec8b80d0af2a65d1165b2f4e718982dad785531f62255d9ff19b/matplotlib-3.11.2-cp315-cp315t-win_arm64.whl", hash = "sha256:d480038c83691532ed52ff3147db51fa902fc78cb2d8349993a1cdb684435bff", size = 9233946, upload-time = "2026-09-11T19:05:19.063Z" }, + { url = "https://files.pythonhosted.org/packages/0f/d9/a1218a31fa2d8082eb893548990ad09a2005ebda1b2b89dad88a8308e51a/matplotlib-3.11.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:854df8d7dfe9fdffcbaa6f39e44a6c24b409cb4d7561fbc09213b157d833f6a6", size = 9457702, upload-time = "2026-09-11T19:05:22.086Z" }, + { url = "https://files.pythonhosted.org/packages/68/d7/a9fde05d87c3c853f233ec20c5b5c3a1c86035e1ed4bfa397cd54d46ec90/matplotlib-3.11.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:eac4b07d4e3743b172451e122ea964f72f152879d4f9adcf3f3d33e518f12ead", size = 9287753, upload-time = "2026-09-11T19:05:24.677Z" }, + { url = "https://files.pythonhosted.org/packages/ec/79/ea2ae4eab84f011c1dc8145864f78e5a63adda8efb95557ef36cc38e6da2/matplotlib-3.11.2-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7ef7a53b66780e5d942923724f08577fbc5be1f7322da0f0f3f9dcaa45dd803d", size = 9848259, upload-time = "2026-09-11T19:05:27.455Z" }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.2.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bd/c0/9f7c9a46090390368a4d7bcb76bb87a4a36c421e4c0792cdb53486ffac7a/matplotlib_inline-0.2.2.tar.gz", hash = "sha256:72f3fe8fce36b70d4a5b612f899090cd0401deddc4ea90e1572b9f4bfb058c79", size = 8150, upload-time = "2026-05-08T17:33:33.49Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/09/5b161152e2d90f7b87f781c2e1267494aef9c32498df793f73ad0a0a494a/matplotlib_inline-0.2.2-py3-none-any.whl", hash = "sha256:3c821cf1c209f59fb2d2d64abbf5b23b67bcb2210d663f9918dd851c6da1fcf6", size = 9534, upload-time = "2026-05-08T17:33:32.055Z" }, +] + +[[package]] +name = "mistune" +version = "3.3.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/92/328a294a6de83bacb95bed01f04e0eaff4e3616ee359fc821a5dfc539b02/mistune-3.3.4.tar.gz", hash = "sha256:58b5c96d6fcb61190dfe5fae498d2b2065f99cf61e9649418fd54cf1ada86dfe", size = 121426, upload-time = "2026-07-22T05:22:30.89Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/e4/288365afae98953bc01de09f686f40d8ee84578135aa7767d5d4e60b5278/mistune-3.3.4-py3-none-any.whl", hash = "sha256:ee015381e955e370962968befe1d729ab60fafb6a715ac6751763fbce38c8d4a", size = 66862, upload-time = "2026-07-22T05:22:29.419Z" }, +] + +[[package]] +name = "narwhals" +version = "2.26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/68/5351e34623d253423240ea7de3f8fc74fa8ab14b1ab3c0ec4ac8997413c9/narwhals-2.26.0.tar.gz", hash = "sha256:6b9cadca82f375c7e4cf584fdc86ca25da54827307a9c58f94547ee6104b82dd", size = 686970, upload-time = "2026-09-08T13:32:08.964Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/b5/1b84b2c784db76d69442334bc8b8748c840f13ca53be086f4f250ad4a0bc/narwhals-2.26.0-py3-none-any.whl", hash = "sha256:29326d74f107c347fd1009bd58e38d9f7c7c5b51e6de97bc93dbc325d9038b54", size = 474034, upload-time = "2026-09-08T13:32:07.159Z" }, +] + +[[package]] +name = "nbclient" +version = "0.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "nbformat" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/a5/b3bae4b590c0cbcada2c63a34f7580024e834a8ba213e949a2f906705787/nbclient-0.11.0.tar.gz", hash = "sha256:04a134a5b087f2c5887f228aca155db50169b8cd9334dee6942c8e927e56081a", size = 62535, upload-time = "2026-06-05T07:52:41.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/c9/94d73e5a01c5b926c3fa2496e97d7a8dc28ed5a77c0b2ed712f1a62e6694/nbclient-0.11.0-py3-none-any.whl", hash = "sha256:ef7fa0d59d6e1d41103933d8a445a18d5de860ca6b613b87b8574accdb3c2895", size = 25288, upload-time = "2026-06-05T07:52:40.115Z" }, +] + +[[package]] +name = "nbconvert" +version = "7.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "bleach", extra = ["css"] }, + { name = "defusedxml" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyterlab-pygments" }, + { name = "markupsafe" }, + { name = "mistune" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pandocfilters" }, + { name = "pygments" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/01/b1/708e53fe2e429c103c6e6e159106bcf0357ac41aa4c28772bd8402339051/nbconvert-7.17.1.tar.gz", hash = "sha256:34d0d0a7e73ce3cbab6c5aae8f4f468797280b01fd8bd2ca746da8569eddd7d2", size = 865311, upload-time = "2026-04-08T00:44:14.914Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/67/f8/bb0a9d5f46819c821dc1f004aa2cc29b1d91453297dbf5ff20470f00f193/nbconvert-7.17.1-py3-none-any.whl", hash = "sha256:aa85c087b435e7bf1ffd03319f658e285f2b89eccab33bc1ba7025495ab3e7c8", size = 261927, upload-time = "2026-04-08T00:44:12.845Z" }, +] + +[[package]] +name = "nbformat" +version = "5.11.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/31/72/b3446efab8756e7df4b8ec587f8e611cb5a7249e4323db480802f1d3be04/nbformat-5.11.1.tar.gz", hash = "sha256:32d4521c68c6e7d5b29c76defaeed9f42ea733142b9b19f88277ce10390b9c4d", size = 147775, upload-time = "2026-08-17T08:10:51.942Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/69/ee613f74085ca7103f79cd08d579c4f3177d1d26e5d3d9528d2d6536a707/nbformat-5.11.1-py3-none-any.whl", hash = "sha256:cc6698fa75f4fab8755ead786317815f13a6fee3b53311c0abb1a8b51d52f7ec", size = 79849, upload-time = "2026-08-17T08:10:50.18Z" }, +] + +[[package]] +name = "nest-asyncio2" +version = "1.7.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b4/73/731debf26e27e0a0323d7bda270dc2f634b398e38f040a09da1f4351d0aa/nest_asyncio2-1.7.2.tar.gz", hash = "sha256:1921d70b92cc4612c374928d081552efb59b83d91b2b789d935c665fa01729a8", size = 14743, upload-time = "2026-02-13T00:34:04.386Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/3c/3179b85b0e1c3659f0369940200cd6d0fa900e6cefcc7ea0bc6dd0e29ffb/nest_asyncio2-1.7.2-py3-none-any.whl", hash = "sha256:f5dfa702f3f81f6a03857e9a19e2ba578c0946a4ad417b4c50a24d7ba641fe01", size = 7843, upload-time = "2026-02-13T00:34:02.691Z" }, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167, upload-time = "2024-02-14T23:35:18.353Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" }, +] + +[[package]] +name = "numba" +version = "0.67.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "llvmlite" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/90/2544f4e3a61e501d6c9a5418fd4b905323222693d54a02cab0106a0af865/numba-0.67.0.tar.gz", hash = "sha256:cd75aa535b33fa05d9d930b1ae8af9f97a2881e96d72dfb38ec9b78284d9f851", size = 2836515, upload-time = "2026-08-11T23:04:00.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8c/ed/55ba4e54ee878396de6b18e6533cc4a92fa519e8c82d55cf40f98c0a6831/numba-0.67.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:3fa3d1b27f96f2c0d54513d953d7197886aa1eaa7d2439a0eedc44d993fb181a", size = 2744821, upload-time = "2026-08-11T23:03:17.321Z" }, + { url = "https://files.pythonhosted.org/packages/be/78/3f3c45dbaec3cf02bbb1825731beca50f591227e95143d6bd7a64897641c/numba-0.67.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8c80c847301dc33dc8f84a97a952004023d9a05578ae4512b087176264cc1960", size = 3827182, upload-time = "2026-08-11T23:03:19.684Z" }, + { url = "https://files.pythonhosted.org/packages/a5/24/4e70cb86534283d859c3aea2302da523e41539b98dd6c3c4d0a42af95cda/numba-0.67.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e7a7b0121466f1e9a8a074b0545fe90e16389623abf979b5d7c299dca1294d7e", size = 3532817, upload-time = "2026-08-11T23:03:22.06Z" }, + { url = "https://files.pythonhosted.org/packages/26/4d/23dab7f4233be0fc34f54a169ed85238467cd24d8adf2498e5c12ea19dc7/numba-0.67.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfba1ac34f0363fb1a250a10e97240780d11e05227892f7286b26fbfd0ad58ce", size = 2815700, upload-time = "2026-08-11T23:03:23.812Z" }, + { url = "https://files.pythonhosted.org/packages/0d/58/915cddba90010348ed0444451132fdde9b000bcbaff1582029b5bf115d11/numba-0.67.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:6004d8d5f28d4028687fb2d972d629295b13685943bd2ed5cd8810c3b848e219", size = 2745050, upload-time = "2026-08-11T23:03:25.607Z" }, + { url = "https://files.pythonhosted.org/packages/bb/38/926757caaac18a66f057d7544a63620bf360a07d281c9f7ecadd2aa83963/numba-0.67.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f63d43db06b4756424d6d2484737c902e0ae944a0eec3e8b0b4de2c695b15caa", size = 3884596, upload-time = "2026-08-11T23:03:27.688Z" }, + { url = "https://files.pythonhosted.org/packages/4d/6d/58291dc58da39d98b32db7f044729f6d8d4920cd9622fbab3179b54ff4c4/numba-0.67.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76d3335aaeffb9dc88309420890e73497a00be08a7530441bc2b58ffe025bfa5", size = 3585290, upload-time = "2026-08-11T23:03:29.684Z" }, + { url = "https://files.pythonhosted.org/packages/6e/63/ab21828b4056afed71f9ecb40f4de26c2c19de731cc001961aca74b79464/numba-0.67.0-cp312-cp312-win_amd64.whl", hash = "sha256:50e2b72406c18cda5dd7431b0082cb85ea94e06c64c33607248fc8bef92cfb81", size = 2815645, upload-time = "2026-08-11T23:03:31.732Z" }, + { url = "https://files.pythonhosted.org/packages/49/dd/bd9fe772f6c84597b76cac229b3f2890f01a2c64fd70e48ceaae10dd65cb/numba-0.67.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:77e1c7173fee57a0d84e006c7e70346689d6cb3e7db503489bae58646b4eff7b", size = 2744872, upload-time = "2026-08-11T23:03:33.649Z" }, + { url = "https://files.pythonhosted.org/packages/a1/1c/c05609739cc41116d36e30cb2b41fb00f126bb52e1b0bac907051ad8a35d/numba-0.67.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9c4953387c77864b596d8296e2cfbdef82b0eea4166ab4864b05d226c51143e0", size = 3892004, upload-time = "2026-08-11T23:03:35.797Z" }, + { url = "https://files.pythonhosted.org/packages/4a/77/a5276ad4178250403e0e2251f3e1f8ac18feac779b0474a8bcb08558490d/numba-0.67.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:88f6e0f5cb6c545e158b6ef0496c01b6d6958a7ccc6634a1576a94bbbab29ff2", size = 3591878, upload-time = "2026-08-11T23:03:37.845Z" }, + { url = "https://files.pythonhosted.org/packages/0f/80/d48f0ba7442516ceb5a1585f0c81d3aa531bc96bfcabcd9f8f925768c426/numba-0.67.0-cp313-cp313-win_amd64.whl", hash = "sha256:b68ad5125fe245339cc8dcc036081fc1ea482c5063387b9612a76ccd83dc91cd", size = 2815504, upload-time = "2026-08-11T23:03:39.736Z" }, + { url = "https://files.pythonhosted.org/packages/d7/16/345b1e4774a08247aafcfdb93d4e8d24a3646366cbe72de33053fc0de1b5/numba-0.67.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:f99f880ff25f418a67f9a1d00d0ddfbc63430f627b523e515085a592a7567f4b", size = 2745088, upload-time = "2026-08-11T23:03:41.864Z" }, + { url = "https://files.pythonhosted.org/packages/1b/36/e614ba2bc0f005ed0f37a6413f08fe705210297ddb9a37a475a8b9fdab61/numba-0.67.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5269245a675abdd3e2c35ec6bb2f250355effa9032514d8f2354f0d2d10854bd", size = 3861040, upload-time = "2026-08-11T23:03:43.842Z" }, + { url = "https://files.pythonhosted.org/packages/40/90/30c42a1dbc4176cf355e8e8be61803732c55597b1332925fe233912a43d9/numba-0.67.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f074a8e23db78490f11a3930c940be758316c10ac5985be83d2f298dc080acf7", size = 3561811, upload-time = "2026-08-11T23:03:46.037Z" }, + { url = "https://files.pythonhosted.org/packages/18/6d/21bd16f770476e394c5e5f504935817967442a71251d6b86c244a2767980/numba-0.67.0-cp314-cp314-win_amd64.whl", hash = "sha256:4d576e62bf2c9370f61312b51573c4bb1f3fe96798bbab56730847a368a316c4", size = 2817421, upload-time = "2026-08-11T23:03:47.922Z" }, + { url = "https://files.pythonhosted.org/packages/95/06/bb41b0e59b9ff52c94a2f01db24f6437df058caebb377b5f372fc343a6a2/numba-0.67.0-cp314-cp314-win_arm64.whl", hash = "sha256:7930748ce8355d2a5a28602abab056a61fdc676d17377f27d17993905428171f", size = 2788885, upload-time = "2026-08-11T23:03:49.967Z" }, + { url = "https://files.pythonhosted.org/packages/10/7c/aa07151fbd0f4283f78de437cc196f9084789be89a2b4de3fdc2f6a4b414/numba-0.67.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:4a2ed006635bbd0fe45681ed49f3b4f4bad1abf0c233bcc5842c9e3a34cabd61", size = 2748150, upload-time = "2026-08-11T23:03:51.755Z" }, + { url = "https://files.pythonhosted.org/packages/74/62/b8174ca95a4cc1a7ba1520767734e016991545590b8fbde521b681701a9f/numba-0.67.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aa5f002f665bec321b950dacaa26ee009e1d720f6ac9d9856eed5efe1caa03a6", size = 3896986, upload-time = "2026-08-11T23:03:53.752Z" }, + { url = "https://files.pythonhosted.org/packages/8c/f9/3a7b6dbf81e01a48958b45ad2239edbc64707522ab17f11f9f18c44bf6d1/numba-0.67.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83ab968b0e0fa744eba03351282dd8000796e6ec8e4518f47bd3ed86c0a20c7b", size = 3614644, upload-time = "2026-08-11T23:03:55.794Z" }, + { url = "https://files.pythonhosted.org/packages/d9/5b/248f5681c121ca853a9f4e39d342a3e01b8a0261b0275853eb3d0d56aa20/numba-0.67.0-cp314-cp314t-win_amd64.whl", hash = "sha256:00c964a5b94d3ae82d83ac162cd610755875b98dadb779fdde06e6bfcdbca47e", size = 2822870, upload-time = "2026-08-11T23:03:58.097Z" }, +] + +[[package]] +name = "numpy" +version = "2.4.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/ad/fed0499ce6a338d2a03ebae59cd15093910c8875328855781952abf6c2fe/numpy-2.4.6.tar.gz", hash = "sha256:f3a3570c4a2a16746ac2c31a7c7c7b0c186b95ce902e33db6f28094ed7387dda", size = 20735807, upload-time = "2026-05-18T23:37:14.07Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/49/ec46835a70be8fa6446c495126ac84fdb28cb2558e1620ffb87a10c8b64c/numpy-2.4.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0280e0356c0829a18d9de1cb7eee50ec22ca639878d7240307ca0943d73cd2c4", size = 16969194, upload-time = "2026-05-18T23:33:13.503Z" }, + { url = "https://files.pythonhosted.org/packages/0e/0d/f5957185c0ee2f3e12f78715aa9e3b353fd83633316c8532b38faa37e3f6/numpy-2.4.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:110f8b71aacb688ec69062bb7f6938a0f8acb01b7c1c4beb453c65b6d234584d", size = 14964111, upload-time = "2026-05-18T23:33:17.795Z" }, + { url = "https://files.pythonhosted.org/packages/ad/40/40a40ee0ddf7ceb782c49af278894b686e586d65d8c1889c8b5da01a3d7d/numpy-2.4.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:4cfe66903cc32a9921a6733d96b19bb6abf310397581bbad89c228f5abaf0ee8", size = 5469159, upload-time = "2026-05-18T23:33:20.654Z" }, + { url = "https://files.pythonhosted.org/packages/63/13/f9a8046535cb21deae82f8d03de9617e08882d274fad2539630761888228/numpy-2.4.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8155154c7c691289fe18f510b5d4657c68c67989f293f0535a91360392ff6538", size = 6798936, upload-time = "2026-05-18T23:33:22.987Z" }, + { url = "https://files.pythonhosted.org/packages/33/a8/6fa8c1a345a8c85dbb21932c447bee07c30a2c2a3f31e369c0a84b300147/numpy-2.4.6-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ab0a9c4ffb1a6d95ef519fe4247dba8eb6b18ad93999f76b7f657039acabd47", size = 15966692, upload-time = "2026-05-18T23:33:26.62Z" }, + { url = "https://files.pythonhosted.org/packages/02/03/74fe2a4cb3817d94d86402f2506554130a2f01414e299b5a843e5a8a957f/numpy-2.4.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:89cd468399cfd2504718f0ba50e410dca55a170b61a02ad92bb18c8a65186e93", size = 16918164, upload-time = "2026-05-18T23:33:29.955Z" }, + { url = "https://files.pythonhosted.org/packages/c5/80/3615be3313f7e7696609bc194b9f0101da809df79e859bdb84e0cd043f46/numpy-2.4.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2d37ab77531417474168eb79d6d80b14f821a966818505d03013d0833edb7a8", size = 17322877, upload-time = "2026-05-18T23:33:34.724Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ac/a691e0fe2675e370d0e08ff905adc49a1c8830e8cae03efe4477e92cd55d/numpy-2.4.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f407cb6b8e9d6d8c626bc73c945db1706035af8fd632295547bf1c9e46d092d6", size = 18651487, upload-time = "2026-05-18T23:33:38.217Z" }, + { url = "https://files.pythonhosted.org/packages/15/a7/9bc1cd626d7bf6869bfedf27b91b6ab5dd607758bf8e959d6fa80c6a59cb/numpy-2.4.6-cp311-cp311-win32.whl", hash = "sha256:ddea102b48f9e339f3948bf22040944184627a30fdf7f858667673b9c5f033c8", size = 6233945, upload-time = "2026-05-18T23:33:41.331Z" }, + { url = "https://files.pythonhosted.org/packages/c5/31/7fc6239c12bce7e931463251cca4426c465e1876ba3cc785402ef4dd8f4e/numpy-2.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:1e254a00cdf42b1e4d5b3d68d33af63268d41340d8885df2ab6470f2e1500147", size = 12608406, upload-time = "2026-05-18T23:33:44.131Z" }, + { url = "https://files.pythonhosted.org/packages/27/83/140f85a466595a16382996a1bf06b2b54bcd597488921b0c9daaeeda72af/numpy-2.4.6-cp311-cp311-win_arm64.whl", hash = "sha256:ed9749eef4cbd126da3dc1d6bcb3a57f5eb7ac6a6484146bdbf743f552dfc577", size = 10479528, upload-time = "2026-05-18T23:33:50.725Z" }, + { url = "https://files.pythonhosted.org/packages/95/2a/3d7b5ac8aac24feaf9ad7ed58f45b0bbc06d37e4338ae84c9f2298b570f9/numpy-2.4.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:001fbb8e08d942dd57599e781f2472269ee7f2755fae407b4f67b2f0b17da3f1", size = 16689119, upload-time = "2026-05-18T23:33:54.065Z" }, + { url = "https://files.pythonhosted.org/packages/ea/12/92c4c131527599e8288d6918e888d88726f84d805d784b771f32408aeaef/numpy-2.4.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ebfb099f8dcf083deef3ac1ca4c1503f387cf76296fcb3816b66f5ecb5f54fdb", size = 14699246, upload-time = "2026-05-18T23:33:57.621Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fe/c0a6b7b2ca128a8fb228575147073b660656734b8ebe4d76c8fd748dcc79/numpy-2.4.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:3213d622a0283a39a93d188f3cf72b26862df52fbb4ca3697f51705016523d41", size = 5204410, upload-time = "2026-05-18T23:34:00.302Z" }, + { url = "https://files.pythonhosted.org/packages/f3/d4/9770d14ba719432bb90a421bfd443872ed0f70f7264b64bec12ea363d5fd/numpy-2.4.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:357cc07a6d7b0b182ff02249616a03742827ebb1277546b5c7cd7f7620a45698", size = 6551240, upload-time = "2026-05-18T23:34:02.852Z" }, + { url = "https://files.pythonhosted.org/packages/c9/c6/50a46a6205feba2343f1d6d17438107c5dc491ed1c736e6ea68689fd906b/numpy-2.4.6-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f9fb9157b4ce2971008323afe46053787b526ef624fea915b261468a8421a0f", size = 15671012, upload-time = "2026-05-18T23:34:05.485Z" }, + { url = "https://files.pythonhosted.org/packages/99/60/14115e6364fa676c5397c2ad3004e527e9aa487abf5d0706ec81bbd08529/numpy-2.4.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90f9849678c75fe7afa2d348ac842c168b0a4d3d61919687216dfc547976d853", size = 16645538, upload-time = "2026-05-18T23:34:09.265Z" }, + { url = "https://files.pythonhosted.org/packages/ae/c5/693cbe59e57db94d2231fa519ca3978dc9e19da5a8f088588f5c6e947ff2/numpy-2.4.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c1a2af6c6ef86344a6b0db6b97834208bf598db514f2b155042439b62605601a", size = 17020706, upload-time = "2026-05-18T23:34:13.053Z" }, + { url = "https://files.pythonhosted.org/packages/ef/fc/85b7c4eff9b4966ade25c2273cf7e7012e92366c032058653934b37de044/numpy-2.4.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e5805d5a22fd19c8ccff10a9561f9df94436b0545619ea579db2d3c35294bce2", size = 18368541, upload-time = "2026-05-18T23:34:17.024Z" }, + { url = "https://files.pythonhosted.org/packages/f6/81/e1b27545deedce7f4a0b348618c6b62d74e36a4dc9ccd42f3eb2f85eee32/numpy-2.4.6-cp312-cp312-win32.whl", hash = "sha256:e3eeb0aabd6bd5ce64faae67e9935203a6991b4bc2a485a767fbafb2c5125f45", size = 5962825, upload-time = "2026-05-18T23:34:20.3Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ca/feab00bd44aa5fe1ad2c18f08b4d3bb92e26484b0b1d1443897809ed528c/numpy-2.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:d8e8286dd7cea7895157318d1b91cdacac64c479f3cbc8dce548331728484751", size = 12321687, upload-time = "2026-05-18T23:34:23.095Z" }, + { url = "https://files.pythonhosted.org/packages/63/cf/5a6d34850a39d1093558564f77ee8e8e0bee5061151b8f05a55711001ec7/numpy-2.4.6-cp312-cp312-win_arm64.whl", hash = "sha256:4081eb135ac24158bd51cdfbef16f1c64df7063b1143f24731387137c092bec8", size = 10221482, upload-time = "2026-05-18T23:34:25.876Z" }, + { url = "https://files.pythonhosted.org/packages/fb/82/bdab26d7438c6791ca31b7c024ca37c1eab8b726ba236129005cd4a06e45/numpy-2.4.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:511dbaf848decaaaf4b4ca48032619fb3138710c4bf7da7617765edad1ef96b0", size = 16684648, upload-time = "2026-05-18T23:34:29.41Z" }, + { url = "https://files.pythonhosted.org/packages/1b/30/a80189bcc7f5e4258b3fbc3968d909d1756f54d023299ecc39ad6fdb9ef8/numpy-2.4.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bf162abab1c1a736333192707cef898e735a5ca00f38f27eeedf44b39d9e85eb", size = 14693902, upload-time = "2026-05-18T23:34:33.013Z" }, + { url = "https://files.pythonhosted.org/packages/97/12/70b5d0d7c15e1ebb8a6a84a8caa1d19e181d84fb58bb6d70aca29099dec1/numpy-2.4.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:043191bfa8eab18c776647b62723ac9dddece59743b13f49b2016094129c2b3f", size = 5198992, upload-time = "2026-05-18T23:34:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8c/ebd2a8f8a83541f8d38cc5667e8c2b69cecfd30da6e45693e8158857d44b/numpy-2.4.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:6180d8b35af935aed8ece3a85e0a43f87393ae0ac87c8d2c8bd2c993f7270ef3", size = 6546944, upload-time = "2026-05-18T23:34:38.484Z" }, + { url = "https://files.pythonhosted.org/packages/bb/c5/7b863a97a91671a0338f4253bd3b5a3d3852f0692dae91711c9f4a10e787/numpy-2.4.6-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72fbe16c6fac95aedf5937fa873445cec2110be35d8a4e9433d7501fd98dae6b", size = 15669392, upload-time = "2026-05-18T23:34:41.257Z" }, + { url = "https://files.pythonhosted.org/packages/a5/9d/3584b9984ca4c047aea75214ce1a4c4c73d849bd71b604264b7f5653f8a8/numpy-2.4.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7830bab239b79cda9c08c2da014761cafb48da6150e1da17ac06283f43b6089", size = 16633220, upload-time = "2026-05-18T23:34:45.075Z" }, + { url = "https://files.pythonhosted.org/packages/05/ae/7c67fba23bd98caec7c99261f3a16072ade14813486b0282cb29846de832/numpy-2.4.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ef4aea96ce4d3b074422cb4f2f64e216bf9e213004bb58ecfdf50ea02ea8eb9a", size = 17020800, upload-time = "2026-05-18T23:34:49.065Z" }, + { url = "https://files.pythonhosted.org/packages/d9/5d/3b6725cb31d983c5e66916f5d36f6d7e5521129e4c4404d64f918292a5b6/numpy-2.4.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:dfa20cc6ca228e6b155b11da03825975ce66aea520985dbbddf0f2a5a495c605", size = 18357600, upload-time = "2026-05-18T23:34:52.709Z" }, + { url = "https://files.pythonhosted.org/packages/f7/da/2ccc6c2fe8898dee01d90c75c5f5f914a23daf99e3e0f59516a08760c8b5/numpy-2.4.6-cp313-cp313-win32.whl", hash = "sha256:56b39e5e0622a09a25bf5baf62f4bcf0cb8a41ae6e2819cf49bbc5a74c083f91", size = 5961134, upload-time = "2026-05-18T23:34:55.618Z" }, + { url = "https://files.pythonhosted.org/packages/b5/cd/9cc4dc876fb065d5c220aae4d5e14826b2715331bb7618ce1fb07a679d99/numpy-2.4.6-cp313-cp313-win_amd64.whl", hash = "sha256:c4fc99836233ea196540b17ab0983aff60ed07941751930f5f4d05bc3b3b7359", size = 12318598, upload-time = "2026-05-18T23:34:58.928Z" }, + { url = "https://files.pythonhosted.org/packages/39/1e/c0bcba1f8694116485fe28fd1be698c278fcda4141c5b0e53a2aed8b12a8/numpy-2.4.6-cp313-cp313-win_arm64.whl", hash = "sha256:a7c711e21628b52034bb5ab8d1bce291f752fcc5e92accc615778acee1ff4778", size = 10222272, upload-time = "2026-05-18T23:35:02.167Z" }, + { url = "https://files.pythonhosted.org/packages/63/6d/cc5619247c8f4204e507f5883528372e4ac4bb189e579fb859a12e480b1f/numpy-2.4.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:112b06a867b235ef466ed3508ddf0238050df9c727cafb5301ac385b899189a1", size = 14821197, upload-time = "2026-05-18T23:35:05.468Z" }, + { url = "https://files.pythonhosted.org/packages/00/58/f1c39161c87d9e9bed660f1ed4bafc0e403d5ec9650b6dd77aead07d489b/numpy-2.4.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:eaf7fa2de5c0be8ae6ff8e9bea2ccd725e980541244521d8d4b5f3354a27babe", size = 5326287, upload-time = "2026-05-18T23:35:08.693Z" }, + { url = "https://files.pythonhosted.org/packages/af/57/3917ab0fd97f271a8694513581b8a36c655f111c446852c302f04ccdb6fc/numpy-2.4.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:7265a2f3d436e54ef9f2b52b5c937e6be778781bd97a590319d7348f1c1ca997", size = 6646763, upload-time = "2026-05-18T23:35:11.459Z" }, + { url = "https://files.pythonhosted.org/packages/eb/0f/037e64c494b67581ae18193d770adef354c41f3f2c8ebf865602d949bf8f/numpy-2.4.6-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f74a575920ab21fe304421a3fc28793d82e299cae9eccb37084e9fc7f3617c20", size = 15728070, upload-time = "2026-05-18T23:35:14.79Z" }, + { url = "https://files.pythonhosted.org/packages/21/a6/5d2bae9c9542eb4df16dc9c46dc79c186e9bad53805dfa5399a6023c6db0/numpy-2.4.6-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ede83e07a75dd06bc501566c1eca2afc0d61677c1472ac9ad93fdee6e638a48d", size = 16681752, upload-time = "2026-05-18T23:35:18.836Z" }, + { url = "https://files.pythonhosted.org/packages/92/14/23d1dfb410ae362cd59ce53e936b1513d545eb40db3949ced632e19a459e/numpy-2.4.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:68bb27509ac1b9a3443094260f6326150663b06abe40b73a2f81160623da5b67", size = 17086024, upload-time = "2026-05-18T23:35:22.52Z" }, + { url = "https://files.pythonhosted.org/packages/4b/6e/23595a2c642cdf3bc567877064bdd7f91c8b0038a4453cf2daf7248eafe9/numpy-2.4.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a0df0043bdb289bde1f62da130d20df23d58b45429f752bc7a8fc5325a225ecd", size = 18403398, upload-time = "2026-05-18T23:35:26.398Z" }, + { url = "https://files.pythonhosted.org/packages/8a/90/0ac3bc947217e66dec77e7cbc6a1979d1af70b6461b82f620d3bccd5e4c8/numpy-2.4.6-cp313-cp313t-win32.whl", hash = "sha256:29a287e0cf63ff528da061de6b9f64a4618da591ca1046aafc54062e40ca7eab", size = 6084971, upload-time = "2026-05-18T23:35:29.387Z" }, + { url = "https://files.pythonhosted.org/packages/77/71/5673e351671a1d2bd6063b91b44f70c0affea7d1516fa7a6572941ba4aa1/numpy-2.4.6-cp313-cp313t-win_amd64.whl", hash = "sha256:25c692919ac5a01f170a3bfcd62d745b24fd095c353d50812637d6fcab442e75", size = 12458532, upload-time = "2026-05-18T23:35:32.175Z" }, + { url = "https://files.pythonhosted.org/packages/3f/88/19d3503c5046e688f049274b27a3ef3d771152fa80d3ba3d01a3dff61abe/numpy-2.4.6-cp313-cp313t-win_arm64.whl", hash = "sha256:1e978ec1e8bd0e0e4de6bb75de9d30cbb74db6b6a2bb727618613703ca0167dd", size = 10291881, upload-time = "2026-05-18T23:35:35.465Z" }, + { url = "https://files.pythonhosted.org/packages/f8/91/3ab2044d05fd16d343c5ac2e69b127f1b2854040dd20b193257c78028bd3/numpy-2.4.6-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:06ca2f61ec4385a07a6977c55ba998a4466c123642b4a32694d3128fce18c079", size = 16683458, upload-time = "2026-05-18T23:35:38.353Z" }, + { url = "https://files.pythonhosted.org/packages/8e/62/764ce66fa4147ae6d73071a3abf804ffe606f174618697c571acdf26a7c9/numpy-2.4.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:38efbc8de75c7a0fc1ac190162d892787f3f47b57cc291231aafee36b80982b7", size = 14704559, upload-time = "2026-05-18T23:35:42.14Z" }, + { url = "https://files.pythonhosted.org/packages/60/61/23f27c172f022e04025b7dc2367f4d63c1a398120607ec896228649a6f48/numpy-2.4.6-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:d581b735e177fdcdce6fed8e7e8880a3fb6ee4e3653a3ac6af01c6f4c03effc5", size = 5209716, upload-time = "2026-05-18T23:35:45.377Z" }, + { url = "https://files.pythonhosted.org/packages/03/71/21cf70dc6ea3e3acb95fc53a265b2fc248b981f0194ceb5b475271b8809d/numpy-2.4.6-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:0a041d3d761dc3c35cc56ce0351506a02bcbc25f7b169f652435141a17db9096", size = 6543947, upload-time = "2026-05-18T23:35:47.926Z" }, + { url = "https://files.pythonhosted.org/packages/d5/91/64288395ee1799bd2e0b04a305dce9666da90c961e1f3fe982a05ee1c036/numpy-2.4.6-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40fdc1ae7125e518ea98e53e69a4ebc27e1fd50510c47b7ea130cf21e5e1d42b", size = 15685197, upload-time = "2026-05-18T23:35:50.863Z" }, + { url = "https://files.pythonhosted.org/packages/f3/eb/ebffaa97dc55502df69584a8f0dcf07f69a3e0b3e2323670a2722db9aa39/numpy-2.4.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a2c306dea656c12c68f51f4cea133cbe78ca7435eb28c735eac1d3ebe73be6e8", size = 16638245, upload-time = "2026-05-18T23:35:54.752Z" }, + { url = "https://files.pythonhosted.org/packages/b8/0b/54f9da33128d7e350fab89c7455902eeae70349ee52bddb448dc4a576f45/numpy-2.4.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:33111801a01c12a8a1e3721f0a9232f8cfc8ae2c6b7098167e6f623c6073f402", size = 17036587, upload-time = "2026-05-18T23:35:58.355Z" }, + { url = "https://files.pythonhosted.org/packages/b6/f0/fdebc1052db1cc37c64beb22072d67cd6d1c71adca1299f53dec2b5e20d3/numpy-2.4.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ae506e6902902557576a26ff33eda8695e7ecb3cb36c3b573a0765dee114ebdb", size = 18363226, upload-time = "2026-05-18T23:36:02.845Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b4/298628d98c72b57e57f7165ae6a481a1deaf6f3c28262a6e4c739c275930/numpy-2.4.6-cp314-cp314-win32.whl", hash = "sha256:aaf159caa35993cb1f56fb9b8e4610d35758e7ca005412eb1daa856a78c9c4b1", size = 6010196, upload-time = "2026-05-18T23:36:05.92Z" }, + { url = "https://files.pythonhosted.org/packages/df/ac/46de6dda46478f7942f839e094970be2d4a861e005c4b3bf07c92e291a09/numpy-2.4.6-cp314-cp314-win_amd64.whl", hash = "sha256:b507f5c4c1d508876d1819b6bf9a49d365b96320b5d4993426b33a23ca4b8261", size = 12450334, upload-time = "2026-05-18T23:36:09.107Z" }, + { url = "https://files.pythonhosted.org/packages/78/92/b8b798ac784102c0da830d2257d59358e3d3d90d1e2b3f2575dad976c5cf/numpy-2.4.6-cp314-cp314-win_arm64.whl", hash = "sha256:6f41ae150c4e32db4f3310cdaf64b1593a03dbabe29eec77fc9b50fe64061df6", size = 10495678, upload-time = "2026-05-18T23:36:12.766Z" }, + { url = "https://files.pythonhosted.org/packages/30/34/ec28d1aa8115971537c01469ab2011ee96827930f0a124de1000cc2a7ed7/numpy-2.4.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ece3d2cfe132e7d51f44a832b303895e6f2d499c5e74dfbdb06ee246147a304a", size = 14823672, upload-time = "2026-05-18T23:36:16.473Z" }, + { url = "https://files.pythonhosted.org/packages/16/bd/f6d1fede4e54e8042a7ff97bb495510f3c220f94bcd9e8b228e87c92cc0d/numpy-2.4.6-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:e3e5193ef5a3dc73bceee50f7fdc2c90dbb76c42df8d8fae3d1067a583df579e", size = 5328731, upload-time = "2026-05-18T23:36:19.767Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f0/e105b9e2fd728a9910103884decd6951d9dd73896b914a98d9a231de02ee/numpy-2.4.6-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:17f9ade344e7d9b464a084d69bcf18fc691cb1db67c62ed80820bf4926d78f0e", size = 6649805, upload-time = "2026-05-18T23:36:22.266Z" }, + { url = "https://files.pythonhosted.org/packages/82/dd/1206a7ca6ab15e3f02069707ca96222e202af681bb73756da7527f3cb837/numpy-2.4.6-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cd5ffd25db4e7ba6a375693b3fc0fc1791ec636c17db3720da19bde7180ec43", size = 15730496, upload-time = "2026-05-18T23:36:25.713Z" }, + { url = "https://files.pythonhosted.org/packages/51/e7/38d3ea825dcab85a591734decb2f6c67caa7c8367d374df1a1c3842f9b07/numpy-2.4.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7d92c3819208a60205a12a245c91ad70cb0a85336659b19b834205573ac8456e", size = 16679616, upload-time = "2026-05-18T23:36:29.652Z" }, + { url = "https://files.pythonhosted.org/packages/93/b7/caabfdf53edf663e0b4eb74d7d405d83baef09eb5e83bcd32d601d72b93e/numpy-2.4.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e85b752a1e912b70eaad4fafbd4d1238007ab221de2009b9a2f5ae7461239895", size = 17085145, upload-time = "2026-05-18T23:36:33.449Z" }, + { url = "https://files.pythonhosted.org/packages/f9/45/68d7c33a6bcf3e5aa3bdbd57a367e6f615286dfd6482f97e8ffeb734306e/numpy-2.4.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:29cb7f67d10b479ff07c17d33e39f78c07f71c40ef30d63c153d340e96cd3fb4", size = 18403813, upload-time = "2026-05-18T23:36:37.369Z" }, + { url = "https://files.pythonhosted.org/packages/9c/50/0753655aa844c99cd9e018aacf76f130f1bd81d881bb74bc0aef5d73a8ba/numpy-2.4.6-cp314-cp314t-win32.whl", hash = "sha256:260a5d70215b61ab4fadf5c7baacd64821842975eea312125ed3c39a6391b063", size = 6156982, upload-time = "2026-05-18T23:36:40.817Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d4/7c67becf668f973cb490cec3e98dfd799d866f9c989a54d355672cfa0db6/numpy-2.4.6-cp314-cp314t-win_amd64.whl", hash = "sha256:81a1cca95ed5bb92aa8b10dd2cdc9a0d3853a50fad926c28b5d7e8ea54389627", size = 12638908, upload-time = "2026-05-18T23:36:43.996Z" }, + { url = "https://files.pythonhosted.org/packages/43/bb/e1c71a4295b1b1d1393d50dbb4f2a36283c6859d9d3892e84f00ec5a91d5/numpy-2.4.6-cp314-cp314t-win_arm64.whl", hash = "sha256:0c9136e14ed34a9e343a31c533d78a9813a69a3148332bce5e9821cb2f996e66", size = 10565867, upload-time = "2026-05-18T23:36:47.114Z" }, + { url = "https://files.pythonhosted.org/packages/de/12/b422cc84439adc0d00de605bf4a308890ae5c26f2c71fbd73e5d08fbb0dd/numpy-2.4.6-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:55cced7c52e981362f708ad635198e97a752dfba412cc03c23bbf3bd8d5cd662", size = 16847511, upload-time = "2026-05-18T23:36:50.673Z" }, + { url = "https://files.pythonhosted.org/packages/44/53/f481bef68011740f8849418d82db07230e825013f31f4eef5ba5b805316a/numpy-2.4.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d6da64deb6b8ed903e7560180a92f2d804ee1ba5eeb849ac2748b8c1aba1f6d7", size = 14889064, upload-time = "2026-05-18T23:36:53.879Z" }, + { url = "https://files.pythonhosted.org/packages/7f/57/42ed575c10ced8af951d426bc4e1f8aff16fd851db33f067036215a7f860/numpy-2.4.6-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:68a5124b13fa6cc2086764a20005d30bc0548146f7f5322f02fce212ca14317f", size = 5394157, upload-time = "2026-05-18T23:36:57.194Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ef/f66cc724fcc36c1e364c67f51ae9146090b8b584f27d58b97fdae3edd737/numpy-2.4.6-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:948424b06129ce883307e8cff868c31396d8dc7630a59c61d70d98dbe70f222c", size = 6708728, upload-time = "2026-05-18T23:36:59.575Z" }, + { url = "https://files.pythonhosted.org/packages/1a/9c/c531f2293b91265d8b48e9b329f54fdd7ffae73cb4134ea10cca4237e9cc/numpy-2.4.6-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbbdb29840ca3d91ee0fece42fc29278886d908280bfec0a5846c6f901a3eb0", size = 15798374, upload-time = "2026-05-18T23:37:02.674Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b0/413077f6b1153ed3cba361401c6783bbad6114804a000cc22eb71c13e190/numpy-2.4.6-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8ad03c0965fb3c692200e74d458ca28c1dbb4ce96f9a479a8aa041ad5fabca02", size = 16747286, upload-time = "2026-05-18T23:37:06.327Z" }, + { url = "https://files.pythonhosted.org/packages/15/ce/e5ec180bc41812edcd8daeb8639d205622c0e8c02259d8ab25a0201b3c2a/numpy-2.4.6-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:2803abfebfc990042cd494d8ce2d5f82e9d847af6d35ec486923aa19dbad5e73", size = 12504263, upload-time = "2026-05-18T23:37:09.715Z" }, +] + +[[package]] +name = "numpy" +version = "2.5.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "(python_full_version >= '3.14' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.14' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "(python_full_version == '3.13.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.13.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "(python_full_version == '3.12.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", +] +sdist = { url = "https://files.pythonhosted.org/packages/13/01/11703282db468b85f6f7b8c7f22d058de5970d5c7e60a3a8aaa313c3de36/numpy-2.5.3.tar.gz", hash = "sha256:df2d5874ff183595a4ba404edd04f6bd9b5505c1d7708573f6a6c17489a67563", size = 20791231, upload-time = "2026-09-06T16:27:47.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/50/8fdbb16af64895706a45f06a4068e29db732ec180f3c1375f14123359138/numpy-2.5.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cb189f09db39283b26bfd061ec16189e14f71c6755207f72a0f7540867afe5b9", size = 16994982, upload-time = "2026-09-06T16:24:29.244Z" }, + { url = "https://files.pythonhosted.org/packages/60/39/789131c1188c078dcb3a1692e72e1e050c68b88ffe72c9ccaac9bcd7a9cd/numpy-2.5.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f59a878c33d6b88122d80d239bb3b845d58708750b0cb06a09aebb9b18ec696c", size = 12009327, upload-time = "2026-09-06T16:24:32.491Z" }, + { url = "https://files.pythonhosted.org/packages/9c/59/a312e95696e5f601914dd8b6dd844692ba61670807417e24b68e337b5c70/numpy-2.5.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:a72f874bc9e10e4b8f80426fb49716d5141f64442a0c8418065093ec8017fbb0", size = 5445405, upload-time = "2026-09-06T16:24:35.071Z" }, + { url = "https://files.pythonhosted.org/packages/30/d0/5623a1707ed4fe16e3909fe3cf5ee3da004ae677ad23d83bbf3adf1a6faf/numpy-2.5.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:fc36dc566135b5eceec4cf89758fcb719266a019ef07dae1754ae7c9f617ef3e", size = 6783213, upload-time = "2026-09-06T16:24:37.253Z" }, + { url = "https://files.pythonhosted.org/packages/f1/32/84146fc020ad3c25f805f70ab60da46fe3c540a21369754a7e4369754b6f/numpy-2.5.3-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:76c2c1e6bfa5c84adc6434dfbf013aa92096a7985221762c8f11fedfd20fff58", size = 15687872, upload-time = "2026-09-06T16:24:39.751Z" }, + { url = "https://files.pythonhosted.org/packages/65/af/aa78d1a88805456e212b65461354cd943197fb9acecc4c90fd12295123a3/numpy-2.5.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7e18c623bb5c95acb3b3328861272816ba199fb531921c5d6d0b675f1fde9e3", size = 16717410, upload-time = "2026-09-06T16:24:42.745Z" }, + { url = "https://files.pythonhosted.org/packages/3b/24/faa79d865e69a97ba17473b23a1b74094b2259c03e820c70297293b9ea49/numpy-2.5.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4f8929ee6c96bfbd7b4ed2032e0c03af86fe1826740ab61ddabf9072d06e57ff", size = 17040975, upload-time = "2026-09-06T16:24:45.961Z" }, + { url = "https://files.pythonhosted.org/packages/62/4a/8877e629445a7176297dffcaf9c485faa96a95d81728a62521ad55bd4c0f/numpy-2.5.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b5d93cf48f687479941d12b69c873ad2cc76bbd487f0091c2200636497f34034", size = 18476479, upload-time = "2026-09-06T16:24:49.35Z" }, + { url = "https://files.pythonhosted.org/packages/c8/db/35e1c2d38b04cbd5b731f9d71495e055e813197669d22b612f11748d2ff9/numpy-2.5.3-cp312-cp312-win32.whl", hash = "sha256:bf63afbe037eb5d2fe87fbcc7778e61da53ebaf21d938a4515aa73b62532a5d4", size = 6133378, upload-time = "2026-09-06T16:24:51.915Z" }, + { url = "https://files.pythonhosted.org/packages/3c/a1/accf6d4f0c80c5d9ba9735d6b1550e444180599f34dec69ca01360f717ad/numpy-2.5.3-cp312-cp312-win_amd64.whl", hash = "sha256:0a59a421a32580a009e8a1751345bf829631b990dc1794b80514ab722b435def", size = 12567828, upload-time = "2026-09-06T16:24:54.255Z" }, + { url = "https://files.pythonhosted.org/packages/22/43/1764aff32e4652526ae2f71fa8b3efd8d25c8a3d6926914454e47138ed1e/numpy-2.5.3-cp312-cp312-win_arm64.whl", hash = "sha256:ccb32e0525d29e8b0572eb84c9a57af0e7a4e615726927506f55063c62414034", size = 10485432, upload-time = "2026-09-06T16:24:57.278Z" }, + { url = "https://files.pythonhosted.org/packages/79/e5/8fb89cd46d14e35699d13bf943a5f5f441ecee8667120a1f6105ab89e349/numpy-2.5.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:66a78fe4556c60aceda5916f9eacd638b18e9e681016ec302dcb4682d6d4d034", size = 16991061, upload-time = "2026-09-06T16:25:00.411Z" }, + { url = "https://files.pythonhosted.org/packages/2f/06/9dc9e48b5e5e941c8b10350c5ff2d721da42a20517d911d15544246775ff/numpy-2.5.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92f30e89b8ee0ecf363033576c422b2f58fed6a80bed0aa48dff6d14c654663e", size = 12003676, upload-time = "2026-09-06T16:25:03.475Z" }, + { url = "https://files.pythonhosted.org/packages/ab/2a/98282aa5b8f58b1157d440bb6282eed47e3632a5de53a714fbab17e659fe/numpy-2.5.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f9a2353b37a1a9e78fd82b27ad7e2a32a2d036604d18f02b05e3136c62ca3b09", size = 5439695, upload-time = "2026-09-06T16:25:05.978Z" }, + { url = "https://files.pythonhosted.org/packages/a1/f9/b6533d777be9d6ffd29dc1be0867e563e6e8cc9a220ff1b716adc317f060/numpy-2.5.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:ccbc4665079665c3cf3bab4db9f6b095370cd6437d66be549b6c2a1fd19e1958", size = 6779395, upload-time = "2026-09-06T16:25:08.599Z" }, + { url = "https://files.pythonhosted.org/packages/73/85/735720d04ec197c5dcfacdfc9922667c7f1f5f496a279b7ba4d7c74c4cc7/numpy-2.5.3-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c76d5dde9f445058f83d0c02af00557a4db91de9a9a57c0df87d1535001d654b", size = 15681750, upload-time = "2026-09-06T16:25:11.173Z" }, + { url = "https://files.pythonhosted.org/packages/3a/1b/3b16a9bc514a440a7a0883684111dcb1ef1aee960af2ca95da8fc775f124/numpy-2.5.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a5fa86b80fd24bcd1aff83ad23be44ea323de3f787be8f8b15d4a65621e25321", size = 16708577, upload-time = "2026-09-06T16:25:14.171Z" }, + { url = "https://files.pythonhosted.org/packages/69/c4/386f397831b07328b639c96c5b62719346cf4baf07c68d927239752b1534/numpy-2.5.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd4cb9ad3c7889b9b3fe0a9a9fb5d2ed26f9879bff2608d9f01aed147a20d231", size = 17042047, upload-time = "2026-09-06T16:25:17.582Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3e/a700ecbf36e85ae8328fd3b0e12eeddc22ed6358a64cb2bd913e0d195d65/numpy-2.5.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1302b90c0e52281681b2975adfe8a860cb7b12216a27b4b0b4207c44bf7bccf0", size = 18465724, upload-time = "2026-09-06T16:25:20.949Z" }, + { url = "https://files.pythonhosted.org/packages/41/ee/38e785e88a4045f6ad1d1f2808dcdfafdca48c760260c0587bf171e29fc9/numpy-2.5.3-cp313-cp313-win32.whl", hash = "sha256:1c80eabb4035ecf4ca9cd49cde8a9fdd69a729e63e6474887d1523ade7aa277f", size = 6129003, upload-time = "2026-09-06T16:25:23.664Z" }, + { url = "https://files.pythonhosted.org/packages/f3/ec/100f2b1794ede74a9b3d7ec6b9736927f56713414c1dfe19ab6c383494bf/numpy-2.5.3-cp313-cp313-win_amd64.whl", hash = "sha256:71cad2b2a7451ab79d8f5e71b453485b6775963d5cf794179144a7463fe6e8ec", size = 12560965, upload-time = "2026-09-06T16:25:26.602Z" }, + { url = "https://files.pythonhosted.org/packages/80/b1/7dc825ca94c12acebbce4c37caa5e198695eb31424bc579679f32b1bb49d/numpy-2.5.3-cp313-cp313-win_arm64.whl", hash = "sha256:8e4dd766076855b5ff7ea52fa5f07ce26286726e0f8bff446b7739d02e6ea204", size = 10482343, upload-time = "2026-09-06T16:25:29.772Z" }, + { url = "https://files.pythonhosted.org/packages/70/78/cf416f15dc29375a229d9dfebf8db6e313f291580b39fa1a568b6052bb07/numpy-2.5.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:350ba9783ce969cf9f7ce6e6a9a58e1a6e2a19ca025b7ee448c4db727706212a", size = 16998686, upload-time = "2026-09-06T16:25:33.171Z" }, + { url = "https://files.pythonhosted.org/packages/9e/59/abcc2d8def4fd60eec7d87f92d27c13448ffd9ab14339bcc63a0d7a2fdea/numpy-2.5.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:012e66aca395d795496446e52aeeb5866312a5d4d3f27da270e5a0b43f70dc5c", size = 12013862, upload-time = "2026-09-06T16:25:36.748Z" }, + { url = "https://files.pythonhosted.org/packages/94/75/4640d2d6e4b64a049e48425a82728a41ef4adb61332d2cba68055774878b/numpy-2.5.3-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:adc1ada2662f8a5f960b8a10d9986897e7499ef07e06d4cfe7197f8cce923c07", size = 5449793, upload-time = "2026-09-06T16:25:39.476Z" }, + { url = "https://files.pythonhosted.org/packages/96/cd/625b57ae33d4ca560f32cc0b47b4a5922146d9beb998ddf773900d440a73/numpy-2.5.3-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:54a115e5a73b8fc44f0cebef486365a1894b5c9760685d4558b72b7c3eb846e0", size = 6785176, upload-time = "2026-09-06T16:25:42.069Z" }, + { url = "https://files.pythonhosted.org/packages/9c/72/12918652e7912ef9751e8694c88820fcd1908e0618cb23f5f3caa6004b7b/numpy-2.5.3-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be5a8381859b6da607c84f4f7d6847725f1cf1853ef8a2c9e115b7d58bef47dc", size = 15703377, upload-time = "2026-09-06T16:25:45.135Z" }, + { url = "https://files.pythonhosted.org/packages/45/8f/9beacf79ca7c650688ad0baa80931adb988fe6e6e5d5903c23cc3dbd70eb/numpy-2.5.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b0521d0f4aebb6e06189451025fa17a913287b13c03d5fe05c017333b654ea5b", size = 16711928, upload-time = "2026-09-06T16:25:48.461Z" }, + { url = "https://files.pythonhosted.org/packages/09/8d/41d0a56e1ac4c87495c897a211b1368691b7237aadabec8b3b8f3a74d48f/numpy-2.5.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9deb49575e5b0b94ed72c8a64ec4d033381adc27e9060ae842971f697ba96104", size = 17059507, upload-time = "2026-09-06T16:25:51.873Z" }, + { url = "https://files.pythonhosted.org/packages/08/1e/0dfbc5cc251d54e2af790f254d24ec38637fa97ec7d5d11de7ffed787098/numpy-2.5.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b00eefbcf0f292945c4b4dec2ae845389ef5bcdcd596e6e4328051db5b5ba694", size = 18471002, upload-time = "2026-09-06T16:25:55.233Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2c/dfa40f6991f8185c8c30ffd023dfcbb11888e823cfab9557b920f3bb7bed/numpy-2.5.3-cp314-cp314-win32.whl", hash = "sha256:c2381f82999704f818e2c987a865050e285ec3621262c66d40f5a96c8f899f8e", size = 6180485, upload-time = "2026-09-06T16:25:58.157Z" }, + { url = "https://files.pythonhosted.org/packages/a4/73/d2c08231e4fde7e415501fd02c715d96e98599b2d8384445933944152984/numpy-2.5.3-cp314-cp314-win_amd64.whl", hash = "sha256:2c25dfa72943e4336ddb6b0ee4277b47a0c85bede0807530ec68103bf58e2c10", size = 12698179, upload-time = "2026-09-06T16:26:00.789Z" }, + { url = "https://files.pythonhosted.org/packages/5c/e9/dcdcc9b95cf5f49815055573aee1b11cfbf5299f38a180e437ded050810f/numpy-2.5.3-cp314-cp314-win_arm64.whl", hash = "sha256:15aa985ac73a8db02db7663381aa109510449d3819d37206caed27b33a65a8a6", size = 10769383, upload-time = "2026-09-06T16:26:04.011Z" }, + { url = "https://files.pythonhosted.org/packages/49/c4/af8bc08a7ef4e1529a7c0cf24969accce316b783999802089a581ec99272/numpy-2.5.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ac7bb1c52d445bd4f8f7f97fefe6abc3a084dc4d63df50d79b17fa2b78e89297", size = 12132668, upload-time = "2026-09-06T16:26:07.138Z" }, + { url = "https://files.pythonhosted.org/packages/c5/ae/0f15eb56d4ec5e13c1f7ff04ff407f997d1acbadb45d3e1f2e2645a8f43c/numpy-2.5.3-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:e6ab667ba76450084eb64013762c438ea76d9d29cc676dcd6c2e9892ba37f841", size = 5568580, upload-time = "2026-09-06T16:26:09.828Z" }, + { url = "https://files.pythonhosted.org/packages/23/fb/c72a8f25d4b6e96c354e7ab45ace3b27dc11e5d6a13b6c7d0cd6b08bf112/numpy-2.5.3-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:f7fabeb6cea87d65f3b926de33d03fb016cfdc29314c90974383b5582ae72891", size = 6882634, upload-time = "2026-09-06T16:26:12.524Z" }, + { url = "https://files.pythonhosted.org/packages/07/a9/968c90ed2ab15060c338e8137f1215b5a60756ae07328e0a60d1c6734df4/numpy-2.5.3-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1fb6f8fb9ff0b3a69f52c66ce397b0246583e9f28616231b0e32ca49259a5fa6", size = 15748923, upload-time = "2026-09-06T16:26:15.092Z" }, + { url = "https://files.pythonhosted.org/packages/59/08/9df04103947b95e3b6b1f2ed1a70521f325647a31b82da6a2aae3a485508/numpy-2.5.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93e1f5447e2b1e479d7bd74701e84746b86450cff1fc368b132d195e2b8f8211", size = 16746748, upload-time = "2026-09-06T16:26:18.43Z" }, + { url = "https://files.pythonhosted.org/packages/41/a0/14c8d5fe5b53a334aabb653deb391c0fef49558f491880ea300ed6785224/numpy-2.5.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c00abe94c1a69d75d827dcf1c025b25c8a45d230b3bcd77a9020883a1b047653", size = 17111561, upload-time = "2026-09-06T16:26:22.113Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a6/d7e96e42f01522e154c32489640f16dfc4f6181d165d05fc3bec8c2c4999/numpy-2.5.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:536f963710a4e63934d80ac0dc4f478804a83e9a84b6828018f25d09953ada33", size = 18513945, upload-time = "2026-09-06T16:26:25.401Z" }, + { url = "https://files.pythonhosted.org/packages/25/39/3453afb7119d0449ef11c886874120ff180e2c337760e0e2d88f70f1a945/numpy-2.5.3-cp314-cp314t-win32.whl", hash = "sha256:4c8a6d2ebce6305fd82fbefca827775437147052a976ee7c94b36a0c1b52ac6c", size = 6335421, upload-time = "2026-09-06T16:26:28.175Z" }, + { url = "https://files.pythonhosted.org/packages/99/01/22815d2b19a1a746b1d45205cffebb3fe511a18acb75fba6c88491fc9894/numpy-2.5.3-cp314-cp314t-win_amd64.whl", hash = "sha256:9a37475425b431b4d060f23b4f52cd2f3aef6bc7c654bd760adf0040eec9d435", size = 12896420, upload-time = "2026-09-06T16:26:31.265Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ee/a7cbba67eeaff038dc29ca8b98a88396c8b0cc9c89d4924f4a27a5c9150b/numpy-2.5.3-cp314-cp314t-win_arm64.whl", hash = "sha256:2d8240cb4c16fd831074aa2b2cf9fc54664d826341d61c372245b96a74a49a9a", size = 10857177, upload-time = "2026-09-06T16:26:34.167Z" }, + { url = "https://files.pythonhosted.org/packages/45/56/78194492883ff5eec90423fe56a3a44b154da047d88a6307f629713c584f/numpy-2.5.3-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:a6391fafaba97500887132cd582abc6e19452b1ac775a47caa7b24490e152058", size = 16996531, upload-time = "2026-09-06T16:26:37.287Z" }, + { url = "https://files.pythonhosted.org/packages/11/39/dd55c0af90bbab564b09ae3b0aa60ec5c02b900fa4f1ba23440525c8b32d/numpy-2.5.3-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:09d5a423c71ad5feb5625844ad58050e35df43871004b52ac9c0ad44a56775be", size = 12012569, upload-time = "2026-09-06T16:26:40.707Z" }, + { url = "https://files.pythonhosted.org/packages/b6/51/04f67d32e4862b281b1cb84ceeaed3421189a84fb6fb51a391cd6d5009f7/numpy-2.5.3-cp315-cp315-macosx_14_0_arm64.whl", hash = "sha256:f9579f383d1bf9df80081e72760e84960a7fd4f88cf0c9e535a8597c9bb646f5", size = 5448498, upload-time = "2026-09-06T16:26:43.435Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c9/25b4dc0dd1344ec26c7319e84fd4e9809d2b5628f4e12decd618036e5178/numpy-2.5.3-cp315-cp315-macosx_14_0_x86_64.whl", hash = "sha256:86bff898a431c0fb71f7610b75726e75a54d47b37edc9d537f48de63bb3c0b90", size = 6783026, upload-time = "2026-09-06T16:26:46.374Z" }, + { url = "https://files.pythonhosted.org/packages/fc/c7/29285be1e5232a6e7ee3268a33c85843f5a8ee93350c6465cddd66ebbf76/numpy-2.5.3-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f3ed25271581281f2fccb1adcedfcde4c07362eec69189b50baf6f90e3ae159", size = 15697322, upload-time = "2026-09-06T16:26:49.415Z" }, + { url = "https://files.pythonhosted.org/packages/55/49/bbad5335fb4996a16881f853ff3e0ba582f01720e55c89b1c06b8fc42a90/numpy-2.5.3-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ffdc76bfcae6b255dff75202c5e7feaf95b40246bc0a17944facc1fecf9f79ab", size = 16708995, upload-time = "2026-09-06T16:26:53.127Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e9/1df35483760b04a65ea44669f89dc64f30e5aca098b48ceb8b1310b0e0fe/numpy-2.5.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:116f96cadd935c6122e9228d676fe7ede19e741f5c8bb1c3cddbe0c51ccebea2", size = 17052508, upload-time = "2026-09-06T16:26:56.464Z" }, + { url = "https://files.pythonhosted.org/packages/b8/99/66e54da8265cc8be8a7382bf96edce17aaa2837d6f484432025932a3caa5/numpy-2.5.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:09ffa5d903faeaa5c4dd05009cf81c8bab9f2cb37c548b8d39b65b4cfa7c97f7", size = 18468224, upload-time = "2026-09-06T16:26:59.966Z" }, + { url = "https://files.pythonhosted.org/packages/01/bc/b5e90a91c115168d793dfd2ad9c69c438c2fe7a13a437e770bc5b078e732/numpy-2.5.3-cp315-cp315-win32.whl", hash = "sha256:e01c918ac3d48e18a927cf7b14a26a3e29ff2bdf2eacb976da0aecd6a43ed034", size = 6179919, upload-time = "2026-09-06T16:27:03.166Z" }, + { url = "https://files.pythonhosted.org/packages/37/ea/780748fd3985109075514ef8fc64cd25f943e40dde13a6d59141eb268fc8/numpy-2.5.3-cp315-cp315-win_amd64.whl", hash = "sha256:e931e4f499e0dc7ef29d269a8e5b35dd722e5d14be07df6240166ea7c6532fae", size = 12697656, upload-time = "2026-09-06T16:27:06.153Z" }, + { url = "https://files.pythonhosted.org/packages/b3/16/407be69a2a87c8cab64d95975a8977a426a29e138f07e276ec258f0fe4e5/numpy-2.5.3-cp315-cp315-win_arm64.whl", hash = "sha256:26e15e4aecd8617dfbaecb37d223e365d7b39411fba20454be2670a96aa74cb5", size = 10767601, upload-time = "2026-09-06T16:27:09.297Z" }, + { url = "https://files.pythonhosted.org/packages/44/bf/a97ffb01e41d50a32a9177aef942a4d0e389a3daf451d04e5f38ef6afb87/numpy-2.5.3-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:6cef4bb1706dfec49243c05d921eefb4e190d41e2528b30d8035ea1f36b4c24a", size = 17090092, upload-time = "2026-09-06T16:27:12.907Z" }, + { url = "https://files.pythonhosted.org/packages/d1/24/136c02f2c2af9a067a84d0c3aa10c99012c0476fa5066732fa4a4202557d/numpy-2.5.3-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:d1c89973648c85069c5046ad460f7b8a00218b29a2e42359ac8cc63e9ab94832", size = 12129429, upload-time = "2026-09-06T16:27:16.089Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6c/b47582d6597789bf946d5efbeb6b9e56fd8bcbd5efc6fbf51dbe1ea31eb3/numpy-2.5.3-cp315-cp315t-macosx_14_0_arm64.whl", hash = "sha256:214045a5bf00113a146ab9ee9730c44501af6723cdf1f6830932f7b5ef2e7af0", size = 5565452, upload-time = "2026-09-06T16:27:19.868Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/ef3cc6da73774202d4deae16bb321fd8298a4e0561e3539f8c4be237d916/numpy-2.5.3-cp315-cp315t-macosx_14_0_x86_64.whl", hash = "sha256:8617bbfae4486cf99c9f899966699428d19da931d06ca94ad3da986c76e15997", size = 6876736, upload-time = "2026-09-06T16:27:22.232Z" }, + { url = "https://files.pythonhosted.org/packages/9e/24/e3813329498596cb842703dcacac1741612ed9fb9c4e6a3e0c7e2ebbc597/numpy-2.5.3-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:595d020938c84e320bcf40ad71089e108eac0d377cd018e14a8c094f39e98d85", size = 15745777, upload-time = "2026-09-06T16:27:25.181Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9e/4e7a07fd0776dc2210cdacf2010be8665194d094defc10c419d7dea794cc/numpy-2.5.3-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f24021b9f22bc6301c37b196974a92c1c18dccedb6fef3dd252e95f2d6adbe4", size = 16746949, upload-time = "2026-09-06T16:27:28.576Z" }, + { url = "https://files.pythonhosted.org/packages/91/db/01674c0e20335057813a00c2ebd546ed25bff9ed7914f9bced00f8c55d94/numpy-2.5.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:71b39d9f935b6ec0f8753e3e2afb51e3efba6f2e05b68b32a40754d24bcd4a3c", size = 17108994, upload-time = "2026-09-06T16:27:31.946Z" }, + { url = "https://files.pythonhosted.org/packages/45/7a/584c5e71f8d378e57cac0b033891ed65c683ef90573ba4854e8c28203db0/numpy-2.5.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:6b05c171afb3aa07adbd20abc00aea86fe375beb0fdb9ef780ec5b7f63bab1c0", size = 18512266, upload-time = "2026-09-06T16:27:35.196Z" }, + { url = "https://files.pythonhosted.org/packages/a1/d2/4e1014173aa3c55e6a756e0e567290743a6ab33a288460374d7ef6bcd239/numpy-2.5.3-cp315-cp315t-win32.whl", hash = "sha256:f54660b0eb6b0b9f36e7fe1cdfdff472028dd0d14acd9b9b65098efbad059469", size = 6330292, upload-time = "2026-09-06T16:27:38.149Z" }, + { url = "https://files.pythonhosted.org/packages/6c/b0/ff5658a58199b7bcaad87bf260eef6713d9d42cca4e028f935b4fc5fbac6/numpy-2.5.3-cp315-cp315t-win_amd64.whl", hash = "sha256:1aad64d99730d013cfc6debafed22783b4fc5a7f4b8bc744d2d8cf7dcc880551", size = 12884918, upload-time = "2026-09-06T16:27:40.965Z" }, + { url = "https://files.pythonhosted.org/packages/fb/0b/b12a2df5d1b774bd9007a6fdff9381145b6223d37f11afc9c37ab0efd9a1/numpy-2.5.3-cp315-cp315t-win_arm64.whl", hash = "sha256:befa1ae5bd6030b3f512b43ff3fa5290bbed6b84411a44244b14adf835f5b89d", size = 10850807, upload-time = "2026-09-06T16:27:43.868Z" }, +] + +[[package]] +name = "overrides" +version = "7.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/36/86/b585f53236dec60aba864e050778b25045f857e17f6e5ea0ae95fe80edd2/overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a", size = 22812, upload-time = "2024-01-27T21:01:33.423Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/ab/fc8290c6a4c722e5514d80f62b2dc4c4df1a68a41d1364e625c35990fcf3/overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49", size = 17832, upload-time = "2024-01-27T21:01:31.393Z" }, +] + +[[package]] +name = "packaging" +version = "26.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz", hash = "sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79", size = 313412, upload-time = "2026-08-04T18:15:28.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" }, +] + +[[package]] +name = "pandas" +version = "3.0.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "python-dateutil" }, + { name = "tzdata", marker = "sys_platform == 'emscripten' or sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/be/4f/5f3422a2afec5ffc46308b79e53291365a93748b498ac2e58bead0197916/pandas-3.0.5.tar.gz", hash = "sha256:dca3734d6ab7c906e6730f0788b0a1dbb9f2467731f9711f77995c8e9d62d712", size = 4658219, upload-time = "2026-07-22T22:19:28.819Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/ef/f1fd7431d635bf20015489bf0bd69c17fff1018de773540f651455a3916b/pandas-3.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2946e77e4a53cd248cbde631a12f0e51c8324ce354c3eba4d20147c1ad6f4282", size = 10397178, upload-time = "2026-07-22T22:17:48.274Z" }, + { url = "https://files.pythonhosted.org/packages/31/b4/0eafac990a431561187694126de01f9b12559549b4d86360c0c4bd870fde/pandas-3.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:71ecc8fb7ed1a7aa4392316b5309a6347e8e7f832f38fd897846b3a1457a9298", size = 9990736, upload-time = "2026-07-22T22:17:52.388Z" }, + { url = "https://files.pythonhosted.org/packages/de/21/359880af3ea9b7cb23bea5b51e8e70ef3866c03be09da9a2787e18e330a8/pandas-3.0.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b173f5951ff6b8b0ec7675e20dff3c97b7e7a57dfcce387c2d7c5afe87cb7899", size = 10814438, upload-time = "2026-07-22T22:17:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/d1/50/d6cc4d7e508bbccf5d6027314a8312bc7ac73d0ec7f195f53838daafab40/pandas-3.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2c0cf1dd9b55a22d105fc46c1b489af3bd42264fcba7c66297bf47a9a1d9c78a", size = 11323634, upload-time = "2026-07-22T22:17:56.858Z" }, + { url = "https://files.pythonhosted.org/packages/70/2b/d5f0a8c90dd0ae04e64ba53b871afb796ec026b615086d382ddc2ade729b/pandas-3.0.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0fac0010c75e4efb6b99e249c183a8993ce0dc95c240f9b120a5e67c727b7928", size = 11850860, upload-time = "2026-07-22T22:17:59.1Z" }, + { url = "https://files.pythonhosted.org/packages/5c/30/183aec2e19adf778a98d29b5729a0a68f4cc4ebf9b9c3b70d0297355bcb1/pandas-3.0.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:08d24fe11a17dc33bd6e937dc9c665f9cba08fbdc9f657f405713515febe300d", size = 12411100, upload-time = "2026-07-22T22:18:01.485Z" }, + { url = "https://files.pythonhosted.org/packages/fa/9a/31f4983f191af51ab2a8f2d0c7b33dff3a84da26533f982fff02c2f9e28b/pandas-3.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:b1261758dfb6cf12c3cff8300e21cefad30e7ec709abb4c24ac7318e6a52462a", size = 9968804, upload-time = "2026-07-22T22:18:03.903Z" }, + { url = "https://files.pythonhosted.org/packages/49/97/7886c89a39045c69ad82cbceaf3343810480c8ef49a216319ce8183860a6/pandas-3.0.5-cp311-cp311-win_arm64.whl", hash = "sha256:679f4e85b30ddb1515458ab1e788d3e260eae369b1f78da7a3aa4cac8ebf4a2a", size = 9205447, upload-time = "2026-07-22T22:18:06.134Z" }, + { url = "https://files.pythonhosted.org/packages/1c/54/1dc810ea558d1320b597aa140a514f2fdf1d2ea09c38cf556f13ea712ec9/pandas-3.0.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa290c16964d4963fbfbc358928239cf3bd755b20e988ce944877def2f44471d", size = 10411717, upload-time = "2026-07-22T22:18:08.307Z" }, + { url = "https://files.pythonhosted.org/packages/68/56/fbe81c09195924d8b7b8d4461a20458fe80a6a5ed6b24f0314da684277e1/pandas-3.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c2e26bb46934b8a2ca0c3de1d3d606fc5f6746584791b2db264d58cf370e08dc", size = 9957095, upload-time = "2026-07-22T22:18:10.6Z" }, + { url = "https://files.pythonhosted.org/packages/e0/51/fac252f4a913ed5eabf3c11b880a9e8d5a6c10f0b2129d0462212d238b4d/pandas-3.0.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:73fa87b08a7ef706f8aafda39ddaccf2a99047bea62d8c88a0361bcafb2237bc", size = 10485458, upload-time = "2026-07-22T22:18:12.834Z" }, + { url = "https://files.pythonhosted.org/packages/12/98/e976540c1addf70442be7842a18cf70884a964abbf69442504f4d2939989/pandas-3.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d373ce03ffd84010ed9839fa73672a9c8256990532e158440c0085db7d914b34", size = 10998091, upload-time = "2026-07-22T22:18:15.209Z" }, + { url = "https://files.pythonhosted.org/packages/a4/8c/1f29b5be8d3fc47dd7567eb167fabba2085879b31e0287ce7cba6d3d2ff4/pandas-3.0.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2a29c53d85ea98c5e792c59ef82ee9fbe6ca902c0d0adb6b23f45ef894cd7bf6", size = 11499501, upload-time = "2026-07-22T22:18:17.689Z" }, + { url = "https://files.pythonhosted.org/packages/9d/e2/bd9c98ad2df7b38bde002adde4cdf353519da51881634323b126c55997f9/pandas-3.0.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a5ad3b02ed6bc7d7ae9b70804b2c6aa31827489d150f8e623ce82491b82085d7", size = 12060559, upload-time = "2026-07-22T22:18:20.147Z" }, + { url = "https://files.pythonhosted.org/packages/f3/9a/ffbd852d58bd74a617fe2f8ee6a58a96982271ce41cf981eab22190b4a4b/pandas-3.0.5-cp312-cp312-pyemscripten_2024_0_wasm32.whl", hash = "sha256:b2acb4650527eec6822c3dadb2b771277b65e7dae7a267d4bccf65fd1bb3fbce", size = 7197652, upload-time = "2026-07-22T22:18:22.502Z" }, + { url = "https://files.pythonhosted.org/packages/70/b5/d2d3e9ae73362ba4229651b0ee1455cf78073a1ce585f6ff693782ce263e/pandas-3.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:80a611068e8a3ac23f7398c6c14eb46dc974e5cc9997f653e2dcfd1da74edd41", size = 9831691, upload-time = "2026-07-22T22:18:24.534Z" }, + { url = "https://files.pythonhosted.org/packages/52/51/dea1e89d6a6796b9c43f85a09b484ee03edb8a4c4842e73e200a8c11301c/pandas-3.0.5-cp312-cp312-win_arm64.whl", hash = "sha256:25ff585b972a18ef1fe9ffa3ac6544d9950508aa76832e5147640b6022821e49", size = 9105796, upload-time = "2026-07-22T22:18:27.064Z" }, + { url = "https://files.pythonhosted.org/packages/bf/09/7b95c4a0025227d6f118c4039b423412ac6a982db02864166185d812fbc7/pandas-3.0.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c1c05a767fe8e5b4fe9e1c29806829c582052eaedb9120a3da83ba3f69e24a5b", size = 10385742, upload-time = "2026-07-22T22:18:29.346Z" }, + { url = "https://files.pythonhosted.org/packages/8d/0c/dc78fd8c4da477b4b5e8ad37295af352190d21ef63a9ee1bc071753074cc/pandas-3.0.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b86765f268b56f7e665b93bce9d5df69dee7f99e595cf8fb839483ab315942a3", size = 9932067, upload-time = "2026-07-22T22:18:31.833Z" }, + { url = "https://files.pythonhosted.org/packages/3e/71/3592c055cf44df9808550f9368ceda80ff2b224d355ef73fe251dcda1802/pandas-3.0.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c597ecf5616b5c420372c1d4d4c00dbbfba7398bea857dcc984347e1ea48417b", size = 10466756, upload-time = "2026-07-22T22:18:34.195Z" }, + { url = "https://files.pythonhosted.org/packages/e3/70/4363150359f95b4cb4bcbb34ca23572bb5495749a621a8f3d5a1ddfd293c/pandas-3.0.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4b11c36e218331d0387cbe3a0a5f75162357a1d92d57b2b08a336ff94b19b2be", size = 10938525, upload-time = "2026-07-22T22:18:36.81Z" }, + { url = "https://files.pythonhosted.org/packages/f7/d0/317e7a0c67c0e69fa905a0161409397a7dc2d46ff611f6ca4803352c042b/pandas-3.0.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cf52e1f61d229496da17dc7ab54acdee627357e7008fd4fecba3d0ba2937fa58", size = 11489303, upload-time = "2026-07-22T22:18:39.287Z" }, + { url = "https://files.pythonhosted.org/packages/f1/8d/36dade89b49e4f9d5cbdbe863772581f98c0c6d78fc39ad4c557f6f2e17e/pandas-3.0.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:db172144bb56422bd157812f3b021eacc255451470b31e2c633c349490a1cfee", size = 11989004, upload-time = "2026-07-22T22:18:42.208Z" }, + { url = "https://files.pythonhosted.org/packages/9c/ba/18c4ec8a746e177da05a9e7a7963781d8ea195780724f854601b6ebd6b78/pandas-3.0.5-cp313-cp313-win_amd64.whl", hash = "sha256:0d298e951f23016ce4699951d044ae6418dbc91bf68cefca0f77666fcbb4e5c6", size = 9826896, upload-time = "2026-07-22T22:18:44.539Z" }, + { url = "https://files.pythonhosted.org/packages/de/ec/28a57266b753799a87b8bc79e7887ac6fd981b8c6d2978a0b7e7b6bd708c/pandas-3.0.5-cp313-cp313-win_arm64.whl", hash = "sha256:66266d3442a5e8b3c90274c2b8b230bee42dd1c286bc822cc2f9f2c7e12b883e", size = 9094790, upload-time = "2026-07-22T22:18:47.468Z" }, + { url = "https://files.pythonhosted.org/packages/51/2f/cf6aae281264f4463f0875bcbb15fd2bb6d291cc535187dad1732475e4a9/pandas-3.0.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:2f264fc46911cc8131a7322a16199bbf8e353d27c10bb211f5bd0c814324dc36", size = 10390034, upload-time = "2026-07-22T22:18:49.818Z" }, + { url = "https://files.pythonhosted.org/packages/06/ec/5189518c7a7659c4bdcc6b1eb32c46c6f3c86b0661ffd84143d1112c7732/pandas-3.0.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:53730687fcd161883b24e10411c06d6a4c0f2275d2faf3bb2bc25deb4ba8007c", size = 9980065, upload-time = "2026-07-22T22:18:52.249Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f1/598503ce8d7e3c35601e0747ba288c7864baae66380725bc12f13f884dfe/pandas-3.0.5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:960d3ebcf249f75206899fcd2c6de53f736b7265759ced0d3e559df0b8b709b0", size = 10545532, upload-time = "2026-07-22T22:18:54.813Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/ceae2adf7034e07e9910299fe412e1819c4f0dd520700a888bcb03625448/pandas-3.0.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e94c2c5ca43bd3ca32bf64d32308887b65e5f9bfd8023ea52755107a999f93b", size = 10963120, upload-time = "2026-07-22T22:18:57.42Z" }, + { url = "https://files.pythonhosted.org/packages/66/25/86e0f4451874eb79e688deeebe3c451fec4557f8952005818d800ee8ac7e/pandas-3.0.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e819dd5f62966b481a8cb649d3299ebd886a1ea91ed5a99bf7ce77c98d18ab94", size = 11563178, upload-time = "2026-07-22T22:18:59.729Z" }, + { url = "https://files.pythonhosted.org/packages/f3/45/8643daa3b4147e433adfcccefdd0380d3aad79d86b15d8999730fe1944d5/pandas-3.0.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3c5ed2e7c06e91d340dfd091d7934f9bc82e4a36b95f647f090b9d1c9ac649da", size = 12028708, upload-time = "2026-07-22T22:19:02.164Z" }, + { url = "https://files.pythonhosted.org/packages/96/58/ad979ae617615576e8aafd569c9d4b62f1191d896e38f51d66ba06f3b89a/pandas-3.0.5-cp314-cp314-win_amd64.whl", hash = "sha256:cd8f7c6dc98527058ee6264219343f5392240a6f1bfa654fc5d79023020d0c92", size = 9951806, upload-time = "2026-07-22T22:19:04.596Z" }, + { url = "https://files.pythonhosted.org/packages/69/32/7ac03886b304049a9d2625ee88f59af760d8a93bd30ed9239bce7b9869a8/pandas-3.0.5-cp314-cp314-win_arm64.whl", hash = "sha256:5183427f5a8156d480f30333777bc978be93650a49a7c01db26adffe95b31e85", size = 9238297, upload-time = "2026-07-22T22:19:06.836Z" }, + { url = "https://files.pythonhosted.org/packages/be/ed/1d1f2ee5547d5167face2376d11c8b2a4c7bfff5a416ee7a9046891fab1e/pandas-3.0.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:303da736987d481074ca720ada325f8bd80c64ebc2d45ed79b29df3aaa4a26ca", size = 10849690, upload-time = "2026-07-22T22:19:09.391Z" }, + { url = "https://files.pythonhosted.org/packages/57/55/17e17152e98fbb0c4b1e562bc65387a2f20a80db0f4a86bf8d3a0e4248d4/pandas-3.0.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3b2801bbb049d0136f6c213eae02b5fca969384fc2064dd728d8620552aa49da", size = 10509945, upload-time = "2026-07-22T22:19:11.773Z" }, + { url = "https://files.pythonhosted.org/packages/88/90/817d44dbf83facf9556f33576d9af0a241981e7bb5c00606c0bcb5df8dda/pandas-3.0.5-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cce3a9d11d2b1f82c69a27ec1f4948a170e2c403c4bbfa8cca62e3fdebe2ef3a", size = 10392197, upload-time = "2026-07-22T22:19:14.024Z" }, + { url = "https://files.pythonhosted.org/packages/f1/da/889f00c0a6f5aa1545add70abbf01502dff87ab577adb855bd631c54d2f2/pandas-3.0.5-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef01af4d8dc6cd2c8d6c7736f149574ef93fe043811eeb5e445f2647154b5040", size = 10862726, upload-time = "2026-07-22T22:19:16.351Z" }, + { url = "https://files.pythonhosted.org/packages/bc/98/f1e934fb3c98fce859c6147c6785816c7b5b9ab7821115c5d8c4de9842b9/pandas-3.0.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e2759e890db96dfcffdbd9b86c3c2cb6afaf58def482820317e06163ec1066cd", size = 11414864, upload-time = "2026-07-22T22:19:18.981Z" }, + { url = "https://files.pythonhosted.org/packages/fe/be/d448af7d657d82e1888dd8551f79c6d6fb161080b5b9752d84d910ec2319/pandas-3.0.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b58b1b39d46a5862e3fb18f50d1a201398619d16a0f9f73f57eea5583cf0e63c", size = 11925105, upload-time = "2026-07-22T22:19:21.515Z" }, + { url = "https://files.pythonhosted.org/packages/29/c1/ccb4238212c8c4f496c584f3044d94e0c030ed8e1d68999db46c91c2242f/pandas-3.0.5-cp314-cp314t-win_amd64.whl", hash = "sha256:1c10461f6eeb35d8f05b6184c65c8b9991663b66c46b1d559b682cb34ae7c6ea", size = 10387612, upload-time = "2026-07-22T22:19:24.257Z" }, + { url = "https://files.pythonhosted.org/packages/d2/cf/6a51b2c38980e04c279fd2fa908a1b0982064e860444acfca4ec2e2c8359/pandas-3.0.5-cp314-cp314t-win_arm64.whl", hash = "sha256:3c5015fd1730fbf883647e88068176c839c102cea883ba1769a6f4593bfc1f8c", size = 9509776, upload-time = "2026-07-22T22:19:26.694Z" }, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, +] + +[[package]] +name = "parso" +version = "0.8.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/4b/90c937815137d43ce71ba043cd3566221e9df6b9c805f24b5d138c9d40a7/parso-0.8.7.tar.gz", hash = "sha256:eaaac4c9fdd5e9e8852dc778d2d7405897ec510f2a298071453e5e3a07914bb1", size = 401824, upload-time = "2026-05-01T23:13:02.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/5d/8268b644392ee874ee82a635cd0df1773de230bde356c38de28e298392cc/parso-0.8.7-py2.py3-none-any.whl", hash = "sha256:a8926eb2a1b915486941fdbd31e86a4baf88fe8c210f25f2f35ecec5b574ca1c", size = 107025, upload-time = "2026-05-01T23:12:58.867Z" }, +] + +[[package]] +name = "patsy" +version = "1.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/08/e3/950e513affdfe1c1864397b4f40d6ed06ec1b54f608e462c27f151dd72df/patsy-1.0.3.tar.gz", hash = "sha256:79ebf4c93ff4d296e58a9d5be2b2ee31bd49d737cf11d70ffbd8a44b2de42e65", size = 399992, upload-time = "2026-08-29T21:35:32.258Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/70/cd3cf5cff538323076a879edef02cce6f13f7d75e03d12f211b0a0dbd178/patsy-1.0.3-py2.py3-none-any.whl", hash = "sha256:d3dbebe8fd5f46e29912d030b63c6268647b59bf788a99e2af28a30234cf357c", size = 233318, upload-time = "2026-08-29T21:35:30.913Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + +[[package]] +name = "pillow" +version = "12.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/3d/bb7fca845737cf9d7dbde16ed1843984665ff2e0a518f5db43e77ec540b9/pillow-12.3.0.tar.gz", hash = "sha256:3b8182a766685eaa002637e28b4ec8d6b18819a0c71f579bf0dbaa5830297cce", size = 47025035, upload-time = "2026-07-01T11:56:38.965Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/c8/0a78b0e02d7ac54bc03e5321c9220da52f0c2ea83b21f7c40e7f3169c502/pillow-12.3.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:00808c5e14ef63ac5161091d242999076604ff74b883423a11e5d7bbb38bf756", size = 5392415, upload-time = "2026-07-01T11:53:47.162Z" }, + { url = "https://files.pythonhosted.org/packages/b2/5b/a02d30018abd97ced9f5a6c63d28597694a00d066516b9c1c6de45859fc9/pillow-12.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37d6d0a00072fd2948eb22bce7e1475f34569d90c87c59f7a2ec59541b77f7a6", size = 4785266, upload-time = "2026-07-01T11:53:49.079Z" }, + { url = "https://files.pythonhosted.org/packages/c8/98/766667a4be768150a202836acd9fad19c06824ca86c4286d3cf6b274964e/pillow-12.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bcb46e2f9feff8d06323983bd83ed00c201fdcab3d74973e7072a889b3979fcd", size = 6263814, upload-time = "2026-07-01T11:53:51.32Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2d/ede717bc1144f63886c21fd349bb95860b0d1a21149ff16f2bb362b612b6/pillow-12.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:23d27a3e0307ec2244cc51e7287b919aa68d097504ebe19df4e76a98a3eea5bd", size = 6934408, upload-time = "2026-07-01T11:53:53.487Z" }, + { url = "https://files.pythonhosted.org/packages/a3/48/9c58b685e69d49c31af6c8eb9012055fab7e665785165c84796e2c73ce72/pillow-12.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4f883547d4b7f0495ebe7056b0cc2aea76094e7a4abc8e933540f3271df27d9c", size = 6337160, upload-time = "2026-07-01T11:53:55.457Z" }, + { url = "https://files.pythonhosted.org/packages/ff/fa/dc2a5c0ba6df93f67c31d34b808b7ce440b40cdbf96f0b81cde1d1e6fa93/pillow-12.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:236ff70b9312fb68943c703aa842ca6a758abfa45ac187a5e7c1452e96ef72b5", size = 7045172, upload-time = "2026-07-01T11:53:57.736Z" }, + { url = "https://files.pythonhosted.org/packages/86/a5/444817a4d4c4c2417df00513086ca196f388d8f9ef40c2e4ccd1ad1af54b/pillow-12.3.0-cp311-cp311-win32.whl", hash = "sha256:10e41f0fbf1eec8cfd234b8fe17a4caac7c9d0db4c204d3c173a8f9f6ef3232b", size = 6472232, upload-time = "2026-07-01T11:53:59.767Z" }, + { url = "https://files.pythonhosted.org/packages/63/c6/4bad1b18d132a50b27e1365e1ab163616f7a5bb56d330f66f9d1d9d4f9d4/pillow-12.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:8e95e1385e4998ae9694eeaa4730ba5457ff61185b3a55e2e7bea0880aef452a", size = 7233653, upload-time = "2026-07-01T11:54:02.066Z" }, + { url = "https://files.pythonhosted.org/packages/fd/16/00f91ab7760dc842f5aad55217e80fc4a7067a0604535249bc8a2d6d9870/pillow-12.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:ebaea975e03d3141d9d3a507df75c9b3ec90fa9d2ffd07567b3a978d9d790b26", size = 2568195, upload-time = "2026-07-01T11:54:04.622Z" }, + { url = "https://files.pythonhosted.org/packages/37/bf/fb3ebff8ddcb76aac5a01389251bbbb9519922a9b520d8247c1ca864a25d/pillow-12.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ba09209fbe443b4acccebe845d8a138b89a8f4fbaeedd44953490b5315d5e965", size = 5345969, upload-time = "2026-07-01T11:54:06.397Z" }, + { url = "https://files.pythonhosted.org/packages/d8/66/9a386a92561f402389a4fc70c18838bf6d35eb5eb5c6850b4b2dc64f5048/pillow-12.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ffd0c5368496f41b0944be820fcb7a838aa6e623d250b01acf2643939c3f99d7", size = 4780323, upload-time = "2026-07-01T11:54:09.351Z" }, + { url = "https://files.pythonhosted.org/packages/25/27/ac8f99618ffd3dde21db0f4d4b1d2ab00c0880595bfd17df103f7f39fd0c/pillow-12.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9c7f76c0673154f044e9d78c8655fb4213f6ca31a836df48b40fe5d187717b9", size = 6266838, upload-time = "2026-07-01T11:54:11.71Z" }, + { url = "https://files.pythonhosted.org/packages/84/21/a35af28dcc61f37ed850a2d64c65c701321dfbf25085e469d5559360cbbf/pillow-12.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:78cb2c6865a35ab8ff8b75fd122f6033b92a62c82801110e48ddd6c936a45d91", size = 6940830, upload-time = "2026-07-01T11:54:13.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/51/8b08617af3ad95e33ce6d7dd2c99ed6c8298f7fb131636303956be022e25/pillow-12.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e491916b378fba47242221bb9ead245211b70d504f495d105d17b14a24b4907c", size = 6344383, upload-time = "2026-07-01T11:54:15.756Z" }, + { url = "https://files.pythonhosted.org/packages/1d/72/cf78ac9780bb93c28328f408973845a309d4d145041665f734572ced1b52/pillow-12.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0dd2064cbc55aaec028ef5fbb60fa47bb6c3e7918e07ff17935284b227a9d2df", size = 7052934, upload-time = "2026-07-01T11:54:17.721Z" }, + { url = "https://files.pythonhosted.org/packages/20/20/25e0f4dc178a6bc0696793720055519a0de89e7661dae886992decbd2f81/pillow-12.3.0-cp312-cp312-win32.whl", hash = "sha256:dbce0b29841537a2fa4a214c2bbf14de3587c9680caa9b4e217568472490b28f", size = 6472684, upload-time = "2026-07-01T11:54:19.839Z" }, + { url = "https://files.pythonhosted.org/packages/45/89/da2f7971a317f83d807fdd4065c0af40208e59e692cc43d315a71a0e96d1/pillow-12.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a2b55dd6b2a4c4b7d87ffa56bdb33fdc5fdb9a462173861a7bc097f17d91cb09", size = 7227137, upload-time = "2026-07-01T11:54:22.025Z" }, + { url = "https://files.pythonhosted.org/packages/de/47/4845a0a6c0dbf1db8456bd9fc791f13c5ced7ced20606d08a0aacfd25b49/pillow-12.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:331b624368d4f1d069149002f25f44bc61c8919ce8ddb3c45bdad8f6e2d89510", size = 2568267, upload-time = "2026-07-01T11:54:24.051Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ac/31fb64e1e7efb5a4b50cd3d92049ba89ac6e4d8d3bb6a74e15048ca3353e/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:21900ce7ba264168cd50defae43cd75d25c833ad4ad6e73ffc5596d12e25ac89", size = 4161684, upload-time = "2026-07-01T11:54:25.934Z" }, + { url = "https://files.pythonhosted.org/packages/87/b4/9805e23d2b4d77842b468513841fda254ee42f0289d25088340e4ff46e2d/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4e8c2a84d977f50b9daed6eeaf3baef67d00d5d74d932288f02cb94518ee3ace", size = 4255487, upload-time = "2026-07-01T11:54:27.935Z" }, + { url = "https://files.pythonhosted.org/packages/df/39/ecf519435a200c693fe053a6ee4d835b41cf963a4dfc2551c4e637cb2a71/pillow-12.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:ae26d61dfa7a47befdc7572b521024e8745f3d809bd95ca9505a7bba9ef849ec", size = 3696433, upload-time = "2026-07-01T11:54:29.813Z" }, + { url = "https://files.pythonhosted.org/packages/42/92/2fc3ffad878ae8dd5469ec1bc8eb83b71f48e13efdf68f02709003982a32/pillow-12.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7a743ff716f746fc19a9557f60dab1600d4613255f8a7aeb3cdde4db7eb15a66", size = 5345889, upload-time = "2026-07-01T11:54:31.97Z" }, + { url = "https://files.pythonhosted.org/packages/10/76/8803c13605b763d33d156c4678fc77f8443389c0c51c8aef707bb02015f4/pillow-12.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d69141514cc30b774ceea5e3ed3a6635c8d8a96edf664689b890f4089111fb35", size = 4780109, upload-time = "2026-07-01T11:54:34.026Z" }, + { url = "https://files.pythonhosted.org/packages/1f/01/e18aff37cb0b4aac47ac90f016d347a49aca667ef97f190b06ac2aabc928/pillow-12.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f7401aebd7f581d7f83a439d87d474999317ee099218e5ad25d125290990ba65", size = 6263736, upload-time = "2026-07-01T11:54:36.131Z" }, + { url = "https://files.pythonhosted.org/packages/f7/62/de5bdd77d935331f4f802edc11e4d82950f642caad6cb2f949837b8560e2/pillow-12.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0847a763afefb695bc912d7c131e7e0632d4edc1d8698f58ddabec8e46b8b6d3", size = 6937129, upload-time = "2026-07-01T11:54:38.216Z" }, + { url = "https://files.pythonhosted.org/packages/70/4d/105627a13300c5e0df1d174230b32fd1273062c96f7745fd552b945d1e1d/pillow-12.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:571b9fcb07b97ef3a492028fb3d2dc0993ca23a06138b0315286566d29ef718a", size = 6339562, upload-time = "2026-07-01T11:54:40.354Z" }, + { url = "https://files.pythonhosted.org/packages/6b/1d/f13de01a553988ab895ba1c722e06cf3144d4f57656fd5b81b6d881f1179/pillow-12.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:756c768d0c9c2955feb7a56c37ea24aea2e369f8d36a88da270b6a9f19e62b5e", size = 7049439, upload-time = "2026-07-01T11:54:42.489Z" }, + { url = "https://files.pythonhosted.org/packages/c9/f9/066794cca041b969964f779ee5fa66a9498bbf34248ac39c5d7954e4198f/pillow-12.3.0-cp313-cp313-win32.whl", hash = "sha256:a876864214e136f0eb367788dbd7df045f4806801518e2cfe9e13229cfe06d8f", size = 6473287, upload-time = "2026-07-01T11:54:44.9Z" }, + { url = "https://files.pythonhosted.org/packages/a6/9b/7a58e61d62be561da3a356fe2384d4059a6345fc130e23ef1c36a5b81d24/pillow-12.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1cca606cd25738df4ed873d5ad46bbdb3d83b5cbca291f6b4ff13a4df6b0bbe8", size = 7239691, upload-time = "2026-07-01T11:54:47.141Z" }, + { url = "https://files.pythonhosted.org/packages/aa/b0/c4ed4f0ef8f8fa5ee8351537db6650bb8189f7e118842978dd6589065692/pillow-12.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b629de27fda84b42cde7edef0d85f13b958b47f6e9bbcbba9b673c562a89bd8b", size = 2568185, upload-time = "2026-07-01T11:54:49.137Z" }, + { url = "https://files.pythonhosted.org/packages/dc/01/001f65b68192f0228cc1dbbc8d2530ab5d58b61037ba0587f946fea607cd/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:9cf95fe4d0f84c82d282745d9bb08ad9f926efa00be4697e767b814ce40d4330", size = 4161736, upload-time = "2026-07-01T11:54:51.156Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d2/0219746d0fd16fc8a84498e79452375be3797d3ce4044596ce565164b84f/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8728f216dcdb6e6d555cf971cb34076139ad74b31fc2c14da4fafc741c5f6217", size = 4255435, upload-time = "2026-07-01T11:54:53.414Z" }, + { url = "https://files.pythonhosted.org/packages/c8/02/8d0bc62ef0302318c46ff2a512822d2610e81c7aa46c9b3abe6cbaca5ad0/pillow-12.3.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:a45650e8ce7fafffd731db8550230db6b0d306d181a90b67d3e6bca2f1990930", size = 3696262, upload-time = "2026-07-01T11:54:55.739Z" }, + { url = "https://files.pythonhosted.org/packages/85/e2/73c77d218410b14f5f2d565e8a998d5317b7b9c75368d29985139f7a46f0/pillow-12.3.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ba54cfebe86920a559a7c4d6b9050791c20513650a1952ebe3368c7dc70306f8", size = 5350344, upload-time = "2026-07-01T11:54:57.657Z" }, + { url = "https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e158cb00350dc278f3b91551101aa7d12415a66ebf2c91d8d5ac14e56ddd3ad0", size = 4780131, upload-time = "2026-07-01T11:54:59.713Z" }, + { url = "https://files.pythonhosted.org/packages/b1/9d/8b2c807dbef61a5197c047afe99823787eb66f63daf9fb2432f91d6f0462/pillow-12.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9aeb04d6aef139de265b29683e119b638208f88cf73cdd1658aa07221165321", size = 6263757, upload-time = "2026-07-01T11:55:01.778Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/c85361f65dbe00eea8576ee467c768d25129989efb76e94f205e9ca9bb46/pillow-12.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:251bf95b67017e27b13d82f5b326234ca62d70f9cf4c2b9032de2358a3b12c7b", size = 6936962, upload-time = "2026-07-01T11:55:03.93Z" }, + { url = "https://files.pythonhosted.org/packages/18/7e/e483414b35800b86b6f08dbbc7803fb5cd52c4d6f897f47d53ea2c7e6f65/pillow-12.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe3cca2e4e8a592be0f269a1ca4835c25199d9f3ce815c8491048f785b0a0198", size = 6339171, upload-time = "2026-07-01T11:55:05.989Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f4/68c491844841ede6bed70189546b3ee9731cf9f2cbad396faff5e1ccba45/pillow-12.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:23aceaa007d6172b02c277f0cd359c79492bbb14f7072b4ede9fbcaf20648130", size = 7048116, upload-time = "2026-07-01T11:55:08.131Z" }, + { url = "https://files.pythonhosted.org/packages/a3/34/77f3f793fed8efc7d243f21b33c5a3f0d1c97ee70346d3db855587e155ff/pillow-12.3.0-cp314-cp314-win32.whl", hash = "sha256:af8d94b0db561cf68b88a267c5c44b49e134f525d0dc2cb7ed413a66bc23559a", size = 6467209, upload-time = "2026-07-01T11:55:10.408Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e0/492879f69d94f91f60fc8cd05ba03650e9520afebb2fb7aa12777d7c7f38/pillow-12.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:fdafc9cce40277e0f7a0feabce0ee50dd2fa1800f3b38015e51296b5e814048d", size = 7237707, upload-time = "2026-07-01T11:55:12.745Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ac/6b11f2875f1c2ac040d84e1bbf9cf22a88038f901ca1037898b280b38365/pillow-12.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:e91206ee562682b51b98ef4b26a6ef48fd84e15fd4c4bc5ec768eb641d206838", size = 2565995, upload-time = "2026-07-01T11:55:14.736Z" }, + { url = "https://files.pythonhosted.org/packages/52/69/c2208e56af9bfc1913afb24020297a691eb1d4ef688474c8a04913f65e04/pillow-12.3.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:164b31cd1a0490ab6efae01aa5df49da7061be0af1b30e035b6e9a1bfe34ee6e", size = 5352503, upload-time = "2026-07-01T11:55:17.076Z" }, + { url = "https://files.pythonhosted.org/packages/07/70/e5686d753e898a45d778ff1718dba8516ead6ab6b95d85fc8c4b70650cf2/pillow-12.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5afb51d599ea772b8365ae807ae557f18bccfe46ab261fd1c2a9ed700fc6eb17", size = 4782956, upload-time = "2026-07-01T11:55:19.448Z" }, + { url = "https://files.pythonhosted.org/packages/d5/37/25c6692f06927ee973ff18c8d9ee98ad0b4d84ee67a09610c2dd1447958e/pillow-12.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3edce1d53195db527e0191f84b71d02022de0540bf43a16ed734ed7537b07385", size = 6322855, upload-time = "2026-07-01T11:55:21.613Z" }, + { url = "https://files.pythonhosted.org/packages/cc/91/420637fcb8f1bc11029e403b4538e6694744428d8246118e45719f944556/pillow-12.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf16ba1b4d0b6b7c8e534936632270cf70eb00dbe09005bc345b2677b726855c", size = 6989642, upload-time = "2026-07-01T11:55:24.006Z" }, + { url = "https://files.pythonhosted.org/packages/10/08/b94d7811281ccf0d143a1cf768d1c49e1e54af63e7b708ab2ee3eb87face/pillow-12.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:24870b09b224f7ae3c39ed07d10e819d06f8720bc551847b1d623832b5b0e28d", size = 6391281, upload-time = "2026-07-01T11:55:26.252Z" }, + { url = "https://files.pythonhosted.org/packages/d2/87/24233f785f55474dc02ce3e739c5528a77e3a862e9333d1dd7a25cc31f70/pillow-12.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:30f2aa603c41533cc25c05acd0da21636e84a315768feb631c937177db558931", size = 7096716, upload-time = "2026-07-01T11:55:28.318Z" }, + { url = "https://files.pythonhosted.org/packages/23/26/fcb2f6e37175b04f53570b59937867e2b80ee1685e744023153028fc14f9/pillow-12.3.0-cp314-cp314t-win32.whl", hash = "sha256:4b0a7fe987b14c31ebda6083f74f22b561fd3739bc0ac51e019622e3d72668c7", size = 6474125, upload-time = "2026-07-01T11:55:30.956Z" }, + { url = "https://files.pythonhosted.org/packages/90/de/3634abee5f1c9e13c56787b7d5517b0ba8d6de51700b95578cf338349c9f/pillow-12.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:962864dc93511324d51ddbb5b9f8731bf71675b93ca612a07441896f4688fb8c", size = 7242939, upload-time = "2026-07-01T11:55:34.044Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2a/fd13f8eb24de5714a6eb444a3d67e2842c6c576e159a43793adf23051351/pillow-12.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0740a512dc522224c77d9aa5a8d70d8b7d73fb91f2c21125d8d025d3b8990e45", size = 2567506, upload-time = "2026-07-01T11:55:35.988Z" }, + { url = "https://files.pythonhosted.org/packages/5d/dc/8fdce34ec725a33c81c6ba122b904d6b9024e50ea9ac7bede62fab54506c/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0feb2e9d6ad6c9e3c06effe9d00f3f1e618a6643273576b016f591e9315a7139", size = 4162063, upload-time = "2026-07-01T11:55:37.941Z" }, + { url = "https://files.pythonhosted.org/packages/76/66/2044b9a63d3b84ff048228dfcb7cd9bf0df983e8470971bf7d4c57b693de/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:9e881fca225083806662a5c43d627d215f258ff43c890f831966c7d7ba9c7402", size = 4255549, upload-time = "2026-07-01T11:55:40.022Z" }, + { url = "https://files.pythonhosted.org/packages/52/7e/1f67e6f4ece6b582ee4b539decbcc9f848dc245a93ed8cd7338bafef72f1/pillow-12.3.0-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:4998562bf62a445225f22e07c896bb04b35b1b1f2eb6d760584c9c51d7a5f78c", size = 3696331, upload-time = "2026-07-01T11:55:41.98Z" }, + { url = "https://files.pythonhosted.org/packages/12/40/d306fc2c8e4d45d7f175c77edca7063be7b86fe7fe6e68f4353bf71d808c/pillow-12.3.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:dc624f6bc473dacdf7ef7eb8678d0d08edf15cd94fad6ae5c7d6cc67a4e4902f", size = 5350370, upload-time = "2026-07-01T11:55:44.028Z" }, + { url = "https://files.pythonhosted.org/packages/dd/44/668fb1437e8ce420f62d6106eb66e44a5971602a4d794615bdf79315d82d/pillow-12.3.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:71d6097b330eea8fd15097780c8e89cb1a8ce7838669f48c5bacd6f663dd4701", size = 4780147, upload-time = "2026-07-01T11:55:46.073Z" }, + { url = "https://files.pythonhosted.org/packages/0c/08/93fa2e70e30a2d81547e481b6ee2bb9522117221fb1e0ce4b5df70967677/pillow-12.3.0-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:28ce87c5ab450a9dd970b52e5aca5fe63ed432d18a2eaddd1979a00a1ba24ace", size = 6273659, upload-time = "2026-07-01T11:55:48.264Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6d/043e96ff814fc31a33077e4cba86082167db520c93632afdf2042febbb0c/pillow-12.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6b02afb9b97f65fbca5f31db6a2a3ba21aa93030225f150fa3f249717e938fb4", size = 6947439, upload-time = "2026-07-01T11:55:50.503Z" }, + { url = "https://files.pythonhosted.org/packages/af/92/ba71d2ee2ac0edf3fa33bd9d5ee9ee080da70b1766f3ca3934f9938ddac9/pillow-12.3.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:1182d52bc2d5e5d7d0949503aa7e36d12f42205dc287e4883f407b1988820d39", size = 6353577, upload-time = "2026-07-01T11:55:52.697Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ce/e63064e2122923ff687c8ad792d0d736a7b3920a56a46982e81a7fdd25d6/pillow-12.3.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:e795b7eb908249c4e43c7c99fac7c2c75dab0c43566e37db472a355f63693d71", size = 7060394, upload-time = "2026-07-01T11:55:55.149Z" }, + { url = "https://files.pythonhosted.org/packages/54/76/a09cc3ccc8d773a7283d34c38bec1708f9e3cc932093cbc4c5e71ac4060b/pillow-12.3.0-cp315-cp315-win32.whl", hash = "sha256:57b3d78c95ba9059768b10e28b813002261d3f3dfc55cc48b0c988f625175827", size = 6467375, upload-time = "2026-07-01T11:55:57.769Z" }, + { url = "https://files.pythonhosted.org/packages/3e/03/1846c49ba3b1d5550392a4bbd06d6fb4578e1cd91a803198b5c90f5f7d53/pillow-12.3.0-cp315-cp315-win_amd64.whl", hash = "sha256:fa4ecea169a355be7a3ade2c783e2ed12f0e40d2c5621cda8b3297faf7fbb9f5", size = 7237048, upload-time = "2026-07-01T11:55:59.975Z" }, + { url = "https://files.pythonhosted.org/packages/fb/bb/89f35dcc79610423f9f195504d7def7f0d1416a711541b42867e25fe3412/pillow-12.3.0-cp315-cp315-win_arm64.whl", hash = "sha256:877c3f311ff35410f690861c4409e7ccbf0cd2f878e50628a28e5a0bb689e658", size = 2566006, upload-time = "2026-07-01T11:56:02.143Z" }, + { url = "https://files.pythonhosted.org/packages/30/88/707027ba09942dfa2c28759b5c222d769290a41c6d20ea60ec250801941f/pillow-12.3.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:e9871b1ffbfa9656b60aeee92ed5136a5742696006fa322b29ea3d8da0ecc9cf", size = 5352509, upload-time = "2026-07-01T11:56:04.2Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6d/00352fa25332c2569cd387851f568cc5a4b75a9adbfb37ac4fbce4c02eec/pillow-12.3.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:53aa02d20d10c3d814d536aa4e5ac9b84ca0ff5a88377963b085ad6822f93e64", size = 4783167, upload-time = "2026-07-01T11:56:06.631Z" }, + { url = "https://files.pythonhosted.org/packages/13/4f/9e049dfa21af7c22427275720e2490267ba8138120add5c4c574deb69782/pillow-12.3.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:446c34dcc4324b084a53b705127dc15717b22c5e140ae0a3c38349d4efec071e", size = 6329237, upload-time = "2026-07-01T11:56:08.868Z" }, + { url = "https://files.pythonhosted.org/packages/36/16/cf6eeaae8d0fce8dd390a33437cf68c5d5bd73834a2bc6e2f14efda0ab45/pillow-12.3.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf1845d02ad822a369a49f2bb9345b1614744267682e7a03527dc3bf6eea1777", size = 6997047, upload-time = "2026-07-01T11:56:11.379Z" }, + { url = "https://files.pythonhosted.org/packages/1e/69/dbf769bdd55f48bf5733cac28edc6364ffaa072ec9ba336266e4fe66be55/pillow-12.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:186941b6aef820ad110fb01fb06eb925374dc3a21b17e37ec9a53b250c6fe2d1", size = 6400440, upload-time = "2026-07-01T11:56:13.908Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e1/ffc9cfc2eea0d178da8018e18e959301ad9d6bc9f3edb7181e748a474b97/pillow-12.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:f13c32a3abd6079a66d9526e18dad9b6d280384d49d7c54040cd57b6424041d9", size = 7105895, upload-time = "2026-07-01T11:56:16.575Z" }, + { url = "https://files.pythonhosted.org/packages/18/f0/a5595c1e8c3ae44b9828cb2f0fa8155e5095ef04d6327b8f61cf44a3df85/pillow-12.3.0-cp315-cp315t-win32.whl", hash = "sha256:1657923d2d45afb66526e5b933e5b3052e6bdea196c90d3abb2424e18c77dae8", size = 6474384, upload-time = "2026-07-01T11:56:18.855Z" }, + { url = "https://files.pythonhosted.org/packages/e4/04/62bcd9f844984c5938d3b05264a61d797a29d3e0812341a8204af70bbdee/pillow-12.3.0-cp315-cp315t-win_amd64.whl", hash = "sha256:8cd2f7bdda092d99c9fc2fb7391354f306d01443d22785d0cbfafa2e2c8bb418", size = 7243537, upload-time = "2026-07-01T11:56:21.214Z" }, + { url = "https://files.pythonhosted.org/packages/3d/68/1f3066acedf37673694a7141381d8f811ae97f30d34413d236abe7d489f1/pillow-12.3.0-cp315-cp315t-win_arm64.whl", hash = "sha256:06ff022112bc9cbf83b60f8e028d94ad87b60621706487e65f673de61610ab59", size = 2567491, upload-time = "2026-07-01T11:56:23.506Z" }, + { url = "https://files.pythonhosted.org/packages/75/18/2e8b40223153ccbc60df07f9e8928dc0c76202aa4e55ae9f53962b6510d6/pillow-12.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b3c777e849237620b022f7f297dd67705f9f5cf1685f09f02e46f93e92725468", size = 5302510, upload-time = "2026-07-01T11:56:25.736Z" }, + { url = "https://files.pythonhosted.org/packages/46/3e/51fabf59d5ab801ceab709453d3ab6b180083496579549de4c45ced6528a/pillow-12.3.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:b343699e8308bdc51978310e1c959c584e7869cc8c40780058c87da7781a1e94", size = 4736058, upload-time = "2026-07-01T11:56:28.041Z" }, + { url = "https://files.pythonhosted.org/packages/bf/20/22fe9384b7949e25fb1293bcfc84fb82590ff4ea6b37c95b24d26d793d86/pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbd139c8447d25dd750ab79ee274cc5e1fe80fc56340ab10b18a195e1b6eca3e", size = 5237776, upload-time = "2026-07-01T11:56:30.263Z" }, + { url = "https://files.pythonhosted.org/packages/08/14/f6ba68107680ffa74b39985f3f30884e41318fbc4250caa423c79b4788bb/pillow-12.3.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e7e480451b9fa137494bccd3a7d69adbe8ac65a87d97be61e11f1b1050a5bac3", size = 5860358, upload-time = "2026-07-01T11:56:32.68Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0169bc772ec491108b62f644f8ecf1fe5d8ae5ebafde2ee2142210166903/pillow-12.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:04f01d28a6aaff387bf842a13be313df23ba0597a44f1a976c9feb3c6ff4711a", size = 7231786, upload-time = "2026-07-01T11:56:35.046Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.11.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/18/f3bb8ef0d3b930692343da8aa4d3cbcd6749477c053959395ac81965a6e9/platformdirs-4.11.8.tar.gz", hash = "sha256:f23abafea7dd4276d1f29104b83598d7dcc567cafd07c9c951e66665645437fc", size = 37182, upload-time = "2026-09-08T22:20:42.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/e1/5b7b8bbb55084d1425bcb9bc823ff519e1b2be05f6ebb0089e2eacc38413/platformdirs-4.11.8-py3-none-any.whl", hash = "sha256:52f2f181bbfde907966932cc8312d967d02976422d66d537ea16092b8e291081", size = 24027, upload-time = "2026-09-08T22:20:41.537Z" }, +] + +[[package]] +name = "prometheus-client" +version = "0.26.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/73/f1334c29c2af4cd9dba6c7817e61b611bd0215e2eb5565c6064a4de18802/prometheus_client-0.26.0.tar.gz", hash = "sha256:04a91bcf94e2cf74a44a1a874d651a2e853ed354b6e822f3b7487751465d5c2b", size = 92910, upload-time = "2026-07-24T19:36:41.893Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/a3/b69efbf4143b5b9859b977770bbbabcc2796b702fa69dc40271e45cd5a56/prometheus_client-0.26.0-py3-none-any.whl", hash = "sha256:fa93d06737aa02bacd05794768508bb97d2fbee28cb3bca04eaae92f0ca953d6", size = 64494, upload-time = "2026-07-24T19:36:40.854Z" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.53" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7d/ea/39b988c938f75cb75d7045b5c69f8bfed47ee2152c8837fb403de29d6fb8/prompt_toolkit-3.0.53.tar.gz", hash = "sha256:9ec8a0ad96d5c56148b3f914aa79c1564c3fde5d2e6b876e7bc327e353cf8fa6", size = 435492, upload-time = "2026-07-26T20:56:14.758Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/6f/84908cad2d6aa5144abcf7b42709fe4fdb459bc640ec7ac5786e7693dabc/prompt_toolkit-3.0.53-py3-none-any.whl", hash = "sha256:01c0891d7f9237d5e339f7d3e42cdae80b7534abb1c7c0e3352efba6231492f2", size = 392288, upload-time = "2026-07-26T20:56:12.512Z" }, +] + +[[package]] +name = "psutil" +version = "7.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/c6/d1ddf4abb55e93cebc4f2ed8b5d6dbad109ecb8d63748dd2b20ab5e57ebe/psutil-7.2.2.tar.gz", hash = "sha256:0746f5f8d406af344fd547f1c8daa5f5c33dbc293bb8d6a16d80b4bb88f59372", size = 493740, upload-time = "2026-01-28T18:14:54.428Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/08/510cbdb69c25a96f4ae523f733cdc963ae654904e8db864c07585ef99875/psutil-7.2.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:2edccc433cbfa046b980b0df0171cd25bcaeb3a68fe9022db0979e7aa74a826b", size = 130595, upload-time = "2026-01-28T18:14:57.293Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f5/97baea3fe7a5a9af7436301f85490905379b1c6f2dd51fe3ecf24b4c5fbf/psutil-7.2.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e78c8603dcd9a04c7364f1a3e670cea95d51ee865e4efb3556a3a63adef958ea", size = 131082, upload-time = "2026-01-28T18:14:59.732Z" }, + { url = "https://files.pythonhosted.org/packages/37/d6/246513fbf9fa174af531f28412297dd05241d97a75911ac8febefa1a53c6/psutil-7.2.2-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1a571f2330c966c62aeda00dd24620425d4b0cc86881c89861fbc04549e5dc63", size = 181476, upload-time = "2026-01-28T18:15:01.884Z" }, + { url = "https://files.pythonhosted.org/packages/b8/b5/9182c9af3836cca61696dabe4fd1304e17bc56cb62f17439e1154f225dd3/psutil-7.2.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:917e891983ca3c1887b4ef36447b1e0873e70c933afc831c6b6da078ba474312", size = 184062, upload-time = "2026-01-28T18:15:04.436Z" }, + { url = "https://files.pythonhosted.org/packages/16/ba/0756dca669f5a9300d0cbcbfae9a4c30e446dfc7440ffe43ded5724bfd93/psutil-7.2.2-cp313-cp313t-win_amd64.whl", hash = "sha256:ab486563df44c17f5173621c7b198955bd6b613fb87c71c161f827d3fb149a9b", size = 139893, upload-time = "2026-01-28T18:15:06.378Z" }, + { url = "https://files.pythonhosted.org/packages/1c/61/8fa0e26f33623b49949346de05ec1ddaad02ed8ba64af45f40a147dbfa97/psutil-7.2.2-cp313-cp313t-win_arm64.whl", hash = "sha256:ae0aefdd8796a7737eccea863f80f81e468a1e4cf14d926bd9b6f5f2d5f90ca9", size = 135589, upload-time = "2026-01-28T18:15:08.03Z" }, + { url = "https://files.pythonhosted.org/packages/81/69/ef179ab5ca24f32acc1dac0c247fd6a13b501fd5534dbae0e05a1c48b66d/psutil-7.2.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:eed63d3b4d62449571547b60578c5b2c4bcccc5387148db46e0c2313dad0ee00", size = 130664, upload-time = "2026-01-28T18:15:09.469Z" }, + { url = "https://files.pythonhosted.org/packages/7b/64/665248b557a236d3fa9efc378d60d95ef56dd0a490c2cd37dafc7660d4a9/psutil-7.2.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7b6d09433a10592ce39b13d7be5a54fbac1d1228ed29abc880fb23df7cb694c9", size = 131087, upload-time = "2026-01-28T18:15:11.724Z" }, + { url = "https://files.pythonhosted.org/packages/d5/2e/e6782744700d6759ebce3043dcfa661fb61e2fb752b91cdeae9af12c2178/psutil-7.2.2-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fa4ecf83bcdf6e6c8f4449aff98eefb5d0604bf88cb883d7da3d8d2d909546a", size = 182383, upload-time = "2026-01-28T18:15:13.445Z" }, + { url = "https://files.pythonhosted.org/packages/57/49/0a41cefd10cb7505cdc04dab3eacf24c0c2cb158a998b8c7b1d27ee2c1f5/psutil-7.2.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e452c464a02e7dc7822a05d25db4cde564444a67e58539a00f929c51eddda0cf", size = 185210, upload-time = "2026-01-28T18:15:16.002Z" }, + { url = "https://files.pythonhosted.org/packages/dd/2c/ff9bfb544f283ba5f83ba725a3c5fec6d6b10b8f27ac1dc641c473dc390d/psutil-7.2.2-cp314-cp314t-win_amd64.whl", hash = "sha256:c7663d4e37f13e884d13994247449e9f8f574bc4655d509c3b95e9ec9e2b9dc1", size = 141228, upload-time = "2026-01-28T18:15:18.385Z" }, + { url = "https://files.pythonhosted.org/packages/f2/fc/f8d9c31db14fcec13748d373e668bc3bed94d9077dbc17fb0eebc073233c/psutil-7.2.2-cp314-cp314t-win_arm64.whl", hash = "sha256:11fe5a4f613759764e79c65cf11ebdf26e33d6dd34336f8a337aa2996d71c841", size = 136284, upload-time = "2026-01-28T18:15:19.912Z" }, + { url = "https://files.pythonhosted.org/packages/e7/36/5ee6e05c9bd427237b11b3937ad82bb8ad2752d72c6969314590dd0c2f6e/psutil-7.2.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ed0cace939114f62738d808fdcecd4c869222507e266e574799e9c0faa17d486", size = 129090, upload-time = "2026-01-28T18:15:22.168Z" }, + { url = "https://files.pythonhosted.org/packages/80/c4/f5af4c1ca8c1eeb2e92ccca14ce8effdeec651d5ab6053c589b074eda6e1/psutil-7.2.2-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:1a7b04c10f32cc88ab39cbf606e117fd74721c831c98a27dc04578deb0c16979", size = 129859, upload-time = "2026-01-28T18:15:23.795Z" }, + { url = "https://files.pythonhosted.org/packages/b5/70/5d8df3b09e25bce090399cf48e452d25c935ab72dad19406c77f4e828045/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:076a2d2f923fd4821644f5ba89f059523da90dc9014e85f8e45a5774ca5bc6f9", size = 155560, upload-time = "2026-01-28T18:15:25.976Z" }, + { url = "https://files.pythonhosted.org/packages/63/65/37648c0c158dc222aba51c089eb3bdfa238e621674dc42d48706e639204f/psutil-7.2.2-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b0726cecd84f9474419d67252add4ac0cd9811b04d61123054b9fb6f57df6e9e", size = 156997, upload-time = "2026-01-28T18:15:27.794Z" }, + { url = "https://files.pythonhosted.org/packages/8e/13/125093eadae863ce03c6ffdbae9929430d116a246ef69866dad94da3bfbc/psutil-7.2.2-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd04ef36b4a6d599bbdb225dd1d3f51e00105f6d48a28f006da7f9822f2606d8", size = 148972, upload-time = "2026-01-28T18:15:29.342Z" }, + { url = "https://files.pythonhosted.org/packages/04/78/0acd37ca84ce3ddffaa92ef0f571e073faa6d8ff1f0559ab1272188ea2be/psutil-7.2.2-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b58fabe35e80b264a4e3bb23e6b96f9e45a3df7fb7eed419ac0e5947c61e47cc", size = 148266, upload-time = "2026-01-28T18:15:31.597Z" }, + { url = "https://files.pythonhosted.org/packages/b4/90/e2159492b5426be0c1fef7acba807a03511f97c5f86b3caeda6ad92351a7/psutil-7.2.2-cp37-abi3-win_amd64.whl", hash = "sha256:eb7e81434c8d223ec4a219b5fc1c47d0417b12be7ea866e24fb5ad6e84b3d988", size = 137737, upload-time = "2026-01-28T18:15:33.849Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c7/7bb2e321574b10df20cbde462a94e2b71d05f9bbda251ef27d104668306a/psutil-7.2.2-cp37-abi3-win_arm64.whl", hash = "sha256:8c233660f575a5a89e6d4cb65d9f938126312bca76d8fe087b947b3a1aaac9ee", size = 134617, upload-time = "2026-01-28T18:15:36.514Z" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/9f/abfd2959e9261dd5217ca8551d4de211ca6ab26fe9b72cf44731ff6c4442/pure_eval-0.2.4.tar.gz", hash = "sha256:260c2774686e651b79f8b8e7fc9d80b3599ea6a66334b47d5f4abb69fc2c0ea1", size = 20563, upload-time = "2026-09-10T21:41:22.836Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/18/83376915176eb058cb86470eb7396388a13350b09a8f233a79303bbcbc5b/pure_eval-0.2.4-py3-none-any.whl", hash = "sha256:96cae060a313cfaad51bb761278bfb0e62dc0248d9315a81173752dc546cd37a", size = 11893, upload-time = "2026-09-10T21:41:21.532Z" }, +] + +[[package]] +name = "pycparser" +version = "3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, +] + +[[package]] +name = "pygments" +version = "2.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz", hash = "sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c", size = 5005329, upload-time = "2026-08-17T08:02:48.824Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl", hash = "sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9", size = 1250147, upload-time = "2026-08-17T08:02:44.912Z" }, +] + +[[package]] +name = "pyparsing" +version = "3.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-json-logger" +version = "4.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/25/5473e46b179f8e8b4ad3aeeb36773d1701b7770eaf5e5bc2025c7303b598/python_json_logger-4.2.0.tar.gz", hash = "sha256:e371ebe22ec01e289850102091a2b1f6fc9e655c7f1f5f29073936756c290afa", size = 18211, upload-time = "2026-08-15T11:36:38.232Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/55/6467fde553886cb293e41538f3a8b4e4fd4688c6df242cf982162d8367fb/python_json_logger-4.2.0-py3-none-any.whl", hash = "sha256:158a52126fcd6869e09574d2b66272666f3dc8f468c62637ef9a1fa883719cb9", size = 14988, upload-time = "2026-08-15T11:36:36.821Z" }, +] + +[[package]] +name = "pywinpty" +version = "3.0.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/ef/2d27f30c59a67be7025b2d7858c8c2d282b74d66544b2384730b82de74fd/pywinpty-3.0.5.tar.gz", hash = "sha256:61db0db063de9865adbea66db294628f8577f608d9764a4c7d3384eeacc4e81b", size = 16223484, upload-time = "2026-06-11T00:11:58.93Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/5c/31feb3dd82d1b33ae0bd09ca601edb993d9da1b7f0226b3336d4b4c39e1e/pywinpty-3.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:af7a8720c78776ddd6259b71dd567944f766a6cd67f8d2887fbc4973967bacda", size = 2092466, upload-time = "2026-06-10T23:44:24.453Z" }, + { url = "https://files.pythonhosted.org/packages/ee/fe/fe23e2229ffec0c10190cef5964f5c9b2dba179d23b69ae537b7ea90bcab/pywinpty-3.0.5-cp311-cp311-win_arm64.whl", hash = "sha256:c2406f54f699eab75953fb75ce805f2ae55a33a957cd070890abd454fb4b7680", size = 818395, upload-time = "2026-06-10T23:41:56.93Z" }, + { url = "https://files.pythonhosted.org/packages/45/34/942cc95ca4e26489875aa8a95192766247a687379ec29543eebe73ec945f/pywinpty-3.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:d62946adf14b15b54c0b8d785f93fe18b04da23f4ad59e2e8c4612646e9abd23", size = 2090915, upload-time = "2026-06-10T23:43:14.98Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/5b9053004844139ea8bd86209c57ade12b134b2782f383a095784c8531ec/pywinpty-3.0.5-cp312-cp312-win_arm64.whl", hash = "sha256:e9391c05fbfa7a992a97e831fc6849887b4014a614192e3d984a7ca59592b376", size = 815934, upload-time = "2026-06-10T23:41:42.384Z" }, + { url = "https://files.pythonhosted.org/packages/b9/f4/2a464b9893cceb3b3f416356e94fdc3e1bca9476993927e4e6d99fe95382/pywinpty-3.0.5-cp313-cp313-win_amd64.whl", hash = "sha256:48db1b0ad9d0a1b81dcaaa7163a99a7808deaceb0c1b2344716dc1fc090c3c4c", size = 2090471, upload-time = "2026-06-10T23:42:11.071Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2c/a138491a0afbdb50eb79395577bd326d4b0fbde7209417d1a8087ff2493a/pywinpty-3.0.5-cp313-cp313-win_arm64.whl", hash = "sha256:2c6008fb2d3774b48693b2fcb7f2cc317ade9dc581289a964ffeeaf81307c9b5", size = 815518, upload-time = "2026-06-10T23:42:02.363Z" }, + { url = "https://files.pythonhosted.org/packages/6f/15/54400049a380582acd1282665c70fcf11e0bd3713679aca78e24c3aae738/pywinpty-3.0.5-cp313-cp313t-win_amd64.whl", hash = "sha256:22ce1b780d89821cc52daf6eac0708af22d93d000ce9c7c07e37489db8594598", size = 2089920, upload-time = "2026-06-10T23:44:13.395Z" }, + { url = "https://files.pythonhosted.org/packages/94/0c/6f24f3c0799f502259b24bdf841a99ad2b0d59df5c2525b4e2a286d14be2/pywinpty-3.0.5-cp313-cp313t-win_arm64.whl", hash = "sha256:9c2919a81bc5cfb09b86fc5a002112b2de95ca4304a07413cbeeb746a1307a5c", size = 814520, upload-time = "2026-06-10T23:43:28.588Z" }, + { url = "https://files.pythonhosted.org/packages/e9/23/f3cd1b1e5fc56517f54452c49f92049e7dd9ffc8a63de22a495581f50d04/pywinpty-3.0.5-cp314-cp314-win_amd64.whl", hash = "sha256:03bb3c16d691d9242267201830bcd0e64a9b663170e9042bc84b210da9de15ac", size = 2090663, upload-time = "2026-06-10T23:43:59.845Z" }, + { url = "https://files.pythonhosted.org/packages/9d/dd/96d6cbfc6d9ddab5c1c2f92c26545ae8997446a2ba7ee2024cd43c81f49b/pywinpty-3.0.5-cp314-cp314-win_arm64.whl", hash = "sha256:89c5c6ef08997a3b4b277b214a35fe15cab4dd6d119f0140aa71df5b1168fdbc", size = 815700, upload-time = "2026-06-10T23:40:50.001Z" }, + { url = "https://files.pythonhosted.org/packages/30/36/d98087bce0acaa4cce7f196103cfa7be3f63ce65f52473bb3e38784ae5d9/pywinpty-3.0.5-cp314-cp314t-win_amd64.whl", hash = "sha256:7b566165e0c5fdd6abe167a5ac8b954be6a843eb55a85946576d6bc1dea03d6d", size = 2090093, upload-time = "2026-06-10T23:40:58.933Z" }, + { url = "https://files.pythonhosted.org/packages/57/fd/fe2b0db922ba052ce3976a08f3fc05d0c05047c8b4ebb6102e832b8ef563/pywinpty-3.0.5-cp314-cp314t-win_arm64.whl", hash = "sha256:24366280a8aa677323da87bec729cb3ea3b35367386cece0978bdc6e4695c690", size = 814517, upload-time = "2026-06-10T23:42:34.946Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" }, + { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" }, + { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyzmq" +version = "27.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e7/8d/5b3d5631c2f4b4b8862f64cd0c9eb777b5710eeb5125b4be8dd0a200a4c0/pyzmq-27.2.0.tar.gz", hash = "sha256:54d4259d1bfae24ecdb5ca79f7acc2eac6c286a02d6a0ae617797cb45f0726d3", size = 292316, upload-time = "2026-08-20T19:08:21.19Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/2e/8897afa4538707d86645f51cc50e66b2b84900edb1be9dc9af2c2fc04e5d/pyzmq-27.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:9216132843d139a123f243c07fe70f7487dce5041093dd77040f9adb5dc91872", size = 1457109, upload-time = "2026-08-20T19:06:26.022Z" }, + { url = "https://files.pythonhosted.org/packages/d1/bc/dbce7bc1654fa25b1e68b9bad9e547906f581ce919c186a88ed951cb794c/pyzmq-27.2.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:d41ebb260b69329b7d4a2936d44c872c86dd785355b51366c8b14e07ed7e9373", size = 985701, upload-time = "2026-08-20T19:06:27.481Z" }, + { url = "https://files.pythonhosted.org/packages/95/cf/6981738b57c83fef33f356141ad83bf51e92f2f70c9d5767affd1a699f07/pyzmq-27.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:468139ddb2e494d06e586bd3a6835077e8b3764560c8db552fe685c5867fc24e", size = 714285, upload-time = "2026-08-20T19:06:28.962Z" }, + { url = "https://files.pythonhosted.org/packages/50/b5/13657961a845e29c28a4e7ac4202999ec90b3bba1890a5469ce2ae90359d/pyzmq-27.2.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:39755dc4a923021bd0677990ffdbc21cff0e1ee1cf07fe3817acea153ef4cb67", size = 888465, upload-time = "2026-08-20T19:06:30.4Z" }, + { url = "https://files.pythonhosted.org/packages/58/5a/ca7ee7a767413d4ba858e93748b95e30b35b8c139849fba94de4433ea2e5/pyzmq-27.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:714f8cbd66c7e405338d668f79d2fe83fe923defe348e843be998603cf92eeff", size = 1705731, upload-time = "2026-08-20T19:06:31.819Z" }, + { url = "https://files.pythonhosted.org/packages/0b/8b/083f6184e4eba566c9a3cc9974b1b0fe327b7093788135ba8133edaa67a6/pyzmq-27.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1132805970045adb9f5f05dd57040978286a8e21a5475f2c2ddf1bc983b9a2c7", size = 2074243, upload-time = "2026-08-20T19:06:33.36Z" }, + { url = "https://files.pythonhosted.org/packages/57/f5/249362b664ae725d534c8843214fa9fd7fccd74532a19e24603954a88a7d/pyzmq-27.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b26f2d0493b79ce3c3112c8a12649418915582ba4707b8ed9f44febf2be71f42", size = 1926859, upload-time = "2026-08-20T19:06:34.796Z" }, + { url = "https://files.pythonhosted.org/packages/bf/cc/23c613c15f06d879f13364d14c17e5e4e8304049411e96c1410e6e56c3ea/pyzmq-27.2.0-cp311-cp311-win32.whl", hash = "sha256:44f261eca7dfb9904ea2b56428f59ab693bbe2715c0413a701f17b067ebf877c", size = 570747, upload-time = "2026-08-20T19:06:36.337Z" }, + { url = "https://files.pythonhosted.org/packages/dc/bc/bbbcf89003c93f18e33665c26e3c48d75e3915c3dd22887f3a7aea2c5e26/pyzmq-27.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:8b86e04f55af0f4d8cd8ecf14c0b8b81ebc8fd66fa20126b753514628ecadc7e", size = 644845, upload-time = "2026-08-20T19:06:37.711Z" }, + { url = "https://files.pythonhosted.org/packages/14/c5/4635d0ba2b8493edf6d5541fff0b07fa1d986fdfc29c596a53a21e20f9af/pyzmq-27.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:917d601e9540098f580d2723d0ce6402cdb6f02bc8dc2de74e0dca6e13bffd1b", size = 567495, upload-time = "2026-08-20T19:06:39.246Z" }, + { url = "https://files.pythonhosted.org/packages/57/8a/153532fa53db30e116118164f3af269a1f3966b3e2ba32c89b12fe864bd8/pyzmq-27.2.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:591c8de5851c5ea372194469fe97587b97c3b641e9a70f31bb3474acbfde0241", size = 1431074, upload-time = "2026-08-20T19:06:40.601Z" }, + { url = "https://files.pythonhosted.org/packages/c8/ef/c08b91248bb90a9efa81fa00ba81b69c157c74d0c5efbb2c319d91babb62/pyzmq-27.2.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:00e73942ef12cecbc7951c4a9104bb8ffaed742abb13af2da6833d90dd368cef", size = 973915, upload-time = "2026-08-20T19:06:42.037Z" }, + { url = "https://files.pythonhosted.org/packages/b4/78/a3a3a86c2b00fadb92ece1ca4f8f028d62b2ce9ac3526097239ab2d6fba9/pyzmq-27.2.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f8079d0521fe94bbb401fe9407578b28f3701627c8be2c9f7e0c5b77dcb0109", size = 697722, upload-time = "2026-08-20T19:06:43.325Z" }, + { url = "https://files.pythonhosted.org/packages/62/2c/d5828306f795e8d34676d266823b74e2101e0ad3760d12083de3e02abbb2/pyzmq-27.2.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dea74fd65f1fc5f7fe167916a473ebe6ed6174e5e5d9de11ea6583661be6cf43", size = 872258, upload-time = "2026-08-20T19:06:44.627Z" }, + { url = "https://files.pythonhosted.org/packages/09/52/51253b78fd8739293e283407eeecb14215c02c71b6519af21f6eed8e69cd/pyzmq-27.2.0-cp312-abi3-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:dcc99ca132b667a4ed750afd42db4ea73288f18425a9b2e3c0af095665c491f5", size = 739591, upload-time = "2026-08-20T19:06:46.214Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3e/142c85b67a4c9678629b0cf6d5125b29663d75be69bfaa57a3cac344d780/pyzmq-27.2.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:b8d5f66e4a8246cf77f7b8f7902af64f00553368fa0373c89d99b78f0ad79394", size = 1689031, upload-time = "2026-08-20T19:06:47.612Z" }, + { url = "https://files.pythonhosted.org/packages/0e/ee/0776fb0f98ed1eb74d77240087fef0ab045b6ad15cb09555c6c5134c98ad/pyzmq-27.2.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:d1526b42a2e725b84ed226f37becedc250c6347594e5ed304e4e9aff68c9aec3", size = 2059547, upload-time = "2026-08-20T19:06:49.064Z" }, + { url = "https://files.pythonhosted.org/packages/aa/0e/ec77f691a4aebe29ab6329f996fb0e0270c876a3016086e3ca6ef733bcae/pyzmq-27.2.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f707bcf2c1d007d14d70531d4dd7b41060881c73efa845580bf6faaf9ea24d42", size = 1910457, upload-time = "2026-08-20T19:06:50.783Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/1f5530ff4fc271b4597048371d5af972c2baab51be132ba15874e0327a6a/pyzmq-27.2.0-cp312-abi3-win32.whl", hash = "sha256:fdaaa4ea3242f6ad298eb5177eb042aea5c73c30e76d20caee7b15af20d24ec2", size = 563450, upload-time = "2026-08-20T19:06:52.307Z" }, + { url = "https://files.pythonhosted.org/packages/02/8b/b83f7780dad22e0878e4c7bd9158ebd24ed12bc3d5e3a471cd0576f77ded/pyzmq-27.2.0-cp312-abi3-win_amd64.whl", hash = "sha256:2c218c6ab8bc447ba62054b581fd30209689d199c6ecb253f79615ca74a38e12", size = 628633, upload-time = "2026-08-20T19:06:53.809Z" }, + { url = "https://files.pythonhosted.org/packages/52/aa/3918b5ac7f9987bd9c421b065074fd7409ded88f856f2c704a24341877ec/pyzmq-27.2.0-cp312-abi3-win_arm64.whl", hash = "sha256:348d6fd3e4b81ae4580622ea8c2ea60224e84b2ac1b3be4482e6edc7de06e7a3", size = 556006, upload-time = "2026-08-20T19:06:55.242Z" }, + { url = "https://files.pythonhosted.org/packages/83/5e/d0541596b48c5a19f85dcbea83d6673d8e91681cdf853eb194c31fc9766e/pyzmq-27.2.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:c551b9e2f86dc625fcb1a032c0d68042678caf96a8dd7c28796766b673bd5b52", size = 1127193, upload-time = "2026-08-20T19:06:56.545Z" }, + { url = "https://files.pythonhosted.org/packages/50/9f/8c7411bb283982d46e6d56dca6a095678c87eb0398daead12776d9881ac2/pyzmq-27.2.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:288cc790da0e3064a14a38ddc56ba169dada8c8af4cb86518db2bcbd380eedbb", size = 1166833, upload-time = "2026-08-20T19:06:58.011Z" }, + { url = "https://files.pythonhosted.org/packages/f9/84/a849161ff88b2de9b991cc8ab332218824741122fdc4fdf222a5b822ac8c/pyzmq-27.2.0-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:3d45189c0c3c99f817b7fefff0d32eeef684cf33e1e3c0fc4281515357c54702", size = 1134452, upload-time = "2026-08-20T19:06:59.898Z" }, + { url = "https://files.pythonhosted.org/packages/3c/34/ff4aaff0cfba2a4d7ad1a16ffedc52c6deb89fcf673d455085446b23f215/pyzmq-27.2.0-cp314-cp314-android_24_x86_64.whl", hash = "sha256:d61910b52be5b2cd8b248dbcbe3a1b0275556a7d99fb613fc43323b546e273b8", size = 1167520, upload-time = "2026-08-20T19:07:01.283Z" }, + { url = "https://files.pythonhosted.org/packages/b6/07/42111e9dc1041d78b4443d6eb1b82b027f1a58178dc8a38385effbc72ad5/pyzmq-27.2.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:3ab6eb88590e510ab16715c32dbba12000da9bee989fdadd9ee19a234c492eb7", size = 1466289, upload-time = "2026-08-20T19:07:02.738Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b4/def7a478458da78665840564161772e7e938600c32a89f28e8b221b54d2d/pyzmq-27.2.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1ecbdd131b9669f62d3a45afee5527c7ae9f141e4301267f21714c90bd21725f", size = 975868, upload-time = "2026-08-20T19:07:04.155Z" }, + { url = "https://files.pythonhosted.org/packages/38/d5/e3e85f7fea37153097aaff49db9e33093909cc2a7b22c1ac4ebe546600fc/pyzmq-27.2.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3146385b94a760236c5eceff468a66a296a716ca98a2e0f9217b1518118466b1", size = 706054, upload-time = "2026-08-20T19:07:05.623Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ef/3b7d9449b223183222bf517245e1e53d5f1ab8c10be8b45f6a301b2f994a/pyzmq-27.2.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9846e881620dd62566ca76a53e384c3f37490faf4b9240aebc7498810dfca853", size = 878984, upload-time = "2026-08-20T19:07:07.153Z" }, + { url = "https://files.pythonhosted.org/packages/be/a5/8b49dbd494f6dcfda69dc4cade322a4b02706ef4e3d30cc366d4e369899f/pyzmq-27.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d9527e3dbaef1edaeeb2446fa7379446814a43ade8adc7c4a5ebe69437815ddd", size = 1697489, upload-time = "2026-08-20T19:07:08.945Z" }, + { url = "https://files.pythonhosted.org/packages/da/5a/4bb8280901130c26ea25f0cbb4a6d39d94250860c6b3dbd912f1cf48fca7/pyzmq-27.2.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:56b48fa9d478a3af7254f397697a62f5ad3e1bb677e200b2701f0c290d97e5af", size = 2064236, upload-time = "2026-08-20T19:07:10.384Z" }, + { url = "https://files.pythonhosted.org/packages/de/38/f433af66922554adb2b5f79e897018c8e19a90b9eaeb49c4814f8355ebe4/pyzmq-27.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:bf0b6e4ce1bb089751c504c5493d6b0557eabd02dd21b76e9086cf964234b103", size = 1917424, upload-time = "2026-08-20T19:07:11.909Z" }, + { url = "https://files.pythonhosted.org/packages/36/81/ea1c1ae3f801d96ba2c269e056761ebcfe023476e651d3af2a7817962051/pyzmq-27.2.0-cp314-cp314t-win32.whl", hash = "sha256:fba8afcf265c6e9fbe1594cb045d4765c6c9a7d607653a8196067ef23566b843", size = 591103, upload-time = "2026-08-20T19:07:13.451Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/149a627707e780fa9f2c1ede3590c14fa6b18b5576d15744342622299a50/pyzmq-27.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d1bc1d380a91d954ed5fc9f12915dba014eed0978d2de05ee7ca688bdaac144a", size = 670215, upload-time = "2026-08-20T19:07:15.069Z" }, + { url = "https://files.pythonhosted.org/packages/30/ba/f9c3c1536c41ef3dbf765ea04218990e2056e558f98184ecd883767fc501/pyzmq-27.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:c7cfb75caa83f5153c687e9d2107f64b5ef0ef0d6edd260d3ff920baaaa69101", size = 582252, upload-time = "2026-08-20T19:07:16.582Z" }, + { url = "https://files.pythonhosted.org/packages/fa/00/78fe097a304a408275747ce43f20428789130b059c5649956277c20f30cf/pyzmq-27.2.0-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:c5129a8fe43ecc49b99eb75616603d483a3c2fcaef504988fafe8ea392aea98b", size = 1134295, upload-time = "2026-08-20T19:07:17.94Z" }, + { url = "https://files.pythonhosted.org/packages/f2/83/1c36270658d2ee56e23a3f9ef5fbcb94cbd2f9fe966a6641f2f38e697162/pyzmq-27.2.0-cp315-cp315-android_24_x86_64.whl", hash = "sha256:baa2ce3485145653194d6c8c5beedd1e9f0bf46a0919c9fa2fe2204fc35b74d9", size = 1167492, upload-time = "2026-08-20T19:07:19.476Z" }, + { url = "https://files.pythonhosted.org/packages/58/b2/f0ae223438d7faa991f6feefdc823815f11cc604f898738376b59fd96515/pyzmq-27.2.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:e1ed46048d1920cabc96d952a0d5cfe4127ad8db572c335aae4e3c57b9278d7f", size = 1465992, upload-time = "2026-08-20T19:07:20.941Z" }, + { url = "https://files.pythonhosted.org/packages/59/46/fb56f3f37a6a0937b0e1d2885e808b5eedc171320bac85573cfae78fa9bc/pyzmq-27.2.0-cp315-cp315t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:e0fa0bc6b1a184aee59b32efcd1b7f0e6d5b8f9387799e4c16a4cb66a86747d6", size = 976118, upload-time = "2026-08-20T19:07:22.577Z" }, + { url = "https://files.pythonhosted.org/packages/21/82/a2c9bfd7c4d34eea1278493cd041bc000d41acb4463c89ceaad29dc813b6/pyzmq-27.2.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f4bd6743e8bf854c3bfce892dd6578a514aabf128e37a4b2eafcf01856f7e44", size = 705968, upload-time = "2026-08-20T19:07:24.019Z" }, + { url = "https://files.pythonhosted.org/packages/d6/12/b906b269116b6591dc15c0acc5d04c043957c8a531d336999731f4b1d899/pyzmq-27.2.0-cp315-cp315t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95369ed6626afcfe2ac89832fb1b917c077fbeb905fbbe5d918349ce0222b89b", size = 879011, upload-time = "2026-08-20T19:07:25.428Z" }, + { url = "https://files.pythonhosted.org/packages/12/13/f96359534bfb77651c15f1fbfc4bfdd7ec3489d23f434706d39598dd0dcd/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:40124779c3a56ad5d91902df1ff89159cb414b6c1a0ee697abcc66cf5e6db62d", size = 1697496, upload-time = "2026-08-20T19:07:26.821Z" }, + { url = "https://files.pythonhosted.org/packages/21/b4/2c007ae5f2fe5eca86cbfbc874ed86b5135f2f7812615dfd78606d3c93f6/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:ec8a318dfc27c7d946651b3d9e8025d5734f30c168a822195601827207bac09b", size = 2064347, upload-time = "2026-08-20T19:07:28.315Z" }, + { url = "https://files.pythonhosted.org/packages/9b/88/767af3a6630c15215f3a66700ec79598a375edd1fdc9d75a3ad522178c01/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:88c0fac061bac269076edeb3a209acefc96cd6167c239daf1c2b404ac48d7012", size = 1917360, upload-time = "2026-08-20T19:07:29.693Z" }, + { url = "https://files.pythonhosted.org/packages/35/c1/80dd2d20d6e57bc68e1dce1e84bf3e76c9577c1bf728199985c8b4ea0fd1/pyzmq-27.2.0-cp315-cp315t-win32.whl", hash = "sha256:ac126d48cf18aa955daabef43bf0009ff76ad4deee437d09ecf15388214b5beb", size = 591073, upload-time = "2026-08-20T19:07:31.341Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b5/33b781666f3f52ae834bc9c8e38f4f0483a826c5a91cccc993292007bf10/pyzmq-27.2.0-cp315-cp315t-win_amd64.whl", hash = "sha256:edce90a1e588ec63adbf612cc0ad582de4169cd216c7ae53c15f42a2ee902f35", size = 670701, upload-time = "2026-08-20T19:07:32.895Z" }, + { url = "https://files.pythonhosted.org/packages/6e/97/bc4f0edefb992df4fdebcf9f0cc40f631cd4ed277e1ed59ef2cd99a5c8c5/pyzmq-27.2.0-cp315-cp315t-win_arm64.whl", hash = "sha256:a843094b4d3d633bc3623e47a2ff50742d6af02bc1f7606aa2e67e971e21878d", size = 581985, upload-time = "2026-08-20T19:07:34.19Z" }, + { url = "https://files.pythonhosted.org/packages/93/22/7187a1f0bf2b8bf8dc6b91762438fb9b472f684f2dc4cb74a24bf8957943/pyzmq-27.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a7c1144dc61777938e932a2c9011b980b89fd8ff3733033b34c44c299187a6e1", size = 875015, upload-time = "2026-08-20T19:08:01.692Z" }, + { url = "https://files.pythonhosted.org/packages/92/71/09b71620ad52bad4eb68b1516978ecaf52ef623c3fa16e0732a03cf3274c/pyzmq-27.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:c218b816220d05acf6ab1bafca58926d95cbcc5fec5024724666030466308f0c", size = 774395, upload-time = "2026-08-20T19:08:03.108Z" }, + { url = "https://files.pythonhosted.org/packages/9c/cf/5c8eb9994a14ff5ee5b0cada339421748746c95aee0280c8b656741e8749/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ae6ebbc0bfe5a21ce21e32ba567bf73df2d93888109c65acbd42506cf9395759", size = 877994, upload-time = "2026-08-20T19:08:04.724Z" }, + { url = "https://files.pythonhosted.org/packages/97/64/e22094c5555e550b6450ecfcceb6a1205d893d9a18ae27764c8c45acfb16/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:679b5b1dde326a921ea2c9ec1f9ea3115bfe1b4735779bbc6eb0473a0ed93f71", size = 614492, upload-time = "2026-08-20T19:08:06.487Z" }, + { url = "https://files.pythonhosted.org/packages/d2/28/5b1042899caed18278c56d54a502f5254d463afe8aea1acbecc98e053391/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f5c6d8744d10b5e1eadd90a7c58f8546acf6bf680ee463f7e6ada09ad6c9f802", size = 780574, upload-time = "2026-08-20T19:08:07.987Z" }, + { url = "https://files.pythonhosted.org/packages/77/a3/f134603a671c114c6b56eb912bba890f09e2d43b8a28d243be5a5507cf2f/pyzmq-27.2.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3ee8dd7031d5e23f632e0e7eee67183ca7d2536e0de35dc1e5d69f3471a791e8", size = 553961, upload-time = "2026-08-20T19:08:09.651Z" }, +] + +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, +] + +[[package]] +name = "requests" +version = "2.34.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" }, +] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" }, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760, upload-time = "2019-10-28T16:00:19.144Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242, upload-time = "2019-10-28T16:00:13.976Z" }, +] + +[[package]] +name = "rfc3987-syntax" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lark" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2c/06/37c1a5557acf449e8e406a830a05bf885ac47d33270aec454ef78675008d/rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d", size = 14239, upload-time = "2025-07-18T01:05:05.015Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/71/44ce230e1b7fadd372515a97e32a83011f906ddded8d03e3c6aafbdedbb7/rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f", size = 8046, upload-time = "2025-07-18T01:05:03.843Z" }, +] + +[[package]] +name = "rpds-py" +version = "2026.6.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/2a/9618a122aeb2a169a28b03889a2995fe297588964333d4a7d67bdf46e147/rpds_py-2026.6.3.tar.gz", hash = "sha256:1cebd1337c242e4ec2293e541f712b2da849b29f48f0c293684b71c0632625d4", size = 64051, upload-time = "2026-06-30T07:17:53.009Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/1f/a2dca5ffdbf1d475ffc4e80e4d5d720ff3a00f691795910116960ee12511/rpds_py-2026.6.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:7b689145a1485c335569bd056464f3243a29af7ed3871c7be31ad624ba239bc7", size = 342174, upload-time = "2026-06-30T07:14:54.821Z" }, + { url = "https://files.pythonhosted.org/packages/4d/dc/323d08583c0832911768663d1944f0107fcd4088704858d84b5e06d105a0/rpds_py-2026.6.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:db08f45aecde626498fb3df07bcf6d2ec040af42e859a4f5040d79c200342911", size = 345513, upload-time = "2026-06-30T07:14:56.515Z" }, + { url = "https://files.pythonhosted.org/packages/0b/2a/e31989834d18d2f26ec1d2774c5b1eb3331df4ea8ada525175294c94b48a/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acc992ab27b15f852c76755eb2ab7dce86585ddadba6fa5946e58556088845b4", size = 373783, upload-time = "2026-06-30T07:14:57.736Z" }, + { url = "https://files.pythonhosted.org/packages/87/fe/e80107ee3639585c9941c17d6a42cd65325022f656c023191fce78c324c8/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7f88d653e7b3b779d71ae7454e20dcc9b6bae903f33c269db9f2be41bda3f261", size = 378316, upload-time = "2026-06-30T07:14:59.077Z" }, + { url = "https://files.pythonhosted.org/packages/22/6f/81e3adf81acfb6fa694de2a6e4e7d8863121e3e0799e0a7725e6cf5679c4/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e52655eaf81e32593abedaa4bfe33170c8cfedf3365ed9be6e11e07f148f0278", size = 499423, upload-time = "2026-06-30T07:15:00.488Z" }, + { url = "https://files.pythonhosted.org/packages/2d/9a/41263969df0ce3d9af2a96d5005a288200af1989aed3354bfceb5fc0b21f/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dfcc8b909769d19db55c7cc9541eb64b9b774b1057ffffb4f1048070475bb9f9", size = 386077, upload-time = "2026-06-30T07:15:01.911Z" }, + { url = "https://files.pythonhosted.org/packages/5e/19/7e98f468bd50346faff5b10e5297374b443bfdddacc8e9fbc65984539597/rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c1255b302953c86a486b81d330d5ee1d5bd937691ce271b6be0ef0e299eaab7", size = 371315, upload-time = "2026-06-30T07:15:03.317Z" }, + { url = "https://files.pythonhosted.org/packages/99/3c/2b973b4d371906a134b03decfea7f5d9835a2c6d263454392e15b64b5b18/rpds_py-2026.6.3-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:8d2294a31386bfa251d8c8a39472beee17db67d4f1a6eabea665d35c9a4461c3", size = 383502, upload-time = "2026-06-30T07:15:04.627Z" }, + { url = "https://files.pythonhosted.org/packages/98/2a/12e2799500af0a307bca76b63361c51f9fe479223561489c29eea1f2ee41/rpds_py-2026.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8f23ead891a3b762f35ab3b04623da7056545b48aa60d59957e6789914545da", size = 402673, upload-time = "2026-06-30T07:15:05.856Z" }, + { url = "https://files.pythonhosted.org/packages/2d/e3/21e5872d165fe08be4f229e3d5ee9d90019c0bf0e5538de60dbd54009450/rpds_py-2026.6.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:421aba32367055614287a4292b6a17f1939c9452299f7a0209c117e990b646d4", size = 549964, upload-time = "2026-06-30T07:15:07.159Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d0/5ee0fe36844297de8123bee27bc12078c1a7416ad9f1b8a8ca18d6b0c0ac/rpds_py-2026.6.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1e5822dfc2f0d4ab7e745eaa6d85945069329beeccef965af3f3bb26058fcab6", size = 615446, upload-time = "2026-06-30T07:15:08.531Z" }, + { url = "https://files.pythonhosted.org/packages/b1/80/1ea5873cb683f2fbe5f21b23ea1f6d179ead19f3c5b249b7eb5dca568ef2/rpds_py-2026.6.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:83e35b57523816c8613fd0776b40cd8bb9f596b37ddd2692eb4a6bb5ab2f8c93", size = 576975, upload-time = "2026-06-30T07:15:09.97Z" }, + { url = "https://files.pythonhosted.org/packages/c9/e1/90ef639217a5ddb15b7f4f61b1c33911fd044ad03c311bafdd2bcab85582/rpds_py-2026.6.3-cp311-cp311-win32.whl", hash = "sha256:de3eceba0b683bcbb1ab93da016d0270df1f9ae7be716b40214c5dafac6ea45a", size = 204453, upload-time = "2026-06-30T07:15:11.324Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b7/b7a1695d7af36f521fb11e80d6d3adbd744f73b921859bd3c2a2c0dc706f/rpds_py-2026.6.3-cp311-cp311-win_amd64.whl", hash = "sha256:2c54a076ca4d370980ab57bc0e31df57bbe8d41340436a90ef8b1219a3cbb127", size = 223219, upload-time = "2026-06-30T07:15:12.476Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a2/145afacf796e4506062825941176ad9445c2dcf2b3b6a1f13d3030a15e19/rpds_py-2026.6.3-cp311-cp311-win_arm64.whl", hash = "sha256:168c733a7112e071bb7a66460e667edfcff06c017a3c523f7a8a8e08d0140804", size = 219137, upload-time = "2026-06-30T07:15:13.631Z" }, + { url = "https://files.pythonhosted.org/packages/5c/be/2e8974163072e7bab7df1a5acd54c4498e75e35d6d18b864d3a9d5dadc92/rpds_py-2026.6.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a0811d33247c3d6128a3001d763f2aa056bb3425204335400ac54f89eec3a0d0", size = 343691, upload-time = "2026-06-30T07:15:14.96Z" }, + { url = "https://files.pythonhosted.org/packages/a4/73/319dfa745dd668efe89309141ded489126461fcecd2b8f3a3cda185129b6/rpds_py-2026.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:538949e262e46caa31ac01bdb3c1e8f642622922cacbabbae6a8445d9dc33eaf", size = 338542, upload-time = "2026-06-30T07:15:16.267Z" }, + { url = "https://files.pythonhosted.org/packages/21/63/4239893be1c4d09b709b1a8f6be4188f0870084ff547f46606b8a75f1b03/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55927d532399c2c646100ff7feb48eaa940ad70f42cd68e1328f3ded9f81ca24", size = 368180, upload-time = "2026-06-30T07:15:17.62Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ca/9c5de382225234ceb37b1844ebdb140db12b2a278bb9efe2fcd19f6c82ce/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f56f1695bc5c0871cbc33dc0130fcf503aab0c57dcc5a6700a4f49eba4f2652e", size = 375067, upload-time = "2026-06-30T07:15:18.952Z" }, + { url = "https://files.pythonhosted.org/packages/87/dc/863f69d1bf04ade34b7fe0d59b9fdf6f0135fe2d7cbca74f1d665589559d/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:270b293dae9058fc9fcedab50f13cebf46fb8ed1d1d54e0521a9da5d6b211975", size = 490509, upload-time = "2026-06-30T07:15:20.434Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ef/eac16a12048b45ec7c7fa94f2be3438a5f26bf9cc8580b18a1cfd609b7f6/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:127565fead0a10943b282957bd5447804ff3160ad79f2ad2635e6d249e380680", size = 382754, upload-time = "2026-06-30T07:15:21.831Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/d2f3f532616be4d06c316ef119683e832bd3d41e112bf3a88f4151c95b17/rpds_py-2026.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ecabd69db66de867690f9797f2f8fa27ba501bbc24540cbdbdc649cd15888ba6", size = 366189, upload-time = "2026-06-30T07:15:23.371Z" }, + { url = "https://files.pythonhosted.org/packages/e3/29/41a7b0e98a4b44cd676ab7598419623373eb43b20be68c084935c1a8cf88/rpds_py-2026.6.3-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:58eadac9cd119677b60e1cf8ac4052f35949d71b8a9e5556efccbe82533cf22a", size = 377750, upload-time = "2026-06-30T07:15:24.659Z" }, + { url = "https://files.pythonhosted.org/packages/2e/05/ecda0bec46f9a1565090bcdc941d023f6a25aff85fda28f89f8d19878152/rpds_py-2026.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7491ee23305ac3eb59e492b6945881f5cd77a6f731061a3f25b77fd40f9e99a4", size = 395576, upload-time = "2026-06-30T07:15:25.987Z" }, + { url = "https://files.pythonhosted.org/packages/68/a8/6ed52f03ee6cb854ce78785cc9a9a672eb880e83fd7224d471f667d151f1/rpds_py-2026.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2c99f7e8ccb3dd6e3e4bfeac657a7b208c9bac8075f4b078c02d7404c34107fa", size = 543807, upload-time = "2026-06-30T07:15:27.356Z" }, + { url = "https://files.pythonhosted.org/packages/8f/d6/156c0d3eea27ba09b92562ba2364ba124c0a061b199e17eac637cd25a5e2/rpds_py-2026.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:62698275682bf121181861295c9181e789030a2d516071f5b8f3c23c170cd0fc", size = 611187, upload-time = "2026-06-30T07:15:28.931Z" }, + { url = "https://files.pythonhosted.org/packages/f1/31/774212ed989c62f7f310220089f9b0a3fb8f40f5443d1727abd5d9f52bc9/rpds_py-2026.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a214c993455f99a89aaeadc9b21241900037adc9d97203e374d75513c5911822", size = 573030, upload-time = "2026-06-30T07:15:30.553Z" }, + { url = "https://files.pythonhosted.org/packages/c9/50/22f73127a41f1ce4f87fe39aadfb9a126345801c274aa93ae88456249327/rpds_py-2026.6.3-cp312-cp312-win32.whl", hash = "sha256:501f9f04a588d6a09179368c57071301445191767c64e4b52a6aa9871f1ef5ed", size = 202185, upload-time = "2026-06-30T07:15:32.027Z" }, + { url = "https://files.pythonhosted.org/packages/04/3a/f0ee4d4dde9d3b69dedf1b5f74e7a40017046d55052d173e418c6a94f960/rpds_py-2026.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:2c958bf94822e9290a40aaf2a822d4bc5c88099093e3948ad6c571eca9272e5f", size = 220394, upload-time = "2026-06-30T07:15:33.359Z" }, + { url = "https://files.pythonhosted.org/packages/f3/83/3382fe37f809b59f02aac04dbc4e765b480b46ee0227ed516e3bdc4d3dfc/rpds_py-2026.6.3-cp312-cp312-win_arm64.whl", hash = "sha256:22bffe6042b9bcb0822bcd1955ec00e245daf17b4344e4ed8e9551b976b63e96", size = 215753, upload-time = "2026-06-30T07:15:34.778Z" }, + { url = "https://files.pythonhosted.org/packages/a4/9e/b818ee580026ec578138e961027a68820c40afeb1ec8f6819b54fb99e196/rpds_py-2026.6.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3cfe765c1da0072636ca06628261e0ea05688e160d5c8a03e0217c3854037223", size = 343012, upload-time = "2026-06-30T07:15:36.005Z" }, + { url = "https://files.pythonhosted.org/packages/f3/6b/686d9dc4359a8f163cfbbf89ee0b4e586431de22fe8248edb63a8cf50d49/rpds_py-2026.6.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f4d78253f6996be4901669ad25319f842f740eccf4d58e3c7f3dd39e6dde1d8f", size = 338203, upload-time = "2026-06-30T07:15:37.462Z" }, + { url = "https://files.pythonhosted.org/packages/9e/9b/069aa329940f8207615e091f5eedbbd40e1e15eac68a0790fd05ccdf796c/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54f45a148e28767bf343d33a684693c70e451c6f4c0e9904709a723fafbdfc1f", size = 367984, upload-time = "2026-06-30T07:15:39.008Z" }, + { url = "https://files.pythonhosted.org/packages/14/db/34c203e4becff3703e4d3bc121842c00b8689197f398161203a880052f4e/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:842e7b070435622248c7a2c44ae53fa1440e073cc3023bc919fed570884097a7", size = 374815, upload-time = "2026-06-30T07:15:40.253Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7d/8071067d2cc453d916ad836e828c943f575e8a44612537759002a1e07381/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8020133a74bd81b4572dd8e4be028a6b1ebcd70e6726edc3918008c08bee6ee6", size = 490545, upload-time = "2026-06-30T07:15:41.729Z" }, + { url = "https://files.pythonhosted.org/packages/a3/42/da06c5aa8f0484ff07f270787434204d9f4535e2f8c3b51ed402267e63c3/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cdc7e35386f3847df728fbcb5e887e2d79c19e2fa1eba9e51b6621d23e3243af", size = 382828, upload-time = "2026-06-30T07:15:43.327Z" }, + { url = "https://files.pythonhosted.org/packages/57/d7/fe978efc2ae50abe48eb7464668ea99f53c010c60aeebb7b35ad27f23661/rpds_py-2026.6.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acac386b453c2516111b50985d60ce46e7fadb5ea71ae7b25f4c946935bf27cf", size = 365678, upload-time = "2026-06-30T07:15:44.992Z" }, + { url = "https://files.pythonhosted.org/packages/69/9d/1d8922e1990b2a6eb532b6ff53d3e73d2b3bbffc84116c75826bee73dfc6/rpds_py-2026.6.3-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:425560c6fa0415f27261727bb20bd097568485e5eb0c121f1949417d1c516885", size = 377811, upload-time = "2026-06-30T07:15:46.523Z" }, + { url = "https://files.pythonhosted.org/packages/b1/3d/198dceafb4fb034a6a47347e1b0735d34e0bd4a50be4e898d408ee66cb14/rpds_py-2026.6.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a550fb4950a06dde3beb4721f5ad4b25bf4513784665b0a8522c792e2bd822a4", size = 395382, upload-time = "2026-06-30T07:15:47.955Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f1/13968e49655d40b6b19d8b9140296bbc6f1d86b3f0f6c346cf9f1adddf4b/rpds_py-2026.6.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f4bca01b63096f606e095734dd56e74e175f94cfbf24ff3d63281cec61f7bb7", size = 543832, upload-time = "2026-06-30T07:15:49.33Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ab/289bcb1b90bd3e40a2900c561fa0e2087345ecbb094f0b870f2345142b7c/rpds_py-2026.6.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ccffae9a092a00deb7efd545fe5e2c33c33b88e7c054337e9a74c179347d0b7d", size = 611011, upload-time = "2026-06-30T07:15:50.847Z" }, + { url = "https://files.pythonhosted.org/packages/1e/16/5043105e679436ccfbc8e5e0dd2d663ed18a8b8113515fd06a5e5d77c83e/rpds_py-2026.6.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1cf01971c4f2c5553b772a542e4aaf191789cd331bc2cd4ff0e6e65ba49e1e97", size = 572431, upload-time = "2026-06-30T07:15:52.394Z" }, + { url = "https://files.pythonhosted.org/packages/85/ed/adab103321c0a6565d5ae1c2998349bc3ee175b82ccc5ae8fc04cc413075/rpds_py-2026.6.3-cp313-cp313-win32.whl", hash = "sha256:8c3d1e9c15b9d51ca0391e13da1a25a0a4df3c58a37c9dc368e0736cf7f69df0", size = 201710, upload-time = "2026-06-30T07:15:53.894Z" }, + { url = "https://files.pythonhosted.org/packages/7b/ed/a03b09668e74e5dabbf2e211f6468e1820c0552f7b0500082da31841bf7b/rpds_py-2026.6.3-cp313-cp313-win_amd64.whl", hash = "sha256:9250a9a0a6fd4648b3f868da8d91a4c52b5811a62df58e753d50ae4454a36f80", size = 219454, upload-time = "2026-06-30T07:15:55.25Z" }, + { url = "https://files.pythonhosted.org/packages/27/17/b8642c12930b71bc2b25831f6708ccf0f75abcd11883932ec9ce54ba3a78/rpds_py-2026.6.3-cp313-cp313-win_arm64.whl", hash = "sha256:900a67df3fd1660b035a4761c4ce73c382ea6b35f90f9863c36c6fd8bf8b09bb", size = 215063, upload-time = "2026-06-30T07:15:56.573Z" }, + { url = "https://files.pythonhosted.org/packages/b6/36/7fbe9dcdaf857fb3f63c2a2284b62492d95f5e8334e947e5fb6e7f68c9be/rpds_py-2026.6.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:931908d9fc855d8f74783377822be318edb6dcb19e47169dc038f9a1bf60b06e", size = 344510, upload-time = "2026-06-30T07:15:57.921Z" }, + { url = "https://files.pythonhosted.org/packages/ba/54/f785cc3d3f60839ca57a5af4927a9f347b07b2799c373fc20f7949f87c7e/rpds_py-2026.6.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d7469697dce35be237db177d42e2a2ee26e6dcc5fc052078a6fefabd288c6edd", size = 339495, upload-time = "2026-06-30T07:15:59.238Z" }, + { url = "https://files.pythonhosted.org/packages/63/ef/d4cdaf309e6b095b43597103cf8c0b951d6cca2acce68c474f75ec12e0c7/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcfbcf66006befb9fd2aeaa9e01feaf881b4dc330a02ba07d2322b1c11be7b5d", size = 369454, upload-time = "2026-06-30T07:16:01.021Z" }, + { url = "https://files.pythonhosted.org/packages/96/4a/9559a68b7ee15db09d7981212e8c2e219d2a1d6d4faa0391d813c3496a36/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:847927daf4cffbd4e90e42bc890069897101edd015f956cb8721b3473372edda", size = 374583, upload-time = "2026-06-30T07:16:02.287Z" }, + { url = "https://files.pythonhosted.org/packages/ef/75/8964aa7d2c6e8ac43eba8eb6e6b0fdda1f46d39f2fc3e6aa9f2cb17f485d/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aca6c1ef08a82bfe327cc156da694660f599923e2e6665b6d81c9c2d0ac9ffc8", size = 492919, upload-time = "2026-06-30T07:16:03.723Z" }, + { url = "https://files.pythonhosted.org/packages/8f/97/6908094ac804115e65aedfd90f1b5fee4eebebd3f6c4cfc5419939267565/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ae50181a047c871561212bb97f7932a2d45fb53e947bd9b57ebad85b529cbc53", size = 383725, upload-time = "2026-06-30T07:16:05.305Z" }, + { url = "https://files.pythonhosted.org/packages/d1/9c/0d1fdc2e7aba23e290d603bc494e97bd205bae262ce33c6b32a69768ed5e/rpds_py-2026.6.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc319e5a1de4b6913aac94bf6a2f9e847371e0a140a43dd4991db1a09bc2d504", size = 367255, upload-time = "2026-06-30T07:16:07.086Z" }, + { url = "https://files.pythonhosted.org/packages/c4/fe/f0209ca4a9ed074bc8acb44dfd0e81c3122e94c9689f5645b7973a866719/rpds_py-2026.6.3-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:e4316bf32babbed84e691e352faf967ce2f0f024174a8643c37c94a1080374fc", size = 379060, upload-time = "2026-06-30T07:16:08.525Z" }, + { url = "https://files.pythonhosted.org/packages/c6/8d/f1cc54c616b9d8897de8738aac148d20afca93f68187475fe194d09a71b9/rpds_py-2026.6.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8c6e5a2f750cc71c3e3b11d71661f21d6f9bc6cebc6564b1466417a1ec03ec77", size = 395960, upload-time = "2026-06-30T07:16:09.989Z" }, + { url = "https://files.pythonhosted.org/packages/fb/04/aafff00f73aeca2945f734f1d483c64ab8f472d0864ab02377fd8e89c3b2/rpds_py-2026.6.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4470ce197d4090875cf6affbf1f853338387428df97c4fb7b7106317b8214698", size = 545356, upload-time = "2026-06-30T07:16:11.816Z" }, + { url = "https://files.pythonhosted.org/packages/fd/cc/e229663b9e4ddac5a4acbe9085dd80a71af2a5d356b8b39d6bff233f24b0/rpds_py-2026.6.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ea964164cc9afa72d4d9b23cc28dafae93693c0a53e0b42acbff15b22c3f9ddd", size = 612319, upload-time = "2026-06-30T07:16:13.586Z" }, + { url = "https://files.pythonhosted.org/packages/e3/7a/8a0e6d3e6cd066af108b71b43122c3fe158dd9eb86acac626593a2582eb1/rpds_py-2026.6.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:639c8929aa0afe81be836b04de888460d6bed38b9c54cfc18da8f6bfabf5af5d", size = 573508, upload-time = "2026-06-30T07:16:15.23Z" }, + { url = "https://files.pythonhosted.org/packages/87/03/2a69ab618a789cf6cf85c86bb844c62d090e700ab1a2aa676b3741b6c516/rpds_py-2026.6.3-cp314-cp314-win32.whl", hash = "sha256:882076c00c0a608b131187055ddc5ae29f2e7eaf870d6168980420d58528a5c8", size = 202504, upload-time = "2026-06-30T07:16:16.893Z" }, + { url = "https://files.pythonhosted.org/packages/85/62/a3892ba945f4e24c78f352e5de3c7620d8479f73f211406a97263d13c7d2/rpds_py-2026.6.3-cp314-cp314-win_amd64.whl", hash = "sha256:0be972be84cfcaf46c8c6edf690ca0f154ac17babf1f6a955a51579b34ad2dc5", size = 220380, upload-time = "2026-06-30T07:16:18.108Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e7/c2bd44dc831931815ad11ebb5f430b5a0a4d3caa9de837107876c30c3432/rpds_py-2026.6.3-cp314-cp314-win_arm64.whl", hash = "sha256:2a9c6f195058cb45335e8cc3802745c603d716eb96bc9625950c1aac71c0c703", size = 215976, upload-time = "2026-06-30T07:16:19.654Z" }, + { url = "https://files.pythonhosted.org/packages/79/9c/fff7b74bce9a091ec9a012a03f9ff5f69364eaf9451060dfc4486da2ffdd/rpds_py-2026.6.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:f90938e92afda60266da758ee7d363447f7f0138c9559f9e1811629580582d90", size = 346840, upload-time = "2026-06-30T07:16:21.268Z" }, + { url = "https://files.pythonhosted.org/packages/e9/44/77bcb1168b33704908295533d27f10eb811e9e3e193e8993dc99572211d3/rpds_py-2026.6.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ec829541c45bca16e61c7ae50c20501f213605beb75d1aba91a6ee37fbbb56a4", size = 340282, upload-time = "2026-06-30T07:16:22.875Z" }, + { url = "https://files.pythonhosted.org/packages/87/3c/7a9081c7c9e645b39efe19e4ffbeccd80add246327cd9b888aecffd72317/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd70d95892096cdb26f15a00c45907b17817577aa8d1c76b2dcc2788391f9e9", size = 370403, upload-time = "2026-06-30T07:16:24.415Z" }, + { url = "https://files.pythonhosted.org/packages/f7/69/af47021eb7dad6ff3396cb001c08f0f3c4d06c20253f75be6421a59fe6b7/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:29dfa0533a5d4c94d4dfa1b694fcb56c9c63aad8330ffdd816fd225d0a7a162f", size = 376055, upload-time = "2026-06-30T07:16:26.111Z" }, + { url = "https://files.pythonhosted.org/packages/81/fc/a3bcf517084396a6dd258c592567a3c011ba4557f2fde23dceaf26e74f2e/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:af05d726809bff6b141be124d4c7ce998f9c9c7f30edb1f46c07aa103d540b41", size = 494419, upload-time = "2026-06-30T07:16:27.596Z" }, + { url = "https://files.pythonhosted.org/packages/c9/eb/13d529d1788135425c7bf207f8463458ca5d92e43f3f701365b83e9dffc1/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9826217f048f620d9a712672818bf231442c1b35d96b227a07eabd11b4bb6945", size = 384848, upload-time = "2026-06-30T07:16:29.183Z" }, + { url = "https://files.pythonhosted.org/packages/8e/f4/b7ac49f30013aba8f7b9566b1dd07e81de95e708c1374b7bacc5b9bc5c9c/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:536bceea4fa4acf7e1c61da2b5786304367c816c8895be71b8f537c480b0ea1f", size = 371369, upload-time = "2026-06-30T07:16:30.912Z" }, + { url = "https://files.pythonhosted.org/packages/31/86/6260bafa622f788b07ddec0e52d810305c8b9b0b8c27f58a2ab04bf62b4f/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:bc0011654b91cc4fb2ae701bec0a0ba1e552c0714247fa7af6c59e0ccfa3a4e1", size = 379673, upload-time = "2026-06-30T07:16:32.486Z" }, + { url = "https://files.pythonhosted.org/packages/19/c3/03f1ee79a047b48daeca157c89a18509cde22b6b951d642b9b0af1be660a/rpds_py-2026.6.3-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:539d75de9e0d536c84ff18dfeb805398e58227001ce09231a26a08b9aed1ee0e", size = 397500, upload-time = "2026-06-30T07:16:34.471Z" }, + { url = "https://files.pythonhosted.org/packages/f0/95/8ed0cd8c377dca12aea498f119fe639fc474d1461545c39d2b5872eb1c0f/rpds_py-2026.6.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:166cf54d9f44fc6ceb53c7860258dde44a81406646de79f8ed3234fca3b6e538", size = 545978, upload-time = "2026-06-30T07:16:36.45Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f2/0eb57f0eaa83f8fc152a7e03de968ab77e1f00732bebc892b190c6eebde7/rpds_py-2026.6.3-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:d34c20167764fbcf927194d532dd7e0c56772f0a5f943fa5ef9e9afbba8fb9db", size = 613350, upload-time = "2026-06-30T07:16:38.213Z" }, + { url = "https://files.pythonhosted.org/packages/5b/de/e0674bdbc3ef7634989b3f854c3f34bc1f587d36e5bfdc5c378d57034619/rpds_py-2026.6.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ea7bb13b7c9a29791f87a0387ba7d3ad3a6d783d827e4d3f27b40a0ff44495e2", size = 576486, upload-time = "2026-06-30T07:16:39.797Z" }, + { url = "https://files.pythonhosted.org/packages/f2/f6/21101359743cd136ada781e8210a85769578422ba460672eea0e29739200/rpds_py-2026.6.3-cp314-cp314t-win32.whl", hash = "sha256:6de4744d05bd1aa1be4ed7ea1189e3979196808008113bbbf899a460966b925e", size = 201068, upload-time = "2026-06-30T07:16:41.316Z" }, + { url = "https://files.pythonhosted.org/packages/a6/b2/9574d4d44f7760c2aa32d92a0a4f41698e33f5b204a0bf5c9758f52c79d5/rpds_py-2026.6.3-cp314-cp314t-win_amd64.whl", hash = "sha256:c7b9a2f8f4d8e90af72571d3d495deebdd7e3c75451f5b41719aee166e940fc2", size = 220600, upload-time = "2026-06-30T07:16:43.091Z" }, + { url = "https://files.pythonhosted.org/packages/08/ae/f23a2697e6ee6340a578b0f136be6483657bef0c6f9497b752bb5c0964bb/rpds_py-2026.6.3-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:e059c5dde6452b44424bd1834557556c226b57781dee1227af23518459722b13", size = 344726, upload-time = "2026-06-30T07:16:44.5Z" }, + { url = "https://files.pythonhosted.org/packages/c3/63/e7b3a1a5358dd32c930a1062d8e15b67fd6e8922e81df9e91706d66ee5c8/rpds_py-2026.6.3-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2f7c26fbc5acd2522b95d4177fe4710ffd8e9b20529e703ffbf8db4d93903f05", size = 339587, upload-time = "2026-06-30T07:16:46.255Z" }, + { url = "https://files.pythonhosted.org/packages/ec/64/10a85681916ca55fffb91b0a211f84e34297c109243484dd6394660a8a7c/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3086b538543802f84c843911242db20447de00d8752dd0efc936dbcf02218ba", size = 369585, upload-time = "2026-06-30T07:16:48.101Z" }, + { url = "https://files.pythonhosted.org/packages/76/c2/baf95c7c38823e12ba34407c5f5767a89e5cf2233895e56f608167ae9493/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8f2e5c5ee828d42cb11760761c0af6507927bec42d0ad5458f97c9203b054617", size = 375479, upload-time = "2026-06-30T07:16:49.93Z" }, + { url = "https://files.pythonhosted.org/packages/6a/94/0aad06c72d65101e11d33528d438cda99a39ce0da99466e156158f2541d3/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed0c1e5d10cdc7135537988c74a0188da68e2f3c30813ba3744ab1e42e0480f9", size = 492418, upload-time = "2026-06-30T07:16:51.641Z" }, + { url = "https://files.pythonhosted.org/packages/b5/17/de3f5a479a1f056535d7489819639d8cd591ea6281d700390b43b1abd745/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8c2642a7603ec0b16ed77da4555db3b4b472341904873788327c0b0d7b95f1bb", size = 384123, upload-time = "2026-06-30T07:16:53.622Z" }, + { url = "https://files.pythonhosted.org/packages/46/7d/bf09bd1b145bb2671c03e1e6d1ab8651858d90d8c7dfeadd85a37a934fd8/rpds_py-2026.6.3-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e4320744c1ffdd95a603def63344bfab2d33edeab301c5007e7de9f9f5b3885", size = 367351, upload-time = "2026-06-30T07:16:55.241Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ea/1bb734f314b8be319149ddee80b18bd41372bdcfbdf88d28131c0cd37719/rpds_py-2026.6.3-cp315-cp315-manylinux_2_31_riscv64.whl", hash = "sha256:a9f4645593036b81bbdb36b9c8e0ea0d1c3fee968c4d59db0344c14087ef143a", size = 378827, upload-time = "2026-06-30T07:16:56.841Z" }, + { url = "https://files.pythonhosted.org/packages/4b/93/d9611e5b25e26df9a3649813ed66193ace9347a7c7fc4ab7cf70e94851c0/rpds_py-2026.6.3-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e55d236be29255554da47abe5c577637db7c24a02b8b46f0ca9524c855801868", size = 395966, upload-time = "2026-06-30T07:16:58.557Z" }, + { url = "https://files.pythonhosted.org/packages/c3/cb/99d77e16e5534ae1d90629bbe419ba6ee170833a6a85e3aa1cc41726fbbc/rpds_py-2026.6.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:24e9c5386e16669b674a69c156c8eeefcb578f3b3397b713b08e6d60f3c7b187", size = 545680, upload-time = "2026-06-30T07:17:00.164Z" }, + { url = "https://files.pythonhosted.org/packages/59/15/11a29755f790cef7a2f755e8e14f4f0c33f39489e1893a632a2eee59672b/rpds_py-2026.6.3-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:c60924535c75f1566b6eb75b5c31a48a43fef04fa2d0d201acbad8a9969c6107", size = 611853, upload-time = "2026-06-30T07:17:01.962Z" }, + { url = "https://files.pythonhosted.org/packages/68/86/0c27547e21644da938fb530f7e1a8148dd24d02db07e7a5f2567a17ce710/rpds_py-2026.6.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:38a2fea2787428f811719ceb9114cb78964a3138838320c29ac39526c79c16ba", size = 573715, upload-time = "2026-06-30T07:17:03.693Z" }, + { url = "https://files.pythonhosted.org/packages/29/71/4d8fcf700931815594bce892255bbd973b94efaf0fc1932b0590df18d886/rpds_py-2026.6.3-cp315-cp315-win32.whl", hash = "sha256:d483fe17f01ad64b7bf7cc38fcefff1ca9fb83f8c2b2542b68f97ffe0611b369", size = 202864, upload-time = "2026-06-30T07:17:05.746Z" }, + { url = "https://files.pythonhosted.org/packages/eb/62/b577562de0edbb55b2be85ce5fd09c33e386b9b13eee09833af4240fd5c4/rpds_py-2026.6.3-cp315-cp315-win_amd64.whl", hash = "sha256:67e3a721ffc5d8d2210d3671872298c4a84e4b8035cfe42ffd7cde35d772b146", size = 220430, upload-time = "2026-06-30T07:17:07.471Z" }, + { url = "https://files.pythonhosted.org/packages/c8/95/d6d0b2509825141eef60669a5739eec88dbc6a48053d6c92993a5704defe/rpds_py-2026.6.3-cp315-cp315-win_arm64.whl", hash = "sha256:6e84adbcf4bf841aed8116a8264b9f50b4cb3e7bd89b516122e616ac56ca269e", size = 215877, upload-time = "2026-06-30T07:17:09.008Z" }, + { url = "https://files.pythonhosted.org/packages/b7/bf/f3ea278f0afd615c1d0f19cb69043a41526e2bb600c2b536eb192218eb27/rpds_py-2026.6.3-cp315-cp315t-macosx_10_12_x86_64.whl", hash = "sha256:ae6dd8f10bd17aad820876d24caec9efdafd80a318d16c0a48edb5e136902c6b", size = 346933, upload-time = "2026-06-30T07:17:10.762Z" }, + { url = "https://files.pythonhosted.org/packages/9d/29/9907bdf1c5346763cf10b7f6852aad86652168c259def904cbe0082c5864/rpds_py-2026.6.3-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:bdbd97738551fca3917c1bd7188bec1920bb520104f28e7e1007f9ceb17b7690", size = 340274, upload-time = "2026-06-30T07:17:12.266Z" }, + { url = "https://files.pythonhosted.org/packages/6f/2c/8e03767b5778ef25cebf74a7a91a2c3806f8eced4c92cb7406bbe060756d/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b95977e7211527ab0ba576e286d023389fbeeb32a6b7b771665d333c60e5342", size = 370763, upload-time = "2026-06-30T07:17:14.107Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e1/df2a7e1ba2efd796af26194250b8d42c821b46592311595162af9ef0528d/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d15fde0e6fb0d88a60d221204873743e5d9f0b7d29165e62cd86d0413ad74ba6", size = 376467, upload-time = "2026-06-30T07:17:15.76Z" }, + { url = "https://files.pythonhosted.org/packages/6b/de/8a0814d1946af29cb068fb259aa8622f856df1d0bab58429448726b537f5/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a136d453475ac0fcbda502ef1e6504bd28d6d904700915d278deeab0d00fe140", size = 496689, upload-time = "2026-06-30T07:17:17.308Z" }, + { url = "https://files.pythonhosted.org/packages/df/f3/f19e0c852ba13694f5a79f3b719331051573cb5693feacf8a88ffffc3a71/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f826877d462181e5eb1c26a0026b8d0cab05d99844ecb6d8bf3627a2ca0c0442", size = 385340, upload-time = "2026-06-30T07:17:18.928Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ae/7ec3a9d2d4351f99e37bcb06b6b6f954512646bfdbf9742e1de727865daf/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79486287de1730dbaff3dbd124d0ca4d2ef7f9d29bf2544f1f93c09b5bcbbd12", size = 372179, upload-time = "2026-06-30T07:17:20.539Z" }, + { url = "https://files.pythonhosted.org/packages/d3/ac/9cee911dff2aaa9a5a8354f6610bf2e6a616de9197c5fff4f54f82585f1e/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_31_riscv64.whl", hash = "sha256:808345f53cb952433ca2816f1604ff3515608a81784954f38d4452acfe8e61d5", size = 379993, upload-time = "2026-06-30T07:17:22.212Z" }, + { url = "https://files.pythonhosted.org/packages/83/6b/7c2a07ba88d1e9a936612f7a5d067467ed03d971d5a06f7d309dff044a7e/rpds_py-2026.6.3-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1967debc37f64f2c4dc90a7f563aec558b471966e12adcac4e1c4240496b6ebf", size = 398909, upload-time = "2026-06-30T07:17:23.66Z" }, + { url = "https://files.pythonhosted.org/packages/97/0b/776ffcb66783637b0031f6d58d6fb55913c8b5abf00aeecd46bf933fb477/rpds_py-2026.6.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:f0840b5b17057f7fd918b76183a4b5a0635f43e14eb2ce60dce1d4ee4707ea00", size = 546584, upload-time = "2026-06-30T07:17:25.264Z" }, + { url = "https://files.pythonhosted.org/packages/55/33/ba3bc04d7092bd553c9b2b195624992d2cc4f3de1f380b7b93cbee67bd79/rpds_py-2026.6.3-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:faa679d19a6696fd54259ad321251ad77a13e70e03dd834daa762a44fb6196ef", size = 614357, upload-time = "2026-06-30T07:17:26.888Z" }, + { url = "https://files.pythonhosted.org/packages/8b/71/14edf065f04630b1a8472f7653cad03f6c478bcf95ea0e6aed55451e33ea/rpds_py-2026.6.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:23a439f31ccbeff1574e24889128821d1f7917470e830cf6544dced1c662262a", size = 576533, upload-time = "2026-06-30T07:17:28.546Z" }, + { url = "https://files.pythonhosted.org/packages/ba/76/65002b08596c389105720a8c0d22298b8dc25a4baf89b2ce431343c8b1de/rpds_py-2026.6.3-cp315-cp315t-win32.whl", hash = "sha256:913ca42ccad3f8cc6e292b587ae8ae49c8c823e5dce51a736252fc7c7cdfa577", size = 201204, upload-time = "2026-06-30T07:17:30.193Z" }, + { url = "https://files.pythonhosted.org/packages/8c/97/d855d6b3c322d1f27e26f5241c42016b56cf01377ea8ed348285f54652f0/rpds_py-2026.6.3-cp315-cp315t-win_amd64.whl", hash = "sha256:ae3d4fe8c0b9213624fdce7279d70e3b148b682ca20719ebd193a23ebfa47324", size = 220719, upload-time = "2026-06-30T07:17:31.788Z" }, + { url = "https://files.pythonhosted.org/packages/b4/9c/f0d19ac587fd0e4ab6b72cda355e9c5a6166b01ef7e064e437aef8eb9fef/rpds_py-2026.6.3-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:4cf2d36a2357e4d07bb5a4f98801265327b48256867816cfd2ceb001e9754a8f", size = 349791, upload-time = "2026-06-30T07:17:33.315Z" }, + { url = "https://files.pythonhosted.org/packages/38/c7/1d49d204c9fd2ee6c537601dc4c1ba921e03363ca576bfab94a00254ac9a/rpds_py-2026.6.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:30c6dc199b24a5e3e81d50da0f00858c5bbdb2617a750395687f4339c5818171", size = 352842, upload-time = "2026-06-30T07:17:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/ac/e5/c0b5dc93cd0d4c06ce1f438907649514e2ea077bcd911e3154a51e96c38e/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9891e594296ab9dada6551c8e7b387b2721f27a67eecd528412e8906247a7b90", size = 382094, upload-time = "2026-06-30T07:17:36.514Z" }, + { url = "https://files.pythonhosted.org/packages/0d/54/ec0e907b4ca8d541112db352409bd15f871c9b243e0c92c9b5a46ae96f01/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5c2dc92304aa48a4a60443b548bb12f12e119d4b72f314015e67b9e1be97fca", size = 388662, upload-time = "2026-06-30T07:17:38.235Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f4/921c22a4fd0f1c1ac13a3996ffbf0aa67951e2c8ad0d1d9574938a2932e8/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:127e08c0642d880cf32ca47ec2a4a77b901f7e2dd1ad9762adb13955d72ffcc9", size = 504896, upload-time = "2026-06-30T07:17:39.689Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1b/a114b972cefa1ab1cdb3c7bb177cd3844a12826c507c722d3a73516dbbaf/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8bb68f03f395eb793220b45c097bd4d8c32944393da0fad8b999efac0868fc8c", size = 391545, upload-time = "2026-06-30T07:17:41.336Z" }, + { url = "https://files.pythonhosted.org/packages/4e/98/af9b3db77d47fcbe6c8c1f36e2c2147ec70292819e99c325f871584a1c11/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3450b693fde92133e9f51060568a4c31fcca76d5e53bbd611e689ca446517e9", size = 380059, upload-time = "2026-06-30T07:17:42.857Z" }, + { url = "https://files.pythonhosted.org/packages/c9/ba/0efd8668b97c1d26a61566386c636a7a7a09829e474fdf807caa15a2c844/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:5e8d07bddee435a2ff6f1920e18feff28d0bc4533e42f4bf6927fbd073312c41", size = 393235, upload-time = "2026-06-30T07:17:44.637Z" }, + { url = "https://files.pythonhosted.org/packages/62/90/8c139ee9690f73b0829f32647de6f40d826f8f443af6fa72644f96351aac/rpds_py-2026.6.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3a83ae6c67b7676b9878378547ca8e93ed77a580037bcbcd1d32f739e1e6089c", size = 413008, upload-time = "2026-06-30T07:17:46.225Z" }, + { url = "https://files.pythonhosted.org/packages/9c/97/0043896fdd7828ce09a1d9a8b06433714d0960fc4ff3fc4aa72b666b764e/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2bfd04c19ddbd6640de0b51894d764bd2758854d5b75bd102d2ef10cb9c293a9", size = 558118, upload-time = "2026-06-30T07:17:47.759Z" }, + { url = "https://files.pythonhosted.org/packages/f6/40/02355f0e134f783a8f9814c4680a1bd311d37671577a5964ea838573ff37/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:ca6546b66be9dc4738b1b043d5ebd5488c66c578c5ff0fd0e8065313fe3afb76", size = 623138, upload-time = "2026-06-30T07:17:49.355Z" }, + { url = "https://files.pythonhosted.org/packages/10/85/48f0abdcef5cce4e034c7a5b0ceeceba0b01bf0d942824f4bb720afe2dec/rpds_py-2026.6.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:8e65860d238379ed982fd9ba690579b5e95af2f4840f99c772816dbe573cb826", size = 586486, upload-time = "2026-06-30T07:17:51.141Z" }, +] + +[[package]] +name = "scikit-learn" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "joblib" }, + { name = "narwhals" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "threadpoolctl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d2/eb/eaf5e07fcc0da7149b0e084f24e54edd7441b9a89ce7e034032ae97fe3a0/scikit_learn-1.9.1.tar.gz", hash = "sha256:629cada3e33e2b9bf376cdc7614a47a4140b8aedc1d836579e359736fbd82977", size = 7786908, upload-time = "2026-09-10T18:34:04.679Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/67/1904bf57ab9ea77b5ba3899178bcb35ff8d814fc38ef6d1283bcddeaf04a/scikit_learn-1.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:326c188f92084bf58664229f4578eeab6176313b37cd5dfc85abd92b94130c58", size = 8823771, upload-time = "2026-09-10T18:32:29.891Z" }, + { url = "https://files.pythonhosted.org/packages/23/31/dc50d8780ac647bed9417f10a8b15ae3cf990ad7edb4f4b468f35030f8c5/scikit_learn-1.9.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:b48b2b5b41d9c5fbafef5f37b042f61110df3318ad2a45baf57287ea5b9ba5a2", size = 8290892, upload-time = "2026-09-10T18:32:32.441Z" }, + { url = "https://files.pythonhosted.org/packages/a1/aa/a7a61517eaaa8acbf6061d255a625034e4afa277caff47e829574cc21d1c/scikit_learn-1.9.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4298fcc01b3d8fa9768d36894e99cce0747b3b2dd73bfd80779e393769d0afab", size = 9026402, upload-time = "2026-09-10T18:32:34.482Z" }, + { url = "https://files.pythonhosted.org/packages/69/46/f8b95a7a16fd13b458401d5e85a63d88ecb3679f3649812d5fdbea4c8357/scikit_learn-1.9.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:52a0703bbc07ad27f560fa63fa68e4c54dd735bfbbf65b4dd3c225dc7547b6df", size = 9315422, upload-time = "2026-09-10T18:32:36.581Z" }, + { url = "https://files.pythonhosted.org/packages/29/8a/8d1e888fe3d0dd4e2a1f3356dad703eed569aaf673e222b6f647005ad30f/scikit_learn-1.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:220fa18152852a5ce29c49e1eaba9d44ec44631cd2e5cf65f5a40eafa5ab3412", size = 8329877, upload-time = "2026-09-10T18:32:38.729Z" }, + { url = "https://files.pythonhosted.org/packages/97/44/8f43f8de3e025c505efbd88b9264008f39490fbaf15a5ca8dbd8dae0cb74/scikit_learn-1.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:8218cb8938d3031e0d23842838425490c229ecf3e99f666776e09d12ed902352", size = 7954229, upload-time = "2026-09-10T18:32:40.661Z" }, + { url = "https://files.pythonhosted.org/packages/df/a7/25f0a43d2fde306e8ef45f45121192f687b79beaf4bae8c21607c46c5e63/scikit_learn-1.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0c0f8b5d09b44101cea2767f300680bada1ea27f976fe4b48b83950a4f55a49a", size = 8775209, upload-time = "2026-09-10T18:32:42.804Z" }, + { url = "https://files.pythonhosted.org/packages/60/ea/57e57539ce175d774fc291ed091b0a6d756854b92cd92554c6bb4d0ae498/scikit_learn-1.9.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:8c14ce41d561f7749f990b41d6703fe02c4669fbc485e598e069e0a1967b488e", size = 8295541, upload-time = "2026-09-10T18:32:45.069Z" }, + { url = "https://files.pythonhosted.org/packages/78/2b/5721a174406bfba49bce20ae997b3b64cf355c3f623a2638284ab6a82156/scikit_learn-1.9.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4c20a6c017d820faa7ac8c783e3d0c6a9a2e297bf9f55332ca17cdf7fd4d04d", size = 8871592, upload-time = "2026-09-10T18:32:46.999Z" }, + { url = "https://files.pythonhosted.org/packages/8e/57/a50162f3d29feb979ab6347c6debda506dfb525bcff3c50dd17606651c7e/scikit_learn-1.9.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e5d7b18a5b9dca241a74695f3275fa4c895a9dadc72b3d8df5fa9d1083c9b83e", size = 9166043, upload-time = "2026-09-10T18:32:49.343Z" }, + { url = "https://files.pythonhosted.org/packages/72/8d/27c054166bac671770d1ea0ef7716134fe8119c0df224a58c89fd735a61c/scikit_learn-1.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:4b59abb30618121cc46b45972d6bf53a7128b4df4cd346c6ca6f4d5f9031e49c", size = 8262238, upload-time = "2026-09-10T18:32:51.679Z" }, + { url = "https://files.pythonhosted.org/packages/9d/d6/493086006ea0c68ad62c40a8dece1961b61bf503f45400f133d47f56e5be/scikit_learn-1.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:d5945a2908be62350e2978344e62b56c1552c2ca4f844ebf6277c94944d647dd", size = 7902102, upload-time = "2026-09-10T18:32:53.67Z" }, + { url = "https://files.pythonhosted.org/packages/bb/8d/b60d5e7354ff0ff5cc9400e60273696589d87a30b8b2235886a76d80d062/scikit_learn-1.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c2b312fd8c02951a364fa120ea08c1cec10d863466bf1701b013152d7537835", size = 8739300, upload-time = "2026-09-10T18:32:55.483Z" }, + { url = "https://files.pythonhosted.org/packages/2f/81/3c6392c03665d2899457a76e535a9a6f597dddddf3220fd2e1d790da88c5/scikit_learn-1.9.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:61cd968ab831a76d0ecbaf0347ab2270268716da28f94fd022497e3d6f205f13", size = 8262364, upload-time = "2026-09-10T18:32:57.966Z" }, + { url = "https://files.pythonhosted.org/packages/0f/35/a15b8653499692879821301d48059376d6e68e8b65cd0f22d19b6ee83cd9/scikit_learn-1.9.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5990f9c69e431bfaddcde1a6d7c5355243e026bc9b9e560c13893b90dab53fb4", size = 8823698, upload-time = "2026-09-10T18:33:00.632Z" }, + { url = "https://files.pythonhosted.org/packages/23/e5/688703d357e5393f708d98eb189fd415ae69e39f6de03c6bd4005aef6118/scikit_learn-1.9.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:55e79d6e9b0923f1a978179822bd43d7f5543f45e970a00fe861f43486380aba", size = 9121732, upload-time = "2026-09-10T18:33:02.825Z" }, + { url = "https://files.pythonhosted.org/packages/96/45/a10add34c08184d373be9384660c75758128ca881ed27b503b6f6a742478/scikit_learn-1.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:2070f271e5375dc42c6bb93b461ab1c0aa5841d4009267e0cfd95a39dca94a43", size = 8237244, upload-time = "2026-09-10T18:33:05.26Z" }, + { url = "https://files.pythonhosted.org/packages/9e/08/7a89bcdadd1fff0d464d01056417b646c9abcbc54f7297a0a1203bba5ebb/scikit_learn-1.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:613f0a783ca05aa844a4e1ac42d48425058f2c52be73f40f8cd98b7cd111acd6", size = 7875398, upload-time = "2026-09-10T18:33:07.506Z" }, + { url = "https://files.pythonhosted.org/packages/64/e3/b58e45082dcf3dcf0eb1192ee03545ec43d8c98441dfe20e88afca8442ce/scikit_learn-1.9.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d5d117952769b563067656784e03c75a2d8235a7a05cf7fffa78a311e75aac08", size = 8747414, upload-time = "2026-09-10T18:33:10.698Z" }, + { url = "https://files.pythonhosted.org/packages/9b/ed/d68115577c8b42b0442ebd8180945d4008880a33176094640e00b585128e/scikit_learn-1.9.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:8893bc6331f60f18d4ac75e12ed356e2dcf6a564bf767918b5b7ca54c8c8be49", size = 8279175, upload-time = "2026-09-10T18:33:12.846Z" }, + { url = "https://files.pythonhosted.org/packages/c4/6c/06c7eb61a438e389cbf3f7210897069bec5a883dbe03c189ae792781e11a/scikit_learn-1.9.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5492cf2df5226691c32611de8734bcf42148c6547ae53c7f4e6b847793addc0", size = 8881706, upload-time = "2026-09-10T18:33:14.741Z" }, + { url = "https://files.pythonhosted.org/packages/86/4e/0bab75490ca4b85fad8388739c7ebc71d9db553f8c69e39943ee8db0aaae/scikit_learn-1.9.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:993d332ff80e62efae9e39603b7e872297c418d780f01a01855269a3489c950f", size = 9152030, upload-time = "2026-09-10T18:33:17.436Z" }, + { url = "https://files.pythonhosted.org/packages/9a/13/31c6f8ba1b7eecef9dd9558576c752d2ec5785fd0e456bb9fc59305be23f/scikit_learn-1.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:ca9051447455dae341d4d591eece7deb2d8e3d1020298fc87a81fc51e4da8f53", size = 8377024, upload-time = "2026-09-10T18:33:19.941Z" }, + { url = "https://files.pythonhosted.org/packages/62/e6/6d3cb8a45f5228f915acd66b819dd6b8232ccbe24532f51d278e3991df31/scikit_learn-1.9.1-cp314-cp314-win_arm64.whl", hash = "sha256:90de6573f733a9fb79476ff1371af52a397d41c8b35f9146e20923db010d67b6", size = 8014196, upload-time = "2026-09-10T18:33:22.126Z" }, + { url = "https://files.pythonhosted.org/packages/66/6e/6befb2d5961490d18d9dbc16a5df37aa121d08bc9893316a6a363977a903/scikit_learn-1.9.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7b5cad1624de8b75e5b9ccb7b0ce1ff1d01306340a3efc56d5529c5ba92392eb", size = 9066066, upload-time = "2026-09-10T18:33:24.396Z" }, + { url = "https://files.pythonhosted.org/packages/cb/18/11271f2f7db337db01f598e358721b1e83989407131272e5dd64214c28a8/scikit_learn-1.9.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:d137ce8a6142029fb5c35bd82f470c40cd9e760e5e2f7694b362c497c4ab3fa2", size = 8647654, upload-time = "2026-09-10T18:33:26.649Z" }, + { url = "https://files.pythonhosted.org/packages/e7/04/9c15d201e1b6a2e81b8215865df7646c5a360f560831769c8dc92ac1ab9a/scikit_learn-1.9.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:66f852f7325b5070bc28329005aca76055a2def78faac039548ae889aeaa45a6", size = 8889070, upload-time = "2026-09-10T18:33:28.95Z" }, + { url = "https://files.pythonhosted.org/packages/1a/5a/4cb6c85160af4a639e87a3b7bf8b1c25cfc3b504c5af710ca416a6dcfc5f/scikit_learn-1.9.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:748bcb0a4cc04aec470652c9e5ec68450948e867387e7dfade647107ade68d25", size = 9131227, upload-time = "2026-09-10T18:33:31.008Z" }, + { url = "https://files.pythonhosted.org/packages/00/0e/361440972ae3d19b90ea88a84791138a51de0e8432a770ba741b2c8d9ced/scikit_learn-1.9.1-cp314-cp314t-win_amd64.whl", hash = "sha256:38cd925e893e5539be704d5edc64dbe081aacdab6b89d8c2977c1f6a7a453ce5", size = 8683001, upload-time = "2026-09-10T18:33:33.188Z" }, + { url = "https://files.pythonhosted.org/packages/e2/8f/a9f405c5c0e2df6f343a871b40c97fb32969e3ccc38e3033dd118f3c261e/scikit_learn-1.9.1-cp314-cp314t-win_arm64.whl", hash = "sha256:b01e5b01735d38474127ca3f49319b592506225a87793b27559816b5c75cea39", size = 8257996, upload-time = "2026-09-10T18:33:35.343Z" }, + { url = "https://files.pythonhosted.org/packages/e5/c5/74a83ea39cef7cd07f53e06cc1cf51e79f35df74f81db956835d59ec34b1/scikit_learn-1.9.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:8dec64f31a6e0ec826aca6c1b39a51e16d946e400d4c0904316f3ca72ccfb825", size = 8747991, upload-time = "2026-09-10T18:33:37.4Z" }, + { url = "https://files.pythonhosted.org/packages/64/c9/cc93e8a7fe204e43d70e96e5eb89871643be20025eea05eb4fdaf19afe39/scikit_learn-1.9.1-cp315-cp315-macosx_12_0_arm64.whl", hash = "sha256:e1b468241f4a7a9a7a0d6479ad3cc47681cc151a4046c530f2777c3d68f08942", size = 8279340, upload-time = "2026-09-10T18:33:39.705Z" }, + { url = "https://files.pythonhosted.org/packages/a2/61/0c6080f0d356fb966053009e7f25e9bff6cf74b0b16195ccf0c3757d1ae8/scikit_learn-1.9.1-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8ca869d0080a5723cde2d5a8b54a2da1ff7e68735a9e9adb3da1243183a0fa01", size = 8881917, upload-time = "2026-09-10T18:33:41.912Z" }, + { url = "https://files.pythonhosted.org/packages/47/bb/98a31f10fffbd39edcc2f8bf4119b29652248bb110b7d45c84e68aa293ab/scikit_learn-1.9.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6754b7cabfc3df0b1f7b38f7a344f559bbae9d82f0ac5e3d48cccbd19fdcefdf", size = 9152805, upload-time = "2026-09-10T18:33:44.23Z" }, + { url = "https://files.pythonhosted.org/packages/f6/48/858ceff52213cfd97c0a069362071756bcb70b9fac9771b38d87c4cf7f17/scikit_learn-1.9.1-cp315-cp315-win_amd64.whl", hash = "sha256:52cfdb1fed3a34362dbc0bd96f2e761a66fd5724d6901629f5a558f1f3bd9849", size = 8376719, upload-time = "2026-09-10T18:33:46.492Z" }, + { url = "https://files.pythonhosted.org/packages/2a/1e/5337a871bdea53effbd154b61429df048f2665653251de74a3bd8a6dea9e/scikit_learn-1.9.1-cp315-cp315-win_arm64.whl", hash = "sha256:ae6571a4828c6f5019bcd2b4125e5b18c0af3dbc9c99726c891f45f41335ec8e", size = 8014341, upload-time = "2026-09-10T18:33:48.762Z" }, + { url = "https://files.pythonhosted.org/packages/0e/35/150383a42d83ec4c7b39f9c50bd68408ecf04c19fc30ea5198fa42e67d9c/scikit_learn-1.9.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:48fefd8eb42bd4eec3e2d348149368ccd6d71987e20c30706a56a24eb86a6e73", size = 9059953, upload-time = "2026-09-10T18:33:50.951Z" }, + { url = "https://files.pythonhosted.org/packages/9f/dd/aa0d738808540f7eaacfab93e01982db8ef1c1c7473ef0ad38193e6aebd1/scikit_learn-1.9.1-cp315-cp315t-macosx_12_0_arm64.whl", hash = "sha256:09f4d73049cd63575157f6b1060e06a8c83a4bd3488dbfaeedf35ccba7aad712", size = 8646602, upload-time = "2026-09-10T18:33:53.23Z" }, + { url = "https://files.pythonhosted.org/packages/7e/cc/687ae4214c2f598906c3b9fa5f86fbaf834b35e20360625528ff1b713f06/scikit_learn-1.9.1-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b3da53831534214322d9cb240fa6f390b36cf69eba727a6d4bd3238677630d70", size = 8880366, upload-time = "2026-09-10T18:33:55.764Z" }, + { url = "https://files.pythonhosted.org/packages/c2/03/82215cb78ad1c513a4498777571fb28444621ad26ef636287551767b7732/scikit_learn-1.9.1-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caae15634feceafa2612566b109a3082d3293167fac388eedaf77bff66b51983", size = 9129640, upload-time = "2026-09-10T18:33:58.186Z" }, + { url = "https://files.pythonhosted.org/packages/d4/90/4b7af4efd7909a4a0524a9f18457e4eb2eb60616eff2c7627eda8e3cdceb/scikit_learn-1.9.1-cp315-cp315t-win_amd64.whl", hash = "sha256:ffbcbbbb44202fbe9bc64bced25a145759adb9ef010b3d37a8064958ac13df2a", size = 8678083, upload-time = "2026-09-10T18:34:00.354Z" }, + { url = "https://files.pythonhosted.org/packages/31/27/068e484d4b83004302e0d9cfc1faca69bcc010d76fbb66a642446095af1b/scikit_learn-1.9.1-cp315-cp315t-win_arm64.whl", hash = "sha256:800dd22dd87fe97dcea484c24e85dd93cf1734d86bd74e668ad18f7967f4d1b5", size = 8259434, upload-time = "2026-09-10T18:34:02.678Z" }, +] + +[[package]] +name = "scipy" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/97/5a3609c4f8d58b039179648e62dd220f89864f56f7357f5d4f45c29eb2cc/scipy-1.17.1.tar.gz", hash = "sha256:95d8e012d8cb8816c226aef832200b1d45109ed4464303e997c5b13122b297c0", size = 30573822, upload-time = "2026-02-23T00:26:24.851Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/75/b4ce781849931fef6fd529afa6b63711d5a733065722d0c3e2724af9e40a/scipy-1.17.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:1f95b894f13729334fb990162e911c9e5dc1ab390c58aa6cbecb389c5b5e28ec", size = 31613675, upload-time = "2026-02-23T00:16:00.13Z" }, + { url = "https://files.pythonhosted.org/packages/f7/58/bccc2861b305abdd1b8663d6130c0b3d7cc22e8d86663edbc8401bfd40d4/scipy-1.17.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:e18f12c6b0bc5a592ed23d3f7b891f68fd7f8241d69b7883769eb5d5dfb52696", size = 28162057, upload-time = "2026-02-23T00:16:09.456Z" }, + { url = "https://files.pythonhosted.org/packages/6d/ee/18146b7757ed4976276b9c9819108adbc73c5aad636e5353e20746b73069/scipy-1.17.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:a3472cfbca0a54177d0faa68f697d8ba4c80bbdc19908c3465556d9f7efce9ee", size = 20334032, upload-time = "2026-02-23T00:16:17.358Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e6/cef1cf3557f0c54954198554a10016b6a03b2ec9e22a4e1df734936bd99c/scipy-1.17.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:766e0dc5a616d026a3a1cffa379af959671729083882f50307e18175797b3dfd", size = 22709533, upload-time = "2026-02-23T00:16:25.791Z" }, + { url = "https://files.pythonhosted.org/packages/4d/60/8804678875fc59362b0fb759ab3ecce1f09c10a735680318ac30da8cd76b/scipy-1.17.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:744b2bf3640d907b79f3fd7874efe432d1cf171ee721243e350f55234b4cec4c", size = 33062057, upload-time = "2026-02-23T00:16:36.931Z" }, + { url = "https://files.pythonhosted.org/packages/09/7d/af933f0f6e0767995b4e2d705a0665e454d1c19402aa7e895de3951ebb04/scipy-1.17.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43af8d1f3bea642559019edfe64e9b11192a8978efbd1539d7bc2aaa23d92de4", size = 35349300, upload-time = "2026-02-23T00:16:49.108Z" }, + { url = "https://files.pythonhosted.org/packages/b4/3d/7ccbbdcbb54c8fdc20d3b6930137c782a163fa626f0aef920349873421ba/scipy-1.17.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cd96a1898c0a47be4520327e01f874acfd61fb48a9420f8aa9f6483412ffa444", size = 35127333, upload-time = "2026-02-23T00:17:01.293Z" }, + { url = "https://files.pythonhosted.org/packages/e8/19/f926cb11c42b15ba08e3a71e376d816ac08614f769b4f47e06c3580c836a/scipy-1.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4eb6c25dd62ee8d5edf68a8e1c171dd71c292fdae95d8aeb3dd7d7de4c364082", size = 37741314, upload-time = "2026-02-23T00:17:12.576Z" }, + { url = "https://files.pythonhosted.org/packages/95/da/0d1df507cf574b3f224ccc3d45244c9a1d732c81dcb26b1e8a766ae271a8/scipy-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:d30e57c72013c2a4fe441c2fcb8e77b14e152ad48b5464858e07e2ad9fbfceff", size = 36607512, upload-time = "2026-02-23T00:17:23.424Z" }, + { url = "https://files.pythonhosted.org/packages/68/7f/bdd79ceaad24b671543ffe0ef61ed8e659440eb683b66f033454dcee90eb/scipy-1.17.1-cp311-cp311-win_arm64.whl", hash = "sha256:9ecb4efb1cd6e8c4afea0daa91a87fbddbce1b99d2895d151596716c0b2e859d", size = 24599248, upload-time = "2026-02-23T00:17:34.561Z" }, + { url = "https://files.pythonhosted.org/packages/35/48/b992b488d6f299dbe3f11a20b24d3dda3d46f1a635ede1c46b5b17a7b163/scipy-1.17.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:35c3a56d2ef83efc372eaec584314bd0ef2e2f0d2adb21c55e6ad5b344c0dcb8", size = 31610954, upload-time = "2026-02-23T00:17:49.855Z" }, + { url = "https://files.pythonhosted.org/packages/b2/02/cf107b01494c19dc100f1d0b7ac3cc08666e96ba2d64db7626066cee895e/scipy-1.17.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:fcb310ddb270a06114bb64bbe53c94926b943f5b7f0842194d585c65eb4edd76", size = 28172662, upload-time = "2026-02-23T00:18:01.64Z" }, + { url = "https://files.pythonhosted.org/packages/cf/a9/599c28631bad314d219cf9ffd40e985b24d603fc8a2f4ccc5ae8419a535b/scipy-1.17.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:cc90d2e9c7e5c7f1a482c9875007c095c3194b1cfedca3c2f3291cdc2bc7c086", size = 20344366, upload-time = "2026-02-23T00:18:12.015Z" }, + { url = "https://files.pythonhosted.org/packages/35/f5/906eda513271c8deb5af284e5ef0206d17a96239af79f9fa0aebfe0e36b4/scipy-1.17.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:c80be5ede8f3f8eded4eff73cc99a25c388ce98e555b17d31da05287015ffa5b", size = 22704017, upload-time = "2026-02-23T00:18:21.502Z" }, + { url = "https://files.pythonhosted.org/packages/da/34/16f10e3042d2f1d6b66e0428308ab52224b6a23049cb2f5c1756f713815f/scipy-1.17.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e19ebea31758fac5893a2ac360fedd00116cbb7628e650842a6691ba7ca28a21", size = 32927842, upload-time = "2026-02-23T00:18:35.367Z" }, + { url = "https://files.pythonhosted.org/packages/01/8e/1e35281b8ab6d5d72ebe9911edcdffa3f36b04ed9d51dec6dd140396e220/scipy-1.17.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02ae3b274fde71c5e92ac4d54bc06c42d80e399fec704383dcd99b301df37458", size = 35235890, upload-time = "2026-02-23T00:18:49.188Z" }, + { url = "https://files.pythonhosted.org/packages/c5/5c/9d7f4c88bea6e0d5a4f1bc0506a53a00e9fcb198de372bfe4d3652cef482/scipy-1.17.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8a604bae87c6195d8b1045eddece0514d041604b14f2727bbc2b3020172045eb", size = 35003557, upload-time = "2026-02-23T00:18:54.74Z" }, + { url = "https://files.pythonhosted.org/packages/65/94/7698add8f276dbab7a9de9fb6b0e02fc13ee61d51c7c3f85ac28b65e1239/scipy-1.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f590cd684941912d10becc07325a3eeb77886fe981415660d9265c4c418d0bea", size = 37625856, upload-time = "2026-02-23T00:19:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/a2/84/dc08d77fbf3d87d3ee27f6a0c6dcce1de5829a64f2eae85a0ecc1f0daa73/scipy-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:41b71f4a3a4cab9d366cd9065b288efc4d4f3c0b37a91a8e0947fb5bd7f31d87", size = 36549682, upload-time = "2026-02-23T00:19:07.67Z" }, + { url = "https://files.pythonhosted.org/packages/bc/98/fe9ae9ffb3b54b62559f52dedaebe204b408db8109a8c66fdd04869e6424/scipy-1.17.1-cp312-cp312-win_arm64.whl", hash = "sha256:f4115102802df98b2b0db3cce5cb9b92572633a1197c77b7553e5203f284a5b3", size = 24547340, upload-time = "2026-02-23T00:19:12.024Z" }, + { url = "https://files.pythonhosted.org/packages/76/27/07ee1b57b65e92645f219b37148a7e7928b82e2b5dbeccecb4dff7c64f0b/scipy-1.17.1-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:5e3c5c011904115f88a39308379c17f91546f77c1667cea98739fe0fccea804c", size = 31590199, upload-time = "2026-02-23T00:19:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ae/db19f8ab842e9b724bf5dbb7db29302a91f1e55bc4d04b1025d6d605a2c5/scipy-1.17.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:6fac755ca3d2c3edcb22f479fceaa241704111414831ddd3bc6056e18516892f", size = 28154001, upload-time = "2026-02-23T00:19:22.241Z" }, + { url = "https://files.pythonhosted.org/packages/5b/58/3ce96251560107b381cbd6e8413c483bbb1228a6b919fa8652b0d4090e7f/scipy-1.17.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:7ff200bf9d24f2e4d5dc6ee8c3ac64d739d3a89e2326ba68aaf6c4a2b838fd7d", size = 20325719, upload-time = "2026-02-23T00:19:26.329Z" }, + { url = "https://files.pythonhosted.org/packages/b2/83/15087d945e0e4d48ce2377498abf5ad171ae013232ae31d06f336e64c999/scipy-1.17.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:4b400bdc6f79fa02a4d86640310dde87a21fba0c979efff5248908c6f15fad1b", size = 22683595, upload-time = "2026-02-23T00:19:30.304Z" }, + { url = "https://files.pythonhosted.org/packages/b4/e0/e58fbde4a1a594c8be8114eb4aac1a55bcd6587047efc18a61eb1f5c0d30/scipy-1.17.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b64ca7d4aee0102a97f3ba22124052b4bd2152522355073580bf4845e2550b6", size = 32896429, upload-time = "2026-02-23T00:19:35.536Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5f/f17563f28ff03c7b6799c50d01d5d856a1d55f2676f537ca8d28c7f627cd/scipy-1.17.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:581b2264fc0aa555f3f435a5944da7504ea3a065d7029ad60e7c3d1ae09c5464", size = 35203952, upload-time = "2026-02-23T00:19:42.259Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a5/9afd17de24f657fdfe4df9a3f1ea049b39aef7c06000c13db1530d81ccca/scipy-1.17.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:beeda3d4ae615106d7094f7e7cef6218392e4465cc95d25f900bebabfded0950", size = 34979063, upload-time = "2026-02-23T00:19:47.547Z" }, + { url = "https://files.pythonhosted.org/packages/8b/13/88b1d2384b424bf7c924f2038c1c409f8d88bb2a8d49d097861dd64a57b2/scipy-1.17.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6609bc224e9568f65064cfa72edc0f24ee6655b47575954ec6339534b2798369", size = 37598449, upload-time = "2026-02-23T00:19:53.238Z" }, + { url = "https://files.pythonhosted.org/packages/35/e5/d6d0e51fc888f692a35134336866341c08655d92614f492c6860dc45bb2c/scipy-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:37425bc9175607b0268f493d79a292c39f9d001a357bebb6b88fdfaff13f6448", size = 36510943, upload-time = "2026-02-23T00:20:50.89Z" }, + { url = "https://files.pythonhosted.org/packages/2a/fd/3be73c564e2a01e690e19cc618811540ba5354c67c8680dce3281123fb79/scipy-1.17.1-cp313-cp313-win_arm64.whl", hash = "sha256:5cf36e801231b6a2059bf354720274b7558746f3b1a4efb43fcf557ccd484a87", size = 24545621, upload-time = "2026-02-23T00:20:55.871Z" }, + { url = "https://files.pythonhosted.org/packages/6f/6b/17787db8b8114933a66f9dcc479a8272e4b4da75fe03b0c282f7b0ade8cd/scipy-1.17.1-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:d59c30000a16d8edc7e64152e30220bfbd724c9bbb08368c054e24c651314f0a", size = 31936708, upload-time = "2026-02-23T00:19:58.694Z" }, + { url = "https://files.pythonhosted.org/packages/38/2e/524405c2b6392765ab1e2b722a41d5da33dc5c7b7278184a8ad29b6cb206/scipy-1.17.1-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:010f4333c96c9bb1a4516269e33cb5917b08ef2166d5556ca2fd9f082a9e6ea0", size = 28570135, upload-time = "2026-02-23T00:20:03.934Z" }, + { url = "https://files.pythonhosted.org/packages/fd/c3/5bd7199f4ea8556c0c8e39f04ccb014ac37d1468e6cfa6a95c6b3562b76e/scipy-1.17.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:2ceb2d3e01c5f1d83c4189737a42d9cb2fc38a6eeed225e7515eef71ad301dce", size = 20741977, upload-time = "2026-02-23T00:20:07.935Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b8/8ccd9b766ad14c78386599708eb745f6b44f08400a5fd0ade7cf89b6fc93/scipy-1.17.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:844e165636711ef41f80b4103ed234181646b98a53c8f05da12ca5ca289134f6", size = 23029601, upload-time = "2026-02-23T00:20:12.161Z" }, + { url = "https://files.pythonhosted.org/packages/6d/a0/3cb6f4d2fb3e17428ad2880333cac878909ad1a89f678527b5328b93c1d4/scipy-1.17.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:158dd96d2207e21c966063e1635b1063cd7787b627b6f07305315dd73d9c679e", size = 33019667, upload-time = "2026-02-23T00:20:17.208Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c3/2d834a5ac7bf3a0c806ad1508efc02dda3c8c61472a56132d7894c312dea/scipy-1.17.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:74cbb80d93260fe2ffa334efa24cb8f2f0f622a9b9febf8b483c0b865bfb3475", size = 35264159, upload-time = "2026-02-23T00:20:23.087Z" }, + { url = "https://files.pythonhosted.org/packages/4d/77/d3ed4becfdbd217c52062fafe35a72388d1bd82c2d0ba5ca19d6fcc93e11/scipy-1.17.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:dbc12c9f3d185f5c737d801da555fb74b3dcfa1a50b66a1a93e09190f41fab50", size = 35102771, upload-time = "2026-02-23T00:20:28.636Z" }, + { url = "https://files.pythonhosted.org/packages/bd/12/d19da97efde68ca1ee5538bb261d5d2c062f0c055575128f11a2730e3ac1/scipy-1.17.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:94055a11dfebe37c656e70317e1996dc197e1a15bbcc351bcdd4610e128fe1ca", size = 37665910, upload-time = "2026-02-23T00:20:34.743Z" }, + { url = "https://files.pythonhosted.org/packages/06/1c/1172a88d507a4baaf72c5a09bb6c018fe2ae0ab622e5830b703a46cc9e44/scipy-1.17.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e30bdeaa5deed6bc27b4cc490823cd0347d7dae09119b8803ae576ea0ce52e4c", size = 36562980, upload-time = "2026-02-23T00:20:40.575Z" }, + { url = "https://files.pythonhosted.org/packages/70/b0/eb757336e5a76dfa7911f63252e3b7d1de00935d7705cf772db5b45ec238/scipy-1.17.1-cp313-cp313t-win_arm64.whl", hash = "sha256:a720477885a9d2411f94a93d16f9d89bad0f28ca23c3f8daa521e2dcc3f44d49", size = 24856543, upload-time = "2026-02-23T00:20:45.313Z" }, + { url = "https://files.pythonhosted.org/packages/cf/83/333afb452af6f0fd70414dc04f898647ee1423979ce02efa75c3b0f2c28e/scipy-1.17.1-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:a48a72c77a310327f6a3a920092fa2b8fd03d7deaa60f093038f22d98e096717", size = 31584510, upload-time = "2026-02-23T00:21:01.015Z" }, + { url = "https://files.pythonhosted.org/packages/ed/a6/d05a85fd51daeb2e4ea71d102f15b34fedca8e931af02594193ae4fd25f7/scipy-1.17.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:45abad819184f07240d8a696117a7aacd39787af9e0b719d00285549ed19a1e9", size = 28170131, upload-time = "2026-02-23T00:21:05.888Z" }, + { url = "https://files.pythonhosted.org/packages/db/7b/8624a203326675d7746a254083a187398090a179335b2e4a20e2ddc46e83/scipy-1.17.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3fd1fcdab3ea951b610dc4cef356d416d5802991e7e32b5254828d342f7b7e0b", size = 20342032, upload-time = "2026-02-23T00:21:09.904Z" }, + { url = "https://files.pythonhosted.org/packages/c9/35/2c342897c00775d688d8ff3987aced3426858fd89d5a0e26e020b660b301/scipy-1.17.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:7bdf2da170b67fdf10bca777614b1c7d96ae3ca5794fd9587dce41eb2966e866", size = 22678766, upload-time = "2026-02-23T00:21:14.313Z" }, + { url = "https://files.pythonhosted.org/packages/ef/f2/7cdb8eb308a1a6ae1e19f945913c82c23c0c442a462a46480ce487fdc0ac/scipy-1.17.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:adb2642e060a6549c343603a3851ba76ef0b74cc8c079a9a58121c7ec9fe2350", size = 32957007, upload-time = "2026-02-23T00:21:19.663Z" }, + { url = "https://files.pythonhosted.org/packages/0b/2e/7eea398450457ecb54e18e9d10110993fa65561c4f3add5e8eccd2b9cd41/scipy-1.17.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eee2cfda04c00a857206a4330f0c5e3e56535494e30ca445eb19ec624ae75118", size = 35221333, upload-time = "2026-02-23T00:21:25.278Z" }, + { url = "https://files.pythonhosted.org/packages/d9/77/5b8509d03b77f093a0d52e606d3c4f79e8b06d1d38c441dacb1e26cacf46/scipy-1.17.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d2650c1fb97e184d12d8ba010493ee7b322864f7d3d00d3f9bb97d9c21de4068", size = 35042066, upload-time = "2026-02-23T00:21:31.358Z" }, + { url = "https://files.pythonhosted.org/packages/f9/df/18f80fb99df40b4070328d5ae5c596f2f00fffb50167e31439e932f29e7d/scipy-1.17.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:08b900519463543aa604a06bec02461558a6e1cef8fdbb8098f77a48a83c8118", size = 37612763, upload-time = "2026-02-23T00:21:37.247Z" }, + { url = "https://files.pythonhosted.org/packages/4b/39/f0e8ea762a764a9dc52aa7dabcfad51a354819de1f0d4652b6a1122424d6/scipy-1.17.1-cp314-cp314-win_amd64.whl", hash = "sha256:3877ac408e14da24a6196de0ddcace62092bfc12a83823e92e49e40747e52c19", size = 37290984, upload-time = "2026-02-23T00:22:35.023Z" }, + { url = "https://files.pythonhosted.org/packages/7c/56/fe201e3b0f93d1a8bcf75d3379affd228a63d7e2d80ab45467a74b494947/scipy-1.17.1-cp314-cp314-win_arm64.whl", hash = "sha256:f8885db0bc2bffa59d5c1b72fad7a6a92d3e80e7257f967dd81abb553a90d293", size = 25192877, upload-time = "2026-02-23T00:22:39.798Z" }, + { url = "https://files.pythonhosted.org/packages/96/ad/f8c414e121f82e02d76f310f16db9899c4fcde36710329502a6b2a3c0392/scipy-1.17.1-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:1cc682cea2ae55524432f3cdff9e9a3be743d52a7443d0cba9017c23c87ae2f6", size = 31949750, upload-time = "2026-02-23T00:21:42.289Z" }, + { url = "https://files.pythonhosted.org/packages/7c/b0/c741e8865d61b67c81e255f4f0a832846c064e426636cd7de84e74d209be/scipy-1.17.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:2040ad4d1795a0ae89bfc7e8429677f365d45aa9fd5e4587cf1ea737f927b4a1", size = 28585858, upload-time = "2026-02-23T00:21:47.706Z" }, + { url = "https://files.pythonhosted.org/packages/ed/1b/3985219c6177866628fa7c2595bfd23f193ceebbe472c98a08824b9466ff/scipy-1.17.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:131f5aaea57602008f9822e2115029b55d4b5f7c070287699fe45c661d051e39", size = 20757723, upload-time = "2026-02-23T00:21:52.039Z" }, + { url = "https://files.pythonhosted.org/packages/c0/19/2a04aa25050d656d6f7b9e7b685cc83d6957fb101665bfd9369ca6534563/scipy-1.17.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9cdc1a2fcfd5c52cfb3045feb399f7b3ce822abdde3a193a6b9a60b3cb5854ca", size = 23043098, upload-time = "2026-02-23T00:21:56.185Z" }, + { url = "https://files.pythonhosted.org/packages/86/f1/3383beb9b5d0dbddd030335bf8a8b32d4317185efe495374f134d8be6cce/scipy-1.17.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e3dcd57ab780c741fde8dc68619de988b966db759a3c3152e8e9142c26295ad", size = 33030397, upload-time = "2026-02-23T00:22:01.404Z" }, + { url = "https://files.pythonhosted.org/packages/41/68/8f21e8a65a5a03f25a79165ec9d2b28c00e66dc80546cf5eb803aeeff35b/scipy-1.17.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a9956e4d4f4a301ebf6cde39850333a6b6110799d470dbbb1e25326ac447f52a", size = 35281163, upload-time = "2026-02-23T00:22:07.024Z" }, + { url = "https://files.pythonhosted.org/packages/84/8d/c8a5e19479554007a5632ed7529e665c315ae7492b4f946b0deb39870e39/scipy-1.17.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a4328d245944d09fd639771de275701ccadf5f781ba0ff092ad141e017eccda4", size = 35116291, upload-time = "2026-02-23T00:22:12.585Z" }, + { url = "https://files.pythonhosted.org/packages/52/52/e57eceff0e342a1f50e274264ed47497b59e6a4e3118808ee58ddda7b74a/scipy-1.17.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a77cbd07b940d326d39a1d1b37817e2ee4d79cb30e7338f3d0cddffae70fcaa2", size = 37682317, upload-time = "2026-02-23T00:22:18.513Z" }, + { url = "https://files.pythonhosted.org/packages/11/2f/b29eafe4a3fbc3d6de9662b36e028d5f039e72d345e05c250e121a230dd4/scipy-1.17.1-cp314-cp314t-win_amd64.whl", hash = "sha256:eb092099205ef62cd1782b006658db09e2fed75bffcae7cc0d44052d8aa0f484", size = 37345327, upload-time = "2026-02-23T00:22:24.442Z" }, + { url = "https://files.pythonhosted.org/packages/07/39/338d9219c4e87f3e708f18857ecd24d22a0c3094752393319553096b98af/scipy-1.17.1-cp314-cp314t-win_arm64.whl", hash = "sha256:200e1050faffacc162be6a486a984a0497866ec54149a01270adc8a59b7c7d21", size = 25489165, upload-time = "2026-02-23T00:22:29.563Z" }, +] + +[[package]] +name = "scipy" +version = "1.18.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "(python_full_version >= '3.14' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.14' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "python_full_version == '3.13.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "(python_full_version == '3.13.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.13.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "(python_full_version == '3.12.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", +] +dependencies = [ + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7e/74/66de6258867beb2ef08f35f9f2ac017a52cacd5081714d239ff1a442d458/scipy-1.18.1.tar.gz", hash = "sha256:52c4b7422442aba924d03ad4019852b08a92e64ea187b933135687bfe2747307", size = 30781235, upload-time = "2026-08-21T23:28:50.599Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/f7/240c110c08693826b4513a52f5717d62ec7c7af72f2920821247c03b17b3/scipy-1.18.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:457fd7a2a8edeb044ab6ffbc0aa03ff6cd18491356e5e0c834d76ce621b916d1", size = 31111061, upload-time = "2026-08-21T23:23:44.522Z" }, + { url = "https://files.pythonhosted.org/packages/05/4a/78c6285577c375e7cf27277ea8ee6961224327f1e1a0c44af5f17f23635c/scipy-1.18.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:e708533e8b2ae2497d65346538a7dcc92814410b25b81432eac66de0f2af8265", size = 28733332, upload-time = "2026-08-21T23:23:50.015Z" }, + { url = "https://files.pythonhosted.org/packages/a5/f6/a5b82f8abbe14d134691b8b903696f701d25a081353a29dc655c364d9e62/scipy-1.18.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:7bbf207c4453ce1ad2e00b17313852b33310b83090c2311bdaf97f93c0380d12", size = 20475078, upload-time = "2026-08-21T23:23:54.138Z" }, + { url = "https://files.pythonhosted.org/packages/23/22/0858a0bbd6b3e825ceb8cd9baf9eaf3b2f2b1d77727eb6be40500bcdc92f/scipy-1.18.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:78c0665edead396b1abb4897c41a5c1d9bf090c8a637a4c20a61678e0a264e66", size = 23108904, upload-time = "2026-08-21T23:23:57.824Z" }, + { url = "https://files.pythonhosted.org/packages/75/9a/2e71719f31eaefe0e3a1706c4a1ded94e664bfd95ffca2b219a671faee01/scipy-1.18.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c085faa2cfa879c5141df483f836f4d691045a078224a670fa570fa01612d89", size = 34025113, upload-time = "2026-08-21T23:24:02.209Z" }, + { url = "https://files.pythonhosted.org/packages/df/64/ff35eb9e54894cf471ff4716abd3c81eb0a0626869217ce3e6ba4ccf17d7/scipy-1.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f55fa87b6c612ecd6b058f167c53231b1d14e412efe361d3d6e38b3631c73218", size = 35344199, upload-time = "2026-08-21T23:24:07.844Z" }, + { url = "https://files.pythonhosted.org/packages/d3/af/c5538be1792f7034c12c7db6ee67cace58253c7b87b122d68253eaf5de89/scipy-1.18.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c35d74ce0e193ff740c2f2be2ac913ddc232fe6c1ff40b26cfecb9c670c63314", size = 35639587, upload-time = "2026-08-21T23:24:13.05Z" }, + { url = "https://files.pythonhosted.org/packages/91/4c/075e4f66471bac101141ac739e9e135549be1bae584571bd03a530c056e1/scipy-1.18.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d2924a03db38dc2e848bca2fe9f077dafb891480b91a00a0963a8cf86dfc31c1", size = 37480330, upload-time = "2026-08-21T23:24:19.608Z" }, + { url = "https://files.pythonhosted.org/packages/39/e7/979fd14e75008623df31ba70d6bb144700f68feadcea042021c06a05bf82/scipy-1.18.1-cp312-cp312-win_amd64.whl", hash = "sha256:5e4d44984abc0020154ea81b247adeddcc3ac5527b975ff798bd1ba0adc513c2", size = 36658278, upload-time = "2026-08-21T23:24:25.463Z" }, + { url = "https://files.pythonhosted.org/packages/c7/0b/e1525354ff9d7d5feb6d1b31af6d14072e5c91e9607b421fa1ec889660b3/scipy-1.18.1-cp312-cp312-win_arm64.whl", hash = "sha256:d65d448389b8436493abcf629cc94ad0cf32aecaf06e1acca1de53cc795f2f12", size = 24400588, upload-time = "2026-08-21T23:24:30.579Z" }, + { url = "https://files.pythonhosted.org/packages/b6/55/4540ee0f9c42a9ad7109d0d1a8cc70de54c3572b01c6693a2b1c70e90ceb/scipy-1.18.1-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:3ab3523da44749156e1f68b464dc56af11ae4cbc5c739a49d05f32b982eca9f3", size = 31089958, upload-time = "2026-08-21T23:24:35.8Z" }, + { url = "https://files.pythonhosted.org/packages/2a/f5/769f36d14922b8071a43e95d24d18b6bdafad10d7f5cf647867e1ac052bc/scipy-1.18.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:e6fb6a55cc0ba97b59a1f288fb86dc6fce8bdfc0fffcbfd015e3a954bf2a2d93", size = 28715106, upload-time = "2026-08-21T23:24:40.775Z" }, + { url = "https://files.pythonhosted.org/packages/9a/d7/21d890274f75ea37a8209d5519e72da3da90302e3b9fb8397a0918386a62/scipy-1.18.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:ea324d9dd34c38bfb9bec8ca4d1b407db97dbb74029f566b8e322b1b6fe56fe6", size = 20456846, upload-time = "2026-08-21T23:24:45.066Z" }, + { url = "https://files.pythonhosted.org/packages/ec/01/798430ecea2e78ec7c02663d5f71c007bb6abeca931080debd40d7fa55ea/scipy-1.18.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:75b00eb8fb802090aa903f4ea1c7f5a584779f967361e68b7e98e531cc2d7174", size = 23087986, upload-time = "2026-08-21T23:24:49.539Z" }, + { url = "https://files.pythonhosted.org/packages/e6/5f/4634e9d35c68496e4e34cb6946eafab044458e6cedab42b40b6588e475b6/scipy-1.18.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d416b16cccfd70fbf62400e84d0bb2f4e6af519a45557f1692c749b37f14b315", size = 33998146, upload-time = "2026-08-21T23:24:54.714Z" }, + { url = "https://files.pythonhosted.org/packages/41/48/6450ed9243315322bbc19ac57b9b70d66a20bf1d38d124c96bc4bf6af9ea/scipy-1.18.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fdaf5ea890a6183d0565f51a61799d67081bd5b1cf03c5f4b3fd3732108625c9", size = 35312578, upload-time = "2026-08-21T23:25:00.44Z" }, + { url = "https://files.pythonhosted.org/packages/00/bd/bf5a4be6a3525676499f6dff307991739ff6fdcad1481b1aeb6745339f58/scipy-1.18.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c825cef2f49e46753726a7181a8e199804a912b29519ada542c6ebc654951899", size = 35612621, upload-time = "2026-08-21T23:25:06.144Z" }, + { url = "https://files.pythonhosted.org/packages/bd/4e/3c45c33e00a77996c4b1cb707929f833ba7b1d522ee29f882512c330676d/scipy-1.18.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e3b417bf8c2c7c16e8f58ad91db17783ec911ac16e7b50eb6eab6e809b4f5b07", size = 37457323, upload-time = "2026-08-21T23:25:12.483Z" }, + { url = "https://files.pythonhosted.org/packages/93/0e/e0348fbc0dbab65c114cf78957e7dfeb49f8e8b556b4d930cc12ff195e18/scipy-1.18.1-cp313-cp313-win_amd64.whl", hash = "sha256:559ed65f60c1af5a03f3912605a1b5114f522c7c32fb23c3376ae8f03219fe28", size = 36622841, upload-time = "2026-08-21T23:25:18.722Z" }, + { url = "https://files.pythonhosted.org/packages/50/a8/6a77f5f267c555108f0a864b6db714363dab567a8266422a79a385f9232b/scipy-1.18.1-cp313-cp313-win_arm64.whl", hash = "sha256:cd479fc04dd9401e3b4f49e76518768ef99c4f517a98c284eb091fd725719adf", size = 24399315, upload-time = "2026-08-21T23:25:23.458Z" }, + { url = "https://files.pythonhosted.org/packages/06/d5/d8eb4e280ddb56a4ab2c6f02ee49b56b23f6e977cf0802fd6d68dbef14f5/scipy-1.18.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:83de5453a7799afc9048b4616bd085cef126e36412f0ea2f6370c36a2a3a51e7", size = 31090936, upload-time = "2026-08-21T23:25:28.686Z" }, + { url = "https://files.pythonhosted.org/packages/2a/49/59ea385dc3a62ff498ddf3cfff7c2b41b0f9f9d3c4122b3f1dcb6d6327fe/scipy-1.18.1-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:9554bcc6d715ee87a633a3cc8e7703c6628b100dd29cb8a2efc4c0533c7ff729", size = 28725221, upload-time = "2026-08-21T23:25:33.244Z" }, + { url = "https://files.pythonhosted.org/packages/70/e8/6b0c288c50942d78193696c9f15f9a0874f5178aa0ddf40f83d9924b3e8d/scipy-1.18.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:011413b7426b75012840e35649e00fe0a2c3bae89fed433876e3a99251572efc", size = 20466839, upload-time = "2026-08-21T23:25:37.516Z" }, + { url = "https://files.pythonhosted.org/packages/4b/e0/54fd3793c729e3b936782f181b59cbb1205bf250ab605a16cb1ba61cdd5e/scipy-1.18.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:88f0e784020649f88ea48c9f5ddfa403bf9205820667c0914740b392035afb82", size = 23089121, upload-time = "2026-08-21T23:25:42.019Z" }, + { url = "https://files.pythonhosted.org/packages/0b/56/030af62bea3cf878e0028515dff78c123b01633606a879b63f42d2db99cc/scipy-1.18.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2d3ab0e8c69a17dd3559eab8cbb88f258e285c94d572c2719033f90f83290c89", size = 34053851, upload-time = "2026-08-21T23:25:47.998Z" }, + { url = "https://files.pythonhosted.org/packages/6b/89/2a844506d49651e9aa1af6ef95b6bd8031cb1d5a4375edec6155037e04cf/scipy-1.18.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ac0333bdf38309aa3dcbe7e3fa7ea29e7a2c37c6ea306a757b700ded8e4596ad", size = 35329183, upload-time = "2026-08-21T23:25:53.522Z" }, + { url = "https://files.pythonhosted.org/packages/eb/56/c7370c3640e92ac9613cbf26cb3f729f9b12ddf1727b55b94b53b24d6f48/scipy-1.18.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:911de823097db8b63f034299d12662db93344e6ffa0b881cbb57748974b70168", size = 35672551, upload-time = "2026-08-21T23:25:59.387Z" }, + { url = "https://files.pythonhosted.org/packages/24/16/ec8536f351421f8bf60a1120930638f83790f4710b8230446aca3d6159d4/scipy-1.18.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:95298364e251be3e60249facbeeca03631d3bb7584f85879516ec55ac717b81f", size = 37469416, upload-time = "2026-08-21T23:26:05.432Z" }, + { url = "https://files.pythonhosted.org/packages/52/94/d73da0d28f16c45bb9b0a5691b91610b0275c5ef0eb5e43c87cf2dc1bf31/scipy-1.18.1-cp314-cp314-win_amd64.whl", hash = "sha256:78a0d7c918e74a232394117160e7e3db503377572a45bcef8826e4ab8a35feba", size = 37362755, upload-time = "2026-08-21T23:26:11.366Z" }, + { url = "https://files.pythonhosted.org/packages/89/25/e996e4dc74e10e227b1e14db5eaf6608bb6dd33884a64851c38f18dd4249/scipy-1.18.1-cp314-cp314-win_arm64.whl", hash = "sha256:cbf38d043c1aa4ab306e1ada6ab6eddacc3322a20b7af1b30bc93254b366fe09", size = 25036090, upload-time = "2026-08-21T23:26:15.887Z" }, + { url = "https://files.pythonhosted.org/packages/fa/c9/c00213f92309d753b48903e6a451b87eb52ff5b7a16e789d1568bbf221c4/scipy-1.18.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:0fcb3c93519f27bb4f0c4b0f7802cdcaca7fcf93267b75edda2e9f4e8a55cbd7", size = 31485550, upload-time = "2026-08-21T23:26:20.776Z" }, + { url = "https://files.pythonhosted.org/packages/74/b2/e3067c487982d4eeab2938928529410370c06fea84a4d3f4925e7d96647d/scipy-1.18.1-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:ddef79fb382df40104a19bb7151b3b23e57c1778fcf857c71ceecd9bd264513f", size = 29174642, upload-time = "2026-08-21T23:26:25.395Z" }, + { url = "https://files.pythonhosted.org/packages/d5/ab/374c9fe2d1ec014e576c781a4b5d8e1ba340e8f6b4638c16f711d2b194f0/scipy-1.18.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0e82073ecc7acc6436fac4b31674109c7e1d3e596789767eda01258a8c9e8123", size = 20916357, upload-time = "2026-08-21T23:26:30.112Z" }, + { url = "https://files.pythonhosted.org/packages/90/38/223915c88a17317cafbf8ca2a42b11c265a9fb1e804aa665544132b5fe8a/scipy-1.18.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:8bcf3c1ba5d6456e2effd30fcbd3459b044d683fcdac79a2e6830f0bdf7de487", size = 23482611, upload-time = "2026-08-21T23:26:34.846Z" }, + { url = "https://files.pythonhosted.org/packages/c4/d1/db0948da8ca57a80b36520ef0a768b967d99f3af65f4b6f1bf6362ad4dd4/scipy-1.18.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cfbf154f2ba187f2ed6cce2639efff7d105f1140573642c0161615b6d91d6a87", size = 34143202, upload-time = "2026-08-21T23:26:40.4Z" }, + { url = "https://files.pythonhosted.org/packages/87/53/39d046cc7574ed6acacb6bd5723e220107ece80bff12faaf3efc4ddeede4/scipy-1.18.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a1d33a7836f7ddc1993427966a0823468ec41bcbdb1a9f9942d1d7e57f803ba3", size = 35380876, upload-time = "2026-08-21T23:26:46.1Z" }, + { url = "https://files.pythonhosted.org/packages/f9/da/32e0e799d875a85ca57d9bde6c78148afcc0e38276df683d95854eadc8c3/scipy-1.18.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7f4b8bc363b6d65ee2152bec57568e3c52639bb34c46057b09857a307ed5e21d", size = 35770885, upload-time = "2026-08-21T23:26:51.533Z" }, + { url = "https://files.pythonhosted.org/packages/88/2e/f97a666d362fee68b18f41c9c30ed502ca5c98b549749bfcb52a8b74d1eb/scipy-1.18.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:11c423f1049c5755ad4409af52a9ada1cff96fe9b50795d4af3619f292901239", size = 37525424, upload-time = "2026-08-21T23:26:56.751Z" }, + { url = "https://files.pythonhosted.org/packages/ca/d5/a9e765a84654ebba8479a1fd1b059ced1af72b168a3b2a3a46540ea38d20/scipy-1.18.1-cp314-cp314t-win_amd64.whl", hash = "sha256:c24acac1e18912761c4700239bbc1fd32f615af690f1584d49b35859be51324d", size = 37416961, upload-time = "2026-08-21T23:27:01.546Z" }, + { url = "https://files.pythonhosted.org/packages/ee/16/e79e0d1c63ef698879d85439d37e9fb434e3b804e506a6991038d086ebd9/scipy-1.18.1-cp314-cp314t-win_arm64.whl", hash = "sha256:9f2897bf7737392ad0d5213ea7b6add72a4edf5679b3153106aeb88b6507b3b9", size = 25331848, upload-time = "2026-08-21T23:27:05.884Z" }, + { url = "https://files.pythonhosted.org/packages/be/4f/1bd37c883b67163e2ca1f60977a399500e6879c15defecac62831c8d078d/scipy-1.18.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:eb0dfcf4e28a99c12c999744a2ff67c9b06200e20401c7c88186e33552a46331", size = 31091484, upload-time = "2026-08-21T23:27:11.051Z" }, + { url = "https://files.pythonhosted.org/packages/8c/c5/ba929d7feb9b2332f96827c12e0e924b61973b59b4dea383b603372c65ce/scipy-1.18.1-cp315-cp315-macosx_12_0_arm64.whl", hash = "sha256:30f464bee641fa8e282577c7dce027308403213c6ca8270bba73285c91024bc5", size = 28725057, upload-time = "2026-08-21T23:27:15.9Z" }, + { url = "https://files.pythonhosted.org/packages/a4/19/68f1c50f609d955d230e66d25d02bd3e1e167ec540232135354fb9a4b9e3/scipy-1.18.1-cp315-cp315-macosx_14_0_arm64.whl", hash = "sha256:1bca3b943fc2567ea49cd02c99abde49da4d5178ec46f624bd8255cda8755beb", size = 20466734, upload-time = "2026-08-21T23:27:20.044Z" }, + { url = "https://files.pythonhosted.org/packages/ef/6d/319fa29b73d1802fa80b32a6eaf3f5be456ef81526da2716a9493bcb5501/scipy-1.18.1-cp315-cp315-macosx_14_0_x86_64.whl", hash = "sha256:c9d18a33309122074ea483dd92dd444189166b8b2ec429fe9ed5ac73c7a0aa23", size = 23089664, upload-time = "2026-08-21T23:27:24.345Z" }, + { url = "https://files.pythonhosted.org/packages/b7/db/30992f9b51a63de671daf3888ffd18378b6cb9ec9f2c972264238ffa7fd6/scipy-1.18.1-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:82f201b4c878551d48558337aab270d3c6cca5507b8737c8d8a608d234cccde0", size = 34054035, upload-time = "2026-08-21T23:27:29.409Z" }, + { url = "https://files.pythonhosted.org/packages/91/d4/bf3e735dc0b9d5a8ff45079d2540e17d3aff7a2f0048dd8f552ffd031d2b/scipy-1.18.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0ac49ea97594532dd44b7136094d35f5440fa06e6d9c6384a74c01764df388c5", size = 35333883, upload-time = "2026-08-21T23:27:34.293Z" }, + { url = "https://files.pythonhosted.org/packages/19/93/12d78ce9f871fe945fca588d32644e6e63f553c2a35c564d73f3b22a3313/scipy-1.18.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:ceb30a00ce7c92d459819443d29ca486d882b83fb6738bdcbb2a1cce94ac5daa", size = 35673124, upload-time = "2026-08-21T23:27:39.059Z" }, + { url = "https://files.pythonhosted.org/packages/70/cd/886219313a1012a48e6ae0ec4f302c837151beb92e1ff0d709ef8fdfc488/scipy-1.18.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:f29633129f9fa7e88a3f0fca835de2d030bfc9643f7799e1a0c46cee24d38fc7", size = 37470753, upload-time = "2026-08-21T23:27:44.435Z" }, + { url = "https://files.pythonhosted.org/packages/17/6c/a776888ce618bee54fbde26172f0f46ac1da70d27b63861797fe78e1904b/scipy-1.18.1-cp315-cp315-win_amd64.whl", hash = "sha256:92c14f5bdbfb6216315ce33e78080474082de8b3830122ba97809bfbe65f75c0", size = 37361483, upload-time = "2026-08-21T23:27:49.334Z" }, + { url = "https://files.pythonhosted.org/packages/ab/09/97b651691322ebee97999b017ffc18a15a0b815103844c97e8da9d469731/scipy-1.18.1-cp315-cp315-win_arm64.whl", hash = "sha256:e402cf31eb68f453dbb2d36fc6d722b33f24a55d68b2ae1d92fa6305ca71c298", size = 25035883, upload-time = "2026-08-21T23:27:53.596Z" }, + { url = "https://files.pythonhosted.org/packages/ed/0f/9ec20467bbabd0d44e2a77d0fd3d124f884b4d67df92af82c91d2d6a486f/scipy-1.18.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:2a0b02f9fc46f8520330c23d45e6560db7e3a0d927232139427637f98943e11d", size = 31474926, upload-time = "2026-08-21T23:27:57.993Z" }, + { url = "https://files.pythonhosted.org/packages/8a/58/dcb79161e56efbedc50079fcd2f5fe427a0ebb53022eb476aa73c015ad8f/scipy-1.18.1-cp315-cp315t-macosx_12_0_arm64.whl", hash = "sha256:1d73131e358976663dd969e1fb4ed1404b815cd977eaaedc3b3a133ba2d81c35", size = 29164940, upload-time = "2026-08-21T23:28:03.062Z" }, + { url = "https://files.pythonhosted.org/packages/71/d3/1eeea80c817fcb8ef7bd4a05a58824977a0e57a375cfc3d7ea7c911c01ad/scipy-1.18.1-cp315-cp315t-macosx_14_0_arm64.whl", hash = "sha256:bff0b729edd992766136b34e39cc76bc2fad905aa58897ee72a9cd000a6d8443", size = 20906742, upload-time = "2026-08-21T23:28:07.642Z" }, + { url = "https://files.pythonhosted.org/packages/54/46/e59350428b6099301a20128108c995e2eb175a43f383af9a346e38824f9b/scipy-1.18.1-cp315-cp315t-macosx_14_0_x86_64.whl", hash = "sha256:10ac20c69d880f77f375db44c22e3e6a644f9fefa291d4cd2fb9790a89fc99fd", size = 23472183, upload-time = "2026-08-21T23:28:12.109Z" }, + { url = "https://files.pythonhosted.org/packages/89/31/cc91623fa98f0621766a0f0aaaadb2c66de74a7ea7e3837164f6e4354260/scipy-1.18.1-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:33a834464fdabc0f26a45508df31b3cc5d028e04dbf6c5ed398541418e0a12fe", size = 34130796, upload-time = "2026-08-21T23:28:17.906Z" }, + { url = "https://files.pythonhosted.org/packages/fc/3e/8572ef536957ddb8aa81bb4090d9e25f257e3b4e05d97deb54319deb8a3a/scipy-1.18.1-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49023963c193dacee096301452f223ee24d86ec5807f8df93c0f7221d119e305", size = 35374253, upload-time = "2026-08-21T23:28:23.732Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c6/59fdeffb4f1435299f93d9dc8140b43ad2916e6cfc944be6c3041fcec86d/scipy-1.18.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:d84a09d0dad90ba6525d8ac1c2334b33e64bf3ccfe9e841f02feb867a22681e4", size = 35758543, upload-time = "2026-08-21T23:28:29.431Z" }, + { url = "https://files.pythonhosted.org/packages/cf/d9/135be205d9de8783193aff9cc3bf483a03a38e4b29432c954e8cb66ac14e/scipy-1.18.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:179ce34a8d0fe273d8883ba59e17e052247d08973dfcb743ca52bb1cce2d60b0", size = 37521946, upload-time = "2026-08-21T23:28:35.245Z" }, + { url = "https://files.pythonhosted.org/packages/5c/a2/5b7d5270621ab7cfa3f7766067bf95dc360b5efb6394694e8143b4156e2b/scipy-1.18.1-cp315-cp315t-win_amd64.whl", hash = "sha256:5632e3ae3d09197c446310cd5187de63e28448ce22f0f67b2b93d97503c0c230", size = 37408295, upload-time = "2026-08-21T23:28:40.724Z" }, + { url = "https://files.pythonhosted.org/packages/63/ad/741c19fcb66755ff953daf9243af8480e4bf3d7fbe57583c178c7d2b6b51/scipy-1.18.1-cp315-cp315t-win_arm64.whl", hash = "sha256:eda632a7981f69730d6281f451db9c1c370993a2c0d7ddb43e2a809a2862b83a", size = 25319710, upload-time = "2026-08-21T23:28:45.713Z" }, +] + +[[package]] +name = "send2trash" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c5/f0/184b4b5f8d00f2a92cf96eec8967a3d550b52cf94362dad1100df9e48d57/send2trash-2.1.0.tar.gz", hash = "sha256:1c72b39f09457db3c05ce1d19158c2cbef4c32b8bedd02c155e49282b7ea7459", size = 17255, upload-time = "2026-01-14T06:27:36.056Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/78/504fdd027da3b84ff1aecd9f6957e65f35134534ccc6da8628eb71e76d3f/send2trash-2.1.0-py3-none-any.whl", hash = "sha256:0da2f112e6d6bb22de6aa6daa7e144831a4febf2a87261451c4ad849fe9a873c", size = 17610, upload-time = "2026-01-14T06:27:35.218Z" }, +] + +[[package]] +name = "shap" +version = "0.49.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version == '3.13.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version == '3.12.*' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version < '3.12' and sys_platform == 'win32'", + "python_full_version < '3.12' and sys_platform == 'emscripten'", + "python_full_version < '3.12' and sys_platform != 'emscripten' and sys_platform != 'win32'", +] +dependencies = [ + { name = "cloudpickle", marker = "(python_full_version < '3.12' and platform_machine != 'x86_64') or (python_full_version < '3.12' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" }, + { name = "numba", marker = "(python_full_version < '3.12' and platform_machine != 'x86_64') or (python_full_version < '3.12' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12' and platform_machine == 'x86_64' and sys_platform == 'darwin'" }, + { name = "packaging", marker = "(python_full_version < '3.12' and platform_machine != 'x86_64') or (python_full_version < '3.12' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" }, + { name = "pandas", marker = "(python_full_version < '3.12' and platform_machine != 'x86_64') or (python_full_version < '3.12' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" }, + { name = "scikit-learn", marker = "(python_full_version < '3.12' and platform_machine != 'x86_64') or (python_full_version < '3.12' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12' and platform_machine == 'x86_64' and sys_platform == 'darwin'" }, + { name = "slicer", marker = "(python_full_version < '3.12' and platform_machine != 'x86_64') or (python_full_version < '3.12' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" }, + { name = "tqdm", marker = "(python_full_version < '3.12' and platform_machine != 'x86_64') or (python_full_version < '3.12' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" }, + { name = "typing-extensions", marker = "(python_full_version < '3.12' and platform_machine != 'x86_64') or (python_full_version < '3.12' and sys_platform != 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/c6/9823a7f483aa9f3179fc359c10d22da9e418b1a7a3fc99a42b705d05e82a/shap-0.49.1.tar.gz", hash = "sha256:1114ecd804fff29f50d522ce6031082fcf42fe4a32fb1b5da233b2415d784c8c", size = 4084725, upload-time = "2025-10-14T10:04:49.75Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1d/08/d433b7d18a8b51a7d10477120f78877d806d2eb86283cb1661318d865f3d/shap-0.49.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1e208a0129c721bd0eba6268a9ffac4610dbc8a833d07d2ad9f39541bb737f06", size = 558742, upload-time = "2025-10-14T10:04:17.45Z" }, + { url = "https://files.pythonhosted.org/packages/c2/35/72929fdad25e055aff9dfbeb48c044682fc3b815d90cee4036b90bd65f4c/shap-0.49.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0b878470bdf6800069c25d2a8598eb0548aa1e6826becd39cca253521cc14866", size = 556486, upload-time = "2025-10-14T10:04:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/02/be/d92623be2c584784e99a8eb9a6cd02263b4eb363c9e49fa14c20f824bcbb/shap-0.49.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:118577d40c53f005268024e59f6a10cbcafbb6d03b3d97dce7c0c7510190ebaa", size = 1025978, upload-time = "2025-10-14T10:04:20.096Z" }, + { url = "https://files.pythonhosted.org/packages/14/e9/e4079b5de26a8269121ce38125e130c147dac7b59611e0bd94be10f9444e/shap-0.49.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f424465699aa2dda8057656c6b6d3cb927cf29b054c5bb01cfffcb9efa5dbf98", size = 1027831, upload-time = "2025-10-14T10:04:21.666Z" }, + { url = "https://files.pythonhosted.org/packages/49/ff/e22e1d899ed56384a2395d6121d6e21833c518c01c5b6c52fce3c0b0cbab/shap-0.49.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d505834fdf2a159e88b1dcdeddfd79f101fd789ba89d589faf0aaec060c0bad9", size = 2092627, upload-time = "2025-10-14T10:04:22.894Z" }, + { url = "https://files.pythonhosted.org/packages/17/48/bbcd638a391ac0fb30033398a3cca60ba5c36941d962dd74958e67069108/shap-0.49.1-cp311-cp311-win_amd64.whl", hash = "sha256:897c7e6fa98d66482282c8f898c97ade181d714ecaf581da0dab5c49adb9f62c", size = 546845, upload-time = "2025-10-14T10:04:24.238Z" }, + { url = "https://files.pythonhosted.org/packages/92/7a/ccecf7a9158baa10bdc5146907c72dd5f85c762cb5f16cdc74d15cebb8a1/shap-0.49.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c652dc77f1fffe73f5a3def3356c5090e2e6401c261e4fe5329d83cb6251e772", size = 559663, upload-time = "2025-10-14T10:04:25.412Z" }, + { url = "https://files.pythonhosted.org/packages/ee/c6/c43382d6c891fcf067d0a9f6d954351e3c7d330f4328c5816769b796aa27/shap-0.49.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c23f1493205e648634680c8974e82e7f4b2e96ae3a7eca2251680172bd197ae9", size = 556265, upload-time = "2025-10-14T10:04:27.098Z" }, + { url = "https://files.pythonhosted.org/packages/c0/71/f7db7a5a2cedaa3ac52f58f453172d613be041bedd9509ce5b5cba2096a6/shap-0.49.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41147740c42821023e1b60185ce8be989656ccac266cc9490d7a8e3ad53c556a", size = 1022419, upload-time = "2025-10-14T10:04:28.793Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a4/96ca9a69dd669ff835ddef875c5dd8e07599103769417d3e9051fd97d470/shap-0.49.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef9952929d4a7e6763d2716938067bdad762217e3afb46cabfc15a62c012b364", size = 1027074, upload-time = "2025-10-14T10:04:30.2Z" }, + { url = "https://files.pythonhosted.org/packages/fc/9a/89ed1ac8beffe8ff8e09c12cb351bc3c79ddaadcc47ca6ee434d76e464d7/shap-0.49.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e823417eb0a01947cd9bd763bef2e534c5aef7a7c2952b1badfa969c7d59d3b3", size = 2088172, upload-time = "2025-10-14T10:04:31.725Z" }, + { url = "https://files.pythonhosted.org/packages/4a/28/11422c1c3aa022a06e76cbfa3267e1750cedc00c1e02ef1ccae9c88cd6f4/shap-0.49.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb28043decfec3f35f795421eb5a81545f629b7f60bbf7449cd2843a7f1c8cc6", size = 548036, upload-time = "2025-10-14T10:04:33.087Z" }, + { url = "https://files.pythonhosted.org/packages/e9/5c/030bbfa19605ca4ad66a753d55e76aee5093be6748a6d33eda89e5613995/shap-0.49.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:333cd8e8c427badda92d5ada9e7aad1e3e1e8e7e0398da51a18b7ffb03514e45", size = 558604, upload-time = "2025-10-14T10:04:34.298Z" }, + { url = "https://files.pythonhosted.org/packages/2c/7f/7e7b78e9fac6f891096fb6a59a6d4db23243b0af2369ae54e161f513c485/shap-0.49.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f4faf61560f73a66f4f26bc027c91f8939201979c4db24949dca305ba0a2ad36", size = 555311, upload-time = "2025-10-14T10:04:35.582Z" }, + { url = "https://files.pythonhosted.org/packages/f2/be/25283a0f8c30deaf897b89a0dbfd490d330f6fc68caa6f19db6e130832e9/shap-0.49.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b440da658d9aee7711bf642c9b4826d81f588fb478cd9e90c068646e90f56669", size = 1016897, upload-time = "2025-10-14T10:04:36.856Z" }, + { url = "https://files.pythonhosted.org/packages/5c/91/a63e563f3dc8e134db12dd155a1a6ed5e0649f79fc8ac651aac1088e8652/shap-0.49.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8dfa5654eccf4d13dcb262a10314a4e0eb1060db842b2ef31e9fb0038168bc1", size = 1022476, upload-time = "2025-10-14T10:04:38.171Z" }, + { url = "https://files.pythonhosted.org/packages/15/a2/89303c1f7eb206658bf9ec974dc6e69b0a6bd309cf5de0cfa8f92f5a8eb3/shap-0.49.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ed3080030a6000d3737841c5770ed555b8a922b794fa0ba5aae1e45655eda1fa", size = 2087940, upload-time = "2025-10-14T10:04:39.497Z" }, + { url = "https://files.pythonhosted.org/packages/84/bd/0b9b3e19b9b8cda51463f8a749dc354eb9c87f42eddcbfdf742dceb3746b/shap-0.49.1-cp313-cp313-win_amd64.whl", hash = "sha256:6af779344c23b12a47063aab7fc135fefbdb5849233c1813f11dd8cf2fc73bea", size = 547806, upload-time = "2025-10-14T10:04:40.712Z" }, +] + +[[package]] +name = "shap" +version = "0.52.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.14' and sys_platform == 'win32'", + "python_full_version >= '3.14' and sys_platform == 'emscripten'", + "(python_full_version >= '3.14' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version >= '3.14' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "python_full_version == '3.13.*' and sys_platform == 'win32'", + "python_full_version == '3.12.*' and sys_platform == 'win32'", + "python_full_version == '3.13.*' and sys_platform == 'emscripten'", + "python_full_version == '3.12.*' and sys_platform == 'emscripten'", + "(python_full_version == '3.13.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.13.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", + "(python_full_version == '3.12.*' and platform_machine != 'x86_64' and sys_platform == 'darwin') or (python_full_version == '3.12.*' and sys_platform != 'darwin' and sys_platform != 'emscripten' and sys_platform != 'win32')", +] +dependencies = [ + { name = "cloudpickle", marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "llvmlite", marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "numba", marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "packaging", marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "pandas", marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "scikit-learn", marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "scipy", version = "1.18.1", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "slicer", marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, + { name = "tqdm", marker = "(python_full_version >= '3.12' and platform_machine != 'x86_64') or (python_full_version >= '3.12' and sys_platform != 'darwin')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/0a/aa278f42c08cb47f2bb503085be0c521da2886929c6605b6105748a7590f/shap-0.52.0.tar.gz", hash = "sha256:81d4ae478f67f8122de1bb411dc4e3ddff0604cbc27dc9cb8ea66d5c73462fd2", size = 4192842, upload-time = "2026-05-28T14:17:49.011Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/61/ddbe6fb40120fc7d3dbd702f5f4e0ef1c0795e39f208afbc928ce46a0246/shap-0.52.0-cp312-abi3-macosx_10_13_x86_64.whl", hash = "sha256:334cdc36a925db2242875f69267b88eb6108ec47a6c259f4f87a6b022b6188dc", size = 496146, upload-time = "2026-05-28T14:17:33.352Z" }, + { url = "https://files.pythonhosted.org/packages/19/d1/b020cb524513496d046a9711ec466c0fdd479b722c09ceb1162c138d0db7/shap-0.52.0-cp312-abi3-macosx_11_0_arm64.whl", hash = "sha256:9a1116361c01fc5a045cf34681673f6c79100e2e648a6fbde7da084d18193d2e", size = 490868, upload-time = "2026-05-28T14:17:35.075Z" }, + { url = "https://files.pythonhosted.org/packages/88/58/6e7f8d13b6078485a4bc3c5e6ae97ef52c9208315206982fd0fedabe2db4/shap-0.52.0-cp312-abi3-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:61e431aed9de5f2deae1b7847b00edd739b8d85df9c4d04b137230d20dbbd4d3", size = 495268, upload-time = "2026-05-28T14:17:36.312Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1c/8aad9c7cc4c09a3841496def5434f56d1b172ad55dbb42fc839c25798f1c/shap-0.52.0-cp312-abi3-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20b3d09fdff3e94e418abec1f6033522189e4ca554f1014a2b320f80b5454ad2", size = 498042, upload-time = "2026-05-28T14:17:37.664Z" }, + { url = "https://files.pythonhosted.org/packages/8e/78/f8f86c768a2fae213d99721666eb01653347b1398cf6e24afd84743899a8/shap-0.52.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6b843d61e18ad4659584e004a4e681fff0648d4cf371830e3019709722190467", size = 1570560, upload-time = "2026-05-28T14:17:39.058Z" }, + { url = "https://files.pythonhosted.org/packages/5d/20/f5824640d8e7bf6bffb2ed8f6221c8c6fb2d39b638ba72f01b60e934e40f/shap-0.52.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2828d18366db812599a5d8340ce93fed9c95d97337d90568597b2e96d01ce516", size = 1627401, upload-time = "2026-05-28T14:17:40.435Z" }, + { url = "https://files.pythonhosted.org/packages/58/bf/6be16d28ef1b6ff69078a1d7ea58892e9d40a4680c1077563f74ebd31c9e/shap-0.52.0-cp312-abi3-win_amd64.whl", hash = "sha256:07d44ace491ca6204dac6ce4fda128bcaeff27553a279bca67c55a14987cc957", size = 499853, upload-time = "2026-05-28T14:17:41.786Z" }, + { url = "https://files.pythonhosted.org/packages/ca/bc/677a58515255ed9d418f35406f42bb73434481d533b3408f9aba787e7a39/shap-0.52.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:514140e2b89f8d4600637cdff8242ac194b96f8ef820b06ab6584d105c1f9b68", size = 494655, upload-time = "2026-05-28T14:17:43.24Z" }, + { url = "https://files.pythonhosted.org/packages/28/59/e59a449a53217840fa21c7072d6535d85805b77c9f27ab10cedba8e3d5ca/shap-0.52.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb34bf01572048213d60d75d9329c62112d77a5190c18c05f572044dda8e0d83", size = 499315, upload-time = "2026-05-28T14:17:44.528Z" }, + { url = "https://files.pythonhosted.org/packages/7c/7f/60c047319846fd144bb9ed1adcb1121a3ff1f36158847d0dfe9c94c7f241/shap-0.52.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:09fca6cc9d8d4b9921bf6b56d381a5df0e26cb1b3cd572b2b2f6e48cf9c5d4ad", size = 1576710, upload-time = "2026-05-28T14:17:46.051Z" }, + { url = "https://files.pythonhosted.org/packages/63/90/e676b9315bee9f6278ac6662c276710c41a3c5b8fb6c21aa89240e04356e/shap-0.52.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:59b201ef00ce38359997eb9363ff561c89a98461bd81d9fdae8b5350a176eee5", size = 1633807, upload-time = "2026-05-28T14:17:47.544Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "slicer" +version = "0.0.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d3/f9/b4bce2825b39b57760b361e6131a3dacee3d8951c58cb97ad120abb90317/slicer-0.0.8.tar.gz", hash = "sha256:2e7553af73f0c0c2d355f4afcc3ecf97c6f2156fcf4593955c3f56cf6c4d6eb7", size = 14894, upload-time = "2024-03-09T23:35:26.826Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/63/81/9ef641ff4e12cbcca30e54e72fb0951a2ba195d0cda0ba4100e532d929db/slicer-0.0.8-py3-none-any.whl", hash = "sha256:6c206258543aecd010d497dc2eca9d2805860a0b3758673903456b7df7934dc3", size = 15251, upload-time = "2024-03-09T07:03:07.708Z" }, +] + +[[package]] +name = "soupsieve" +version = "2.9.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/99/a6ca3beb3ccacb41fb3321d8a60e5566f9e6467601ef8eba6a17e1b89778/soupsieve-2.9.2.tar.gz", hash = "sha256:4a55d8cf158a9c2e587fa4922f1bbb91d68ac829e2d6f25403a85747c71daf74", size = 122445, upload-time = "2026-08-07T00:57:24.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/dc/ad025c1ee131eba60c69f4dd5779b18fcf1e6b21a343e2162a84d5d133c7/soupsieve-2.9.2-py3-none-any.whl", hash = "sha256:8089a26fd974ca7a1f30276d3d8492ab266ab15af581642dfe8aa162e0c1c823", size = 37370, upload-time = "2026-08-07T00:57:23.524Z" }, +] + +[[package]] +name = "sparse" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numba" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/86/9f/2cd5f071ce00083f74af90ae2c083393ef3e91ecd78f0f24887871473dd4/sparse-0.19.2.tar.gz", hash = "sha256:0d41a7c3f477cb4265d7193bcf12b0146674d6533ff328afa1e1d0f2b8480f00", size = 814045, upload-time = "2026-08-14T09:37:27.288Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/09/4e/23e0009b6d5d415c223ea38fcf1e38dc9b0fc6d3ff15b5c5090dcc1f6d88/sparse-0.19.2-py2.py3-none-any.whl", hash = "sha256:2fcad7b83dacb5c70123a7de76db3626cbdaf567fcf12bdbf637aca6c4ee1bbe", size = 155257, upload-time = "2026-08-14T09:37:25.64Z" }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + +[[package]] +name = "statsmodels" +version = "0.15.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "formulaic" }, + { name = "numpy", version = "2.4.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "numpy", version = "2.5.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "patsy" }, + { name = "scipy", version = "1.17.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" }, + { name = "scipy", version = "1.18.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/1f/a3cbf6ed7cf6286afec694bfef561f3e51483197716717fb8476f1f0c50e/statsmodels-0.15.0.tar.gz", hash = "sha256:5d257fe58d0772bc46a557880ca78e2a8e07fec7bfd9d11074aef8e33e1aecbc", size = 15736853, upload-time = "2026-08-27T10:45:21.988Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/2e/bba0e676ff1df16be77fc70f652c0261d8ca3a7467dda5ecf39afa7bded0/statsmodels-0.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:103a83723f998897fbb5d5d0ff728cbe3755a90d9b1f22406bf58f305faff2e7", size = 11714869, upload-time = "2026-08-27T10:34:52.281Z" }, + { url = "https://files.pythonhosted.org/packages/58/c8/08a71f7ad3f0506967d0ab0cdc16a6dec0fe94d0b317f5567836010a10f6/statsmodels-0.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ca5d27711f171ee478d547d5a8c5424d1820a1b73c2a3d6bf63f71ad4525f71", size = 11567437, upload-time = "2026-08-27T10:35:08.711Z" }, + { url = "https://files.pythonhosted.org/packages/51/bd/e9292d873ed61f6d02864dd6a936e53c4129e10eee39117d7cd2d0da845c/statsmodels-0.15.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7ef37437f740620a8da03437a29b1fc21bd9a70eeb231cd0d223cc4d766adb78", size = 11827696, upload-time = "2026-08-27T14:30:23.194Z" }, + { url = "https://files.pythonhosted.org/packages/fa/6f/235505a633776a2c1188e583e5a507a548b4fbd21abc14e199f1a84e8ee2/statsmodels-0.15.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b67886b66d9c7ca118526accedb5c6de7ffd74c015dc0492ea0b1690192b65da", size = 12087914, upload-time = "2026-08-27T14:30:57.648Z" }, + { url = "https://files.pythonhosted.org/packages/04/d1/d64a5a3eef6cd7b1cc71645b3f625c16e024113e7ffcd1b4ec3da71605ec/statsmodels-0.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dd184e911a1a8c52e5c1c27b43ccd10c24faec08053271ca1a35276cae0a3ada", size = 12109911, upload-time = "2026-08-27T14:31:25.914Z" }, + { url = "https://files.pythonhosted.org/packages/b8/be/77c4b5d3f61eab5676981d20f705acee8222ad31de8aca42a331dcd4cfdb/statsmodels-0.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:5e1214312d6362cebe0b5c53b4f478d9072559709000369dfc528211cb993e8a", size = 11361029, upload-time = "2026-08-27T10:35:24.869Z" }, + { url = "https://files.pythonhosted.org/packages/1f/17/14121b56377f2881ce94c0d0a01466585468923340d94841337d324f6be6/statsmodels-0.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8e8deb1e3d4ab89fec2a52815f1ec924920c4e0cdb307421a4e47cfed87c03ff", size = 11654329, upload-time = "2026-08-27T15:09:42.207Z" }, + { url = "https://files.pythonhosted.org/packages/ef/f5/6b550b5c936dd9ec5c859477698b4fcbccc826e9a4a4a52847fa51673357/statsmodels-0.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c6e20788141df134b83ffb43b8cccf135a876188f84124835c86f011f138adee", size = 11527231, upload-time = "2026-08-27T10:35:42.669Z" }, + { url = "https://files.pythonhosted.org/packages/f0/a5/0e7e87e0dedc68bfeecc24bea92876023db09bac1c0fe50584a7d0819fb5/statsmodels-0.15.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4f90dc4989bd82837c80059fdce132976d4e5a80100119d16e1b00537eb55867", size = 11747428, upload-time = "2026-08-27T14:32:28.987Z" }, + { url = "https://files.pythonhosted.org/packages/41/c7/aeadca282baf51d7b9c135674bac79ded91f4db79c69c188575d22234342/statsmodels-0.15.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6f2bd48915cc9b3b95c3c7f6ac363b6f8aaa38172962ba5f7f6885f0dfe57f2", size = 12042643, upload-time = "2026-08-27T14:33:06.022Z" }, + { url = "https://files.pythonhosted.org/packages/9c/44/7d3eb3836b3c054280baca7ec91bd12858825de437c6319c1212c2531d94/statsmodels-0.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:733887a09ff878a2e29504eda684488b26bd134ba3539ac58d2136a58914c65a", size = 12079497, upload-time = "2026-08-27T14:33:47.147Z" }, + { url = "https://files.pythonhosted.org/packages/03/e3/d863228849da191d37c54bdd72634fbbcfadd12e910e29e4bdca1b952bb6/statsmodels-0.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:ba89eb3ccb1c9c1e400d5081157305495b09350b3a65f2d66d3424ad1d3c4209", size = 11322106, upload-time = "2026-08-27T10:35:58.135Z" }, + { url = "https://files.pythonhosted.org/packages/87/17/fee8cfc100c37b1c553515dbad59607a55085a5b9beac2b008e4c03b6388/statsmodels-0.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:09fe34ac80e147cd76cb702ba672559ee3c5dd3ba15c25a232922b46e5ffe70e", size = 11696848, upload-time = "2026-08-27T10:36:13.782Z" }, + { url = "https://files.pythonhosted.org/packages/9e/60/a885751cd3aa796ef94b60f6d3de0c9ace4190feb3e55414ee728d2a0abc/statsmodels-0.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0ffe08752f420f12a0b03e8f7d8f3a45417615309b1f37f10561f9a53f044737", size = 11556170, upload-time = "2026-08-27T10:36:29.848Z" }, + { url = "https://files.pythonhosted.org/packages/0f/f4/482701d2dc7540897b13ead827cf8499b11c7325753b8cc4ff1a82c87a18/statsmodels-0.15.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5a7ab98634d47048c6b7c168b3f8f71369e256d7314bc386168526f34c7699d7", size = 11752604, upload-time = "2026-08-27T10:47:50.809Z" }, + { url = "https://files.pythonhosted.org/packages/cc/88/5c8819f232448d52514b76a64cf285bc608cff9179f3eeacf58750612323/statsmodels-0.15.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bcaa1e4499697c4e023e5fa6fb04459a34e4f4a449c45ae441992e933bde24db", size = 12055386, upload-time = "2026-08-27T10:49:13.7Z" }, + { url = "https://files.pythonhosted.org/packages/19/a8/298e9b5c993cad3b58913d61b7e7cb0e2fba12e39d3114cd8484f922a5d1/statsmodels-0.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:88dbe345ecf317862481b3c86305f42133082e5b366a3a8cf240a6caac404daf", size = 12088356, upload-time = "2026-08-27T10:48:10.645Z" }, + { url = "https://files.pythonhosted.org/packages/28/f5/386c6cfda27c47df81643dc9466b3e28dc2a82152e524131977275a88e0c/statsmodels-0.15.0-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:ac9bce461d0c8f529f8ed331a469eaa5dd7c3213c06b62623a2e5438a6383093", size = 9809418, upload-time = "2026-08-27T10:36:50.646Z" }, + { url = "https://files.pythonhosted.org/packages/15/b4/a8a4d89918599309bebfc09a2f793a910279f3900671bc959ac8c810edd1/statsmodels-0.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:081adf7e5f2da63f63cbd90491447de5d4c4c2921f19814f235bcf3e736edd3c", size = 11312877, upload-time = "2026-08-27T10:37:08.325Z" }, + { url = "https://files.pythonhosted.org/packages/7a/79/66b57afdcbf9a8b21b1a8e4414ddb006e819b2a81243cd74c12f3301eca3/statsmodels-0.15.0-cp313-cp313-win_arm64.whl", hash = "sha256:3e5f870037ca154a4d177aeac68704a784b24cf2c45d86b046fc28e37a2a5584", size = 10812282, upload-time = "2026-08-27T10:37:26.708Z" }, + { url = "https://files.pythonhosted.org/packages/86/51/daf737efb6002905bd006d296f9ad031ed3861b640075bde3b734706b49d/statsmodels-0.15.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:04e65ee05475aeceb9cb954cf96c0f9361b9cdfd497b8aae47afbab0c7c786dd", size = 11698848, upload-time = "2026-08-27T10:37:46.312Z" }, + { url = "https://files.pythonhosted.org/packages/22/b1/ca42c91e427db43917d4ab5cc6991e7e50b574bcfdf6c4c8eb9590af71d3/statsmodels-0.15.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1f1443cc1ff7683f3d7a9054e6dccd92040fbd4324616a0b6dbb8af1ce7889fb", size = 11571229, upload-time = "2026-08-27T10:38:04.723Z" }, + { url = "https://files.pythonhosted.org/packages/5b/04/d803e8d014d4643d9c0a5eec78343073fbfff1c1018f776dd416c07fc076/statsmodels-0.15.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a45026596c71afa18543ec2af40b895609c181fc3649433c1cded5ce23ec5cd4", size = 11801588, upload-time = "2026-08-27T15:00:31.603Z" }, + { url = "https://files.pythonhosted.org/packages/fd/44/40d7678858065e9ec8efd9f37f04227b22a66632ba194e4aa43fda023f6a/statsmodels-0.15.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:edd803f4606061af8c7a83e2326ea294cbfa802a908dfbda4a88347301fb6820", size = 12062254, upload-time = "2026-08-27T15:00:49.803Z" }, + { url = "https://files.pythonhosted.org/packages/51/69/16c73c3c09f4b8d85f125d7d3ae0f7092d4736a83d24c0159e4fb21632ec/statsmodels-0.15.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:eb7fc1147cd8d17132190db7a8e63cd76a06145dec502816d8f3c20619923f2b", size = 12101259, upload-time = "2026-08-27T15:01:08.755Z" }, + { url = "https://files.pythonhosted.org/packages/23/4c/1138aad8e3c27ebf941d732788488cce7c28d76404a7b7fc1186faad2890/statsmodels-0.15.0-cp314-cp314-win_amd64.whl", hash = "sha256:c3c1138b4d0e5b0c2387b17dafd2a0fd137c67bd869f70d4ee56feecc918cb0d", size = 11348219, upload-time = "2026-08-27T15:11:12.924Z" }, + { url = "https://files.pythonhosted.org/packages/3a/bd/53546d8c9ab013d9a0513706d2a09a03aff12034e6f898987e8ce0f38257/statsmodels-0.15.0-cp314-cp314-win_arm64.whl", hash = "sha256:74c0b63448f03020cc27a8ee698fbcf2ba91e61a9f9eee7978c0c4ed33a9b17f", size = 10866645, upload-time = "2026-08-27T10:38:20.886Z" }, + { url = "https://files.pythonhosted.org/packages/38/a1/0d38328643d4704c8de7867518c3f52ec145ff62537b2ca1e14cdeecf51b/statsmodels-0.15.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:6197b4cca69fd7bc23ab9430abf1c479764cfe74767467f51964a633dfade7a5", size = 11870287, upload-time = "2026-08-27T10:38:38.271Z" }, + { url = "https://files.pythonhosted.org/packages/28/55/fac7e03895f24a0b4883ff9fc69f9421a5df1b60e7edd7e68d49f4327593/statsmodels-0.15.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5538a734dd28efd450bb38a5d5fc94d13ee709bc497e3e4c0a24b3803e3eac39", size = 11755467, upload-time = "2026-08-27T10:38:54.683Z" }, + { url = "https://files.pythonhosted.org/packages/4c/38/5321b9f6065d1c5861e87853720603d56ae81795a83d3040410ca2684305/statsmodels-0.15.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dde0657d18e322eedb2540a84c0582e97afd0f78c370b45eebb0d4ac228a7a83", size = 11636274, upload-time = "2026-08-27T15:03:41.86Z" }, + { url = "https://files.pythonhosted.org/packages/28/56/c75e984c492509d9ab2ba5f2c0e4eab7177cd2cec424cef9dafb42f0cc70/statsmodels-0.15.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:90e75e726be2c9fc1d1d4c43337503a35864bdf5b4693773a08c6ee92d04a153", size = 11865818, upload-time = "2026-08-27T15:04:01.503Z" }, + { url = "https://files.pythonhosted.org/packages/61/72/9e03975701c808767c19f394f670941a962204a4f6a00eeaf56b560348e8/statsmodels-0.15.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:65e64afc2655a486ea44a5ffe4e2b05ee3abbcb10ea61d1c02d3e9e519338d9b", size = 11907800, upload-time = "2026-08-27T15:05:49.786Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a7/c467019a8bf1ab6a07ca88004f0a1d4ea2dae89642aa804e49437b256243/statsmodels-0.15.0-cp314-cp314t-win_amd64.whl", hash = "sha256:edee066ac9b171d95c3de925225331a21de1deb5b6452f252bc853e44566e72b", size = 11559083, upload-time = "2026-08-27T15:06:05.872Z" }, + { url = "https://files.pythonhosted.org/packages/54/10/dc78352367cd5bb298340b57c390c944b66236f6d026cc238bc8264c7633/statsmodels-0.15.0-cp314-cp314t-win_arm64.whl", hash = "sha256:40b2737456e75d96866943e33017a1dffc9166025ee33b7eb373fbe8c7a85e09", size = 11029613, upload-time = "2026-08-27T10:39:10.043Z" }, + { url = "https://files.pythonhosted.org/packages/de/cb/a1f5ad730cb66c7d911ebb45413880333d837f1cffff990a4c6d2c541b95/statsmodels-0.15.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:d48ba61db0d13d3033330e6bd1f864dfa9b48c0b952b3b0f7570206b35d552e5", size = 11702125, upload-time = "2026-08-30T16:04:07.635Z" }, + { url = "https://files.pythonhosted.org/packages/ce/db/fb95f242adce112c1507e2062ad6b7b00aea338925f2a03fbe47973c4d72/statsmodels-0.15.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:24b9917a09bbe0227047e512a40652c4b9117c2cfbf19c4a5b9971a8944a8606", size = 11571622, upload-time = "2026-08-30T16:04:29.558Z" }, + { url = "https://files.pythonhosted.org/packages/b5/3f/f4cc7e5f4d6c8f46551aee63e59d9b964881070f552400ebb76667b39ad9/statsmodels-0.15.0-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333d0c70f269ff98b647f157d2ae7fbcf0617e6f9a5b1817fc6609766502292c", size = 11780713, upload-time = "2026-08-30T07:40:06.332Z" }, + { url = "https://files.pythonhosted.org/packages/e9/20/fa315a013f70efa6674adfaca59365ea7562371914c408551fc3c399792f/statsmodels-0.15.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:80b946d7c922f46f045f25e50daf13439f79c05e403ba50081cad509892c8b26", size = 12070117, upload-time = "2026-08-30T07:40:27.04Z" }, + { url = "https://files.pythonhosted.org/packages/91/43/a63f7880050c2c24056fa8d663b7c8a1816b25864660abbc73afff3f3558/statsmodels-0.15.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:cf897abce5616e2763ab7d7a7fa914677df87a649971f877b83a358c98f6e291", size = 12105153, upload-time = "2026-08-30T07:40:45.814Z" }, + { url = "https://files.pythonhosted.org/packages/d4/d4/523ddb13862c228407297754486b6c9e8777e5114f4532b667b47728c544/statsmodels-0.15.0-cp315-cp315-win_amd64.whl", hash = "sha256:511a4f9cadbf91a690bfa863bb3e25dce583d8140046886fdf35fbfabfbce401", size = 11352844, upload-time = "2026-08-30T16:04:48.14Z" }, + { url = "https://files.pythonhosted.org/packages/53/59/f3058214e61b15582ef17d761c9333def46960ee521313409b2705791029/statsmodels-0.15.0-cp315-cp315-win_arm64.whl", hash = "sha256:0cb6228713fe47046b606daee63ed4473a7c246fa97cf0a6d6f20d3b0c96c051", size = 10866685, upload-time = "2026-08-30T16:05:03.971Z" }, + { url = "https://files.pythonhosted.org/packages/4a/2d/43089b37f4bbbf7373929cd198de6cbdb0b5a4580a6e5e32bf9fe74fccab/statsmodels-0.15.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:27e9467fae83ff327c9d16ae5ea7e771bcdd66a682f49aa324eeefea5584f2d5", size = 11858149, upload-time = "2026-08-30T16:05:20.585Z" }, + { url = "https://files.pythonhosted.org/packages/7d/38/ca88421b81666cdcfc3d0eb12c714f80f2be327669ececbb5930b68a71c0/statsmodels-0.15.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:ecf84918dcd410ab34d3d85d34e0b16ebb10319c9fc77dbf9a1f1a49324c59f8", size = 11739931, upload-time = "2026-08-30T16:05:37.286Z" }, + { url = "https://files.pythonhosted.org/packages/ab/64/98b9e2b1fbfdc4e2392bff349718d8dc796403006a3106ec375c59a5d3f8/statsmodels-0.15.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5891ad077b36d6401e44967739df3d2cdd380a0e6e9e46dadec7e3d3a828af55", size = 11657996, upload-time = "2026-08-30T07:41:05.608Z" }, + { url = "https://files.pythonhosted.org/packages/34/6d/d8c9e73013ee854031218e8a044ba679535268bc61cf59466f19ac8d980c/statsmodels-0.15.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:af80f9658c48792947fc754a026ffbebca61a8b483253781973f604a67cf1f8c", size = 11893402, upload-time = "2026-08-30T07:41:27.553Z" }, + { url = "https://files.pythonhosted.org/packages/cc/f5/b9b47f3c688a8af1b199af96e098b8f20897a60b45187c57ce6fcde77a5f/statsmodels-0.15.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:583eb2a46f7c7a5c34a26715c8b6d92199bfb4f04623db5fff9902a3c7c832d3", size = 11934786, upload-time = "2026-08-30T07:41:46.809Z" }, + { url = "https://files.pythonhosted.org/packages/c4/08/608871f18bc18c6cba0b484e81fd25a023ef3ca6541f6793ec839fa49e1f/statsmodels-0.15.0-cp315-cp315t-win_amd64.whl", hash = "sha256:38038823fbe86f11e09433b4a0f4af5f102327c3137a1604b002ce3cf722a31f", size = 11549124, upload-time = "2026-08-30T16:05:53.179Z" }, + { url = "https://files.pythonhosted.org/packages/e3/eb/90a506dbee5cde669e2ef28565ff6b7a0791ab415eab2da82f92d033cccc/statsmodels-0.15.0-cp315-cp315t-win_arm64.whl", hash = "sha256:90df413d7e09474f7e7cbf8807440c1bf76298cdd9daabf9141f76d7627c9151", size = 11021454, upload-time = "2026-08-30T16:06:08.124Z" }, +] + +[[package]] +name = "terminado" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "os_name != 'nt'" }, + { name = "pywinpty", marker = "(python_full_version < '3.12' and os_name == 'nt') or (os_name == 'nt' and platform_machine != 'x86_64') or (os_name == 'nt' and sys_platform != 'darwin')" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701, upload-time = "2024-03-12T14:34:39.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154, upload-time = "2024-03-12T14:34:36.569Z" }, +] + +[[package]] +name = "threadpoolctl" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, +] + +[[package]] +name = "tinycss2" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/ae/2ca4913e5c0f09781d75482874c3a95db9105462a92ddd303c7d285d3df2/tinycss2-1.5.1.tar.gz", hash = "sha256:d339d2b616ba90ccce58da8495a78f46e55d4d25f9fd71dfd526f07e7d53f957", size = 88195, upload-time = "2025-11-23T10:29:10.082Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/45/c7b5c3168458db837e8ceab06dc77824e18202679d0463f0e8f002143a97/tinycss2-1.5.1-py3-none-any.whl", hash = "sha256:3415ba0f5839c062696996998176c4a3751d18b7edaaeeb658c9ce21ec150661", size = 28404, upload-time = "2025-11-23T10:29:08.676Z" }, +] + +[[package]] +name = "tornado" +version = "6.5.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/22/15/ca7aaebb77f850493cba71ace508aeffb896d1ad8976417b48b79823dbd2/tornado-6.5.9.tar.gz", hash = "sha256:4d868544ebdf2fc155239a74397f65ebfea9b4d3635296c96b5dfb0701c354f5", size = 536145, upload-time = "2026-09-14T18:08:37.434Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/4a/4d3459fd2f360dd99233f69f22b36012a42856ace526da2c6da3cb0e6df2/tornado-6.5.9-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:dea3bee433b73d6312d993ce89ad5f2b8d3ed9fde56e79ba5342b9edb78d342a", size = 464279, upload-time = "2026-09-14T18:08:20.909Z" }, + { url = "https://files.pythonhosted.org/packages/26/4b/5af2f7dcd674e2f1cacef763456f79823404f50954789d6e1ec7a70cd58a/tornado-6.5.9-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:22bed49cdb55292d1d58f46008ba2cc3020e5b84995ef6ae749676c8b5309514", size = 462440, upload-time = "2026-09-14T18:08:22.711Z" }, + { url = "https://files.pythonhosted.org/packages/9e/0f/38f8d16011de3b1ce2babb4c3bcefb126d2dc47d04878ae3ad5c39a00caa/tornado-6.5.9-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0cc0876a58eee9143476f24901b1b8eb4d52443283ade2b6bca650dd1da04f84", size = 465496, upload-time = "2026-09-14T18:08:24.407Z" }, + { url = "https://files.pythonhosted.org/packages/8c/e9/3888f265d1e287fc63cd61a6696f96a650024e32f9e89c0b1817ac5c40f4/tornado-6.5.9-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc0d703cc7ec92b47ebfe236c97cd765c1f2e45744a2e156e6677e54c948274d", size = 466468, upload-time = "2026-09-14T18:08:25.928Z" }, + { url = "https://files.pythonhosted.org/packages/d6/8b/d2bcf417981fa6f7698ab84a52394a76cf608e6704d266e2e0e29f1fd9d0/tornado-6.5.9-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:93f9ab0226ef625b94cacb7981a5af104f1735ea02f92282abe5c389109fb31d", size = 466303, upload-time = "2026-09-14T18:08:27.566Z" }, + { url = "https://files.pythonhosted.org/packages/7e/a5/c5cfab11420c3f908238a6c861b8f3864fdbd2b2b87e30c9c16f36a11512/tornado-6.5.9-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5801bbf94dfde8d21087b6aa0b17f3a5dab6110dfe44e7e4492df5de393ac15b", size = 465706, upload-time = "2026-09-14T18:08:29.182Z" }, + { url = "https://files.pythonhosted.org/packages/ab/36/5a5da0aa15b7afdd46ece09c004a75af7d00f6a96b692bf696ff94bc2a55/tornado-6.5.9-cp39-abi3-win32.whl", hash = "sha256:dca9f377e80efe5dd4d52a2776b67492a81a39b2d931de169b6b36d0c1da444c", size = 466750, upload-time = "2026-09-14T18:08:30.836Z" }, + { url = "https://files.pythonhosted.org/packages/34/d7/2446cf3125372e2b4be6483b4b93f360dc50ce2493864755484b23bb50f2/tornado-6.5.9-cp39-abi3-win_amd64.whl", hash = "sha256:f810730ac71eadf009e6e5cb6d534d096887310f5649cff19d7e0d19c0bf4ee7", size = 467191, upload-time = "2026-09-14T18:08:32.521Z" }, + { url = "https://files.pythonhosted.org/packages/39/70/f1024364bf78fa921c63ef2883d36a3b3b705750c98ae174593afaab7a65/tornado-6.5.9-cp39-abi3-win_arm64.whl", hash = "sha256:b5f4d92798337260c6d9f9f0e400c7539dd5e55cf93479a3f8508c9aa09c2b3b", size = 466211, upload-time = "2026-09-14T18:08:35.18Z" }, +] + +[[package]] +name = "tqdm" +version = "4.70.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0d/ea/b2a5bd54b28a324dae8211928b2d730b6547500342c7e6c6dea08bd0a485/tqdm-4.70.1.tar.gz", hash = "sha256:cefd0eca11b2a37a3aee776544d4f4ae913f02688135b5556b8788dfa474afc4", size = 171846, upload-time = "2026-09-11T07:25:16.601Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-py3-none-any.whl", hash = "sha256:c293e525e6fef9c20e8728fd4612df02a0aa31bb5fe91ecd93e123b1b7bffa73", size = 80199, upload-time = "2026-09-11T07:25:14.599Z" }, +] + +[[package]] +name = "traitlets" +version = "5.16.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/2e/a7fbfe268c8a3b32546930c0297c101d65a4a14c304ad5790a9f478f0e4e/traitlets-5.16.1.tar.gz", hash = "sha256:ed900c2b631aa3a112811139fa97b8d2c3bad5e989656bba4b7e52c7852c18c1", size = 166137, upload-time = "2026-08-03T08:32:36.848Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ad/66/0d785f0bc5e4315a96c989bb476d0fc07ea4f85132550c7b156ca2035d52/traitlets-5.16.1-py3-none-any.whl", hash = "sha256:f775618166caa0396c8e337099240f2bd3e5e917d203b2e6fbe21a58d3cb1f6b", size = 86211, upload-time = "2026-08-03T08:32:34.48Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5", size = 113555, upload-time = "2026-07-02T08:40:05.92Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8", size = 45571, upload-time = "2026-07-02T08:40:04.659Z" }, +] + +[[package]] +name = "tzdata" +version = "2026.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/31/3d74fa778a63b98b7374323befcc0be5ab3bd94afd4096a0124e7379152c/tzdata-2026.4.tar.gz", hash = "sha256:f1b8bd365d8d210c55353f4d7f8d6d8561c0ba50d704b700d195a9424bba0d79", size = 199350, upload-time = "2026-09-12T12:56:03.251Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/bc/8737e8d54cf51106118039b83f485a4783112fab49ea9d044b234978a46e/tzdata-2026.4-py2.py3-none-any.whl", hash = "sha256:c2169a8b0a7a5e9674da5a135ccdfb2b3e671b333ed9fed17b41f73c34476e81", size = 347494, upload-time = "2026-09-12T12:56:01.67Z" }, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678, upload-time = "2023-06-21T01:49:05.374Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140, upload-time = "2023-06-21T01:49:03.467Z" }, +] + +[[package]] +name = "urllib3" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/36/57/ed58088fafdf4c55a0ad6bde846502567645424d7ebf325230b9237f4085/wcwidth-0.8.3.tar.gz", hash = "sha256:d128512515fbf4612e0ff21fd6380399210318b7b54a9af59dff8454cf9730eb", size = 1458450, upload-time = "2026-08-28T18:10:06.875Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/0e/57f6bb3024a597b2e8ec4aee710ffe62ddc95af2e2bb1ee7a7abdc22c68c/wcwidth-0.8.3-py3-none-any.whl", hash = "sha256:d5b73dba6158a595ec9370350e7f2637bcac8d6c5e4fde34f30fcffb6103a5e4", size = 331669, upload-time = "2026-08-28T18:10:04.909Z" }, +] + +[[package]] +name = "webcolors" +version = "25.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/7a/eb316761ec35664ea5174709a68bbd3389de60d4a1ebab8808bfc264ed67/webcolors-25.10.0.tar.gz", hash = "sha256:62abae86504f66d0f6364c2a8520de4a0c47b80c03fc3a5f1815fedbef7c19bf", size = 53491, upload-time = "2025-10-31T07:51:03.977Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/cc/e097523dd85c9cf5d354f78310927f1656c422bd7b2613b2db3e3f9a0f2c/webcolors-25.10.0-py3-none-any.whl", hash = "sha256:032c727334856fc0b968f63daa252a1ac93d33db2f5267756623c210e57a4f1d", size = 14905, upload-time = "2025-10-31T07:51:01.778Z" }, +] + +[[package]] +name = "webencodings" +version = "0.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d5/a0/8fd707bcb776a7be556bad06a2ea5fb9bd519df78ef8e26f70ccf0f38bff/webencodings-0.6.1.tar.gz", hash = "sha256:565f9ad031c702dae404e27a099e3e09186a3ab1b9520f06d215502b651fd910", size = 15001, upload-time = "2026-08-15T14:22:57.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/c6/040cbc72480d789a5f40d63fb484d3106554c4dfa2d2b70ad5022057750f/webencodings-0.6.1-py3-none-any.whl", hash = "sha256:7fab6269c8bf237c657876b52058ccb182e861518d1c695c1a9aaa8c1c105d5b", size = 8745, upload-time = "2026-08-15T14:22:56.31Z" }, +] + +[[package]] +name = "websocket-client" +version = "1.9.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/cb/a5abcc2891249f393827c650c6296660ce40374ac22d99ab9aea41f9d2a2/websocket_client-1.9.2.tar.gz", hash = "sha256:0fcb57545848be86992e128218fd96dd87a6769ffdb1a968dff79632b85604d0", size = 84110, upload-time = "2026-08-31T14:08:40.964Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d5/d2/cc4dc1271e464942db7ee278baae2daa99ee77cb2af744025c04da585a3e/websocket_client-1.9.2-py3-none-any.whl", hash = "sha256:e1a673830a9c7bfa47b1cd3d5e4178f4c9651d80a4eab02c9c23a1c3ec6250ce", size = 95786, upload-time = "2026-08-31T14:08:39.899Z" }, +] + +[[package]] +name = "wrapt" +version = "2.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/42/a6/6375d56c44d590ef24acf0f8f5bf7ed768ff7a510b959306ec412611e90f/wrapt-2.4.1.tar.gz", hash = "sha256:fd6390aab9e8aa40c52eff3c180f098e8d9f5894b1fd4c4fd2c207067b33ed16", size = 164597, upload-time = "2026-09-10T23:12:16.811Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/c6/5e08ef1e8ad5ff518354db77b7a303666c7e0652e2a569116b5ccb72b690/wrapt-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b6ea396edcfb305698f44ef0a47b9adaca15d30386ce093ca606844f776d7236", size = 97984, upload-time = "2026-09-10T23:09:52.569Z" }, + { url = "https://files.pythonhosted.org/packages/4f/ec/e77ba77fdce732f39522382a6a9b968e5abf3471f352d51670120534e271/wrapt-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b86bfe741840cec6d8d5858b1eb53a325f564f08d7e6fb5694981961edcec230", size = 98241, upload-time = "2026-09-10T23:09:53.72Z" }, + { url = "https://files.pythonhosted.org/packages/7b/af/c54bd0bf32ef3c5f6d2d50af6bd9d88c040ef53d9f8e113e065337d76788/wrapt-2.4.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8ec7aeb92e956810eedc268fe75f8c11f05d6c3d864d0995a53eb6623b3b6a51", size = 226167, upload-time = "2026-09-10T23:09:54.946Z" }, + { url = "https://files.pythonhosted.org/packages/00/3c/934e13c7e27680760fa74e25e4b291b213fd607aa42333d883f732de6d73/wrapt-2.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba66eccadd4b857a845e309c08457bb71fa8300000e508e3a86cd695bf9c7515", size = 228439, upload-time = "2026-09-10T23:09:56.272Z" }, + { url = "https://files.pythonhosted.org/packages/cf/5e/7593f3fe527260ff3e8eb09ed26ff8f0bf51cda5702a75fb5969b689b4a2/wrapt-2.4.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3d5c8f3b4eae814213d4097f134be03aeb23816e6358213454ec5e62e8449fb6", size = 213495, upload-time = "2026-09-10T23:09:57.622Z" }, + { url = "https://files.pythonhosted.org/packages/42/a8/d4b4d6ac44cb2c7d4a882499786fd96758c97feb6b1539ba0ed5c823849a/wrapt-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3bc7ab495e564449f39db2f54c1033d7190c944736d525f3bd06cefaf0134df0", size = 226108, upload-time = "2026-09-10T23:09:59.132Z" }, + { url = "https://files.pythonhosted.org/packages/05/b3/aedc046bbd8ff2333c2ce9d5267db42117221d4192ac13c66e871b528d9f/wrapt-2.4.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:2e2e694057bcfd46f43e28f7b50fad8f5fec7113cc6445fdf251219539a08f28", size = 211144, upload-time = "2026-09-10T23:10:01.141Z" }, + { url = "https://files.pythonhosted.org/packages/96/60/c01efb0e8049a9df379b04ebc589eeef995d6cf184b1d8be9f1b84b4d5f7/wrapt-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f5577fdc702427698c81c8c9c3b8479cbecb3dfd0f697be8c1d09c89f5838cc", size = 215496, upload-time = "2026-09-10T23:10:02.778Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b5/26214472915eb447725982e2735c593131c5bae0c3fd582ad61e7b965907/wrapt-2.4.1-cp311-cp311-win32.whl", hash = "sha256:e78c0f6d66a564bab245faf170d55595df6fc237117b99d97fd838678f0906f0", size = 93493, upload-time = "2026-09-10T23:10:04.196Z" }, + { url = "https://files.pythonhosted.org/packages/d9/10/5f7d2dd40c97c5e572dce771b8d4c1c78d46a90cfc24c7b25f158253215a/wrapt-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:1f1851be0e593d65e68d7c1bc9d3b971e19fefa219f617e490d75e80e467ee14", size = 98679, upload-time = "2026-09-10T23:10:05.413Z" }, + { url = "https://files.pythonhosted.org/packages/a5/6a/f7565da9ab1323b2aa5fb4a83b919b6519cc0f4ea4b91ec8f2d25f5bcbab/wrapt-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:7ff549316d94c404999f96bb0a6993222566231ff4bede1b6f68908d1958a08f", size = 95071, upload-time = "2026-09-10T23:10:06.679Z" }, + { url = "https://files.pythonhosted.org/packages/9f/1f/a2f3225c5ecf522684c1d051aea8ce8253f240e55be75826b787777afd6c/wrapt-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7e86fbc2ac8a363ea04abf631fad82720e16b17a25020f32dbe9b24a2ed2b0e3", size = 98890, upload-time = "2026-09-10T23:10:07.876Z" }, + { url = "https://files.pythonhosted.org/packages/68/6c/eb45660fd4d92cce11ec923f55bb2e647a6c18d30e53734eb07a3c530e31/wrapt-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:24389748f0b9d5b67e478fad4fc8b3f1108422ef80716e48eead6cebcebbff08", size = 98742, upload-time = "2026-09-10T23:10:09.236Z" }, + { url = "https://files.pythonhosted.org/packages/a3/4f/17a89a580cb0082e61b8375074d5c9e5d38e4aa83ee19b6174ee472d17c2/wrapt-2.4.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:30d11c289b013bf384ff1a1a6553f150d0b855901708a9bef667a5680f8247c9", size = 236301, upload-time = "2026-09-10T23:10:11.039Z" }, + { url = "https://files.pythonhosted.org/packages/01/ca/4700eb008a34bf02de328806ddde15fc84c8d1e65d3dcafb92a935a50319/wrapt-2.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9356dbb59199a0e4709de35fa4a1ac1a88ef6da99711a397f5b009233faff326", size = 237805, upload-time = "2026-09-10T23:10:12.594Z" }, + { url = "https://files.pythonhosted.org/packages/75/5d/26c1740299b29e190d5f4b4a99eb001401042a9d9ab338e3f8e1ce140ecb/wrapt-2.4.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8342f332dada211f64b74609e332d727b13315e9a83177f7918bf68c59f815f2", size = 217037, upload-time = "2026-09-10T23:10:14.028Z" }, + { url = "https://files.pythonhosted.org/packages/3a/55/ec72991153a2ae8b40238bc44cec7c3ddf7706ef6e2d314b0c6f5c7febce/wrapt-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2f86e328c482bc5383b4eda5094be0bed3617fc3076aa9225ff1a9eb6372de9b", size = 234659, upload-time = "2026-09-10T23:10:15.384Z" }, + { url = "https://files.pythonhosted.org/packages/51/32/7cfa1e070dcda76ea56a3e252341cba1cd1e9412baf23cd7adfebf1114e2/wrapt-2.4.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:4dc92697444ee380544fbb43c86612d8486529aadf917c22b5524141d4af074c", size = 214590, upload-time = "2026-09-10T23:10:16.744Z" }, + { url = "https://files.pythonhosted.org/packages/79/10/248841cb30107f6f32c53a02662e1c3e0c7c06bea0b8ebfaaee94885dcee/wrapt-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edd03758a7578526642508b8833d43496fdfba0f64e0025dfca153a7c1777735", size = 225103, upload-time = "2026-09-10T23:10:18.346Z" }, + { url = "https://files.pythonhosted.org/packages/90/02/5b2bf7b35b008a39939a2908e85dba3b867596e535fc9f12ddf3ba1fcaf6/wrapt-2.4.1-cp312-cp312-win32.whl", hash = "sha256:5d83e412665aeb1e854eefbf1564d0d67872d9994b502a0bce96e6ff7f4970b7", size = 93441, upload-time = "2026-09-10T23:10:19.81Z" }, + { url = "https://files.pythonhosted.org/packages/d4/2a/47be56772bfb07ef242d6e924049688e38384af2b2fc99b0f31180988448/wrapt-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:b4e7efdd476ac631a0181551fd9aace844765ea3ce2b5133b194fae4421e8ad0", size = 98808, upload-time = "2026-09-10T23:10:21.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ec/40e4c9735626afd1dc0eeb310310278361f192800503cda0f5b3d8d24db4/wrapt-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:38819761401baa2d11916d7265b82f23265f8fe5a31c431dd7c24a8863c65f88", size = 95240, upload-time = "2026-09-10T23:10:22.39Z" }, + { url = "https://files.pythonhosted.org/packages/5c/1a/9b5aa3c2391aa6d00fffa085c2219e8fc91cd4d2b9b080d2b4e4b6b93f42/wrapt-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:55f36bb1461f93beaf18d818e568b5de343dd8fade7456773d201a38ee723bd3", size = 98597, upload-time = "2026-09-10T23:10:23.723Z" }, + { url = "https://files.pythonhosted.org/packages/fe/07/dc98150c2f9ee5b5fcbd841765e178ea6cc6c43733ab8d1f5181a4fb9f3d/wrapt-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:53e15cd74bd6b84d7fa90b93dda7334d85f4641fae97632de8aa61d268dfd145", size = 98842, upload-time = "2026-09-10T23:10:25.109Z" }, + { url = "https://files.pythonhosted.org/packages/08/c2/0e772a570e8d75c1b3ec45930a3023492fa68223f8f5e3485af4844c10c3/wrapt-2.4.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:be6cdd7121adc89a6f52e3c2f4e26a2d4dcdc1c0fde47e3156234db8939e4cdc", size = 234642, upload-time = "2026-09-10T23:10:26.644Z" }, + { url = "https://files.pythonhosted.org/packages/76/25/4ce4d02dd95ff9ed972a2fc396d04fec636daa5a4ac18cc73a3dc20aa6c3/wrapt-2.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:03b5598edd435373278731d0d53449ce7a9626bc48d5548e4a71124ee3e526a1", size = 235484, upload-time = "2026-09-10T23:10:28.098Z" }, + { url = "https://files.pythonhosted.org/packages/fd/80/436ef1df620ef8edd9ef057b4d55a0cd704435ff66852a0ef26cbaa02a58/wrapt-2.4.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fdc997819a6df4c65bdb0a1c5601c98b479ee34cc2f94ffa98a767034ad6366d", size = 214371, upload-time = "2026-09-10T23:10:29.841Z" }, + { url = "https://files.pythonhosted.org/packages/6a/2c/cc5b7503843399087db3106a7cf60d60d0900f69539e96148b9fff116291/wrapt-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3bfc6907ebed560d2d3f677c3b17bf6199679163b6c6e475035c9dca497d1697", size = 232347, upload-time = "2026-09-10T23:10:31.511Z" }, + { url = "https://files.pythonhosted.org/packages/86/fb/17668b1ca572c44b458c09d76064d35f5f57d5ac7629248871604bef816c/wrapt-2.4.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:a0c3b217332cf0c4df085fec41c126bf7507d6c1ca0efb3ba8d2b3fd234d4e73", size = 212792, upload-time = "2026-09-10T23:10:32.968Z" }, + { url = "https://files.pythonhosted.org/packages/b8/2b/0c5de10d7259e07c478c44bf2fbe179c6878727d09edf0632b97884801db/wrapt-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a23b89621cfeb3329b1a290596bf402e61d7d5a647a65ca8ea735e48771b71d4", size = 223585, upload-time = "2026-09-10T23:10:34.43Z" }, + { url = "https://files.pythonhosted.org/packages/aa/36/013dce1c687f8f1c87b1e78f403d04c80ae9b2ae77de4ddba16069a3e7d1/wrapt-2.4.1-cp313-cp313-win32.whl", hash = "sha256:bc67d4872af5ab2dc1b88904097b92ac00e7658fdf010dee36807807fe882ac4", size = 93425, upload-time = "2026-09-10T23:10:35.901Z" }, + { url = "https://files.pythonhosted.org/packages/b7/1d/d53bcf5910209a45191c8bc173ff0e00830416547d8038772dc444932ee0/wrapt-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:1fe758b9c2d49138231ec3efabd106fec665f86fec50b3d02d7edd75f08a69ca", size = 98569, upload-time = "2026-09-10T23:10:37.316Z" }, + { url = "https://files.pythonhosted.org/packages/e8/1f/759d0c522918f9dfb620136622d8e1ce619570adda0de8fa2cfbb55cbb86/wrapt-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:0c974c36e8205255a3947dad9c2fe000431b57dd522946e56c192174a7f92a0f", size = 95272, upload-time = "2026-09-10T23:10:38.657Z" }, + { url = "https://files.pythonhosted.org/packages/08/05/ed5aa8991c5e9969e2ca17f0e44eb324a9757f44fa982bfc13844cfe9e1d/wrapt-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c6c35541cc729964c65c2b9b1f9cf317811039abc2da13b4557f20f21cdc292b", size = 98876, upload-time = "2026-09-10T23:10:40.078Z" }, + { url = "https://files.pythonhosted.org/packages/f1/5f/f8bf07c3b9a2ad01d28d5ca419e28819bb16937d129167d97c446c05875d/wrapt-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:6b9df84f0a96763159cccb8e3b0ed83cc950c7c8bf82d6e45428372a805b3224", size = 99054, upload-time = "2026-09-10T23:10:41.484Z" }, + { url = "https://files.pythonhosted.org/packages/f5/7a/518e5f3ebd18472652e5332bf37728cd6634ff81a0aa568969d05cc66099/wrapt-2.4.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:78af62413095d0a57077606654ce85e273deda8e2bfa28fdb04257b962d94ef2", size = 237430, upload-time = "2026-09-10T23:10:43.007Z" }, + { url = "https://files.pythonhosted.org/packages/8a/2b/503835d183c1ca99268e0b5a98af8f487d528ebabb124f4003cd96e73b1f/wrapt-2.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d60702ebc914d0bb01aa48f5c1785ceaaaa505e0a841b444a69d6ceb5de4097e", size = 237988, upload-time = "2026-09-10T23:10:44.466Z" }, + { url = "https://files.pythonhosted.org/packages/fa/9d/a11a3e1eb18ae1d9adef1c39f8e8e36fd5b86db33938bebf8e6bc5fd9b06/wrapt-2.4.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8c4b44e4be7680fc496816e824b6ed134d781c4da296e44b75399196e5c248f1", size = 218554, upload-time = "2026-09-10T23:10:45.969Z" }, + { url = "https://files.pythonhosted.org/packages/e1/61/61a6f983737ba81008561ab634373bba25b986761d3a0f0aded8352ae3e8/wrapt-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fb5b3f94258bcf71db902795f4a71151c7a74d9fe21fffa00752d2bd286866f8", size = 235476, upload-time = "2026-09-10T23:10:47.528Z" }, + { url = "https://files.pythonhosted.org/packages/42/68/acb7cba46e0f662eaae421487807d2fed28ba52df9a00a3f04db16675e38/wrapt-2.4.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:f1556a96b20d5bfdc9cb5dcd0a3ec65cbbac8a4eebcd3cd34efdc91c9519f660", size = 216454, upload-time = "2026-09-10T23:10:49.126Z" }, + { url = "https://files.pythonhosted.org/packages/8b/52/3a4dab8d4803df595de82f19775535d28c036746340c1b498fc8ecba39aa/wrapt-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:094a606d0bf1c4b847b3a743d22fc69cb164015b8c70cf6f20a534d30889ed47", size = 225346, upload-time = "2026-09-10T23:10:51.052Z" }, + { url = "https://files.pythonhosted.org/packages/5a/48/d72d051757fb7955021d8174014679f951fd5067187d2faed95520e1f8d6/wrapt-2.4.1-cp314-cp314-win32.whl", hash = "sha256:b0ee076be124406a7f97ca663c4a3ba32b6bcdd9102ca82497feaca79e9cb33c", size = 93870, upload-time = "2026-09-10T23:10:52.495Z" }, + { url = "https://files.pythonhosted.org/packages/a1/00/1a1bf4d8b60b9e7ac009969595438549ae6e33b2e3e174b78d26a833aad3/wrapt-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:d2d6f9abaa52de05090a2b4a4c1d0e858a268c4de69eec277506af9fbcccff91", size = 98910, upload-time = "2026-09-10T23:10:53.878Z" }, + { url = "https://files.pythonhosted.org/packages/1d/59/b3169c3bcdcff70a6d02ed2b6366097b083d31391d616c407efe9a943a82/wrapt-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:3152b2e94d733a9bd70dbd1c95f148266f079a70e9ffca2a9c5dc421ade1b4e6", size = 96013, upload-time = "2026-09-10T23:10:55.607Z" }, + { url = "https://files.pythonhosted.org/packages/b1/91/d29a063c2ca6e779305cd444dd5acaac60833d73b2d94c7b1d0820c27e3e/wrapt-2.4.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:37ff91b390400463ecd4d080ea823314510b6843ac53e6e35cc09bba1805d466", size = 102069, upload-time = "2026-09-10T23:10:57.179Z" }, + { url = "https://files.pythonhosted.org/packages/72/26/7435de516099b528e2232770b459d6706002736f41d8f092bbb11ea01575/wrapt-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e0a518cac3e789443af54fc77f23e66f17d80192c281b160b42058f11fabccc5", size = 102647, upload-time = "2026-09-10T23:10:58.852Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a7/cca7fe0f26aa11cbbf09b2e6f4f774db167feeca43ad22fa1772afdccbad/wrapt-2.4.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9ecdeb8a1ec13397421e6f925412186bd87ab86d63517e6825b6d7bccf781f26", size = 275614, upload-time = "2026-09-10T23:11:00.464Z" }, + { url = "https://files.pythonhosted.org/packages/77/22/f3b5f4428ae679b1e2c0d4833519045d8983a9df0ad24df96b195d44dd1b/wrapt-2.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c15c4ede3fde08723cabab0a892d4b75d35b5a6f0a51c84e6542ac0bdc0507aa", size = 287064, upload-time = "2026-09-10T23:11:02.111Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b8/24274ec01b6ab6d0672f4312bfa29b5f1ffd9d56f16c8da67d5683883956/wrapt-2.4.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e32c5951c36fed88b6c603dc0bab209a62dc3217bd8762413634725fe28f2f3c", size = 255440, upload-time = "2026-09-10T23:11:03.746Z" }, + { url = "https://files.pythonhosted.org/packages/8b/df/c63a36f0f03d70c7b92f60ec1ad3757088167914e1a262f5dcc7df233d51/wrapt-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:898513db90d55a4ed3009312d41c12932b8163edbae3535280046d47aaff774f", size = 281681, upload-time = "2026-09-10T23:11:05.41Z" }, + { url = "https://files.pythonhosted.org/packages/bc/c7/4930b6a369d9b3da59f5ada4ae9e659e2d4a68fe72c5d1ce15e5bead2d24/wrapt-2.4.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:42d01574bd4bcafc3476e77a95c6c0dd6167101991401325fc5591e2db21a91d", size = 252409, upload-time = "2026-09-10T23:11:06.867Z" }, + { url = "https://files.pythonhosted.org/packages/68/d7/f6bc5703061598c4a2ad4f7a2efce696782be6e9d5afed714a59f5902ead/wrapt-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:68a403adbeb4dd2654d6d108e43e69f0f90e6d34cb7588e0e6589109f6985e67", size = 270559, upload-time = "2026-09-10T23:11:08.385Z" }, + { url = "https://files.pythonhosted.org/packages/68/a3/952337a153e634f530079334c47dcc935b20f8ea22f364729fc2a8cf1821/wrapt-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:7cb3035b332bc9d21478600ba82c7c71e2d074ed9b4e76364297f54598792227", size = 96241, upload-time = "2026-09-10T23:11:09.862Z" }, + { url = "https://files.pythonhosted.org/packages/09/28/48f0651547a125dd84e312b86268d4150c565a29f81ff9ca6fd81eba4be4/wrapt-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:707d2bef68deddd0fc74a81103d91b286a69ac5a9ff0f0a6dad66f8787e86697", size = 102655, upload-time = "2026-09-10T23:11:11.388Z" }, + { url = "https://files.pythonhosted.org/packages/21/a6/977441bed5e5afbffe7a789067ac2f5fd2e9f848884122a23db9ccae6a70/wrapt-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:28cb1c2713b4377bf03ddcb3e76d8216e4bb334199066c6122be7eed2f72de8c", size = 98495, upload-time = "2026-09-10T23:11:12.952Z" }, + { url = "https://files.pythonhosted.org/packages/7c/1c/03bcbc3dbf6ac11231f0434f2494aa7b80657b130be1a1a639192a3e44c9/wrapt-2.4.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:96a5023fa63ca2f095f7776c8bfaa1694547577f762646c375abafd8f8ae649b", size = 98878, upload-time = "2026-09-10T23:11:14.506Z" }, + { url = "https://files.pythonhosted.org/packages/87/26/5ad9bd421b8cdce0b2227a61f09586423765da3c284f8bbf0f69fc149fdf/wrapt-2.4.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2b21924949dedc3ac63725e09b9b0a130e771975f03432789344ed3422c46008", size = 99090, upload-time = "2026-09-10T23:11:16.101Z" }, + { url = "https://files.pythonhosted.org/packages/a1/c7/fa768261966d587650004ac37bef541540014b1fe23fbf4919c497ebc98c/wrapt-2.4.1-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2f725af353bb3319c528ee69dbff838599426974288b281a3258d5397b18cb63", size = 237803, upload-time = "2026-09-10T23:11:17.738Z" }, + { url = "https://files.pythonhosted.org/packages/0f/37/9c1c876bd88fef8d065b3e8bf125cad9291d70ed3695cedb41b36b2453ec/wrapt-2.4.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20327e162ef7953fae56b31a43ca457f94ed1fc7a206d01e3d5c8412d1b91572", size = 238338, upload-time = "2026-09-10T23:11:19.742Z" }, + { url = "https://files.pythonhosted.org/packages/91/5b/47b2f2f08b90d9d3b4e1790ccae0d4e4de40e73f6614c9a52465a04f02a5/wrapt-2.4.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:2cedb743dbdfb9b6d4f11acd8cb6329460264429777e81ea2e86b1b72ea503af", size = 220668, upload-time = "2026-09-10T23:11:21.422Z" }, + { url = "https://files.pythonhosted.org/packages/43/1f/da7844c7a3f7c01f3496e690e15ce9d01c0949278c64d4287ec472c90f72/wrapt-2.4.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:5a54744b1193505f19016194979b773ee3754a199e9ad90db18f2e9a18fffa16", size = 235812, upload-time = "2026-09-10T23:11:23.211Z" }, + { url = "https://files.pythonhosted.org/packages/69/af/ac4aa9f795721a54a21bac329201f7df1b199b71ef064187a266d4d29836/wrapt-2.4.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:b0d38d9cc23e9781e6584f303e5c5a9f0d45b85de92ad45678c4dde8d49d9535", size = 218195, upload-time = "2026-09-10T23:11:24.983Z" }, + { url = "https://files.pythonhosted.org/packages/78/aa/cff7670ec1cfa75b951171cfb41d45c7bdb94e928620a1599ec2b00cd2dd/wrapt-2.4.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:a524ca32f0bcdde2b728d9f81f9527d4dd24b13f15d180f05d08cdc01d1cebe0", size = 225713, upload-time = "2026-09-10T23:11:26.576Z" }, + { url = "https://files.pythonhosted.org/packages/77/c6/64f138aef50b5ea1dfacca2a023b32ba3e41ef087bbd92e8997a95f4a0b8/wrapt-2.4.1-cp315-cp315-win32.whl", hash = "sha256:47c267617551e906de72f6e7265aa3bce84c63d44513d2d2e735e943422aa0a2", size = 93880, upload-time = "2026-09-10T23:11:28.253Z" }, + { url = "https://files.pythonhosted.org/packages/8d/aa/afe7484a0f7232e87f2ebb65286c1025d43cbe1de4e4051b127b024a92f7/wrapt-2.4.1-cp315-cp315-win_amd64.whl", hash = "sha256:ee437bd7fd050823ef731aad20e968ca8fe670b95e1841f5d201bfdbad4a4e96", size = 98919, upload-time = "2026-09-10T23:11:29.832Z" }, + { url = "https://files.pythonhosted.org/packages/83/21/6865f976c6a1082ca61e2792bc6a2d6a0ed03cd750a46f837753127191f8/wrapt-2.4.1-cp315-cp315-win_arm64.whl", hash = "sha256:ebf3b703752b53366fd02b7fbd8c447428e0349c9af3fc17c7a05076dbdd749a", size = 96021, upload-time = "2026-09-10T23:11:31.448Z" }, + { url = "https://files.pythonhosted.org/packages/8d/48/baf784cc9f1fe554f96daf15af06c7c466d76469d5540e357cf564755606/wrapt-2.4.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:0f5990f5db090f069fcd577cc61cc8d463db73cde132abba9033b0a264fc06d0", size = 102028, upload-time = "2026-09-10T23:11:33.102Z" }, + { url = "https://files.pythonhosted.org/packages/82/35/fb809c95bf5512196aeda4c640aabf4e92f607340b8b2556555690a52b7a/wrapt-2.4.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:ef19a2590b195ac294deff8ee350a027a479afdd2ef2170ce3900af92406e110", size = 102640, upload-time = "2026-09-10T23:11:35.145Z" }, + { url = "https://files.pythonhosted.org/packages/a1/3f/bd462010ccbbe298479f320bf2bb02996706003e9c20a15790b65a186f8b/wrapt-2.4.1-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:432f402f9b6014403cacf9fd18a6bf089c77964330eae951a155131ab0414f5d", size = 275999, upload-time = "2026-09-10T23:11:36.863Z" }, + { url = "https://files.pythonhosted.org/packages/56/1e/bd043b2bad2943336e090583ff6cea2f3e8776bde02f073ccf760b16eee1/wrapt-2.4.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb7c0f8bdd21e954bad89d554cfb7431c2f8179842853f199841ab90cbebe914", size = 287576, upload-time = "2026-09-10T23:11:38.79Z" }, + { url = "https://files.pythonhosted.org/packages/1c/d9/9937bbd61ca4e7f58a7e8a38f5ff3562334f741de51b87f0e031df441254/wrapt-2.4.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8e82a1669d63b79a2b53041bbb6ea096b5763cab3ca698ed7ac244b3acb7cd51", size = 256763, upload-time = "2026-09-10T23:11:40.668Z" }, + { url = "https://files.pythonhosted.org/packages/aa/a8/0f78cc7e7fc6313cdba32df06f4b29a45a4a2aed3499040d6c1628d3f339/wrapt-2.4.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:b19e71c914c435d2c5652caea386c9bf2807979e957183f5bb06d5ed5fa8b55e", size = 282244, upload-time = "2026-09-10T23:11:42.483Z" }, + { url = "https://files.pythonhosted.org/packages/be/0d/30317d738b9898a7fbedc193657f151a468b0fa7235f4abd58a646a99cd8/wrapt-2.4.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:a1e4870d3368c6c918f38e308d5dcea970ea5b908ce889c21412f3a517ebf0c3", size = 254153, upload-time = "2026-09-10T23:11:44.357Z" }, + { url = "https://files.pythonhosted.org/packages/12/53/fe1f251a89f471ca7c5e17f2edbd8efd48fea6f1c08430dcf60986ea4183/wrapt-2.4.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:2286e8e4a937966706463d1bcea30dfefee529e6e73e097a18e9e066a07ae6c2", size = 271234, upload-time = "2026-09-10T23:11:46.132Z" }, + { url = "https://files.pythonhosted.org/packages/bd/7c/d63758cd7fa0d18c415a87312a07cdd9f0102eb824aaab5c7450b3ec08e5/wrapt-2.4.1-cp315-cp315t-win32.whl", hash = "sha256:80afa3b7010e82899044a2a189c468a0cd8c89980398a59ba3b96b451a6dc5e9", size = 96236, upload-time = "2026-09-10T23:11:47.942Z" }, + { url = "https://files.pythonhosted.org/packages/f7/2e/1785e6d2696db08b07c053b1f4ccb2b5e8f9d12e9bf2c7497693be6b4504/wrapt-2.4.1-cp315-cp315t-win_amd64.whl", hash = "sha256:3593b43fabab6b59fe77e38f7e40974aae120c30cea3fd1ceaea6621ee96be00", size = 102662, upload-time = "2026-09-10T23:11:49.831Z" }, + { url = "https://files.pythonhosted.org/packages/2f/fd/3f4ac5c4754948355e050f952ae7a64cdca94891e49fe9927c3f90a73334/wrapt-2.4.1-cp315-cp315t-win_arm64.whl", hash = "sha256:ac1939ccf3e1c33f463706fbf52db5075f5eefb6042bcc1f9cf48c2c20ef478c", size = 98500, upload-time = "2026-09-10T23:11:51.501Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a2/edcfc8d9a30375791b775715f8501364588f65b494ec4f6930568a19e765/wrapt-2.4.1-py3-none-any.whl", hash = "sha256:1e84ec5d89a0a07a0ef6bcd343f5c8ecdc95601d71de3058cdc63274e86c193c", size = 75317, upload-time = "2026-09-10T23:12:14.82Z" }, +] diff --git a/T-ADML/python-ADML-401k.ipynb b/T-ADML/python-ADML-401k.ipynb new file mode 100644 index 00000000..96a2196a --- /dev/null +++ b/T-ADML/python-ADML-401k.ipynb @@ -0,0 +1,874 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c001", + "metadata": {}, + "source": [ + "# Empirical Example for Sensitivity Analysis: 401(k) Eligibility and Financial Wealth\n", + "\n", + "This is an adaptation of the replication package for Chernozhukov, Cinelli, Newey, Sharma and Syrgkanis,\n", + "*Long Story Short: Omitted Variable Bias in Causal Machine Learning*\n", + "\n", + "The original replication package can be found __[here](https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/VH6QHQ)__.\n", + "\n", + "This Python notebook uses `rpy2` to call the R `dml.sensemakr` package, which implements the DML estimation and CCNSS sensitivity analysis framework. The group ATE plots are reproduced in matplotlib; contour plots render directly from R via rpy2." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "c002", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The rpy2.ipython extension is already loaded. To reload it, use:\n", + " %reload_ext rpy2.ipython\n" + ] + } + ], + "source": [ + "try:\n", + " import rpy2\n", + "except ImportError:\n", + " !pip install rpy2\n", + "%load_ext rpy2.ipython" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c003", + "metadata": {}, + "outputs": [], + "source": [ + "%%R\n", + "repos <- c(CRAN = \"https://cloud.r-project.org\")\n", + "if (!requireNamespace(\"remotes\", quietly=TRUE)) install.packages(\"remotes\", repos=repos)\n", + "if (!requireNamespace(\"sensemakr\", quietly=TRUE)) install.packages(\"sensemakr\", repos=repos)\n", + "if (!requireNamespace(\"ggplot2\", quietly=TRUE)) install.packages(\"ggplot2\", repos=repos)\n", + "if (!requireNamespace(\"ranger\", quietly=TRUE)) install.packages(\"ranger\", repos=repos)\n", + "if (!requireNamespace(\"dml.sensemakr\", quietly=TRUE)) {\n", + " remotes::install_github(\"carloscinelli/dml.sensemakr\", upgrade=\"never\")\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "c004", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "households: 9915 covariates: 8 eligible: 37.1% \n", + "dml.sensemakr 0.2.2 \n" + ] + } + ], + "source": [ + "%%R\n", + "suppressMessages({\n", + " library(sensemakr)\n", + " library(dml.sensemakr)\n", + " library(ggplot2)\n", + "})\n", + "options(scipen=99, repr.plot.width=5, repr.plot.height=5, repr.plot.res=150)\n", + "\n", + "data(\"pension\")\n", + "\n", + "y <- pension$net_tfa\n", + "d <- pension$e401\n", + "x <- model.matrix(~ -1 + age + inc + educ + fsize + marr + twoearn + pira + hown,\n", + " data=pension)\n", + "\n", + "cat(\"households:\", nrow(x), \" covariates:\", ncol(x),\n", + " \" eligible:\", sprintf(\"%.1f%%\", 100*mean(d)), \"\\n\")\n", + "cat(\"dml.sensemakr\", as.character(packageVersion(\"dml.sensemakr\")), \"\\n\")" + ] + }, + { + "cell_type": "markdown", + "id": "c005", + "metadata": {}, + "source": [ + "## Setting\n", + "\n", + "The outcome $Y$ is net financial assets and the treatment $D$ is eligibility to enroll in a 401(k) plan. The observed covariates $X^o$ include income, age, education, family size, marital status, two-earner status, IRA participation, and home ownership.\n", + "\n", + "The threat is that unobserved firm characteristics $A$ may affect both eligibility and financial assets through employer matching policies. Conditional ignorability holds given the full $X = (X^o, A)$, while the data identify only the short parameter $\\theta_s$. The task is to bound its distance from the causal target $\\theta$." + ] + }, + { + "cell_type": "markdown", + "id": "c006", + "metadata": {}, + "source": [ + "## Short Estimates Under Conditional Ignorability\n", + "\n", + "### Partially Linear Model\n", + "\n", + "The first specification is the partially linear model $Y = \\theta_s D + f_s(X^o) + \\varepsilon$, with nuisance functions modeled by random forests, cross-fitted over five folds and repeated five times." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c007", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Debiased Machine Learning\n", + "\n", + " Model: Partially Linear \n", + " Cross-Fitting: 5 folds, 5 reps \n", + " ML Method: outcome (yreg0:ranger, yreg1:ranger, R2 = 26.474%), treatment (ranger, R2 = 11.599%)\n", + " Tuning: dirty \n", + "\n", + "Average Treatment Effect : \n", + "\n", + " Estimate Std. Error t value P(>|t|) \n", + "ate 9114 1323 6.888 0.00000000000567 ***\n", + "---\n", + "Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", + "Note: DML estimates combined using the median method.\n", + "\n", + "Verbal interpretation of DML procedure:\n", + "\n", + "-- Average treatment effects were estimated using DML with 5-fold cross-fitting. In order to reduce the variance that stems from sample splitting, we repeated the procedure 5 times. Estimates are combined using the median as the final estimate, incorporating variation across experiments into the standard error as described in Chernozhukov et al. (2018). The outcome regression uses Random Forest from the R package ranger; the treatment regression uses Random Forest from the R package ranger." + ] + } + ], + "source": [ + "%%R\n", + "set.seed(1)\n", + "dml.401k.plm <- dml(y, d, x, model=\"plm\", cf.folds=5, cf.reps=5, verbose=FALSE)\n", + "summary(dml.401k.plm)" + ] + }, + { + "cell_type": "markdown", + "id": "c008", + "metadata": {}, + "source": [ + "### Nonparametric Model, with Income Groups\n", + "\n", + "The second specification drops the additive structure and targets $\\theta_s = \\mathrm{E}\\{g_s(1,X^o) - g_s(0,X^o)\\}$ with the same nuisance learners." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "c009", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Debiased Machine Learning\n", + "\n", + " Model: Nonparametric \n", + " Cross-Fitting: 5 folds, 5 reps \n", + " ML Method: outcome (yreg0:ranger, yreg1:ranger, R2 = 25.572%), treatment (ranger, R2 = 11.48%)\n", + " Tuning: dirty \n", + "\n", + "Average Treatment Effect : \n", + "\n", + " Estimate Std. Error t value P(>|t|) \n", + "ate 8198 1196 6.852 0.00000000000726 ***\n", + "---\n", + "Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", + "\n", + "Group Average Treatment Effect: \n", + "\n", + " Estimate Std. Error t value P(>|t|) \n", + "g.ate.q1 4646.2 794.2 5.850 0.00000000492 ***\n", + "g.ate.q2 2729.4 1296.7 2.105 0.035305 * \n", + "g.ate.q3 6854.3 1838.0 3.729 0.000192 ***\n", + "g.ate.q4 18406.6 4061.6 4.532 0.00000584674 ***\n", + "---\n", + "Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", + "\n", + "Note: DML estimates combined using the median method.\n", + "\n", + "Verbal interpretation of DML procedure:\n", + "\n", + "-- Average treatment effects were estimated using DML with 5-fold cross-fitting. In order to reduce the variance that stems from sample splitting, we repeated the procedure 5 times. Estimates are combined using the median as the final estimate, incorporating variation across experiments into the standard error as described in Chernozhukov et al. (2018). The outcome regression uses Random Forest from the R package ranger; the treatment regression uses Random Forest from the R package ranger." + ] + } + ], + "source": [ + "%%R\n", + "g1 <- cut(x[,\"inc\"],\n", + " quantile(x[,\"inc\"], c(0,.25,.5,.75,1), na.rm=TRUE),\n", + " labels=c(\"q1\",\"q2\",\"q3\",\"q4\"), include.lowest=TRUE)\n", + "\n", + "set.seed(1)\n", + "dml.401k.npm <- dml(y, d, x, groups=g1, model=\"npm\",\n", + " cf.folds=5, cf.reps=5, verbose=FALSE)\n", + "summary(dml.401k.npm)" + ] + }, + { + "cell_type": "markdown", + "id": "c010", + "metadata": {}, + "source": [ + "## Group Effects by Income Quartile" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "c011", + "metadata": {}, + "outputs": [], + "source": [ + "%%R -o group_est -o lwr_ci -o upr_ci\n", + "group.names <- setdiff(names(coef(dml.401k.npm)), \"ate\")\n", + "group_est <- coef(dml.401k.npm)[group.names]\n", + "group_cis <- confint(dml.401k.npm)[group.names, ]\n", + "lwr_ci <- group_cis[, 1]\n", + "upr_ci <- group_cis[, 2]" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "c012", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAHqCAYAAADLbQ06AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZINJREFUeJzt3Qd4U2UXB/DDLLTsvSlDhiAiiAwRVBRkCH6iDBkOhuBgCgKCiCxB1ucARQTEAYgyZLlAVKYgIEsZQtmzLaWFTsj3/N/LzZekaZu2aXLvzf/3PKFtGpKb0Zy873vec7LZbDabEBERkSFl9/cBEBERUcoYqImIiAyMgZqIiMjAGKiJiIgMjIGaiIjIwBioiYiIDIyBmoiIyMAYqImIiAyMgZqIiMjAGKgpIOzatUuyZcsm33zzjQQad/d95cqV6jz8zhPpvXxW8/R4jHbc3rJw4UJ1v/755580L+vuMfD0PDIGBmryuVmzZqk3hM2bN7v9fffu3dXvY2JifH5sgWzJkiXqcd+7d6+/D4UMgq8JY8jp7wMgIt974oknJD1l/tN7eaMw63H74zHgY2VcHFETEREZGAM1mWY97u+//5YJEyZImTJlJG/evPLII4/IkSNHkl1+9+7d8tBDD6nL4LJvv/12iiOKy5cvy8svvywVKlSQ3LlzS7ly5WTIkCFy48aNZLd/6NAheeutt9RlsmfPLlevXk3xmHG9AwYMkEqVKkmePHmkevXqMm7cOKfrxbE//fTTUqxYMQkKCpKaNWvKu+++K7du3cry++66HvnOO+9I165d1ff33HOP+h1OmPp0d/msug/bt2+33zZOuFzdunXlww8/lIxI6bjx84MPPuj0OO3cuTPZWn56H//0PB7uXk/pvf83b96UUaNGScmSJSU4OFhatWqlrteTxyAzr4kdO3ao7z/66KNk17Nnzx71u/feey/V2yPPMVCTaeCNo2jRonLgwAH1pnr69Gnp1KmTUyDCG2Xz5s0lR44caq11//796g0M/9ddMG3YsKFaK//qq68kIiJCli1bJmvWrJF27do5vbkCAi3egP/66y91ebwZuXPx4kVp0KCB/Pjjj/LJJ5/IpUuX1HXC2rVr1dd///1X3faZM2fkl19+kQsXLshrr70mY8aMkd69e2f5fXc1YsQIWbx4sf2NFteLU5cuXVL8P1lxHxo1amS/bZxOnTolffv2lcGDB8u8efPEGw4fPqyCNAIpnkscT8GCBWXKlCkp/h9Pjj29j4e711N67z+uA4EeHyRwXNHR0dKsWTN1DJmV2msC97N+/foyZ86cZP9v9uzZ6rFFrgl5CfpRE/nSzJkz8e5m+/33393+vlu3bur30dHR6ucFCxaon4cMGeJ0uS+//FKdv2PHDvt5PXr0sOXLl88WERHhdNnu3buryy5btsx+3quvvmoLCgqynThxwumymzdvVpddvXq10+3379/fo/vXr18/W65cuWzHjh1L8TI9e/ZUt33u3Dmn89944w11W3v27MnS+75ixQp13s6dO+3nLV682Om2Hbm7fFbch5R06dLFdu+996Z6PO64uxxeX/nz57dFRkY6Xfa5555L9jil59jT+3h4+npyd//163j55ZedLnf27Fl1DC+99FKqj4Gn56X2mvj000/V7/D3ort69aotJCTE1rlzZ4/vG6WNI2oyjbZt2zr9XLt2bfX1+PHj9vM2bNggDzzwgBQuXDhZooyr1atXq5FvaGio0/lNmjRRI9Fff/3V6fz27dt7dJzr1q1TI44qVaqkeBkcZ+PGjaV06dJO5z/11FP232flffeGrLgPgFEanpf8+fM7TbceO3bMK8eN0S4ep0KFCnn8/Hr6+Kfn8Ujp9tJz/12vA1Pz+L8bN26UrIZp8SJFiqgRtO6zzz6T69evS69evbL89gMJAzX5/kWXXXvZuU4t6/TzMYXryPUNsECBAuqr41pxeHi4Wq9z5e48TE1u2bJFcubMqU64PRwbTlhLxnU5Klu2rEf3D1PdaV0W112qVKlk5+vnXblyJUvvuzdkxX3AFPMrr7wiPXr0UFPUSUlJaroVU8eJiYleO+4SJUokO9/deek59vQ+Hu5eI+m9/yk93663lRWwfv7cc8+pNX0sIwHWrCtWrCgtWrTI8tsPJAzU5HNYl4OU3kwQ6DCixRuBo5TWhB1hHRFrxK7cnYfjQPIN3gxxQmIOPiToa3Hz5893unyuXLnEE8WLF5ezZ8+mehmMRFI7Tv0xyqr77g1ZcR8WLVqk3uSRiIfRof5h7cSJE147bjxOeI25cndeeo49vY+Hu9dTeu9/SreH++gL/fv3Vx8gPv30UzVTgbXy559/3v5hnLyDjyb5XNOmTdUbEJKtXEVFRamMUiT7ZMTDDz+sksNcM7JXrVqV7LKPP/64uuy5c+fEm5CIhvuA5KKU4M1427Ztyd5ov/32W/v9yMr77k5ISIj6Gh8f79Hls+I+ABKRHCGh6rfffhNvQVY8Hie81hzpCX8Z5a3HIz33H8s3js6fP6+Syrw1ok3rNVG1alVp2bKlfPzxx/LBBx+oAI1ATd7FQE0+h61QyGLFp/CJEyeqNyKsa+ENBkEOo9lJkyZl6LpHjx6tRsWdO3dWWdDI5J45c6bTtigdtsZgmrB169by008/qTdujPKxNo2MVdc1RU+NHTtWjYZwX3AdyMTF+iK2ACGrHN588031htyxY0eVSYzgumDBArWVp2fPnmo7TFbed3fuvPNO9UaLNXZPgnVW3AesuX7//fcquOmvCWQZYzuUt+BxwuwJrvfo0aPqcXr//ffl2rVrmbpebzwe6b3/+FCA6ebIyEg1mkUmOmajXn/9dfEGT14T2N4YFhYmy5cvV8eJv2/yLgZq8gu8eWG7Cd4AkJiDxB4kPeGPHG9Od999d4auF/uVN23apN5UcB21atVSb2Lu3riwJonbwogAbzb4GceCgIrkIWx1yggE/z/++EON3LCGhylPPRlJ/4qRCPbMYv0S22lw29gehA8PrlPuWXHf3UHyG54X7PPFSMpxH7U7WXEf8H8x7YsTlhDwgW7GjBlSuXJl8ZYaNWqoxwkfYOrUqaOecwTrgQMHuh3Resobj0d67z8+FCKhDc89tkthuQijb28FS09eE3hN6wmZTCLLGtmQ+p1F101EZBpLly5Vo1d8yELmNHkOH3aQnIncjIx+0KGUcURNRHR7LRlb2zDKJs8dPHhQnTC9zyCdNRioiSjgYIoWe42xLo0cCVQPwzYjlONksPEc1tEx/Y4pd0zTU9ZgoCaigIPcAawfYw0W67vI+J47d64q+UmewX5vFGVBudovv/xSypcvz4cui3CNmoiIyMA4oiYiIjIwBmoiIiIDy+nvA7ASFJtAlSu9mD4REZE72BmNYkgojpRWyVUGai9CkGZCBREReQq9zdFTPDUM1F6EkbT+wOvddTLq5MmTqgsNWROfX2vj82ttJ73w/oytgRjY6XEjNQzUXqRPdyNIZzZQ48nL7HWQcfH5tTY+v9aW34vvz54skzKZjIiIyMAYqImIiAyMgZqIiMjAuEbtB+iFm5iYmOZl4uLifHZMgSJXrlySI0cOfx8GEZHHGKh9vG8OreDQUD4tSUlJcuLECZ8cV6BB72v0DOZedyIyAwZqH9KDNBrKBwcHpxooEhISJHfu3L48vID4oHTjxg25dOmS+rl06dL+PiQiojQxUPsIprL1IF20aNE0L48gznZ73od2fIBgjeeC0+BEZHRMJvMRfU0aI2nyL/05SCtPgIjICBiofYzrov7H54CIzISBmoiIyMC4Rm0ASUlYw3Y+Lz4+a24LO5Ny5sxYItaZM2fU9iZkTLv6559/VKa6I6wB4+QI14HzXBPlsBUN9XOrV6/u8TGdP39eYmNjpUKFCpLT4U6hi9mhQ4dULV5P6ugSERkZA7WfIbYdOiQSG+t8fkJCNsmKpG/kUt15Z/qC9YIFC2T48OGSJ08e1ZatTp06smTJEtWeTde0aVOVqFWwYEH7eS+99JI6QUxMjLRq1UqOHz+u1oaXL18uzZo1s18W14+gOnHixDQ/MLz33nsybdo0uX79uhQpUkQF7BYtWsiECRPUsaHY/V133SUrVqyQJ554In0PEBGRwTBQ+xlG0gjSuXKJU2B2/dkbEhK028Jtehqot2/fLr1795ZFixZJt27d1Lax559/Xjp37iy///6702Xfffdd6dKli9vrmTdvnoSEhKhWoAsXLpSBAwfKnj177Lfx008/2X9OzSuvvKI+JOB42rRpo9abkVH/448/yo4dO1SgJiKyEgZqg0BQdg3MWTGiTm+i8w8//KBGzgjS2jHlliFDhsi9994r+/fvVyNXHUa4x44dU71VMfp2tHfvXmnZsqUKrO3atZM+ffqoAItp6r59+8pHH32U7P+42r17t8yePVvmz58vbdu2tZ+PLVatW7dO3x0jIjIJJpNRqjAdjelujKR1V65cUV//+OMPp8v2799fHnnkEdX+7emnn7YXFgFMi2P6G3B92COOAPvOO+9Iw4YNpXnz5nL27NlUy6auXLlSrZH37NmTzxoRBQwGakoVprizZ88uPXr0kC1btsjq1avltddeUwFTD9gwatQoVdAlLCxMjhw5IocPH5bu3bvbf48RL6a8N23aJOPGjVPT1rgMRsdYW0aAr1+/vqoWhlG8O0g2Q+IYi5QQkb/YbEhY9e1tMlBTqsqWLavWkLG+jCnvDz74QJ0QLB2nqvE7vZBIaGioTJo0Sa07Y5QM7du3l0GDBskbb7yhpr8xhY3pbySFrVmzRmVv47JYy3711VfdHgum3VEClIjIX6KitCXErNqZ4w4DNaWpWrVqauSLZC2MdrG9ClPUNWrUSPH/YJ0aTp8+bT8PgRqjcoysv/32W5Wx3bFjR5VE9uijj6rgj5H20aNH7dPkjpAohgzvy5cv81kjIp/DSPrcOe0rRta+wkBNaXIttfnJJ5+oBLOHHnpI/ey4fq379ddfVeCtWrVqst8h8xsj7g8//NDt+jX+n7s658goz5cvn5o6dyfelx9xiSjgREaKhIf7/naZ9U1pQpZ2r1691JT2qlWr1LQ1vupFS7777jtZtmyZdO3aVa0xY9vWW2+9pUbQxYoVc7vFauTIkWpaXV+/xno2vuJ6MLrGGrir4sWLy5dffqkCNvZK4/9gVI52oGvXrlWFWJCcRkTkbdjWev68b0fSOgZqg3AdlLoZpHr9NjyFkS9Gsag+hunurVu3Sr169ey/f+qpp9R6Naa0MdWNimBffPGF22IjWO/GGnW/fv3s5z388MPy5ptvytixY9X/RYGVlGCte9++fTJnzhwZP368GkVXrlxZHn/8cfsebozIa9WqpbLPiYi8ISJCG1E71HTymWw2lHoir8AoD5W5oqKikgUJrOli5FepUiWnJKyUK5NlTT/qjFQms5qUngtfQnY8ZijImvj8WktiosjBg9pgBzmzOXKESaVKoZKZt4/U4oWrAH67NgYETATO5LW+beJmmdZvtb6JiAJVeDgCK/oXaIMrX+NbtgEgcLoLnlkRqImIyHPIUUWmN0bS2f2Ufs2sbyIiohRgN2h0NKo0it8wUBMREbmB3CFkeiNIZ8smfsNATURE5MbFi0g+FcmXT/yKgdrHmGTvf3wOiCgtqMGEQG2EXZ4M1D6iF/BgrWr/058Dd0VViIhsNpELF7TtWNjS6m/M+vYRFOEoVKiQvfUjGlig8EdKsI+aIz/vwuOJII3nAM8Fu3ARkTvYioW36kKFxBD8Gqh37dqlSkIeP35cypcvr8pU3nPPPU6FKVC+0tXw4cOlZcuWTrWoUalqw4YNqoAFWjM++eSTTv/HW5fJDJS4BMc+zSlJSkqSnNzwnCUQpPXngojIdTStlwo1yhZZvwVqNHZAS0PUh37wwQdVfegGDRrIihUrVDlIPVghaL733ntSs2ZN+/9FeUhH6JWMzk4oQRkZGSndunVTNZ8HDhzo9ctkBkbQqIWN7lOujS5coeWjXgubvAfT3RxJE1FKrl7VCpz4o1Roimx+Eh4enuy8Ll262Jo2bWr/OTo6GuVNbdu2bUvxenbu3Kkus2XLFvt5U6dOtRUoUMB248YNr14mLVFRUeo68DWzTpw4kenrIOPi82ttfH7N6eZNm+3gQZtt61ab7fBh96f9+222Q4dO2GJjM3db6YkXfksmQ9cjV0WLFpXr168nOx+dmDDKRjem/fv3O/3uxx9/VCPUJk2a2M/7z3/+o+qoogGENy9DRETWbrwRbrTRtJGyvtGj+Kuvvkq2Jo1pbpz33HPPqZ7F9evXV20VHYvfu04RY71b/503L+MKnZsQyB1PRERkPklJWqlQbAYxWnqQIQ4HARgtEatUqSKjRo2yn4/MaCSc6R2OOnbsqNZ5BwwYoNod6tnReV3y59F1Knv27Op33ryMq8mTJ6v2j65Onjwp+TNZbw63mdIHBDI/Pr/WxufXnIE6Z06RwoVTv5y2qzNBzp0Ly1Tt72jUJTVLoMZUd9u2bdULW8+21iFIurYhbNOmjUpCi4iIUNPnhQsXVt87unr1qty6dUv9Drx1GVcjR46UIUOG2H/GiBqjcPRUzmwvZLbJszY+v9bG59dcEhJEDhzQuhimNe2NPGC0uSxTJvNtLk0x9Y09rQjSCIgI0lijTsuVK1dUANd7NdetW1dt70JPT93u3bvtv/PmZVwFBQWpgOx4IiIiczbeKGDQt3C/BerY2Fi19oxtUCkF6fXr18uhQ4fsP58+fVqmTp0qrVq1kny3i6926NBBQkJCZNq0aernmzdvqss0btxYqlWr5tXLEBGRtcTFGaPxhiGnvhEEf/nlF6lXr5506dLFfj4C8MqVK9X3KEqBJDKMuFGk4sCBA/LYY4/JRx99ZL88zl+8eLE888wz8s0336jpBKwPr1271uuXISIia7l0CbO7iDdiWNmwR8sfN3zs2DG3yVIoSNG8eXOn8zAlffnyZalcubIUL148xRH63r171XQ0pqoxPZ5Vl0kJgnvBggXV9DnXqCk1XMO0Nj6/5nD9urY2jQpkwcGer2djjbpSpcyvUXsaL/w2oq5atao6eQIBGqfUIGMb09S+uAwREZnfxYta4E0r09vfDLOPmoiIyFeio7Vpb6MVN3GHgZqIiAKy8UZSkmRq+tpXGKiJiCigREVpW7KM0sYyLQzUREQUMG7d0kqFwu1yHIbHQE1ERAEjMlJrvGH0BDJHDNRERBQQbt7U1qaN2HgjNQzUREQUEMLDtVaWZsj0dsRATURElpeYqK1NI8s7Rw4xFQZqIiIKiNH0tWvGbbyRGgZqIiKytPh4bTQdEoL2yWI6JjxkIiIiz2HPdEwMmj6JKTFQExGRZcXGapneCNJGbWOZFgZqIiKydOONuDjzjqaBgZqIiCwpJkYL1GZMIHPEQE1ERJZsvHHhgtbGMm9eMTUGaiIispxr17Q2lmYqFZoSBmoiIrJkG0ubzTyNN1LDQE1ERJZsvFHIJG0s08JATURElmu8kT271nzDChioiYjIUqPpCBM23kgNAzUREVlCUpJWKtRsbSzTwkBNRESWEB4ucvWqddamdQzURERkegkJImfPanumzdh4IzUWuztERBSojTeio81fhcwdBmoiIjK1uDgt0zt/fvM23kgNAzUREZnapUsiN26Yu/FGahioiYjItK5f10bTVpzy1jFQExGRaV28qCWSBQeLZTFQExGRqRtvFLRQcRN3GKiJiMi0bSyTkkTy5BFLY6AmIiLTiYrStmRZrbiJOwzURERkKrduaaVCwQptLNPCQE1ERKZsY1m4sAQEBmoiIjJdG8tcFmu8kRoGaiIiMo3wcOu1sUwLAzUREZlCYqK2No0s7xw5JGAwUBMRkWlG09euWbsKmTsM1EREZHjx8Voby5AQ67WxTEuA3V0iIjKjy5e1ut5WbbyRGgZqIiIytBs3tExvBGkrtrFMCwM1EREZGup5o+d0II6mgYGaiIgMKyZG65AVaAlkjhioiYjI0I03EhJE8uaVgMVATUREhm5jWThASoWmhIGaiIgMOZpGApnNFhiNN1LDQE1ERIZsvHHlSmC0sUwLAzURERmy8QbKhObK5e+j8T8GaiIiMtxoOtAab6SGgZqIiAwjKUkrFYp16UBpY5kWBmoiIjJU442oKI6mHTFQExGRIWC/NEbT2DMdaI03UsOHgoiIDNN4A5XIArkKmTsM1ERE5Heo5R3IjTdSw0BNRER+h3re6JIVqI03UsNATUREfoU+06jpzSlv9xioiYjI76NpJJIFB/OJcIeBmoiI/Np4A4GapUJTxkBNRER+bWOJkqFBQXwSUuLXui+3bt2SnTt3yvHjx6V8+fLSpEkTye5m89yZM2fk999/lzx58sjDDz8sBd3UlfPlZYiIKPNQ2ARbsjiaNuiIevPmzVK7dm0ZOHCgfPfdd/Lss89KnTp1VKB0tGjRIqlevbp89tln8s4770jVqlVl165dfrsMERFl3q1bIufOaVuxAr2NZVqy2WyYfPC9LVu2SIkSJeSOO+5QPyckJEjjxo2lcuXKsmzZMnXehQsX1M9Tp06VV155RZ3XtWtX2b9/vxw4cMDnl0nLtWvX1Ag8KipKCmQyfTEsLExCQ0MzdR1kXHx+rY3Pr2elQg8dEila1Fw1vRMS0NUrTCpVCpU8eTJ+PemJF34bUd9///32IA25c+eWFi1ayMGDB+3nrVq1Sn3t1auX/bxXX31VXWbfvn0+vwwREXmvjSVaWJopSEugJ5PdvHlTfvjhB6lbt679PIxkK1WqJHlR+PW2WrVq2X/n68u4io+PV5+KHE9ERJT2aJptLD1nmM8yo0aNUkll+rQ3IPAVLlzY6XKYKsiRI4c9KPryMq4mT54s48aNS3b+yZMnJX/+/JIZWArA9BlZE59fa+PzmzIstsbHixQvjilkMZ1cufBvgpw7F5apxiHR0dHmCtRYF37//fdl9erVUq1aNfv5GN263pnY2Fg1+tZHvr68jKuRI0fKkCFD7D8joCN7vWLFilyjplRxDdPa+PymDFPep0+LlCwpppSYqK1RlymT+TVq00x9T5s2TcaOHavWiLFG7QhZ16dPn1bbuHQYdeu/8/VlXAUFBamA7HgiIiL3MJJGpndICBtvpIdfA/WMGTPkzTffVEH60UcfTfb7tm3bytWrV+X777+3n/fVV1+pbPH77rvP55chIqKMw55p1PVm44308dvUN4Lg0KFDpUuXLnLq1CmZN2+efZTao0cP9X3NmjXVPmv8PGDAAImIiJDZs2fL559/Lrm0hQKfXoaIiDIGnbHYxtJkgRqVv/StUNu3b7efHxwcbA/UMHPmTHnwwQdl48aNKohv3bpVGjRo4HRdvrwMERGl36VLWs9ps65NB2TBEytiwRPyFJONrI3Pr7OYGBGUyEDyVQq5uaaREEgFT4iIKHAabyDAmT1I+wsDNRERZRnsQsK0t0uZCkoHBmoiIsqy0TQSyLDrlY03Mo6BmoiIskRkpMiVKxxNZxYDNRERZVnjDZQJ5Q7XzGGgJiIir0PTDZwKFeKDm1kM1ERE5FVJSVqpUKxLm7HxhtEwUBMRkdfbWEZFoQMhH1hvYKAmIiKvwX7ps2e1PdOZaQNJ/8eHkYiIvNp4A5XI2EzQexioiYjIK1DLm403vI+BmoiIvOLiRa1LFttYehcDNRERZRr6TKOmN6e8vY+BmoiIvDKaRiJZcDAfTG9joCYiokw33kCgDoTiJj//vFz27//Lp7eZ06e3RkRElmxjiZKhQUFiacePH5ZRo3pKYmKC/Pzzb9K8eSOf3C5H1ERElGFXr2pbsqw+mo6Pj5NBgzpJbOx1qV+/gdx7bwOf3TYDNRERZQjaV2I7VrZs1m9j+c47Q+Xw4X1SpEhxmTp1puTwYW1UBmoiIspwG0uUC7X6aPqHH76Vr76arb6fOHGRFC9ewqe3z0BNREQZbmOJFpY5LZztdOZMmLzxRi/1fe/ew6Vp08d8fgwM1ERElG4YSaONpZUbbyQmJsrQoV0lOjpK6tZtJIMGTfDLcTBQExFRuiQmam0s8+SxdhvLWbNGy96926VAgUIyffpiyYXpAz9goCYionS5ckXbO23l0fRvv30v8+ZNVd9PnPiplCsX6rdjYaAmIiKPxcdro+mQEC3b24ouXTovr7/eU33/zDMvScuWT/r1eBioiYjIY9gzjbreVm28cfPmTRk2rLtERFyW6tXryIgR0/19SAzURETkGXTGwmg6f37rjqY//niybN++UfLmDZaZM5dKUFAefx8SAzUREXkG9bwx9Y1pbyvatet3ef/9ser7sWNnS5UqNcQIOPVNRERpio7G2q1121hGRobL0KHPyK1bt6RDhx7yn/88K0bBQE1ERGk23tDbWObNa70Hy2azyciRz8mFC2ckNLSaGk0bCQM1ERGlCluxMJouXNiaD9Rnn/1XfvlljeTOHSSzZi2VkBBjZcoxUBMRUaqjaZQKRQMOKzbe2L9/l0ybNlx9jwzvmjXritEwUBMRUaqNN1DgxIqj6ZiYazJkSBdVKvTRR/+j9kwbEQM1ERGl2ngDZUL9VD0zS9el33zzRTl16l8pW7aiqj6WzaB7zhioiYjILTTdwMmKbSy/+eZTWbt2ieorjTreBQsad8qAgZqIiJJJStKKm2Bd2mqNN44ePSgTJgxQ3w8aNFHuuaexGBkDNRERuW1jGRVlvcYbsbE3ZNCgThIXFytNm7aS3r2HidExUBMRkRPslz57ViQ4WCS7xaLEpEmD5NixQ1K8eCmZOnWRZDfBHTT+ERIRkc8bb8TEaDW9rWTduqXy9defqKSxd9/9QooWLSFmwEBNRER2cXFapje6Yxk0CTpDkN09enQf9f2LL46Sxo1biFkwUBMRkR1KhaJLlpXaWCYkJMjgwV3k+vVoqV+/qbz66ltiJgzURESkoM/0hQvWa7wxffoIOXBglxQqVESmT/9KcubMKWbCQE1ERIreeANJZFbxyy9rZOHCmer7SZMWSOnS5cVsGKiJiEg13kCgtlJxkwsXzsiIEVq7yp49B0qLFu3FjBioiYgCHBpvYMobJUODgsQSkpKSVH/pq1cjpFatejJs2BQxKwZqIqIAd/Wq1sbSSqPpDz98W3bt+l1CQvLLzJlLVQtLs2KgJiIKYGhfie1YqPthlTaW27ZtlDlzJqjv3377Y6lYsaqYGQM1EVGAt7FEuVCrjKbDwy/JsGHdVHesp57qJe3adRWzY6AmIgpQWJNG4w20sDTZjiW3bt26JcOH95TLly9I1ap3yujR74kVMFATEQUojKQxorZK441PP50mmzf/IEFBedS6dN681thnxkBNRBSAEhO10XSePNZoY7l373aZNesN9T1G0tWq1RarYKAmIgpAV65oe6etMJq+du2qDBnSRW3JatOmszz9dG+xEgZqIqIAEx+vjaZDQszfeMNms8no0b3l7NmTUr58ZZXlje5YVsJATUQUYLBnGnW9rdB4Y/Hij+SHH76VXLlyyYwZSyR/fgtMEbhgoCYiCiDojIV90+g1bfaB5z///CWTJw9W3w8d+o7UqdNArIiBmogogKCeN3pOY9rbzK5fj5FBgzpLQkK8PPhgW3nuOS1gWxEDNRFRgIiO1gK1FRLIxo9/RU6cOCwlS5aVyZMXWm5d2hEDNRFRgDTeQJDGtqy8ecXUVq78XFas+EyyZ8+u+ksXKVJMrIyBmogoAGArFpLIChcWUzt+/LCMG9dfff/yy2OlQYNmYnWGKBoXHx+vSr/ldfMxLyYmJtl5efLkkZxu6t3dvHlTfcJKbQrEW5chIjLTaBoJZGjAYebGG/HxcTJ4cGe5ceO6NGz4kPTvrxU4sTq/jqg3bNggTz31lOTPn18eeOABt0EavytRooSUKlXKflq6dKnT5f799195+OGHVQAPDg6Wnj17Jgvw3roMEZHZoEwoCpyYfTQ9ZcprKtO7SJHi8u67X0gOK5RUM3Kgxih60qRJ0qlTJ+nTp0+ql924caMKmPqpW7du9t8lJiZKmzZtpFChQnLp0iU5dOiQ/PHHH9K3b1+vX4aIyIyNNzCaRkxD8w2z+vHH5fLllx+q76dMWSQlS5aRQOG3QB0UFKRG1AjU2KieFpSGc2fdunVy9OhRee+996Rw4cJSqVIlGTdunBp1n8er04uXISIym4gI7WTmNpZnzoTJG2/0Ut/36jVMmjV7TAKJKZLJMB2N9evQ0FCZPHmyU9Detm2bCqrlypWzn/fQQw+pNW+MiL15GSIiM8FbJUqFYl3arLPEiYmJMnRoV1XP++67G8rgwRMl0Bg6UCOZa8iQIWqke+PGDfnggw9k6tSp8uabb9ovg2nq4sWLO/2/okWLqv+L33nzMu6m769du+Z0IiIyCqxLR0WZe9/0f/87RnXGQmlQlAj1ZAbWagyR9Z2SkJAQmT59uv3ndu3ayYgRI2T8+PEyceJEe1Y2Rr2uRdrBMWvbW5dxhNE9psddnTx5UiXBZUZCQoKEhYVl6jrIuPj8WpsRnl+8faH5BsYf2Q09JEvZ5s2/ySefTFHfT5gwSbQJT/8+rtrnhAQ5dy4sU49rNKrPWCFQu1OjRg25fv26GuWWLFlSypQpo5LNHF2+fFkF2dKlS6ufvXUZVyNHjlQjfh1G1OXLl5eKFStKgQIFMnU/8UeOqX6yJj6/1maE5/fsWZHTp0VKlhRTunz5ggwfPkx936VLP3nssZfECFAwJkeOMClTJlT18s6o9MzAmu5z1u7du9VIu0iRIurnpk2bqhEstlbpfvrpJ7XPumHDhl69jLuEOARkxxMRkb/FxmqZ3uiOZcZyEKhlMWxYdwkPvyTVq9eRkSNnSCDz64g6NjZWPSFIFsC0s75nOd/t3mvIwMbadPv27dW2KWRmT5s2TQYPHmxfp2jZsqXUq1dPbfGaM2eOREREyBtvvCG9e/eWYsWKefUyRERmgLQadMkqVUpMae7cd2Tbtg2SN2+wzJy5VPLkMXnNUzMH6ubNm6v9yjoUM4GLFy+qUXOvXr1kxowZ0qVLFzUNXblyZRVEe/ToYf8/qCC2du1aFbybNWumRrm4PNawvX0ZIiKjQ5/pCxdEzDrBt2vXZnnvPS1h+M03P5QqVWpIoMtm0zOmKNOw5lCwYEGJioriGjUZfg2TrPn8Hj+urU+bcW06MjJcnniirly4cEbat+8uU6cuMlwp54QEbY26UqXMr1F7Gi9Mt0ZNRETuIT8JHbLMWNwEY8ZRo15QQTo09A4ZO3a24YK0vzBQExFZAOZGMeWNkqFBQWI6ixa9Jxs3fie5cuWWWbO+lnz5MrfF1UoYqImILODqVS2JzIyj6QMH/pR339W2Yo0YMV1q1qzr70MyFAZqIiKTQ60mbMdCAQ6ztbGMibmmWldi98+jj/5HunV72d+HZDgM1EREJoemG+Hh5htNY1167Nh+curUv1KmTAWZOPFTrktnJlAfPHhQdu3aZf8Z+4yxZcrR1q1b5ccff/T0KomIyEuNN1BaIqfJak1+8818WbNmseorPX36YilY0OQNs/0dqNevXy9Lliyx/zx//nyZMkWrwapjoCYi8v1oGuvTZmu8cfToQZkw4VX1/aBBE6RevSb+PiTD4tQ3EZFJoe40RtPYz2umNpaxsTfUunRcXKw0bdpSevce7u9DMjQGaiIik8LqI/ZOm200PXnyYDWiLlaspEyZskhVhqSU8dEhIjKhuDgt0zskxFyNN9at+1qWLp2rksbeffcLFawpdelKPTh+/LisWbNGff/3339LZGSk/Wf9vMKFmQxAROSL0TTqepupVOjp08dlzJg+6vsXXxwpTZo84u9Dsl6gXrFihTq5nudo6NCh3jkyIiJyC52xMJrOn988o+mEhAQZNKiz2jddr9798uqr4/x9SNYL1C+//LI899xzaV4uODg4s8dERESpQD1vTH2bad/0jBkj5cCBXWoL1vTpX0lOs+0l8yOPH6n4+Hi1plC0aNGsPSIiIkpRdLT5Gm9s2rRWFiyYob6fPHmhKm5CWZBMNm/ePJk8eXI6rpqIiLzdeANBGtuyMtNi0ZfQDev1159V3/foMUBatGjv70MyHWZ9ExGZBLZiofGGWXJ2k5KS5LXXusnVq+FSq1Y9GT58qr8PyZQYqImITNR4A6NqszTemD17vOzc+ZsEB+eTGTOWSO7cJuy/aQDpWs3fsmWLjB49OtXLNG3aVB577LHMHhcRETlAmdArV8wzmt6+/RcVqOHttz+W0NA7/H1IgRGoDx06JOfxkS6NrG8GaiIi77l5UxtNo0womm8YXXj4JTXlje5YHTu+II8//oy/DylwAnWfPn1k2rRpWXc0RETktvEGTsWKGf/BuXXrlkoeu3z5vFSpUlNGj37P34dkelyjJiIyQRtLrEubofHG/PnT5fffv5egoDwya9bXEhwc4u9DMr3sWfFpioiIvAPr0lFR5mi8sXfvdpk5c5T6/o03/ivVqtX29yEF1tR3kyZNJCYmxu3vbt68Kd9//73aa12jRg3utyYi8oKEBG00jYKPRm8wde3aVRkypKvaktW6dSfp1Emr6U0+DtTumnTMnz9fFi5cKFFRUdKqVStp27atFw6LiIjQeAPjI6M33kDS2OjRfeTs2TApV66SjB+vdcci70h3sdW4uDjViAOj519//VVKliwpDz30kPo5j1lK5RARGVxsrDaazpfP+I03liz5WH744RtVv3vmzCWSP78J5ulNxOPJlBMnTsiAAQOkTJkyMmTIEGnYsKEcPXpUBg8eLKVKlWKQJiLyIlQgQ7BGoDayf/7ZJ5MmDVLfDx36jtSpc5+/DylwR9TffvutzJ49W60/Iziz8wkRUdZAn+kLF0QKFDD2I3zjxnUZPLizJCTES/PmbeS55wb7+5ACe0TdvHlzeeCBB2TEiBGqoMnSpUtVf1EiIvIuBGm8vRq9a/D48a/I8eP/SIkSZeSddz6T7EbPeDMpjx/VBg0ayC+//CKHDx+W++67T01/ly1bVhYvXsyATUTk5cYbRm9juWrVF7J8+UIVnNFfukgRE1RjMal0f/ypWrWqTJo0SU6dOiWffvqplCtXTubMmSN33XWXjBkzRo4cOZI1R0pEZHFouIFSoSgZGmTg/hUnThyRt97qp75/+eU35b77mvv7kCwtw/MUOXLkkPbt28uqVatU0O7WrZuaDp87d653j5CIKIAab2BLlpFH0/HxcWpdGuvT9933oPTvn3qjJvLD9ix3SpcurdaucbqEORsiIspQG0ss8xq5jeXUqcPk77/3SuHCxWTatC/VoI2yltdX/kuUKOHtqyQisjw03QgPN/Zo+qefVsgXX3ygvp8yZZGULFnG34cUEJiiR0RkkMYbaGGZ0yvznN539uxJGTXqBfX9Cy+8Js2bt/b3IQUMBmoiIgOMprE+bdTGG4mJiTJ0aFdVzxsFTQYPnujvQwooDNRERH6UmIjRqggqMBt1ufe9996UPXu2qdKgM2YskdxGXkS3IAZqIiI/QpZ3dLRxR9ObN/8oc+e+o74fP/4TKV++kr8PKeAwUBMR+UlcnJbpHRJizMYbly9fkOHDe6jvO3d+UVq3ftrfhxSQGKiJiPw4mkZdbyM23rh165YK0uHhl6Ratbtk1KiZ/j6kgMVATUTkBzduaKPp/PmNOZrGdPfWrT9L3rzBMmvWUsmTJ6+/DylgMVATEfnBxYva1DemvY3mzz+3qAQyGDPmA6lSpaa/DymgMVATEfkYkscQqI1Y3OTq1Qi1FevmzZvy+OPd5Mknn/P3IQU8BmoiIh833kAbS2zLwpYsI7HZbDJy5PNy/vxpCQ29Q956a45kM+K8fIBhoCYi8kMby8KFjfewf/75+7Jx43eSK1dumTlzqeTLl9/fh0QM1EREvm+8AUarGXLw4G7VcANef32a3HnnPf4+JLqNI2oiIh9BmdArV4y3Nh0TE61aVyYmJsgjjzwh3bu/4u9DIgcM1EREPnDzptZ4A2VC0XzDSOvSY8f2k5Mnj0mZMhVk4sRPuS5tMAzUREQ+arwRGWm80fS33y6QNWu+Un2lp09fLIUKFfH3IZELBmoioiyGDG+MprEubaTGG8eOHZLx47Vp7oEDx0u9ek38fUjkBgM1EVEWCw8XiYoyVuONuLhYtS6Nr/ff/6j06fO6vw+JUsBATUSUheLjtdF0cLBIdgO9406aNFiOHDkgxYqVlKlTP5fsRjo4csJnhogoixtvxMRoNb2NYv36ZbJ06ccqaQxBGsGajIuBmogoi8TGavum0R3LKAW+Tp8+LqNH91bf9+07Qk17k7ExUBMRZRFUIEOwNkoby4SEBBk8uIvExFyTe+5pIgMGvO3vQyIPMFATEWUB9JlGTe8CBYzz8M6cOUr2798pBQsWlhkzFkvOnDn9fUjkAQZqIqIsgCnvhAQticwINm1aK/PnT1ffT5o0XxU3IXNgoCYiyoIqZEgiM0pxk4sXz8rrrz+rvu/R41VVJpTMg4GaiMiLkpK0E4J1UJD/H1r0lX7ttW5y9Wq4arQxfPi7/j4kSicGaiIiL/WZRpnQQ4e0IG2UNpazZ4+XP/74VYKD86nWlblzG+DTg0ndvKk9x8jg9+Xyfk5/f9JbvXq1LF26VMqWLSvTpk1Ldplbt27JwoULZcOGDZInTx7p1KmTtGrVym+XISJyhczus2e15DG8gSNIG2E71o4dm1SghnHjPpLQ0Dv8fUimlZCgVZgrWVIrBevLQO23EXViYqJUqVJF5s+fL5cuXZJNmza5vVzv3r1lzJgx0rhxYwkNDZX27dvL3Llz/XYZIiIdprgRnA8e1JLHsCZdpIgxgnRExGUZOvQZNQB58snnpX37bv4+JNO6cUNrqFK+vEjVqr6vMOe3ETU6tWzevFnKlSsngwYNUt+7+uuvv2TBggUqiDdv3lydhzJ3I0aMkGeffVaCgoJ8ehkiIsfe0hhFY5QVEqKNtIwCwRnJY5cvn5cqVWrKmDHv+/uQTCsqShtNV64sUrq0f8rA+m1EjSCIIJ2a9evXS7FixaRZs2b2855++mmJjIyU7du3+/wyRERxcSLHj2tr0XgTL17cWOVBYcGCGfLbb+slKCiPWpcODg7x9yGZMufgyhXta7VqImXL+q9Wu6GTyU6cOKGCOerR6ipUqGD/na8v4yo+Pl6uXbvmdCIi6yYSXbyoTXOfOaMF52LFjNW2Ev76a4fMmDFSfT9q1CypXv0ufx+S6dy6pVWVwx746tW1D2P+ZOiyNAiEwS7VApDkhWnzOHys9fFlXE2ePFnGjRuX7PyTJ09K/kx+xEapv7CwsExdBxkXn1/zBWl9yxXeJtL+804QEd///WKwMHjwU5KUlCStWrWWzp1b+uU4zMxm0wJ1iRIiuXJpa9M4efvvNzo62hqBumDBgmrq2dHVq1dVtnjh23sffHkZVyNHjpQhQ4Y4/ZGUL19eKlasKAUyWTcQLwIktJE18fk1T4tKJIuheIm+5cqzETTexH3792uz2WTMmM5y9uwZKVs2VCZM+EqyZTNIxRWTiIvTcg/KlMGMqpbdnVV/v+mZgTX01Pfdd98tx48fd/rksXfvXvW1Tp06Pr+MKySYISA7nojI/DCiQnDGNPfJkyJ582rTn0Yujb106Vz5/vtlqn73rFlLpUABBun0QCtSxE7E30qVUg7S/mDoQN2hQwfJnTu3vP/++/ZMxunTp0v9+vWlZs2aPr8MEVkfPqsfOSLyzz/adDeyuRGojezw4f0yadIg9f2QIZOlTp37/H1IphIRoWV233GHtgXLaHkHfv18OHDgQLWeu3//fomIiJAnntDqzy5ZskStDxctWlQ+//xz6dGjh6xYsUJNRWNtABnaOl9ehoisC2/USBY7dw51HvCeYOwRtO7GjesyaFAniY+Pk2bNWsvzz/9/OY7SnjlBZjc+iGH7lVGqybny68sQo1h38/S5sILvcJlTp07Jzp071VRzo0aN1MjX9Xp8dRkisl7yEPZCI5Mbb0dYwTLqG7Y748e/KseP/yMlSpSRKVM+U1tfKW2YLUGQRoEaTHcbpWe4O9lsyEAgr8CHDiSlRUVFMZmMUsVkMuP0jEbREoyk8ZkclcW8U1XMN8lk3333pQwb1l0F54ULN0jDhg9m+W1aZfYkIkJb1kCQTm89K28lk3kaL0wwsUNE5F2Y2sY+WQRpZHZjBG22ybOwsKMydmw/9f1LL41hkE7HhzMkjmEtGiczLG+Y4BCJiLwD84fYhYlpbmzDwXSnUXpGp0dCQrwMHtxZbtyIkfvua64CNaUNzzmmvKtU0cqBGqEmuycYqIkoYBorIFFM73CFghZmXc6dOnWYHDq0RwoXLibTpn2pCjNR2uVAMWuCcqCoKGcmDNREZGkYQWFPNEbRKGhhxmluRz//vFI+/1zbRorksZIly/r7kAzt5k0tSGMZGPujzVjugoGaiCw7ikLTDARoJA5hmttIHa4y4ty5UzJq1Avq+xdeGCrNm7fx9yGZood08eJakDb6fviUMFATkeVg5KxPc2MdEm/UZp8dTkxMlCFDukpUVKQqaDJ48CR/H5KhxcZqH9TQ9apiRa1ut1kxUBOR5aY5MYrGmjQSxazSSv7998fKnj1bJV++AjJjxmLWeEijuhwCNYqYoG63WXMRdAzURGQJGD1huxUCNTpcmX2a29GWLT/J3LnvqO/Hj/9Eypev7O9DMqyICG0WBUljmEkxS2Z3ahioicjUsA/6/HnthJKQVpjmdnTlykUZPryH6o7VuXNfadOmk78PydCNVEJCtJG0GbfdpYSBmohM+8aMRKHTp7UCFnhjzpNHLAXNgRCkEayrVasto0bN8vchGbaATXi4Vg4USWMI1lbCQE1EplyDxDQ3RlAIzpjmtsIUp6tPPpmipr3z5MkrM2cuVV8p+YwKprtRwARVPc289S4lDNREZMoOV9gfbZYOVxnx559b5L//1SqOjRnzgVSteqe/D8lwYmK0kqAI0OXKWWvJw5FFX+JEZNUOV0gaK1jQXB2u0uvq1QgZOrSr3Lx5U9q1e0Y6dnze34dkOJGR2vIHekhbdUZFx0BNRIYfNWEErXe4KlXK2m/KSBp7441ecv78aalYsaqMG/eRZLPyHc5gOdCgIC1IY13a6hioiciwCUIIzliLxpQ33pDNXLTCU1988YEqE5orV261Lp0vX35/H5Kh9slfvqwlDiJpLH+APDQM1ERk6A5XeDO28jS3o4MHd8uUKa+p74cPf1dq1arn70MyXDnQEiW0IG21DP/UMFATkeE6XGEkjcQgM3e4Sq+YmGjVujIxMUFatOggPXq86u9DMtTrIjpa6x9doYJ1EwhTEmB3l4iMCBncly5p09xW6HCVkXXpt97qLydPHpPSpcvLpEnzuS5927Vr2hYsjKKtUA40Ixioiciv09yY3kaAtkqHq4xYvnyhrF6t9ZWePn2xFCoUABlSHmb658z5/3KggYqBmoj8Ak0T9NKfGCUF0jS3o3///VvGj39FfT9gwNtSv/79Euj0cqDIT6hUSduOF8gYqInIL5m7SBZDsLZSh6v0iouLlUGDOkts7A1p0uQR6dt3hAQ6vRwoitkgSAcH+/uI/I+Bmoh83uEKb8RW63CVEZMnD5EjR/ZL0aIlZOrUzyV7IE4pOEB+ApZCsBaNpLFAylNIDQM1Efm8w1WxYtYt9+ip9euXyZIlH6nvEaSLFy8lgV7YBtndKAdatixfH44YqIkoyyAoo4oUprmt2uEqI06fPiGjR/dW32O6u2nTlhLIkEgIqDSGXAUWYnPGQE1EWbatBtPcCNRW7nCVXgkJCTJkSBeJibkm99zTWCWQBfoHubx5tR7SgVLYJr0YqInI6xWkLlzQCpcgcczKHa4yYubMN2Tfvj+kQIFCaitWrkCoi5rC3nnkKiCjG0EaW/PIPf75EJHXRkeYwjx9WqsihTdgjJTo/379db3Mnz9NfT958gIpW7ZiwH6Yw2tFLwcaqFn/nmKgJqJMw/ozprlRXQxvupzmTu7ixbPy+us91ffdu78ijzzyREC+8tA/Gq8XlAPFibMtaWOgJqIMC9QOV+mFvtKvvdZdIiOvSM2adVXDjUCErVeY8q5SRaR0aeYseIqBmogyVN4RU5d6h6sCBZgIlJo5cybIH39skuDgENW6MigoT0D2kMa+aJQDxfY88hwDNRGle+pS73CFaUtMcwd4nY5U/fHHr/Lhh1pm91tvfSSVKlWTQIKEQgRpfJjDejS+UvowUBNRujpcYRSNAiaB1uEqIyIiLsvQoc/IrVu35Mknn5MOHbpLIPaQRkMNBGkmF2YMAzURpbvDFQqXUOoQnEeMeE4uXTonlSvXkDFjPgiohwx13FEyFlXGKlZk7kJmMFATUYrY4SrjFi6cKb/+uk5y5w5S69JYnw4U2J6H1w5G0QjUXBrJHAZqIkq1wxXqLyObm9Pcntu37y+ZPl3rhDVq1CypUaNOwLzKMOuCCnR6D2lWo8s8BmoicuI4zY0OV6UCu1dEukVHR8ngwa9KUlKStGrVUbp0eVECqYd0SIhWaYzLI97DQE1E9haDeocrYIer9Dt16l8ZN+5lOXPmtJQtGyoTJsyTbAEwpESiITK7MfOC6W4Ea/IeBmqiAIdpbmTmssNVxh07dkg+/niyrFnzlUoiy5kzp8ycuUTV87Y67ADA7AsKmKBFJZdIvI+BmijAO1whQCNQs8NV+v39916ZM2ei/Pjjt2JDeryINGvWWl599UWpU6ehWB1KgWJfPQJ0uXLsIZ1VGKiJAhBGQehwhWludrhKv717t6tqY5s2rbWf17Llk/Lii6Okdu36IhImVhcZqa1Lo4c0a7tnLQZqogCCN1Z9mpsdrtIHI2ZUGUOA3rZtgzove/bs0qZNF3nxxZFSrVptCQSYOEDSGGZgEKSxLk1Zi4GaKEBgmhIBGm+y7HCVvgD9++8/qAC9e/cWdR7WoDt06Cl9+46Q0NA7JNC27ek9pPPn9/cRBQYGaqIA6nCF79nhyjNICtu48TuZPXuCHDz4pzoPxUueeqqX9O49POB6Ses9pPVyoBhRk28wUBMFQIcrlHJkhyvPW1KuX/+1fPTRRDl69KA6L2/eYOnatb88//xQKVGitAQaFL3BUgkSxipUYA9pX2OgJgqQDlcBsJ03UxITE+W7776QuXMnS1jYUXVevnwFpHv3V+XZZwdJkSLFAnZnAJIPMYouU4blQP2BgZrIYoUn9GludrjyTHx8nHzzzXyZN2+KnDt3Sp1XqFBRFZy7d38lIPZCpzYjkyPH/8uBkn8wUBv4DRdbZzAa0k+5cmlf8YfD0RG5vqliuwymuVEClB2u0nbjxnVZuvRj+fTTaXL5slaOrVixktKr1zDp3PlFCQnJF7AvMr0cKF5HSBpD8hj5DwO1Qd90EagPH9YCM35G9xk9SOMrsnaRzIGvegB3PTGYBwZ0KcIIGvui8byXKMHpybRqcX/55Yequ1Vk5BV1XunS5aVPn9elY8cXJE+evBLIkHCILXxFi2rT3aj3Tv7FQG1gSP7BJ1p9WwROCOD4inUjjKDwvQ6BGUEbwRwnPZjj5BrE9eDOYG6NDlcI1oULs3xjaiIjw2XRov/K55+/p4I1VKhQRfr2HSkdOvSQ3Kx9qeq9Y0YG5UDRQ5oPiTEwUJuEHnxT+8PBdJUeyHFClib+6FyDuT4yx0kflesjc3ejc/aSNW6HK4x80AAByWLk3uXLF2TBghmyePFsNd0NVaveqaqItWnTWe2JJm2fPbK7UQ4UPaTx/kDGwFeohSCgpvUJGNPomNrSgzn+OLF1BwHekeM0O65TH53je3fT7Pyj9t2IB9ncmOYGJPjwsXfv/PnTMm/eVFm2bJ5KGIM777xH+vcfLY888oSqKkYaJI0BKo1h6YQzbcbCQB1g8AfoSTDXR+b4imlVjM5TC+Y4IZDnzes8Knf8ngEl4/BcoI0gprmx9QrT3PjwRO5bTc6d+46sXPmZ2nIFdes2kpdeGqMaZgRC28n0lgPF3y2SxvC6IuNhoKZk9LVunFL7A9dH5XgvxFYgTJshmN9uIqToU+x60HYcmaeUBEfuO1whUCOxh3uiPWs1CQ0bPqRG0I0aPcQA7QJ/q1g60cuB6vkwZDx8W6QM0de69Qz0lDiOzFGC0F0w1zPa9ROCOD7h43oDeXuaa4erYsX4QSY9rSb79XtD6te/38fPmrnKgWKaG5ndnJ0xNgZqytoXmAfB3DGjHaNzTLXjTQSDIgRk1+1pehKcngjnOsVu9u1peoer06e1HAKMePDBhZzt2bNNlflMudUkuYOlE7yuypfXTpzFMj4GajJFRrun29Nc95rjhCDnboodwd1owRy5AMjmZoer9Lea7NdvlNxxRy2fPl9mg8RRfBiuUkXbgmW01z+5x0BNlt2ehlFDWtvT9GCO0XlKSXC+SA7GVCRKfyKjG2+kKDbBkY5zgP7tt+9VgN6zZ6s6D9uqnnjiWdVqsmLFqln/JJkYZqUwS4PXNcqBYhmFzIOBmgJuexqCuR7QMQ2I0Tl+1qfZU9ueltJe84xmtOtvoEgWw3Gww5UzJIVt2LBKBeiDB3fbW00+/XRvVeoz0FpNZmbHAF5bWI/GVzIXQwfqpKQk+eabb5Kd37BhQ6mEV5yDK1euyLZt2yRPnjzStGlTyetmUc9blyHrZ7S7bk/D6Pz2Th87x61p+vY0d3vNHZPgHOFDAqa5MZLG/2E29/+x1aT3ZmrwQVDvIc23M3MydKCOi4uTrl27yiOPPCJFMRd4W+nSpZ0C9bJly+T555+XunXrytWrVyUyMlLWr18vderU8fplyPq8sT1NH507bk9zDOb4PwcPssOVK7aa9B58wMSaNKqMoRxoaq9nMrZsNn0/gwHFxMRI/vz51Qi3UaNGbi9z+fJlqVy5sowdO1Zee+01tZbVsWNHOXHihOzZs8erl0nLtWvXpGDBghIVFSUFMjG/hGfk8OEwuXEjlHsbTc5xZO74tXDhMImL4/ObVqvJ554bLN26vWzCVpNhIhLq16REVLGrUEEL1CzC5l1hYWESilqrmZCeeGHoEbVu9+7dcvHiRalSpYrUqlXLqXDBqlWr1BR5//791c/43eDBg6VZs2Zy8OBBdXlvXYbIm9vTWGCCrSazArY24i0S5UAx5c3MbvMzRaCeO3eumu7esWOHCphLly6VMmXKqN/t379fTYOHoDPBbXfddZf9d7i8ty7jKj4+Xp0cPyERUdrYajLrekjjLQyVxgqZbRKCzBmoc+XKJRs2bJCHH35Y/RwRESEPPvig9OnTR9au1YocYNqgSJEiTv+vUKFCkiNHDrXO7M3LuJo8ebKMGzcu2fknT55UU/aZkS1bggQHY/qMrCnh9vRoYMHf8KJFC+SLLz6TaMzPqlaTFaVv3/7SocN/breavCjm59vnF8tlCNSoNIa1aLxlpfC2RV6QkJCgpr8zQ3/9mz5QBwUF2YM0IJBiOrpv375qJIvf44S1bNckNGSNInNbvx5vXMbVyJEjZciQIU4j6vLly0vFihW5Rk2GXsP0R6vJ+fOny5Ilc5xaTaLMZ+vWnSzYatJ3zy8m9TDdrfeQZjlQ86xRe8p0fx1YdMdaMka5JUuWVOvW3377rdpvqbet0z/pIDkMvHUZV/oHBSJyD4lhn376rnz99SeSkKAtE7HVpPdgbIFtfogZ5cqxQ51VGboh6wW96a6D5cuXS4UKFVSQhtatW0t4eLj88ssv9stgDRujbz1T3FuXISLPW02OHt1HWrasKl988YEK0vfc01jmzl0ry5f/qWpysx905qCELkbTSBpDdjfbyFqXoUfU2MO8YMECadeunVovXrdunfz000+yZMkSp4QvTIV369ZNhg0bptbA3n33Xfn4449vr3d57zK+0rt3b7l8+YrceWdLadSosVSrdpcFpwbJqq0mP/pokqxdu9jearJRo4dVq8mGDR9kq0kvrUej0hgm86pW1crNkrUZeh+1vjUL1cn0fc49e/aUstgY6AB34auvvpKNGzeqqehOnTqppLOsuExW76PGmxtG8bgOXXBwiNSp01Dq1m0s9eo1kbvvbiSFCjknvpHZWGuN+tChPaqT1Y8/Lre3mmzevI1ag8ZrNvBkzfOLPfjI7NZ7SGcyZ5VMso/a8IHaTLwRqJG8tmHDRlm9ep3s2nVIDhzYLjExyZMOKleuYQ/c+FqlSk1OJZqKNQJ1Sq0mEaBr1aongcv7z6/eQ1ovB5pCjiv5AAO1iWVFZbLg4FtqOnHv3m2qa9Du3VslLOxIsv+Dyk0YaevBu06d+yRfPlbfNy7zBmq2mvT984vytNjNg8lErEdzJcy/GKhNzFclRCMirshff21XwRuBe//+PyQ29obTZVBZDWvbeuC+554mUqFCFa4RGob5AjVbTfrn+cUuHiSNYesV6jyxHKj/MVCbmL9qfWO72uHD++yBGyPvs2eTb8YvXLiYCtjIvsXX2rXvlbx5gzN8nBQYgZqtJv3z/OJ9AFPdyObGVDemvMkYGKhNzEhNOS5dOn97ulybMj948E/7PlYdMslr1KhrD9w4lS5dnqNunzB+oMYHwPXrv5aPP54kR48etCc2dunSX55/foiUKFHa34do2edXLweKv38kjSF5jIyDgdrEjBSoXSFIIzPXcdR96dK5ZJcrUaKM06gbxSly52ZRl0AK1CiP+N13X8jcuZPl5Mlj6jzkO/ToMUB69hwoRYoU8/chWvr5RQtU9JDGtiuMpIM56WU4DNQmZuRAnfw2bHL+/GkVsPVR9z//7FWjKEcI0rVq1bcHbqx5cyRlzUBtvVaT5nt+0ZoSNbr1cqA+LuFAHmKbS/IJJJuVKVNBndq27aLOQ0LagQO7nIJ3ZOSV2z9vFZHp6nJly4Y6jbqrV6/DgiwmhtrbS5d+rEp9oiY3FC9eSl544TXp3PlFCQnJok+LlKwcKLK7EaBZDpQcsdwV2SGxrEGDZuqkj7pRCtIxcB85sl8lquG0Zs1X9v9311332QM3tolxetQcrSZR3nPhwply9Wq4Og85Cn36vC4dO74gefLk9fchBgwkjQHKgaIDFntIkyMGakp11F2xYlV1euKJnuo8FF/Zt+8Ptc6N9W6c8Ib/xx+b1EkXGlrNXowFwRudkljb2RiwvW/Rov/KF1+8r547wNa9F18cJe3bd/d5ydxAppcDRfESJI0VLuzvIyIjYmWyAF2j9ubWnePH/3EadeNnV0hGqlu3kX2d++67G0r+/IGcyur7NerAazVp7OcX6SBIGtPLgRr9b53+j8lkJhaIgdqdq1cjVEEWfdS9b98Oe2BwHK3fcUcte+DG19DQOwJoa5jvAjVbTRrv+dXLgWKaG5nd7JZrLmGs9W1eDNTuIZP86NED9sCNUffp08eTXQ4Zxljn1gP3XXc1UPt2rSnrAzXyC+bOfUdWrvxMErHnR0Q9vuhk1axZ6wD6UGSs5xf9o5E4hoSx8uVZDtSMwhiozYuB2nNXrly07+nG1/37dyYryJIjRw6pUeNup1F32bIVLRJgsi5Qs9WkcZ9fNMXDZya9HKglXsoBKIyB2rwYqDNXZAP7uPViLDhdvHg22eWwbUivoobgjQ5NQUFmbCPk/UDNVpPGfX6xnIX16Fy5tKnuYqwZY2phDNTmxUDtXVpBFm2qHKPuQ4d2JyvIkitXbhWsHUfdJUuWkUAK1HiM5syZIL/+us5+XqtWHVUWd2C3mjTG84se0sjsRu9oJI1lIn2FDIIFT4huw55enNq06aR+jouLlQMH/rSPuBG8w8Mvyd696CS23f64oYiLY+DG9HkuDGUsBHvcd+zYpAL09u0b1XnY/ta2bVd58cWRKlGP/E9PGsMIGiPpvNyaThnA/RhkGijAce+9TdVJD1ZISnMcdaOLGLKccVq7don9/yEx7f/Bu7EUKWLOVkRsNWkesbFai0qsRWNN2mKfFcmHGKjJtJBUhkIdOHXo0F2dFxMTrfpz68Eb28SioiJl587f1EmHIi6Oa90YgSJ5zYytJnv3Hq5mEcg4MN2NzO7QUJTcZQ9pyhwWPPEirlEbM8CdOHHYadSNrGhXISH5VREWPXCjOEvWNqHwbI2arSbNNc2N4IyvxYuHSdGioaqHNDO7rSfMx8lkHFGTpWHdtkqVmur01FMvqPMwwtbWtfVR9w65fj1atm79WZ300Tqqdunr3PhauXJ1n20NY6tJc0BuI/ZFY5obU9uoMob1aARsFDMh8gYGagPDHzugH2327P4+GusoWLCwNG/eWp3g5s2bqiCLPurGCcVCjh49qE7Lls1TlytUqIhqOKIH7jp17vN6Zym2mjS+W7e0LlcI0PjchmxuTG9jUBQSop2H3xN5C6e+DTj1Df/+GyY5coSqjFH9DQEBW38joKyFbHIEbn3UjYIsCKKuo3W0+NTXupGkVq5cJQ9H3c5T3ym1muzVa5h06tSXrSb9DPugMWrGh2d8j79DjJwxgkagdv0g7Y2pUTKuMO6jNi9vBmr9hYAqRnhziIzUTvikjjiANwoEbgZtXxZk+cu+zo2v2Oftqlixkk7T5bVr10+hXaQWqN21mkRiWO/er6upenMWc7GO+Hjt7w9/h9haVaSI1uEKf96p9TBhoLa2MAZq88qKQO0IbxbR0Wh6oe3NxCd8fJJH0MabCIO2b124cMZp1I2CLHpNbR32b9eseY/TqLtUqXISEbFbFi1a4dRqEpnoffuOZKtJP0MyGGaxEKTRLAOj5qJFteDsafMMBmprC2OgNq+sDtSubyYI2vpIOy4OtbG1oI3etgzavoepcRRk0QM3Tqhp7gpFXKKiwuXG7YVMbA1DFTG2mvTvdio9KQx/R/jzxdQ2vmLmKr0YqK0tjFnf5IncubVP+Tjhkz+CNkbZGG2j8D+m5fSRNvkGpqnr179fnfTiJGfOhDlNl6Mgiz5ljvKe6GTVokUHtd5NvoW1ZgRnPQcELWVRPQwjaHzPD7tkFMz6tgBMx+GEEQBG1gjaaACAqkg46UEbI23yHSSVlS9fSZ3at++mzrt+PUYlpuXKFS716nW0SCcwc9GTwpC9jdEyWk0WKqQlhRm45g0FMAZqi0EwxgmFFhyDNkbZGG1jJI6gzUb1/oHtXI0aPXQ7mYxB2h/FSPD3gT3OSAzD1DZLe5LRMVAHSNDGKAJBG1189LVtBG1M8eErkRWLkSA44wMrXuOO686cXSIzYaAOEFirxskxaOvT4xhlYISNkTaDNpkZprOx5ow8PSz7YzobU9t6UhhXGsiMGKgDjF44BSdM/+ENzXGkjVEIgjZ+z6BNZkkK0yuF6cVIsGFCTwpjnh6ZHQN1ANMLp+BUsqT2Ruc40kbQxhQhfs91PDIaTGljahtbqzBbhHaSKEaCUXRqxUiIzIYvZ1L07Sk4lSqlvQHidPmyloiGN0M9aPNNkIyQFIaZHySEYd0ZwZkJkmRVDNSUjN5oACd9pI0RNqbHkYSGdUCMYDA9zqBNvupQhRE0Xm+OSWGsE0CBgIGaUqUn5OBUurQ2mtGDNgqsYE1QX/PmHlTKyg5VmNrGujMb01CgYaCmdAVtjGJwcgzamB5H4Aa9GhqDNmW0QxWCMwI1XksVKmjFSLAkw9cUBSoGasoQvGlidIMTRjpIQsNaNhLRHIM2e2lTWlACF8EZ6874kIflFqw9YxTNJEYiBmryUtDGqAensmX/H7QxNY7RtuOWMG6VIUCTMX3dWS9Ggj3+CM4sRkLkjCNq8iok+2CLDE4I2pge19ty6kGbvbQDE3YOYN0ZJ3y4Q1DG1Da+shgJUcoYqCnLYNpSD9rlyjn30r50ib20A6lD1e2Oniog6x2q8IGNMyxEaWOgJp8Fbaw74qQHbb2XNhLSMMJCwhB7aVurGAm2ViE4Y3YFSyOY4mZSGFH6MFCTz7GXdmAUI8FeZ71DFcvREmUcAzUZrpc2RtmYImcvbfMUI8G2KsyaYEq7aFEWIyHyJgZqMgz20jZvMRJMbWPkzGIkRN7HQE2GxF7axixGgqltvUNVxYraCBqBmklhRFmHgZpM30sb659IROM6aNYUI0Fwxr5nPAdo2KKvO7POO5FvMFCTZXppI5hgvRujPQbtjMPjiOCMII3HE9vr9HVndqgi8j0GarJcL209aLOXdvqKkej7nfUOVZjaxld8MCIi/2GgJsv10taDNntpe1aMRE8Kw+NXubK27ozvcR4R+R8DNVk2aLOXtnt6UhiytzFaRgEaTG8jKYzFSIiMh4GaLIu9tN0XI8GSABLz9HVndqgiMjYGagoInvTS1hPVrDKqRDES3E/HDlUoLIOv7FBFZB4M1CSB3ktb7/CFRDSc9H3CZmzLielsPSlMn1EoX/7/SWFcdyYyHwZqCmiOQVtvy4le2gjYZumljQ8WevtIBGp8yAgN/X9SmFGPm4g8w0BNpP8x5NQ6POGEoO3YltOIvbT1DlXYWoViJJjS15PCWIyEyDoYqInc/WHkNGYvbdcOVagShnVnBGcWIyGyJgZqIi/00s7KoI0Rs54Uhg8QCMrI2sa6M26TiKyNgZook7209bac+N4xaHuzQxXWmpH4hnVndqgiCiwM1ERe6KWtB21MjSNoIyENI3EEVU+3QukdqhCc9WIkFSpoa+YI1FbZNkZE6cN8UAenT5+W9u3bS0hIiBQtWlReeuklicU7J1Ea9IBdrZpInToiNWtq69t4+Vy4oAVwBHN3cD5+f/GitvaMimq1amnXo7eSZJAmClwcUd+WlJQkbdq0kfLly8uRI0ckIiJCOnTooAL1ggUL/PsskeV6aWOUjPVtx2IkuDzWn1mMhIgcMVDf9v3338uBAwdkzZo1UrZsWXUaP368PPvsszJlyhQpgb6KRBnspe3YllMvqoKAjKltBGejbPkiIuPh1PdtW7dulUqVKklFzDXe1qJFC7l586bs2LHDX88PWQiCMaa1MS2OqfLatbVuX0wOI6LUcER924ULF6Q45h4d4Ods2bKp37kTHx+vTrprmMskSgNGztiHzYphROQJBmoPIFi7M3nyZBk3blyy80+ePCn5MZ+ZCQkJCRIWFpap6yDj4vNrbXx+rS3BC+/P0VgH8xAD9W2lSpWSTZs2OT04ly9fFpvNJiUxX+nGyJEjZciQIU4jaiSjYfq8ALKDMgEvglAUbCZL4vNrbXx+rS3MC+/P6ZmB5Rr1bU2aNJETJ06o0bBu48aNkiNHDmnYsKHbBy8oKEgFZMcTERGRNzFQ3/bYY49J7dq1pX///nL27FnZv3+/jB49Wnr06MGMbyIi8hsG6tty5swpa9euVSPoatWqSfPmzaVVq1Yye/Zs/z07REQU8LhG7aBChQqyevXqgH9REBGRcXBETUREZGAM1ERERAbGQE1ERGRgDNREREQGxkBNRERkYAzUREREBsZATUREZGAM1ERERAbGgidehAYe3mp3ic4qbJtpXXx+rY3Pr7VFe+H9Wf//etxIDQO1F+lty9BBi4iIyJO4UbBgwVQvk83mSTgnj9y6dUvOnTunelGn1MPaE3q7zNOnT7MjlwXx+bU2Pr/Wds1L788IvQjSZcqUkezZU1+F5ojai/BglytXzmvXx9aZ1sbn19r4/FpbAS+0Nk5rJK1jMhkREZGBMVATEREZGAO1AQUFBcnYsWPVV7IePr/WxufX2oL88P7MZDIiIiID44iaiIjIwBioiYiIDIyBmoiIyMAYqA3o8OHDsnnzZn8fBmWBGzduyN69e+Xs2bN8fC0oISFB9u3bJ8eOHZObN2/6+3Aoixw5ckS9R+Pv2RcYqA3k22+/lfvvv18aN24sDzzwgCQlJfn7kMhLLl68KC+88IKqQvT8889LnTp1pEmTJnL8+HE+xhaAv9U33nhDypYtK88++6w0b95cqlSpIj///LO/D42yIEg3aNBAvUf76u+XgdpADh06JFOmTJHZs2f7+1DIy1BusFmzZnLlyhXZs2ePnDp1SvLmzSvdu3fnY20B8fHxUrx4cfW84vk9c+aMtGvXTjp16qRKC5N1nucuXbpIv379fHq73J5lQEuWLJGuXbtKYmKi5MzJKq9W9dlnn6lRNv74+Txbz7Jly6Rz584SFRWl6v+T+Q0YMEDV53755ZfVqHr//v1Su3btLL9dRgEiP9m5c6dUrFiRQdpCsDZ9/vx5NbJ+++23ZeTIkQzSFrF69WpZt26dmjFBHpEvMVAT+cGmTZvk448/lrlz5/Lxt1ieyapVq9TaJRr0PP300/4+JPICJH/26dNHVq5c6ZcPXlyjJvKxP//8U5544gkZOHCgSiwj63j99ddl69at6o29RYsW8uCDD0p4eLi/D4syqX///ir5E0mDyPb+66+/1PkYXR89elSyGgM1kQ/t3r1bHn30URWgp02bxsfeonLkyCFDhgxR69Pbtm3z9+FQJhUtWlQuXbokI0aMUKf3339fnT9z5kyVi5DVOPVN5CPYP40g3aNHD/UHTtZx/fp1CQkJSbZerb/Jk7ktWLDA6eddu3apZLJFixYxmSzQ4A/7woUL9kSFLVu2qE/md911l8cNxsm4ey8feeQR9UeNdUvHgjb33Xef5M6d26/HR5nz/fffy/z589V2LOylxt8wtlo+9thj0qhRIz68lCncnmUg+MNGZqGrWbNmyb333uuXYyLv+PHHH1UWsDsrVqxQe3DJ3H7//Xc1wjp58qSUKlVKWrdurQI3PmyTtRw+fFh69eoln3/+uVSqVCnLb4+BmoiIyMCYTEZERGRgDNREREQGxkBNRERkYAzUREREBsZATUREZGAM1ERERAbGQE1ERGRgDNREZFhoboGOVIHk4sWLqid9Sj9T4GGgJsv77rvv5NChQxIIYmNjVYUsVDtDM4iIiAgxe8/uZ599NkvL9uL1sXbtWvWhwNdQMvjrr792Om///v3StWvXFH+mwMNATZb30ksvyfLly8XKbt26JePHj5eSJUvKq6++qkobDh8+XNUW7969u1y9etXfh2goehtKlOZFT/D33ntPqlevLt26dZOYmBifNmp55plnnM5D+dHOnTv77BjI+Ng9iwIOphEfeugh1Vt23759UqRIEdUYI1u2bE6Xi4uLkx07dqjOSA0bNkzWBSkyMlKNWhEkGzdunOz3+u0kJCSoURFuR2/QgB62GOVXrlxZNV1xhdtGX2OMkPH7ChUqpHqfEJTnzZunRoYPPPCA/fybN2+qERvuQ6FChZyOC+ehry4C1J133mlvHnLw4EF1rOi/mytXLvt1HT9+XP3u8ccft5935coV+fnnn1VN6+zZs6sAuH37dvnPf/6jHlvUva5bt65UrFjR6Xijo6Pljz/+UMeHYInbSw0eY3fXFx8fr2YP0PCkWLFi9svjcVu1alWy8/XfoYsZzg8LC7M/LmfOnFHnP/XUU6rJhqf3Ga0s169fr34XFBQkVapUkTp16jjdpv64PPnkk+o1dfr0afWa+/XXX8Vms9mntqtVq6aaeqBfuSejccw45MuXT+rVq5escU96H2MyMBuRxZUtW9Y2fvx4+8942bdp08ZWtWpVW7t27WzFihWztW/f3un//Prrr7ZSpUrZqlevbmvdurWtUqVKtu+++87++2+//daWL18+W+PGjW3333+/LSQkxLZ48WKn68DtNGvWTN1O27Zt1eWffvpp27Bhw2zVqlVT5wUHBzsdG/z+++/qtu+77z51mcKFC9tGjhyZ4v07deqULWfOnLZ3333Xo8cDx6XfpyeffNK2fPlydX6/fv3UMbZs2dJWpUoVddz//vuv/f998skntooVKyY7VlxfbGys+nnFihW2oKAg20MPPWSrV6+e7cEHH7Tlzp3bNnfuXPv/2bJli7pPeOzwPISGhtqWLFni9lg9ub7atWvbxo0b5/T/Fi5caCtYsKDtxo0bya5z9uzZtuzZs9sOHTqU7Hfff/+9uj8bNmzw+D6fPn3a1rlzZ3Xq0KGDeu4eeeQRW1xcXLL7gfMbNGigLrt582Zb8+bNbdmyZbP///nz59t++ukndf06159h0qRJ6v61atVKvcbwGsaxZ+QxJuNjoKaADNQIRvHx8ernY8eO2XLkyGH77bff1M+RkZHqTW7w4MG2W7duqfOuXbtmf/OOiIiwFSlSxPbOO+/Yr3PatGm2AgUK2C5duuR0O4899pgtMTFR/bx+/Xp1Ht7Mk5KS1HnLli1Tb+DXr1+33w7edD///HP79YSFhak3Zbxhu4OghOvF/fAELosPF3qggZUrV6oAuG/fPvUzHpsWLVqogJ7eQI2fBw4c6PT/8IHkwoUL6ucnnnjC9tJLL9l/j/vuGGQceXJ9s2bNUh869OcKELz69+/v9jpx+wjuKcGHleHDh3t8n13h/tSqVUsdl+v9cP1QhtcEXnuO0grU69atU6+REydOOL0GSpQoYX8dpecxJuPjGjUFJLSo03tAY6qyfPny9j7gaDWKaeEJEybYp8Pz588vDz/8sL1lJaZPBw0aZL++AQMGqClMfQpU98ILL0jOnNoKE6bH9dvWWx/iPEzfnjp1yum2MYW6bNkydcJUaWhoqPzyyy8pToGC4/Q41qQxnaqfMKXtqG/fvpInTx77z7hMu3bt7NPweGyGDRum7s+1a9fS/fji/zo+BiEhIbJmzRr1c968edWUs369wcHB0qpVqwxfX48ePeTcuXP2x+fff/9VCXW4XEqPV2pLCfid/ph6ClPzu3btkpUrV6rkNFwHpp1d4XWSWQsWLFBLFbg9vD6wtIHX06VLl9Q0fUYfYzIurlFTQHJdr0NgxLowIGiWK1dOvbm5g3VSrCPi/+iwlos3Z/zOUeHChZ1uI6Xz9NvGmysCu+uWpBo1aiRb59VhjRLCw8NVIhJg3RRBA5BIN3XqVLX+qStdunSy+3T//fc7nYcPMPrv3K2jpwSPBR4fHdZxHR+biRMnqg8rOFas07Zp00Yl/On3I73Xh+cSa+Lz589XH6bwFUl0KfVwx+3gsUoJ1qDTs56LtW2shePDG24XH+rwPCYmJjpdDq+nAgUKSGbhupHw9s033zidjwQ0/UNheh9jMjYGaiIXSC5K7Y0cSUjutj3hPNfEpfTCGzlGZ1999ZUKSJ7AGzFg5N2hQwf1PYK6nqCkJ0s5ck2cc3ef9J/1+4TjwbE50j9gOEKAQiBxDApIvNOvp1KlSrJx40b1GG/atEkmTZqkRse//fab2/uX1vVBnz591IwAjnnRokUydOjQVB+v999/X32YcU3AQvIYRqZ6kPfkPuP48cHup59+sj+uvXv3VgE1tcc8M6+RqlWrqtdIStL7GJOxceqbyAVGR5gyxBSmo8uXL6uvyIbG1DIydnXI0MZ0KX6XGS1btlQjsy+++MLpfGSOY6TnToMGDaRp06YyevRoFcAyAv9/3bp1TkEI06oYVeujb4xqUXwD2cS6lKbj9dG8vgXpxIkT9hG7vl8ZWfIdO3ZUx41pYm35XNJ9fYAs9jJlyqhRJAIttqSlBNP+yITGdjZHuP3XX39djdZxXJ7eZzzvmK3QAzGWLvSs8bTgwweOxXX0nZrHHntMLZG47vt2/DkjjzEZF0fURC6wXWnMmDHSpUsXtaaILVQYndx9990ycuRINQ398ssvq2082BaFURemljGqw2UyA2/4CCC4LqxB4vowMsM0J7ZfpTRiX7p0qdpChLVLFAjB9SC4Y5SNbWhpbe/C3mtMGSPg4f///fffMmfOHKf9582bN1dBG/cb06zY2uU6/QpYLx0xYoQ6bkwDT5s2TW1lql+/vvo9pmCxPo7rgw8//FAFk5RGnGldH+D/IkiPGjVKHV9qMxv6bAOKiKDgCR43BEqch/VtjDz19XtP7jO2UvXr108FdSxr4HlCsPYEni9MieMDAkb6jssTKXnllVdUoMaWQbwOEYz37NkjGzZssOcipPcxJmPjiJosD9PBtWrVsv+MN1x9LVfXtm1bpzfJcePG2RO7/vzzT/UmhyCt++9//6ve/PDGiKA2a9YsFdgcud4OAg7OK168uNMaNc5zXLdGsMF0JRK6kBSFxCCM0FzXkB1hNIkR00cffaQCNP4/ghDe/BHgsH83tfuP20BQx+WwNxwfPjBLgOlkHd748TtMC+MrHi8km+H69OQ4/XI4bgQ/BBAEIRRg0WHfMwIfEp8OHDiggvDChQvd3i9MKWN0nNr16fS9xyklkTlCcMZedjymmzdvls8++0x9xf5oxw9bntznnj17ypdffqnWzBHIcXx4beBDj+P9wH12hbVw3CY+TGHfN/6/a8ET159xTAjKU6ZMUc/t7t275Z577lH/NyOPMRlfNqR++/sgiMgaMEWNwOrL6l66GTNmqA9QWGd2/ODgCUz5Y4SKqWh8yHEs9ELkbxxRE5GpYUYDZUAnT56sZj3SG6T1USq2OWGJAKNVIiPhGjUReU1KU7xZCVPYyGYeO3asWivOTG7C4sWLvXpsRN7AqW8iIiID49Q3ERGRgTFQExERGRgDNRERkYExUBMRERkYAzUREZGBMVATEREZGAM1ERGRgTFQExERGRgDNRERkRjX/wDhZOCKX7QCOAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "groups = np.arange(1, 5)\n", + "\n", + "fig, ax = plt.subplots(figsize=(5, 5))\n", + "ax.plot(groups, group_est, color=\"black\")\n", + "ax.fill_between(groups, lwr_ci, upr_ci, alpha=0.15, color=\"blue\", label=\"95% CI\")\n", + "ax.set_xticks(groups)\n", + "ax.set_xlabel(\"Income Groups by Quartiles\")\n", + "ax.set_ylabel(\"ATE\")\n", + "ax.set_title(\"Under conditional ignorability\")\n", + "ax.legend()\n", + "ax.grid(color=\"0.85\", linewidth=0.6)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "c013", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RV_alpha (alpha=0.05, threshold theta=0)\n", + " partially linear: 5.6%\n", + " nonparametric : 4.6%\n" + ] + } + ], + "source": [ + "%%R\n", + "rv.plm <- robustness_value(dml.401k.plm)\n", + "rv.npm <- robustness_value(dml.401k.npm)\n", + "cat(sprintf(\n", + " \"RV_alpha (alpha=0.05, threshold theta=0)\\n partially linear: %.1f%%\\n nonparametric : %.1f%%\\n\",\n", + " 100*rv.plm[\"ate\"], 100*rv.npm[\"ate\"]))" + ] + }, + { + "cell_type": "markdown", + "id": "c014", + "metadata": {}, + "source": [ + "## The Main Confounding Scenario\n", + "\n", + "The main scenario assumes $C_Y^2 = 0.04$ (outcome variation from unobserved firm characteristics equivalent to three years of maximum employer match), $q_\\alpha \\approx 0.03$ on the treatment side, and $|\\rho| = 1$ (worst-case alignment)." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "c015", + "metadata": {}, + "outputs": [], + "source": [ + "%%R\n", + "cf.y <- 0.04\n", + "cf.d <- 0.03\n", + "rho2 <- 1\n", + "\n", + "bounds.plm <- dml_bounds(dml.401k.plm, cf.y=cf.y, cf.d=cf.d, rho2=rho2)\n", + "bounds.npm <- dml_bounds(dml.401k.npm, cf.y=cf.y, cf.d=cf.d, rho2=rho2)\n", + "cb.plm <- confidence_bounds(dml.401k.plm, cf.y=cf.y, cf.d=cf.d, rho2=rho2)\n", + "cb.npm <- confidence_bounds(dml.401k.npm, cf.y=cf.y, cf.d=cf.d, rho2=rho2)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "c016", + "metadata": {}, + "outputs": [], + "source": [ + "%%R -o plm_ts -o plm_bb -o plm_tm -o plm_tp -o plm_cbl -o plm_cbu -o npm_ts -o npm_bb -o npm_tm -o npm_tp -o npm_cbl -o npm_cbu\n", + "plm_b <- coef(bounds.plm)[, \"ate\"]\n", + "plm_ts <- plm_b[\"theta.s\"]; plm_bb <- plm_b[\"bias.bound\"]\n", + "plm_tm <- plm_b[\"theta.m\"]; plm_tp <- plm_b[\"theta.p\"]\n", + "plm_cbl <- cb.plm[\"ate\", 1]; plm_cbu <- cb.plm[\"ate\", 2]\n", + "\n", + "npm_b <- coef(bounds.npm)[, \"ate\"]\n", + "npm_ts <- npm_b[\"theta.s\"]; npm_bb <- npm_b[\"bias.bound\"]\n", + "npm_tm <- npm_b[\"theta.m\"]; npm_tp <- npm_b[\"theta.p\"]\n", + "npm_cbl <- cb.npm[\"ate\", 1]; npm_cbu <- cb.npm[\"ate\", 2]" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "c017", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Short ATEBias boundATE bounds95% conf. bounds
Partially linear$9,114$4,201[$4,918, $13,311][$2,725, $15,573]
Nonparametric$8,198$4,529[$3,644, $12,752][$1,618, $14,805]
\n", + "
" + ], + "text/plain": [ + " Short ATE Bias bound ATE bounds 95% conf. bounds\n", + "Partially linear $9,114 $4,201 [$4,918, $13,311] [$2,725, $15,573]\n", + "Nonparametric $8,198 $4,529 [$3,644, $12,752] [$1,618, $14,805]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "def fmt(v): return f\"${v:,.0f}\"\n", + "\n", + "table = pd.DataFrame({\n", + " \"Short ATE\": [fmt(plm_ts[0]), fmt(npm_ts[0])],\n", + " \"Bias bound\": [fmt(plm_bb[0]), fmt(npm_bb[0])],\n", + " \"ATE bounds\": [f\"[{fmt(plm_tm[0])}, {fmt(plm_tp[0])}]\",\n", + " f\"[{fmt(npm_tm[0])}, {fmt(npm_tp[0])}]\"],\n", + " \"95% conf. bounds\": [f\"[{fmt(plm_cbl[0])}, {fmt(plm_cbu[0])}]\",\n", + " f\"[{fmt(npm_cbl[0])}, {fmt(npm_cbu[0])}]\"],\n", + "}, index=[\"Partially linear\", \"Nonparametric\"])\n", + "table" + ] + }, + { + "cell_type": "markdown", + "id": "c018", + "metadata": {}, + "source": [ + "### Group Effects Under the Scenario\n", + "\n", + "The same income groups, now with sensitivity bounds (orange) and 95% confidence bounds (blue)." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "c019", + "metadata": {}, + "outputs": [], + "source": [ + "%%R -o lwr_bound -o upr_bound -o lwr_cbound -o upr_cbound\n", + "bds <- confidence_bounds(dml.401k.npm, cf.y=cf.y, cf.d=cf.d, rho2=rho2, level=0)\n", + "cbds <- confidence_bounds(dml.401k.npm, cf.y=cf.y, cf.d=cf.d, rho2=rho2, level=0.95)\n", + "lwr_bound <- bds[group.names, 1]\n", + "upr_bound <- bds[group.names, 2]\n", + "lwr_cbound <- cbds[group.names, 1]\n", + "upr_cbound <- cbds[group.names, 2]" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "c020", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axes = plt.subplots(1, 2, figsize=(10, 5))\n", + "\n", + "# Left: under ignorability\n", + "ax = axes[0]\n", + "ax.plot(groups, group_est, color=\"black\")\n", + "ax.fill_between(groups, lwr_ci, upr_ci, alpha=0.15, color=\"blue\")\n", + "ax.set_xticks(groups); ax.set_xlabel(\"Income Groups by Quartiles\")\n", + "ax.set_ylabel(\"ATE\"); ax.set_title(\"Under conditional ignorability\")\n", + "ax.grid(color=\"0.85\", linewidth=0.6)\n", + "\n", + "# Right: with confounding\n", + "ax = axes[1]\n", + "ax.plot(groups, group_est, color=\"black\")\n", + "ax.fill_between(groups, lwr_bound, upr_bound, alpha=0.15, color=\"red\", label=\"Bounds\")\n", + "ax.fill_between(groups, lwr_cbound, upr_cbound, alpha=0.10, color=\"blue\", label=\"95% conf. bounds\")\n", + "ax.set_xticks(groups); ax.set_xlabel(\"Income Groups by Quartiles\")\n", + "ax.set_ylabel(\"ATE\"); ax.set_title(\"With unobserved confounding\")\n", + "ax.legend(); ax.grid(color=\"0.85\", linewidth=0.6)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "c021", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(5, 5))\n", + "ax.plot(groups, group_est, color=\"black\", label=\"Point estimate\")\n", + "ax.plot(groups, lwr_ci, color=\"black\", linestyle=\"--\")\n", + "ax.plot(groups, upr_ci, color=\"black\", linestyle=\"--\")\n", + "ax.fill_between(groups, lwr_bound, upr_bound, alpha=0.15, color=\"blue\", label=\"Bounds\")\n", + "ax.fill_between(groups, lwr_cbound, upr_cbound, alpha=0.05, color=\"blue\")\n", + "ax.plot(groups, lwr_bound, color=\"blue\")\n", + "ax.plot(groups, upr_bound, color=\"blue\")\n", + "ax.plot(groups, lwr_cbound, color=\"blue\", linestyle=\"--\")\n", + "ax.plot(groups, upr_cbound, color=\"blue\", linestyle=\"--\")\n", + "ax.set_xticks(groups)\n", + "ax.set_xlabel(\"Income Groups by Quartiles\")\n", + "ax.set_ylabel(\"ATE\")\n", + "ax.set_title(\"Confidence and Sensitivity Bounds\")\n", + "ax.legend(); ax.grid(color=\"0.85\", linewidth=0.6)\n", + "plt.tight_layout(); plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "c022", + "metadata": {}, + "source": [ + "## Benchmarking\n", + "\n", + "Rather than posit $C_Y$ and $C_D$ abstractly, we calibrate them against observed covariates. Dropping each covariate, refitting, and reading off the gains provides a reference scale." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "c023", + "metadata": {}, + "outputs": [], + "source": [ + "%%R\n", + "set.seed(2)\n", + "invisible(capture.output(\n", + " bench.plm <- dml_benchmark(dml.401k.plm,\n", + " benchmark_covariates=c(\"inc\",\"pira\",\"twoearn\"))\n", + "))\n", + "out <- summary(bench.plm)$benchmarks" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "c024", + "metadata": {}, + "outputs": [], + "source": [ + "%%R -o bench_plm_r\n", + "bench_plm_r <- as.matrix(round(out[, c(\"gain.Y\",\"gain.D\",\"rho\")], 4))" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "c025", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PLM benchmarks:\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
gain.Ygain.Drho
inc0.13660.0502-0.3372
pira0.04870.0081-0.1317
twoearn0.03990.01120.2589
\n", + "
" + ], + "text/plain": [ + " gain.Y gain.D rho\n", + "inc 0.1366 0.0502 -0.3372\n", + "pira 0.0487 0.0081 -0.1317\n", + "twoearn 0.0399 0.0112 0.2589" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bench_df = pd.DataFrame(bench_plm_r,\n", + " columns=[\"gain.Y\", \"gain.D\", \"rho\"],\n", + " index=[\"inc\", \"pira\", \"twoearn\"])\n", + "print(\"PLM benchmarks:\")\n", + "bench_df" + ] + }, + { + "cell_type": "markdown", + "id": "c026", + "metadata": {}, + "source": [ + "## Contour Plots\n", + "\n", + "Contour plots of the lower 95% confidence bound on the ATE as a function of $(q_\\alpha, C_Y^2)$. Benchmark points from the table above are overlaid." + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "c027", + "metadata": {}, + "outputs": [], + "source": [ + "%%R\n", + "ovb_contour_without_origin_label <- getS3method(\"ovb_contour_plot\",\"dml\")\n", + "plot_body <- as.list(body(ovb_contour_without_origin_label))\n", + "is_origin_label <- vapply(plot_body, function(expr)\n", + " is.call(expr) && identical(expr[[1L]], as.name(\"text\")) &&\n", + " \"label.unadjusted\" %in% all.names(expr), logical(1))\n", + "stopifnot(sum(is_origin_label) == 1L)\n", + "plot_body[is_origin_label] <- list(quote(invisible(NULL)))\n", + "body(ovb_contour_without_origin_label) <- as.call(plot_body)\n", + "\n", + "bumps.plm <- list(pira=c(0.010,0.009), twoearn=c(0.020,-0.002),\n", + " inc=c(0.010,0.009), inc4=c(0.015,-0.005))\n", + "bumps.npm <- list(pira=c(0.005,0.009), twoearn=c(0.020,0.005),\n", + " inc=c(-0.010,0.009), inc4=c(0.015,0.000))\n", + "\n", + "contour_panel <- function(fit, bench_out, rho2, title, bumps=bumps.plm) {\n", + " ovb_contour_without_origin_label(fit, which.bound=\"lwr\", level=0.95,\n", + " cf.y=NULL, rho2=rho2, col.contour=\"blue\",\n", + " label.bump.x=0.015, label.bump.y=0.003, lim.x=0.16)\n", + " title(main=title)\n", + " add_bound <- function(cfd, cfy, label, bx, by, ...) {\n", + " sensemakr::add_bound_to_contour(r2dz.x=cfd, r2yz.dx=cfy,\n", + " bound_label=label,\n", + " bound_value=confidence_bounds(fit, cf.y=cfy, cf.d=cfd, rho2=rho2,\n", + " level=0.95, combine.method=\"median\")[\"ate\",\"lwr\"],\n", + " label.bump.x=bx, label.bump.y=by, ...)\n", + " }\n", + " add_bound(0.03, 0.04, \"Max Match\", 0.015, 0.003, point.pch=25, point.bg=\"red\")\n", + " add_bound(bench_out[\"pira\",\"gain.D\"], bench_out[\"pira\",\"gain.Y\"], \"1 x Part. in IRA\",\n", + " bumps$pira[1], bumps$pira[2])\n", + " add_bound(bench_out[\"twoearn\",\"gain.D\"],bench_out[\"twoearn\",\"gain.Y\"],\"1 x Two Earners\",\n", + " bumps$twoearn[1],bumps$twoearn[2])\n", + " add_bound(bench_out[\"inc\",\"gain.D\"], bench_out[\"inc\",\"gain.Y\"], \"1 x Income\",\n", + " bumps$inc[1], bumps$inc[2])\n", + " add_bound(bench_out[\"inc\",\"gain.D\"]*0.25,bench_out[\"inc\",\"gain.Y\"]*0.25,\"1/4 x Income\",\n", + " bumps$inc4[1], bumps$inc4[2])\n", + " add_bound(0, 0, \"Unadjusted\", 0.015, 0.003, point.pch=NA)\n", + " invisible(NULL)\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "c028", + "metadata": {}, + "source": [ + "### Partially Linear Model" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "c029", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%%R\n", + "options(repr.plot.width=7, repr.plot.height=7)\n", + "contour_panel(dml.401k.plm, out, rho2=1,\n", + " title=expression(paste(\"Partially Linear Model, |\",rho,\"| = 1\")))" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "c030", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%%R\n", + "contour_panel(dml.401k.plm, out, rho2=(1/2)^2,\n", + " title=expression(paste(\"Partially Linear Model, |\",rho,\"| = 1/2\")))" + ] + }, + { + "cell_type": "markdown", + "id": "c031", + "metadata": {}, + "source": [ + "### Nonparametric Model\n", + "\n", + "The nonparametric model requires separate benchmarks; `gain.D` here measures a relative gain in propensity-score precision." + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "c032", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " gain.Y gain.D rho\n", + "inc 0.1315 0.1288 -0.218\n", + "pira 0.0267 0.0000 0.000\n", + "twoearn 0.0113 0.0000 0.000\n" + ] + } + ], + "source": [ + "%%R\n", + "set.seed(2)\n", + "invisible(capture.output(\n", + " bench.npm <- dml_benchmark(dml.401k.npm,\n", + " benchmark_covariates=c(\"inc\",\"pira\",\"twoearn\"))\n", + "))\n", + "out.npm <- summary(bench.npm)$benchmarks\n", + "round(out.npm[, c(\"gain.Y\",\"gain.D\",\"rho\")], 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "c033", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%%R\n", + "contour_panel(dml.401k.npm, out.npm, rho2=1, bumps=bumps.npm,\n", + " title=expression(paste(\"Nonparametric Model, |\",rho,\"| = 1\")))" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "c034", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%%R\n", + "contour_panel(dml.401k.npm, out.npm, rho2=(1/2)^2, bumps=bumps.npm,\n", + " title=expression(paste(\"Nonparametric Model, |\",rho,\"| = 1/2\")))" + ] + }, + { + "cell_type": "markdown", + "id": "c035", + "metadata": {}, + "source": [ + "The nonparametric contours are slightly more conservative, but the message is similar. Under perfect adversarial alignment, income-strength confounding can overturn the finding; the contextual matching scenario cannot. At $|\\rho| = 1/2$, the lower confidence endpoint for the main scenario remains comfortably positive." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3.8.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/T-ADML/python-ADML-gas.ipynb b/T-ADML/python-ADML-gas.ipynb new file mode 100644 index 00000000..e688ed72 --- /dev/null +++ b/T-ADML/python-ADML-gas.ipynb @@ -0,0 +1,1442 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c001", + "metadata": {}, + "source": [ + "# Empirical Example for Sensitivity Analysis: Gasoline Demand\n", + "\n", + "This is an adaptation of the replication package for Chernozhukov, Cinelli, Newey, Sharma and Syrgkanis,\n", + "*Long Story Short: Omitted Variable Bias in Causal Machine Learning* \n", + "\n", + "The original replication package can be found __[here](https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/VH6QHQ)__." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "c002", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install econml==0.16.0" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "c003", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import scipy\n", + "import scipy.special\n", + "import scipy.stats\n", + "from sklearn.model_selection import StratifiedGroupKFold, KFold\n", + "import pandas as pd\n", + "import math\n", + "from sklearn.base import clone, BaseEstimator, TransformerMixin\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.preprocessing import StandardScaler, PolynomialFeatures\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.linear_model import LinearRegression, Lasso, LogisticRegression\n", + "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", + "from IPython.display import display\n", + "from scipy.optimize import fmin_l_bfgs_b\n", + "from econml.dml import LinearDML\n", + "from econml.sklearn_extensions.model_selection import GridSearchCVList\n", + "from econml.utilities import cross_product\n", + "# BaseGRF is an internal econml API; may need updating across econml versions\n", + "from econml.grf._base_grf import BaseGRF" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "c004", + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + "from sklearn.exceptions import ConvergenceWarning\n", + "\n", + "warnings.filterwarnings('ignore', category=ConvergenceWarning)" + ] + }, + { + "cell_type": "markdown", + "id": "c005", + "metadata": {}, + "source": [ + "## Module Definitions\n", + "\n", + "The following cells define helper classes and functions used by this notebook.\n", + "They are inlined here so the notebook runs in Google Colab without requiring local files." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c006", + "metadata": {}, + "outputs": [], + "source": [ + "def mean_ci(data, confidence=0.95):\n", + " a = 1.0 * np.array(data).flatten()\n", + " n = len(a)\n", + " m, se = np.mean(a), scipy.stats.sem(a)\n", + " h = se * scipy.stats.t.ppf((1 + confidence) / 2., n - 1)\n", + " return m, se, m - h, m + h" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c007", + "metadata": {}, + "outputs": [], + "source": [ + "class Featurizer(TransformerMixin, BaseEstimator):\n", + " ''' Creates features of the form X[:, 1:] * poly(X[:, 0])\n", + " i.e. some polynomial of the treatment, multiplied by some other feature.\n", + " '''\n", + "\n", + " def __init__(self, *, degree=1, normalize=True):\n", + " self.degree = degree\n", + " self.normalize = normalize\n", + "\n", + " def _transform(self, X):\n", + " Tfeats = PolynomialFeatures(degree=self.degree, include_bias=True).fit_transform(X[:, [0]])\n", + " feats = cross_product(Tfeats, X[:, 1:])\n", + " return feats\n", + "\n", + " def fit(self, X, y=None):\n", + " if self.normalize:\n", + " self.scaler_ = StandardScaler().fit(self._transform(X))\n", + " return self\n", + "\n", + " def transform(self, X):\n", + " if self.normalize:\n", + " return self.scaler_.transform(self._transform(X))\n", + " return self._transform(X)\n", + "\n", + "\n", + "class SieveRR(BaseEstimator):\n", + " ''' Linear sieve representation learning with some feature map and l2 penalty. '''\n", + "\n", + " def __init__(self, *, featurizer, moment_fn, alpha=0):\n", + " self.alpha = alpha\n", + " self.featurizer = featurizer\n", + " self.moment_fn = moment_fn\n", + "\n", + " def fit(self, X):\n", + " self.featurizer_ = clone(self.featurizer).fit(X)\n", + " n_samples = X.shape[0]\n", + " Xfeats = self.featurizer_.transform(X)\n", + " Xfeats = np.hstack([np.ones((Xfeats.shape[0], 1)), Xfeats])\n", + " n_feats = Xfeats.shape[1]\n", + " Mfeats = np.zeros((n_samples, n_feats))\n", + " for t in np.arange(n_feats):\n", + " if t == 0:\n", + " def feat_fn(x):\n", + " return np.ones(x.shape[0])\n", + " else:\n", + " def feat_fn(x):\n", + " return self.featurizer_.transform(x)[:, t - 1]\n", + " Mfeats[:, t] = self.moment_fn(X, feat_fn)\n", + " Sigma = Xfeats.T @ Xfeats / n_samples\n", + " reg = self.alpha * np.eye(n_feats)\n", + " reg[0, 0] = 0\n", + " Sigma += reg\n", + " params = np.linalg.pinv(Sigma) @ np.mean(Mfeats, axis=0)\n", + " self.coef_ = params[1:]\n", + " self.intercept_ = params[0]\n", + " return self\n", + "\n", + " def predict(self, X):\n", + " return self.featurizer_.transform(X) @ self.coef_ + self.intercept_\n", + "\n", + "\n", + "class SparseSieveRR(BaseEstimator):\n", + " ''' Linear sieve representation learning with l1+l2 (elastic net) penalty. '''\n", + "\n", + " def __init__(self, *, featurizer, moment_fn, alpha=0.0, l1_ratio=1.0, tol=1e-4):\n", + " self.featurizer = featurizer\n", + " self.moment_fn = moment_fn\n", + " self.alpha = alpha\n", + " self.l1_ratio = l1_ratio\n", + " self.tol = tol\n", + "\n", + " def fit(self, X):\n", + " self.featurizer_ = clone(self.featurizer).fit(X)\n", + " n_samples = X.shape[0]\n", + " Xfeats = self.featurizer_.transform(X)\n", + " Xfeats = np.hstack([np.ones((Xfeats.shape[0], 1)), Xfeats])\n", + " n_feats = Xfeats.shape[1]\n", + " Mfeats = np.zeros((n_samples, n_feats))\n", + " for t in np.arange(n_feats):\n", + " if t == 0:\n", + " def feat_fn(x):\n", + " return np.ones(x.shape[0])\n", + " else:\n", + " def feat_fn(x):\n", + " return self.featurizer_.transform(x)[:, t - 1]\n", + " Mfeats[:, t] = self.moment_fn(X, feat_fn)\n", + " Sigma = Xfeats.T @ Xfeats / n_samples\n", + " mfeats = np.mean(Mfeats, axis=0)\n", + "\n", + " alpha_l1 = self.alpha * self.l1_ratio\n", + " alpha_l2 = self.alpha * (1 - self.l1_ratio)\n", + "\n", + " def loss_and_jac(extended_coef):\n", + " coef = extended_coef[:n_feats] - extended_coef[n_feats:]\n", + " loss = - 2 * mfeats @ coef + coef.T @ Sigma @ coef\n", + " loss += alpha_l1 * np.sum(extended_coef[1:n_feats])\n", + " loss += alpha_l1 * np.sum(extended_coef[n_feats + 1:])\n", + " loss += 0.5 * alpha_l2 * np.sum(extended_coef[1:n_feats]**2)\n", + " loss += 0.5 * alpha_l2 * np.sum(extended_coef[n_feats + 1:]**2)\n", + " grad = 2 * (Sigma @ coef - mfeats)\n", + " jac = np.concatenate([grad, -grad])\n", + " jac[1:n_feats] += alpha_l1 + alpha_l2 * extended_coef[1:n_feats]\n", + " jac[n_feats + 1:] += alpha_l1 + alpha_l2 * extended_coef[n_feats + 1:]\n", + " return loss, jac\n", + "\n", + " w, _, _ = fmin_l_bfgs_b(loss_and_jac, np.zeros(2 * n_feats),\n", + " bounds=[(0, None)] * 2 * n_feats,\n", + " pgtol=self.tol)\n", + " params = w[:n_feats] - w[n_feats:]\n", + " self.coef_ = params[1:]\n", + " self.intercept_ = params[0]\n", + " return self\n", + "\n", + " def predict(self, X):\n", + " return self.featurizer_.transform(X) @ self.coef_ + self.intercept_" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c008", + "metadata": {}, + "outputs": [], + "source": [ + "def poly_feature_fns(degree):\n", + " def poly(d, sign=1.0):\n", + " return lambda x: sign * x[:, [0]]**d\n", + " return [poly(t) for t in np.arange(0, degree + 1)]\n", + "\n", + "\n", + "class RFrr(BaseGRF):\n", + " \"\"\"\n", + " A forest that estimates a Riesz representer of a linear functional.\n", + " Minimizes the Riesz loss E[(phi(T,X)' alpha(x))^2 - 2 * | X=x].\n", + "\n", + " Parameters\n", + " ----------\n", + " riesz_feature_fns : list of lambda\n", + " Features phi(T,X) used to approximate the Riesz representer locally.\n", + " moment_fn : lambda (x, fn) -> float\n", + " The linear moment function m([T;X], g).\n", + " l2 : float, default=0.01\n", + " L2 penalty on the local covariance matrix (no penalty on intercept).\n", + " \"\"\"\n", + "\n", + " def __init__(self, *, riesz_feature_fns, moment_fn, l2=0.01,\n", + " n_estimators=100, criterion='mse', max_depth=None,\n", + " min_samples_split=10, min_samples_leaf=5,\n", + " min_weight_fraction_leaf=0., min_var_fraction_leaf=None,\n", + " min_var_leaf_on_val=False, max_features='auto',\n", + " min_impurity_decrease=0., max_samples=.45,\n", + " min_balancedness_tol=.45, honest=True, inference=True,\n", + " fit_intercept=True, subforest_size=4, n_jobs=-1,\n", + " random_state=None, verbose=0, warm_start=False):\n", + " self.riesz_feature_fns = riesz_feature_fns\n", + " self.moment_fn = moment_fn\n", + " self.l2 = l2\n", + " super().__init__(n_estimators=n_estimators, criterion=criterion,\n", + " max_depth=max_depth, min_samples_split=min_samples_split,\n", + " min_samples_leaf=min_samples_leaf,\n", + " min_weight_fraction_leaf=min_weight_fraction_leaf,\n", + " min_var_fraction_leaf=min_var_fraction_leaf,\n", + " min_var_leaf_on_val=min_var_leaf_on_val,\n", + " max_features=max_features,\n", + " min_impurity_decrease=min_impurity_decrease,\n", + " max_samples=max_samples,\n", + " min_balancedness_tol=min_balancedness_tol,\n", + " honest=honest, inference=inference,\n", + " fit_intercept=False, subforest_size=subforest_size,\n", + " n_jobs=n_jobs, random_state=random_state,\n", + " verbose=verbose, warm_start=warm_start)\n", + "\n", + " def _get_alpha_and_pointJ(self, X, T, y):\n", + " n_riesz_feats = len(self.riesz_feature_fns)\n", + " TX = np.hstack([T, X])\n", + " riesz_feats = np.hstack([feat_fn(TX) for feat_fn in self.riesz_feature_fns])\n", + " mfeats = np.hstack([self.moment_fn(TX, feat_fn) for feat_fn in self.riesz_feature_fns])\n", + " alpha = np.zeros((X.shape[0], n_riesz_feats))\n", + " alpha[:, :n_riesz_feats] = mfeats\n", + " riesz_cov_matrix = cross_product(riesz_feats, riesz_feats).reshape(\n", + " (X.shape[0], n_riesz_feats, n_riesz_feats))\n", + " penalty = self.l2 * np.eye(n_riesz_feats)\n", + " penalty[0, 0] = 0\n", + " pointJ = riesz_cov_matrix + penalty\n", + " return alpha, pointJ.reshape((X.shape[0], -1))\n", + "\n", + " def _get_n_outputs_decomposition(self, X, T, y):\n", + " n_relevant_outputs = len(self.riesz_feature_fns)\n", + " return n_relevant_outputs, n_relevant_outputs\n", + "\n", + " def _translate(self, point, TX):\n", + " riesz_feats = np.hstack([feat_fn(TX) for feat_fn in self.riesz_feature_fns])\n", + " return np.sum(point[:, :riesz_feats.shape[1]] * riesz_feats, axis=1)\n", + "\n", + " def fit(self, X):\n", + " return super().fit(X[:, 1:], X[:, [0]], X[:, [0]])\n", + "\n", + " def predict(self, X_test):\n", + " point = super().predict(X_test[:, 1:])\n", + " return self._translate(point, X_test)\n", + "\n", + "\n", + "class RFreg(BaseGRF):\n", + " \"\"\"\n", + " A forest that estimates a regression function with pre-specified features.\n", + " Minimizes E[( - Y)^2 | X=x].\n", + "\n", + " Parameters\n", + " ----------\n", + " reg_feature_fns : list of lambda\n", + " Features phi(T,X) used to approximate the regression locally.\n", + " l2 : float, default=0.01\n", + " L2 penalty on the local covariance matrix (no penalty on intercept).\n", + " \"\"\"\n", + "\n", + " def __init__(self, *, reg_feature_fns, l2=0.01,\n", + " n_estimators=100, criterion='mse', max_depth=None,\n", + " min_samples_split=10, min_samples_leaf=5,\n", + " min_weight_fraction_leaf=0., min_var_fraction_leaf=None,\n", + " min_var_leaf_on_val=False, max_features='auto',\n", + " min_impurity_decrease=0., max_samples=.45,\n", + " min_balancedness_tol=.45, honest=True, inference=True,\n", + " fit_intercept=True, subforest_size=4, n_jobs=-1,\n", + " random_state=None, verbose=0, warm_start=False):\n", + " self.reg_feature_fns = reg_feature_fns\n", + " self.l2 = l2\n", + " super().__init__(n_estimators=n_estimators, criterion=criterion,\n", + " max_depth=max_depth, min_samples_split=min_samples_split,\n", + " min_samples_leaf=min_samples_leaf,\n", + " min_weight_fraction_leaf=min_weight_fraction_leaf,\n", + " min_var_fraction_leaf=min_var_fraction_leaf,\n", + " min_var_leaf_on_val=min_var_leaf_on_val,\n", + " max_features=max_features,\n", + " min_impurity_decrease=min_impurity_decrease,\n", + " max_samples=max_samples,\n", + " min_balancedness_tol=min_balancedness_tol,\n", + " honest=honest, inference=inference,\n", + " fit_intercept=False, subforest_size=subforest_size,\n", + " n_jobs=n_jobs, random_state=random_state,\n", + " verbose=verbose, warm_start=warm_start)\n", + "\n", + " def fit(self, X, y):\n", + " return super().fit(X[:, 1:], X[:, [0]], y)\n", + "\n", + " def _get_alpha_and_pointJ(self, X, T, y):\n", + " n_reg_feats = len(self.reg_feature_fns)\n", + " TX = np.hstack([T, X])\n", + " reg_feats = np.hstack([feat_fn(TX) for feat_fn in self.reg_feature_fns])\n", + " alpha = y.reshape(-1, 1) * reg_feats\n", + " reg_cov_matrix = cross_product(reg_feats, reg_feats).reshape(\n", + " (X.shape[0], n_reg_feats, n_reg_feats))\n", + " penalty = self.l2 * np.eye(n_reg_feats)\n", + " penalty[0, 0] = 0\n", + " pointJ = reg_cov_matrix + penalty\n", + " return alpha, pointJ.reshape((X.shape[0], -1))\n", + "\n", + " def _get_n_outputs_decomposition(self, X, T, y):\n", + " n_relevant_outputs = len(self.reg_feature_fns)\n", + " return n_relevant_outputs, n_relevant_outputs\n", + "\n", + " def _translate(self, point, TX):\n", + " reg_feats = np.hstack([feat_fn(TX) for feat_fn in self.reg_feature_fns])\n", + " return np.sum(point * reg_feats, axis=1)\n", + "\n", + " def predict(self, X_test):\n", + " point = super().predict(X_test[:, 1:])\n", + " return self._translate(point, X_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c009", + "metadata": {}, + "outputs": [], + "source": [ + "class DebiasedMoment:\n", + "\n", + " def __init__(self, *, moment_fn, get_reisz_fn, get_reg_fn, n_splits=5):\n", + " self.moment_fn = moment_fn\n", + " self.get_reisz_fn = get_reisz_fn\n", + " self.get_reg_fn = get_reg_fn\n", + " self.n_splits = n_splits\n", + "\n", + " def fit(self, X, y):\n", + " y = y.flatten()\n", + " if self.n_splits == 1:\n", + " splits = [(np.arange(X.shape[0]), np.arange(X.shape[0]))]\n", + " elif isinstance(self.n_splits, int):\n", + " splits = list(KFold(n_splits=self.n_splits).split(X))\n", + " else:\n", + " splits = self.n_splits\n", + "\n", + " reisz_pred = np.zeros(X.shape[0])\n", + " reg_pred = np.zeros(X.shape[0])\n", + " moment_pred = np.zeros(X.shape[0])\n", + " moment_reisz = np.zeros(X.shape[0])\n", + " self.reisz_models_ = []\n", + " self.reg_models_ = []\n", + " reisz_fn = self.get_reisz_fn(X)\n", + " reg_fn = self.get_reg_fn(X, y)\n", + " for train, test in splits:\n", + " reisz = reisz_fn().fit(X[train])\n", + " reisz_pred[test] = reisz.predict(X[test])\n", + " reg = reg_fn().fit(X[train], y[train])\n", + " reg_pred[test] = reg.predict(X[test])\n", + " moment_pred[test] = self.moment_fn(X[test], reg.predict)\n", + " moment_reisz[test] = self.moment_fn(X[test], reisz.predict)\n", + " self.reisz_models_.append(reisz)\n", + " self.reg_models_.append(reg)\n", + "\n", + " self.reg_pred_ = reg_pred\n", + " self.reisz_pred_ = reisz_pred\n", + " self.moment_ = moment_pred + reisz_pred * (y - reg_pred)\n", + " self.moment_reisz_ = moment_reisz\n", + " self.moment_pred_ = moment_pred\n", + " self.y_ = y.copy()\n", + "\n", + " epsilon = LinearRegression(fit_intercept=False).fit(\n", + " reisz_pred.reshape(-1, 1), y - reg_pred).coef_[0]\n", + " moment_pred = moment_pred + moment_reisz * epsilon\n", + " reg_pred = reg_pred + epsilon * reisz_pred\n", + " self.tmle_moment_ = moment_pred + reisz_pred * (y - reg_pred)\n", + " return self\n", + "\n", + " def avg_moment(self, alpha=0.05, tmle=False):\n", + " if tmle:\n", + " return mean_ci(self.tmle_moment_, confidence=1 - alpha)\n", + " return mean_ci(self.moment_, confidence=1 - alpha)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "c010", + "metadata": {}, + "outputs": [], + "source": [ + "def first_stage_reg(numeric_columns=[], cv=None):\n", + " return GridSearchCVList([\n", + " Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)],\n", + " remainder='passthrough')),\n", + " ('lasso', Lasso())]),\n", + " Pipeline([('scale', ColumnTransformer([('num', StandardScaler(), numeric_columns)],\n", + " remainder='passthrough')),\n", + " ('feat', Featurizer(degree=1, normalize=False)),\n", + " ('lasso', Lasso())]),\n", + " RandomForestRegressor(n_estimators=100, random_state=123),\n", + " RFreg(reg_feature_fns=poly_feature_fns(10),\n", + " min_var_leaf_on_val=True, min_impurity_decrease=1e-4,\n", + " max_samples=.85, inference=False, subforest_size=1, random_state=123)\n", + " ],\n", + " param_grid_list=[\n", + " {'lasso__alpha': [1e-6, 1e-5, 0.0001, .001, .01, .1, 1, 10]},\n", + " {'lasso__alpha': [1e-6, 1e-5, 0.0001, .001, .01, .1, 1, 10]},\n", + " {'max_depth': [3, 5], 'min_samples_leaf': [10, 50]},\n", + " {'reg_feature_fns': [poly_feature_fns(2)], 'min_samples_leaf': [10],\n", + " 'min_var_fraction_leaf': [0.01, 0.1], 'l2': [1e-3, 1e-2]}\n", + " ],\n", + " cv=cv, scoring='neg_mean_squared_error', n_jobs=-1)\n", + "\n", + "\n", + "def reg_fn_gen(numeric_columns, cv=None, verbose=0):\n", + " def get_reg_fn(X, y):\n", + " est = first_stage_reg(numeric_columns, cv=cv).fit(X, y)\n", + " if verbose > 0:\n", + " print('Chose: ', est.best_score_, est.best_estimator_)\n", + " return lambda: clone(est.best_estimator_)\n", + " return get_reg_fn\n", + "\n", + "\n", + "def neg_reisz_score_gen(moment_fn):\n", + " def neg_reisz_score(model, X):\n", + " return np.mean(2 * moment_fn(X, model.predict) - model.predict(X)**2)\n", + " return neg_reisz_score\n", + "\n", + "\n", + "def first_stage_rr(moment_fn, numeric_columns, cv=None):\n", + " return GridSearchCVList([\n", + " SieveRR(featurizer=Featurizer(degree=1), moment_fn=moment_fn),\n", + " SieveRR(featurizer=Featurizer(degree=2), moment_fn=moment_fn),\n", + " SparseSieveRR(featurizer=Featurizer(degree=2), moment_fn=moment_fn, tol=1e-4),\n", + " SparseSieveRR(featurizer=Featurizer(degree=1), moment_fn=moment_fn, tol=1e-4),\n", + " RFrr(riesz_feature_fns=poly_feature_fns(10), moment_fn=moment_fn,\n", + " min_var_leaf_on_val=True, min_impurity_decrease=0.001,\n", + " max_samples=.65, inference=False, subforest_size=1, random_state=123)\n", + " ],\n", + " param_grid_list=[\n", + " {'alpha': np.geomspace(1e-6, 1e3, 20)},\n", + " {'alpha': np.geomspace(1e-6, 1e3, 20)},\n", + " {'alpha': np.geomspace(1e-6, 1e3, 20), 'l1_ratio': [.5, 1.0]},\n", + " {'alpha': np.geomspace(1e-6, 1e3, 20), 'l1_ratio': [.5, 1.0]},\n", + " {'riesz_feature_fns': [poly_feature_fns(2), poly_feature_fns(3)],\n", + " 'min_samples_leaf': [10, 50], 'min_var_fraction_leaf': [0.01, 0.1],\n", + " 'l2': [1e-5, 1e-3], 'max_depth': [5, None]}\n", + " ],\n", + " scoring=neg_reisz_score_gen(moment_fn), cv=cv, verbose=0, n_jobs=-1)\n", + "\n", + "\n", + "def rr_fn_gen(moment_fn, numeric_columns, cv=None, verbose=0):\n", + " def get_rr_fn(X):\n", + " est = first_stage_rr(moment_fn, numeric_columns, cv=cv).fit(X)\n", + " if verbose > 0:\n", + " print('Chose: ', est.best_score_, est.best_estimator_)\n", + " return lambda: clone(est.best_estimator_)\n", + " return get_rr_fn\n", + "\n", + "\n", + "class RegRandomForestClassifier(BaseEstimator):\n", + " def __init__(self, *, max_depth=None, min_samples_leaf=1):\n", + " self.max_depth = max_depth\n", + " self.min_samples_leaf = min_samples_leaf\n", + "\n", + " def fit(self, X, y):\n", + " self.model_ = RandomForestClassifier(n_estimators=100, random_state=123,\n", + " max_depth=self.max_depth,\n", + " min_samples_leaf=self.min_samples_leaf)\n", + " self.model_.fit(X, y)\n", + " return self\n", + "\n", + " def predict(self, X):\n", + " return self.model_.predict_proba(X)[:, 1]\n", + "\n", + "\n", + "class RegLogisticRegression(BaseEstimator):\n", + " def __init__(self, *, C=1):\n", + " self.C = C\n", + "\n", + " def fit(self, X, y):\n", + " self.model_ = LogisticRegression(C=self.C, max_iter=1000, random_state=123)\n", + " self.model_.fit(X, y)\n", + " return self\n", + "\n", + " def predict(self, X):\n", + " return self.model_.predict_proba(X)[:, 1]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "c011", + "metadata": {}, + "outputs": [], + "source": [ + "def moment_estimate(est, inds=None):\n", + " if inds is None:\n", + " inds = np.arange(est.moment_reisz_.shape[0])\n", + " theta = np.mean(est.moment_[inds])\n", + " psi_theta = est.moment_[inds] - theta\n", + " return theta, np.sqrt(np.mean(psi_theta**2) / psi_theta.shape[0])\n", + "\n", + "\n", + "def sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=None, inds=None):\n", + " if inds is None:\n", + " inds = np.arange(est.moment_reisz_.shape[0])\n", + " nusq = np.mean(2 * est.moment_reisz_[inds] - est.reisz_pred_[inds]**2)\n", + " sigmasq = np.mean((est.y_[inds] - est.reg_pred_[inds])**2)\n", + " S = np.sqrt(sigmasq * nusq)\n", + " Casq = eta_asq / (1 - eta_asq)\n", + " Cgsq = eta_ysq\n", + " theta = np.mean(est.moment_[inds])\n", + " error = S * np.sqrt(Casq * Cgsq)\n", + " if alpha is None:\n", + " return theta - error, theta + error\n", + " psi_theta = est.moment_[inds] - theta\n", + " psi_sigmasq = (est.y_[inds] - est.reg_pred_[inds])**2 - sigmasq\n", + " psi_nusq = 2 * est.moment_reisz_[inds] - est.reisz_pred_[inds]**2 - nusq\n", + " phi_plus = psi_theta + (np.sqrt(Casq * Cgsq) / (2 * S)) * (sigmasq * psi_nusq + nusq * psi_sigmasq)\n", + " stderr_plus = np.sqrt(np.mean(phi_plus**2) / phi_plus.shape[0])\n", + " phi_minus = psi_theta - (np.sqrt(Casq * Cgsq) / (2 * S)) * (sigmasq * psi_nusq + nusq * psi_sigmasq)\n", + " stderr_minus = np.sqrt(np.mean(phi_minus**2) / phi_minus.shape[0])\n", + " return theta - error, stderr_minus, theta + error, stderr_plus\n", + "\n", + "\n", + "def sensitivity_bounds(est_list, eta_ysq, eta_asq, alpha=None, inds=None):\n", + " if alpha is None:\n", + " lower, upper = zip(*[sensitivity_bounds_single(est, eta_ysq, eta_asq,\n", + " alpha=alpha, inds=inds) for est in est_list])\n", + " return np.mean(lower), np.mean(upper)\n", + " else:\n", + " lower, std_lower, upper, std_upper = zip(\n", + " *[sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=alpha, inds=inds)\n", + " for est in est_list])\n", + " std_lower = np.array(std_lower)\n", + " std_upper = np.array(std_upper)\n", + " lower = np.mean(lower) - scipy.stats.norm.ppf(1 - alpha) * np.sqrt(np.mean(std_lower**2) + np.var(lower))\n", + " upper = np.mean(upper) + scipy.stats.norm.ppf(1 - alpha) * np.sqrt(np.mean(std_upper**2) + np.var(upper))\n", + " return lower, upper\n", + "\n", + "\n", + "def tvalue(est_list, value=0, leq=None, alpha=None, inds=None):\n", + " for t in np.linspace(0, 1, 1000):\n", + " l, u = sensitivity_bounds(est_list, t, t, alpha=alpha, inds=inds)\n", + " if (leq is None) & (value >= l) & (value <= u):\n", + " break\n", + " if leq and value >= l:\n", + " break\n", + " if leq is not None and not leq and value <= u:\n", + " break\n", + " return t\n", + "\n", + "\n", + "def sensitivity_contours(est_list, a_upper, y_upper, alpha=None, inds=None):\n", + " xlist = np.linspace(0, a_upper, 100)\n", + " ylist = np.linspace(0, y_upper, 100)\n", + " X, Y = np.meshgrid(xlist, ylist)\n", + " Zlower = np.zeros(X.shape)\n", + " Zupper = np.zeros(X.shape)\n", + " for itx in np.arange(X.shape[1]):\n", + " for ity in np.arange(X.shape[0]):\n", + " l, u = sensitivity_bounds(est_list, Y[ity, itx], X[ity, itx], alpha=alpha, inds=inds)\n", + " Zlower[ity, itx] = l\n", + " Zupper[ity, itx] = u\n", + " return X, Y, Zlower, Zupper\n", + "\n", + "\n", + "def dml_estimate(est, inds=None):\n", + " if inds is None:\n", + " inds = np.arange(est.residuals_[0].shape[0])\n", + " yres, Tres, _, _ = est.residuals_\n", + " yres, Tres = yres[inds], Tres[inds]\n", + " nusq = np.mean(Tres ** 2)\n", + " theta = np.mean(yres * Tres) / nusq\n", + " psi_theta = (yres - Tres * theta) * Tres / nusq\n", + " return theta, np.sqrt(np.mean(psi_theta**2) / psi_theta.shape[0])\n", + "\n", + "\n", + "def dml_sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=None, inds=None):\n", + " if inds is None:\n", + " inds = np.arange(est.residuals_[0].shape[0])\n", + " yres, Tres, _, _ = est.residuals_\n", + " yres, Tres = yres[inds], Tres[inds]\n", + " nusq = np.mean(Tres ** 2)\n", + " theta = np.mean(yres * Tres) / nusq\n", + " sigmasq = np.mean((yres - Tres * theta)**2)\n", + " S = np.sqrt(sigmasq / nusq)\n", + " Casq = eta_asq / (1 - eta_asq)\n", + " Cgsq = eta_ysq\n", + " error = S * np.sqrt(Casq * Cgsq)\n", + " if alpha is None:\n", + " return theta - error, theta + error\n", + " psi_theta = (yres - Tres * theta) * Tres / nusq\n", + " psi_sigmasq = (yres - Tres * theta)**2 - sigmasq\n", + " psi_nusq = Tres**2 - nusq\n", + " phi_plus = psi_theta + (np.sqrt(Casq * Cgsq) / (2 * S)) * (\n", + " -(sigmasq / (nusq**2)) * psi_nusq + (1 / nusq) * psi_sigmasq)\n", + " stderr_plus = np.sqrt(np.mean(phi_plus**2) / phi_plus.shape[0])\n", + " phi_minus = psi_theta - (np.sqrt(Casq * Cgsq) / (2 * S)) * (\n", + " -(sigmasq / (nusq**2)) * psi_nusq + (1 / nusq) * psi_sigmasq)\n", + " stderr_minus = np.sqrt(np.mean(phi_minus**2) / phi_minus.shape[0])\n", + " return theta - error, stderr_minus, theta + error, stderr_plus\n", + "\n", + "\n", + "def dml_sensitivity_bounds(est_list, eta_ysq, eta_asq, alpha=None, inds=None):\n", + " if alpha is None:\n", + " lower, upper = zip(*[dml_sensitivity_bounds_single(est, eta_ysq, eta_asq,\n", + " alpha=alpha, inds=inds)\n", + " for est in est_list])\n", + " return np.mean(lower), np.mean(upper)\n", + " else:\n", + " lower, std_lower, upper, std_upper = zip(\n", + " *[dml_sensitivity_bounds_single(est, eta_ysq, eta_asq, alpha=alpha, inds=inds)\n", + " for est in est_list])\n", + " std_lower = np.array(std_lower)\n", + " std_upper = np.array(std_upper)\n", + " lower = np.mean(lower) - scipy.stats.norm.ppf(1 - alpha) * np.sqrt(np.mean(std_lower**2) + np.var(lower))\n", + " upper = np.mean(upper) + scipy.stats.norm.ppf(1 - alpha) * np.sqrt(np.mean(std_upper**2) + np.var(upper))\n", + " return lower, upper\n", + "\n", + "\n", + "def dml_tvalue(est, value=0, leq=None, alpha=None, inds=None):\n", + " for t in np.linspace(0, 1, 1000):\n", + " l, u = dml_sensitivity_bounds(est, t, t, alpha=alpha, inds=inds)\n", + " if (leq is None) & (value >= l) & (value <= u):\n", + " break\n", + " if leq and value >= l:\n", + " break\n", + " if leq is not None and not leq and value <= u:\n", + " break\n", + " return t\n", + "\n", + "\n", + "def dml_sensitivity_contours(est_list, a_upper, y_upper, alpha=None, inds=None):\n", + " xlist = np.linspace(0, a_upper, 100)\n", + " ylist = np.linspace(0, y_upper, 100)\n", + " X, Y = np.meshgrid(xlist, ylist)\n", + " Zlower = np.zeros(X.shape)\n", + " Zupper = np.zeros(X.shape)\n", + " for itx in np.arange(X.shape[1]):\n", + " for ity in np.arange(X.shape[0]):\n", + " l, u = dml_sensitivity_bounds(est_list, Y[ity, itx], X[ity, itx], alpha=alpha, inds=inds)\n", + " Zlower[ity, itx] = l\n", + " Zupper[ity, itx] = u\n", + " return X, Y, Zlower, Zupper" + ] + }, + { + "cell_type": "markdown", + "id": "c012", + "metadata": {}, + "source": [ + "## Setting\n", + "\n", + "The data come from the 2001 National Household Travel Survey and contain household gasoline consumption, gasoline prices, income brackets, and 24 observed controls describing population density, urbanization, demographics, and Census regions. After the sample restrictions used in the earlier demand studies, the analysis contains 3,466 households.\n", + "\n", + "The outcome $Y$ is log gasoline consumption, the treatment $D$ is log gasoline price, and $X^o$ collects the observed controls. Under conditional ignorability, the short regression is\n", + "\n", + "$$g_s(d, x^o) = \\mathrm{E}[Y \\mid D = d, X^o = x^o],$$\n", + "\n", + "and the target is the average causal derivative\n", + "\n", + "$$\\theta_s = \\mathrm{E}\\big\\{\\partial_d\\, g_s(D, X^o)\\big\\}.$$\n", + "\n", + "Because both variables are in logarithms, $\\theta_s$ is the average price elasticity of gasoline demand. Its short Riesz representer is the negative conditional density score,\n", + "\n", + "$$\\alpha_s(D, X^o) = -\\partial_d \\log f_{D \\mid X^o}(D \\mid X^o).$$\n", + "\n", + "The moment function below encodes $m(W_s, g) = \\partial_d\\, g(D, X^o)$. The derivative with respect to log price is approximated by a central finite difference, $\\{g(D + \\epsilon, X^o) - g(D - \\epsilon, X^o)\\}/(2\\epsilon)$ with $\\epsilon = 0.01$." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c013", + "metadata": {}, + "outputs": [], + "source": [ + "# The moment function, whose average we want to estimate: E[m(X; g)]\n", + "def moment_fn(x, test_fn):\n", + " epsilon = 0.01\n", + " t1 = np.hstack([x[:, [0]] + epsilon, x[:, 1:]])\n", + " t0 = np.hstack([x[:, [0]] - epsilon, x[:, 1:]])\n", + " return (test_fn(t1) - test_fn(t0)) / (2 * epsilon)" + ] + }, + { + "cell_type": "markdown", + "id": "c014", + "metadata": {}, + "source": [ + "## Data\n", + "\n", + "Following the earlier demand studies, households with very low prices or incomes are dropped. Besides the full sample (`q=5`), the analysis uses four income groups. The first three (`q=1,2,3`) are overlapping groups centered near annual incomes of \\$42,500, \\$57,500 and \\$72,500. The fourth (`q=4`) contains high-income households with income above roughly \\$110,000 ($\\log y \\geq 11.6$).\n", + "\n", + "Cross-validation and cross-fitting are grouped by state, so households from the same state remain in the same fold. The folds are stratified by Census region, and region dummies are included as controls." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "c015", + "metadata": {}, + "outputs": [], + "source": [ + "# Data loading and manipulation\n", + "\n", + "# for semi-synthetic data generation\n", + "def true_f(X):\n", + " y = (-.7 - .4 * scipy.special.expit(3 * (1 - 2 * (X[:, 1] - 10.5)))) * X[:, 0]\n", + " y += scipy.special.expit(3 * (1 - 2 * (X[:, 1] > 11.5)))\n", + " return y\n", + "\n", + "\n", + "def get_data(q=None, synthetic=False, region=True, state=False, region_ids=None, random_seed=123):\n", + " data_url = (\"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/\"\n", + " \"update-notebooks/data/data_BHP2_with_region.csv\")\n", + " # Need to update this url when we launch the new version of the repo with the data in it.\n", + " # For now, this is a temporary url.\n", + " df = pd.read_csv(data_url)\n", + " # Throw away low prices and low income due to sample quality as in Chetverikov\n", + " df = df[df['log_p'] > math.log(1.2)]\n", + " df = df[df['log_y'] > math.log(15000)]\n", + " if not ((q == 4) | (q == 5)): # all data in first three brackets\n", + " df = df[df['log_y'] >= math.log(42500) - .5]\n", + " df = df[df['log_y'] <= math.log(72500) + .5]\n", + " if q == 1:\n", + " df = df[df['log_y'] >= math.log(42500) - .5]\n", + " df = df[df['log_y'] <= math.log(42500) + .5]\n", + " if q == 2:\n", + " df = df[df['log_y'] >= math.log(57500) - .5]\n", + " df = df[df['log_y'] <= math.log(57500) + .5]\n", + " if q == 3:\n", + " df = df[df['log_y'] >= math.log(72500) - .5]\n", + " df = df[df['log_y'] <= math.log(72500) + .5]\n", + " if q == 4:\n", + " df = df[df['log_y'] >= 11.6]\n", + " if region_ids is not None:\n", + " df = df[np.any([df['region'] == r for r in region_ids], axis=0)]\n", + " Xdf = df.iloc[:, 1:] # Covariates\n", + " if state:\n", + " state_dum = pd.get_dummies(Xdf['state_fips'], prefix='state', drop_first=True)\n", + " Xdf = pd.concat([Xdf, state_dum], axis=1)\n", + " if region:\n", + " region_dum = pd.get_dummies(Xdf['region'], prefix='region', drop_first=True)\n", + " Xdf = pd.concat([Xdf, region_dum], axis=1)\n", + " Xdf = Xdf.drop(['distance_oil1000', 'state_fips', 'share', 'region'], axis=1)\n", + " column_names = Xdf.columns\n", + " X = Xdf.values\n", + " y = df['log_q'].values\n", + " if synthetic:\n", + " y = true_f(X) + np.random.normal(0, .2, size=X[:, 0].shape)\n", + " print(np.mean(moment_fn(X, true_f)))\n", + " cv = StratifiedGroupKFold(n_splits=5, shuffle=True, random_state=random_seed)\n", + " splits = list(cv.split(df, y=df['region'], groups=df['state_fips']))\n", + " return X, y, [0, 1, 6, 7, 8], splits, column_names" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c016", + "metadata": {}, + "outputs": [], + "source": [ + "# global result dictionaries and global parameters\n", + "ests = {}\n", + "res = {}\n", + "res_d = {}\n", + "q_grid = np.arange(1, 6)\n", + "synthetic = False # use synthetic outcome\n", + "verbose = 0\n", + "region = True # control for region" + ] + }, + { + "cell_type": "markdown", + "id": "c017", + "metadata": {}, + "source": [ + "## Short Estimates Under Conditional Ignorability" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "c018", + "metadata": {}, + "outputs": [], + "source": [ + "# General pipeline for all types of estimators\n", + "def generic_pipeline(estimator, q_grid, name, n_seeds=5):\n", + " ests = {}\n", + " res = {}\n", + " for q in q_grid:\n", + " print(f'q={q}')\n", + " ests[f'q={q}'] = []\n", + " estimate_list = []\n", + " for random_seed in np.arange(123, 123 + n_seeds):\n", + " X, y, num_cols, splits, column_names = get_data(q, region=region, synthetic=synthetic,\n", + " random_seed=random_seed)\n", + " estimates, model = estimator(X, y, num_cols, splits)\n", + " print(estimates)\n", + " estimate_list.append(estimates)\n", + " ests[f'q={q}'].append(model)\n", + " estimate_list = np.array(estimate_list)\n", + " res[f'q={q}'] = {}\n", + " res[f'q={q}'][f'{name}'] = {}\n", + " res[f'q={q}'][f'{name}']['point'] = np.mean(estimate_list[:, 0])\n", + " if estimate_list.shape[1] > 2:\n", + " res[f'q={q}'][f'{name}']['stderr'] = np.sqrt(np.mean(estimate_list[:, 1]**2) + np.var(estimate_list[:, 0]))\n", + " res[f'q={q}'] = pd.DataFrame(res[f'q={q}']).transpose()\n", + " return pd.concat(res), ests" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "c019", + "metadata": {}, + "outputs": [], + "source": [ + "# Format results as a printable dataframe\n", + "def transform_res_to_df(res, q_grid, alpha=None):\n", + " res_f = res.reset_index()\n", + " res_d = {}\n", + " for q in q_grid:\n", + " key = 'all <= 11.6' if q == 0 else ('all' if q == 5 else f'q={q}')\n", + " res_d[key] = {}\n", + " for method in np.unique(res_f['level_1'].values):\n", + " p = res.loc[(f'q={q}', method), 'point']\n", + " if alpha is not None:\n", + " s = res.loc[(f'q={q}', method), 'stderr']\n", + " error = scipy.stats.norm.ppf(1 - alpha) * s\n", + " l, u = p - error, p + error\n", + " res_d[key][method] = f\"{p:.2f} ({s:.2f}) [{l:.2f}, {u:.2f}]\"\n", + " else:\n", + " res_d[key][method] = f\"{p:.2f}\"\n", + " return pd.DataFrame(res_d)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "c020", + "metadata": {}, + "outputs": [], + "source": [ + "if synthetic:\n", + " def oracle_estimator(X, y, num_cols, splits):\n", + " return (np.mean(moment_fn(X, true_f)),), None\n", + " res['true'], _ = generic_pipeline(oracle_estimator, q_grid, 'true', n_seeds=1)\n", + " res_d['true'] = transform_res_to_df(res['true'], q_grid)\n", + " display(res_d['true'])" + ] + }, + { + "cell_type": "markdown", + "id": "c021", + "metadata": {}, + "source": [ + "### Nonparametric Model\n", + "\n", + "The first specification leaves the short regression $g_s(D, X^o)$ unrestricted and targets $\\theta_s = \\mathrm{E}\\{\\partial_d g_s(D, X^o)\\}$ directly. Rather than estimating the conditional density derivative in $\\alpha_s$, which can be unstable, we learn the Riesz representer from the Riesz loss. Model selection is used for both the regression and the representer. Candidate procedures include expanded-feature lasso, forests and local polynomial forests for the regression, and penalized linear Riesz regression or ForestRiesz for the representer. The target and score stay fixed while the approximation class changes." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "c022", + "metadata": {}, + "outputs": [], + "source": [ + "# fully non-parametric average derivative estimation\n", + "def nonlinrr(X, y, num_cols, splits):\n", + " get_reisz_fn = rr_fn_gen(moment_fn, num_cols, cv=splits, verbose=verbose)\n", + " get_reg_fn = reg_fn_gen(num_cols, cv=splits, verbose=verbose)\n", + " est = DebiasedMoment(moment_fn=moment_fn,\n", + " get_reisz_fn=get_reisz_fn,\n", + " get_reg_fn=get_reg_fn,\n", + " n_splits=splits)\n", + " est.fit(X, y)\n", + " return est.avg_moment(alpha=.1), est" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "c023", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "q=1\n", + "(np.float64(-0.5929675270117792), np.float64(0.3590244758851252), np.float64(-1.1838475055676096), np.float64(-0.002087548455948829))\n", + "(np.float64(-0.5929675270117871), np.float64(0.35902447588512637), np.float64(-1.1838475055676194), np.float64(-0.002087548455954824))\n", + "(np.float64(-0.4279615680614352), np.float64(0.3692855377620416), np.float64(-1.0357291306931), np.float64(0.17980599457022955))\n", + "(np.float64(-0.5929675270117796), np.float64(0.3590244758851262), np.float64(-1.1838475055676116), np.float64(-0.0020875484559474966))\n", + "(np.float64(-0.5929675270117816), np.float64(0.3590244758851262), np.float64(-1.1838475055676136), np.float64(-0.002087548455949495))\n", + "q=2\n", + "(np.float64(-0.7706145225419935), np.float64(0.3079715728065326), np.float64(-1.2773939657170106), np.float64(-0.26383507936697637))\n", + "(np.float64(-0.7634759276458483), np.float64(0.30842861343725975), np.float64(-1.2710074493138168), np.float64(-0.2559444059778796))\n", + "(np.float64(-0.7746556601541333), np.float64(0.30878217156126997), np.float64(-1.282768975744129), np.float64(-0.2665423445641377))\n", + "(np.float64(-0.7694583558730154), np.float64(0.3086298439562792), np.float64(-1.2773210103447332), np.float64(-0.2615957014012974))\n", + "(np.float64(-0.7746556601541332), np.float64(0.3087821715612687), np.float64(-1.2827689757441267), np.float64(-0.2665423445641397))\n", + "q=3\n", + "(np.float64(-0.8003302929897983), np.float64(0.31790267633437735), np.float64(-1.323490635480487), np.float64(-0.27716995049910964))\n", + "(np.float64(-0.7081195309916972), np.float64(0.3358278989873699), np.float64(-1.2607787305869977), np.float64(-0.1554603313963968))\n", + "(np.float64(-0.800330292989798), np.float64(0.31790267633437846), np.float64(-1.3234906354804883), np.float64(-0.27716995049910753))\n", + "(np.float64(-0.8003302929898014), np.float64(0.3179026763343787), np.float64(-1.3234906354804923), np.float64(-0.27716995049911053))\n", + "(np.float64(-0.8003302929897973), np.float64(0.3179026763343783), np.float64(-1.3234906354804874), np.float64(-0.2771699504991071))\n", + "q=4\n", + "(np.float64(-1.8771853073446865), np.float64(0.4797536965392172), np.float64(-2.6671780560501315), np.float64(-1.0871925586392415))\n", + "(np.float64(-1.8259861668765283), np.float64(0.49690109549368927), np.float64(-2.6442149061140126), np.float64(-1.007757427639044))\n", + "(np.float64(-1.811838276250637), np.float64(0.4817598466715358), np.float64(-2.605134478517313), np.float64(-1.0185420739839612))\n", + "(np.float64(-1.8449310347465409), np.float64(0.478516130498998), np.float64(-2.6328859290177835), np.float64(-1.0569761404752982))\n", + "(np.float64(-1.8338625275288303), np.float64(0.488692919822914), np.float64(-2.63857516609468), np.float64(-1.0291498889629804))\n", + "q=5\n", + "(np.float64(-0.5776222999858567), np.float64(0.2385758243667754), np.float64(-0.9701495543809875), np.float64(-0.18509504559072582))\n", + "(np.float64(-0.5705826783871354), np.float64(0.24070747447487958), np.float64(-0.9666171228610853), np.float64(-0.17454823391318552))\n", + "(np.float64(-0.5705826783871422), np.float64(0.24070747447488072), np.float64(-0.9666171228610939), np.float64(-0.1745482339131904))\n", + "(np.float64(-0.5776222999858612), np.float64(0.23857582436677452), np.float64(-0.9701495543809906), np.float64(-0.1850950455907318))\n", + "(np.float64(-0.5705826783871346), np.float64(0.2407074744748801), np.float64(-0.9666171228610854), np.float64(-0.17454823391318386))\n" + ] + } + ], + "source": [ + "res['rr'], ests['rr'] = generic_pipeline(nonlinrr, q_grid, 'dr')" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "c024", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
q=1q=2q=3q=4all
dr-0.56 (0.37) [-1.16, 0.04]-0.77 (0.31) [-1.28, -0.26]-0.78 (0.32) [-1.31, -0.25]-1.84 (0.49) [-2.64, -1.04]-0.57 (0.24) [-0.97, -0.18]
\n", + "
" + ], + "text/plain": [ + " q=1 q=2 \\\n", + "dr -0.56 (0.37) [-1.16, 0.04] -0.77 (0.31) [-1.28, -0.26] \n", + "\n", + " q=3 q=4 \\\n", + "dr -0.78 (0.32) [-1.31, -0.25] -1.84 (0.49) [-2.64, -1.04] \n", + "\n", + " all \n", + "dr -0.57 (0.24) [-0.97, -0.18] " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_d['rr'] = transform_res_to_df(res['rr'], q_grid, alpha=0.05)\n", + "res_d['rr']" + ] + }, + { + "cell_type": "markdown", + "id": "c025", + "metadata": {}, + "source": [ + "### Partially Linear Model\n", + "\n", + "The second specification is the partially linear model,\n", + "\n", + "$$Y = \\theta_s D + f_s(X^o) + \\varepsilon, \\qquad \\mathrm{E}[\\varepsilon \\mid D, X^o] = 0,$$\n", + "\n", + "in which the elasticity is constant." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "c026", + "metadata": {}, + "outputs": [], + "source": [ + "# partially linear average derivative estimation, with doubleML\n", + "def dml_estimator(X, y, num_cols, splits):\n", + " num_cols = [t - 1 for t in num_cols[1:]]\n", + " model_y = reg_fn_gen(num_cols, cv=splits, verbose=verbose)(X[:, 1:], y)\n", + " model_t = reg_fn_gen(num_cols, cv=splits, verbose=verbose)(X[:, 1:], X[:, 0])\n", + " est = LinearDML(model_y=model_y(),\n", + " model_t=model_t(),\n", + " linear_first_stages=False,\n", + " cv=splits, random_state=123)\n", + " est.fit(y, X[:, 0], W=X[:, 1:], cache_values=True)\n", + " p = est.intercept__inference().point_estimate\n", + " s = est.intercept__inference().stderr\n", + " l, u = est.intercept__inference().conf_int(alpha=.1)\n", + " return (p, s, l, u), est" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "c027", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "q=1\n", + "(-0.4536878928585129, 0.37362069717731183, np.float64(-1.068239251714752), np.float64(0.1608634659977261))\n", + "(-0.4536878928585129, 0.37362069717731183, np.float64(-1.068239251714752), np.float64(0.1608634659977261))\n", + "(-0.429515660443789, 0.3729126041018483, np.float64(-1.0429023098366328), np.float64(0.18387098894905457))\n", + "(-0.4536878928585129, 0.37362069717731183, np.float64(-1.068239251714752), np.float64(0.1608634659977261))\n", + "(-0.4536878928585129, 0.37362069717731183, np.float64(-1.068239251714752), np.float64(0.1608634659977261))\n", + "q=2\n", + "(-0.8494168313481653, 0.3137014117762554, np.float64(-1.3654097362881363), np.float64(-0.3334239264081943))\n", + "(-0.8446550780035984, 0.3136164203479587, np.float64(-1.360508184484476), np.float64(-0.32880197152272106))\n", + "(-0.8449890320646015, 0.3136283098351859, np.float64(-1.3608616950116672), np.float64(-0.32911636911753595))\n", + "(-0.849754321614156, 0.3137135083038694, np.float64(-1.3657671235714466), np.float64(-0.3337415196568656))\n", + "(-0.8449890320646015, 0.3136283098351859, np.float64(-1.3608616950116672), np.float64(-0.32911636911753595))\n", + "q=3\n", + "(-0.7828372463451757, 0.33937247365239837, np.float64(-1.3410552905198163), np.float64(-0.22461920217053533))\n", + "(-0.7851971307470414, 0.3409418069717759, np.float64(-1.3459964985239559), np.float64(-0.22439776297012715))\n", + "(-0.7828372463451757, 0.33937247365239837, np.float64(-1.3410552905198163), np.float64(-0.22461920217053533))\n", + "(-0.7828372463451757, 0.33937247365239837, np.float64(-1.3410552905198163), np.float64(-0.22461920217053533))\n", + "(-0.7828372463451757, 0.33937247365239837, np.float64(-1.3410552905198163), np.float64(-0.22461920217053533))\n", + "q=4\n", + "(-1.8609830906964384, 0.5260984657599104, np.float64(-2.726338060235232), np.float64(-0.995628121157645))\n", + "(-2.0977343203341525, 0.5018784402735386, np.float64(-2.9232508931068306), np.float64(-1.2722177475614749))\n", + "(-1.7858036333632403, 0.5226547120869649, np.float64(-2.6454941321827623), np.float64(-0.9261131345437187))\n", + "(-1.820712719964298, 0.525419059879485, np.float64(-2.684950166276502), np.float64(-0.9564752736520944))\n", + "(-2.1564071980583783, 0.49950099455212066, np.float64(-2.9780132206133016), np.float64(-1.334801175503455))\n", + "q=5\n", + "(-0.8478402980113542, 0.25050019798628687, np.float64(-1.2598764572211603), np.float64(-0.4358041388015484))\n", + "(-0.8419240753558733, 0.25055408044216465, np.float64(-1.2540488633186588), np.float64(-0.42979928739308787))\n", + "(-0.8419240753558733, 0.25055408044216465, np.float64(-1.2540488633186588), np.float64(-0.42979928739308787))\n", + "(-0.8478402980113542, 0.25050019798628687, np.float64(-1.2598764572211603), np.float64(-0.4358041388015484))\n", + "(-0.8419240753558733, 0.25055408044216465, np.float64(-1.2540488633186588), np.float64(-0.42979928739308787))\n" + ] + } + ], + "source": [ + "res['dml'], ests['dml'] = generic_pipeline(dml_estimator, q_grid, 'dml')" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c028", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
q=1q=2q=3q=4all
dml-0.45 (0.37) [-1.06, 0.17]-0.85 (0.31) [-1.36, -0.33]-0.78 (0.34) [-1.34, -0.22]-1.94 (0.54) [-2.83, -1.06]-0.84 (0.25) [-1.26, -0.43]
\n", + "
" + ], + "text/plain": [ + " q=1 q=2 \\\n", + "dml -0.45 (0.37) [-1.06, 0.17] -0.85 (0.31) [-1.36, -0.33] \n", + "\n", + " q=3 q=4 \\\n", + "dml -0.78 (0.34) [-1.34, -0.22] -1.94 (0.54) [-2.83, -1.06] \n", + "\n", + " all \n", + "dml -0.84 (0.25) [-1.26, -0.43] " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res_d['dml'] = transform_res_to_df(res['dml'], q_grid, alpha=.05)\n", + "res_d['dml']" + ] + }, + { + "cell_type": "markdown", + "id": "c029", + "metadata": {}, + "source": [ + "## Sensitivity Results for the Full Sample\n", + "\n", + "For the full sample we report the short elasticity, the sensitivity bounds and their confidence bounds under the scenario $C_Y^2 = 0.03$, $C_D^2 \\approx 0.03$ and $|\\rho| = 1$, together with robustness values." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "c030", + "metadata": {}, + "outputs": [], + "source": [ + "table = {}\n", + "table['point'] = '{:.3f} ({:.3f})'.format(res['rr'].loc[(f'q={5}', 'dr'), 'point'],\n", + " res['rr'].loc[(f'q={5}', 'dr'), 'stderr'])\n", + "\n", + "est_list = ests['rr'][f'q={5}']\n", + "table['Bounds'] = '[{:.3f}, {:.3f}]'.format(*sensitivity_bounds(est_list, .03, .03, alpha=None))\n", + "table['CIBounds'] = '[{:.3f}, {:.3f}]'.format(*sensitivity_bounds(est_list, .03, .03, alpha=.05))\n", + "table['RV(v=-1.5)'] = '{:.3f}'.format(tvalue(est_list, value=-1.5, leq=True, alpha=None))\n", + "table['RV(v=-1.5,a=.05)'] = '{:.3f}'.format(tvalue(est_list, value=-1.5, leq=True, alpha=.05))\n", + "table['RV(v=0)'] = '{:.3f}'.format(tvalue(est_list, value=0, leq=False, alpha=None))\n", + "table['RV(v=0,a=.05)'] = '{:.3f}'.format(tvalue(est_list, value=0, leq=False, alpha=.05))" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c031", + "metadata": {}, + "outputs": [], + "source": [ + "table2 = {}\n", + "table2['point'] = '{:.3f} ({:.3f})'.format(res['dml'].loc[(f'q={5}', 'dml'), 'point'],\n", + " res['dml'].loc[(f'q={5}', 'dml'), 'stderr'])\n", + "\n", + "est_list = ests['dml'][f'q={5}']\n", + "table2['Bounds'] = '[{:.3f}, {:.3f}]'.format(*dml_sensitivity_bounds(est_list, .03, .03, alpha=None))\n", + "table2['CIBounds'] = '[{:.3f}, {:.3f}]'.format(*dml_sensitivity_bounds(est_list, .03, .03, alpha=.05))\n", + "table2['RV(v=-1.5)'] = '{:.3f}'.format(dml_tvalue(est_list, value=-1.5, leq=True, alpha=None))\n", + "table2['RV(v=-1.5,a=.05)'] = '{:.3f}'.format(dml_tvalue(est_list, value=-1.5, leq=True, alpha=.05))\n", + "table2['RV(v=0)'] = '{:.3f}'.format(dml_tvalue(est_list, value=0, leq=False, alpha=None))\n", + "table2['RV(v=0,a=.05)'] = '{:.3f}'.format(dml_tvalue(est_list, value=0, leq=False, alpha=.05))" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "c032", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
pointBoundsCIBoundsRV(v=-1.5)RV(v=-1.5,a=.05)RV(v=0)RV(v=0,a=.05)
Non-parametric-0.573 (0.240)[-1.104, -0.043][-1.500, 0.350]0.0520.0300.0330.011
Partially linear-0.844 (0.251)[-1.299, -0.390][-1.712, 0.022]0.0430.0170.0550.029
\n", + "
" + ], + "text/plain": [ + " point Bounds CIBounds \\\n", + "Non-parametric -0.573 (0.240) [-1.104, -0.043] [-1.500, 0.350] \n", + "Partially linear -0.844 (0.251) [-1.299, -0.390] [-1.712, 0.022] \n", + "\n", + " RV(v=-1.5) RV(v=-1.5,a=.05) RV(v=0) RV(v=0,a=.05) \n", + "Non-parametric 0.052 0.030 0.033 0.011 \n", + "Partially linear 0.043 0.017 0.055 0.029 " + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tabledf = pd.DataFrame({'Non-parametric': table, 'Partially linear': table2}).T[\n", + " ['point', 'Bounds', 'CIBounds', 'RV(v=-1.5)', 'RV(v=-1.5,a=.05)', 'RV(v=0)', 'RV(v=0,a=.05)']]\n", + "tabledf" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "c033", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "qgr = np.arange(1, 5)\n", + "\n", + "point = [res['rr'].loc[(f'q={q}', 'dr'), 'point'] for q in qgr]\n", + "lower = [res['rr'].loc[(f'q={q}', 'dr'), 'point'] - 1.645 * res['rr'].loc[(f'q={q}', 'dr'), 'stderr']\n", + " for q in qgr]\n", + "upper = [res['rr'].loc[(f'q={q}', 'dr'), 'point'] + 1.645 * res['rr'].loc[(f'q={q}', 'dr'), 'stderr']\n", + " for q in qgr]\n", + "sens_band = [sensitivity_bounds(ests['rr'][f'q={q}'], .03, .03, alpha=None) for q in qgr]\n", + "sens_band_unc = [sensitivity_bounds(ests['rr'][f'q={q}'], .03, .03, alpha=.05) for q in qgr]\n", + "\n", + "if synthetic:\n", + " true_moment = [res['true'].loc[(f'q={q}', 'true'), 'point'] for q in qgr]\n", + "\n", + "plt.figure(figsize=(5, 5))\n", + "plt.plot(qgr, point)\n", + "plt.fill_between(qgr, lower, upper, alpha=.4, label='5%-95% CI')\n", + "plt.fill_between(qgr, *list(zip(*sens_band)), alpha=.6, label='Bounds')\n", + "plt.fill_between(qgr, *list(zip(*sens_band_unc)), alpha=.2, label='5%-95% Bounds')\n", + "if synthetic:\n", + " plt.plot(qgr, true_moment, label='true')\n", + "plt.xticks(qgr)\n", + "plt.title('Non-parametric')\n", + "plt.legend()\n", + "plt.grid(color='0.85', linewidth=0.6)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "c034", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "qgr = np.arange(1, 5)\n", + "\n", + "point = [res['dml'].loc[(f'q={q}', 'dml'), 'point'] for q in qgr]\n", + "lower = [res['dml'].loc[(f'q={q}', 'dml'), 'point'] - 1.645 * res['dml'].loc[(f'q={q}', 'dml'), 'stderr']\n", + " for q in qgr]\n", + "upper = [res['dml'].loc[(f'q={q}', 'dml'), 'point'] + 1.645 * res['dml'].loc[(f'q={q}', 'dml'), 'stderr']\n", + " for q in qgr]\n", + "sens_band = [dml_sensitivity_bounds(ests['dml'][f'q={q}'], .03, .03, alpha=None) for q in qgr]\n", + "sens_band_unc = [dml_sensitivity_bounds(ests['dml'][f'q={q}'], .03, .03, alpha=.05) for q in qgr]\n", + "\n", + "plt.figure(figsize=(5, 5))\n", + "plt.plot(qgr, point)\n", + "plt.fill_between(qgr, lower, upper, alpha=.4, label='5%-95% CI')\n", + "plt.fill_between(qgr, *list(zip(*sens_band)), alpha=.6, label='Bounds')\n", + "plt.fill_between(qgr, *list(zip(*sens_band_unc)), alpha=.2, label='5%-95% Bounds')\n", + "if synthetic:\n", + " plt.plot(qgr, true_moment, label='true')\n", + "plt.xticks(qgr)\n", + "plt.title('Partially linear')\n", + "plt.legend()\n", + "plt.grid(color='0.85', linewidth=0.6)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python (causalmlbook)", + "language": "python", + "name": "causalmlbook" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.15" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/T-ADML/r-ADML-401k.irnb b/T-ADML/r-ADML-401k.irnb new file mode 100644 index 00000000..676d068e --- /dev/null +++ b/T-ADML/r-ADML-401k.irnb @@ -0,0 +1,1273 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ec70e3f1", + "metadata": {}, + "source": [ + "# Empirical Example for Sensitivity Analysis: 401(k) Eligibility and Financial Wealth\n", + "\n", + "This is an adaptation of the replication package for Chernozhukov, Cinelli, Newey, Sharma and Syrgkanis,\n", + "*Long Story Short: Omitted Variable Bias in Causal Machine Learning* \n", + "\n", + "The original replication package can be found __[here](https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/VH6QHQ)__." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "170f2037", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:54:10.878737Z", + "iopub.status.busy": "2026-09-11T14:54:10.877672Z", + "iopub.status.idle": "2026-09-11T14:54:11.736717Z", + "shell.execute_reply": "2026-09-11T14:54:11.736203Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Install packages if needed\n", + "repos <- c(CRAN = \"https://cloud.r-project.org\")\n", + "\n", + "if (!requireNamespace(\"remotes\", quietly = TRUE)) install.packages(\"remotes\", repos = repos)\n", + "if (!requireNamespace(\"sensemakr\", quietly = TRUE)) install.packages(\"sensemakr\", repos = repos)\n", + "if (!requireNamespace(\"ggplot2\", quietly = TRUE)) install.packages(\"ggplot2\", repos = repos)\n", + "if (!requireNamespace(\"ranger\", quietly = TRUE)) install.packages(\"ranger\", repos = repos)\n", + "if (!requireNamespace(\"dml.sensemakr\", quietly = TRUE)) {\n", + " remotes::install_github(\"carloscinelli/dml.sensemakr\", upgrade = \"never\")\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "267a6538", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:54:11.745657Z", + "iopub.status.busy": "2026-09-11T14:54:11.738176Z", + "iopub.status.idle": "2026-09-11T14:54:11.759105Z", + "shell.execute_reply": "2026-09-11T14:54:11.758692Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "dml.sensemakr 0.2.2 \n", + "sensemakr 0.1.6 \n" + ] + } + ], + "source": [ + "suppressMessages({\n", + " library(sensemakr) # attached first: we only need add_bound_to_contour()\n", + " library(dml.sensemakr) # attached last: keeps its methods for class \"dml\" unmasked\n", + " library(ggplot2)\n", + "})\n", + "\n", + "options(scipen = 99)\n", + "\n", + "# figure sizing inside the notebook\n", + "options(repr.plot.width = 7, repr.plot.height = 6, repr.plot.res = 150)\n", + "\n", + "dir.create(\"figures\", showWarnings = FALSE)\n", + "\n", + "cat(\"dml.sensemakr\", as.character(packageVersion(\"dml.sensemakr\")), \"\\n\")\n", + "cat(\"sensemakr \", as.character(packageVersion(\"sensemakr\")), \"\\n\")" + ] + }, + { + "cell_type": "markdown", + "id": "a7079423", + "metadata": {}, + "source": [ + "## Setting\n", + "\n", + "The outcome $Y$ is net financial assets and the treatment $D$ is eligibility to enroll in a 401(k) plan. The observed covariates $X^o$ include income, age, education, family size, marital status, two-earner status, IRA participation, and home ownership. The identifying argument used in earlier work is that, after conditioning on these worker characteristics, eligibility is approximately as good as randomly assigned.\n", + "\n", + "However, the threat is that unobserved firm characteristics $A$ may affect both eligibility and financial assets, for example through employer matching policies. Conditional ignorability then holds given the full $X = (X^o, A)$, while the data identify only functions of the short regressor vector $W_s = (D, X^o)$. What we can estimate is the short parameter $\\theta_s$. The task is to bound its\n", + "distance from the causal target $\\theta$." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "641048b9", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:54:11.760854Z", + "iopub.status.busy": "2026-09-11T14:54:11.760463Z", + "iopub.status.idle": "2026-09-11T14:54:11.771931Z", + "shell.execute_reply": "2026-09-11T14:54:11.771465Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "households: 9915 covariates: 8 eligible: 37.1% \n" + ] + } + ], + "source": [ + "data(\"pension\")\n", + "\n", + "y <- pension$net_tfa # Y: net total financial assets\n", + "d <- pension$e401 # D: 401(k) eligibility\n", + "\n", + "# X^o: the observed worker characteristics\n", + "x <- model.matrix(~ -1 + age + inc + educ + fsize + marr + twoearn + pira + hown,\n", + " data = pension\n", + ")\n", + "\n", + "cat(\n", + " \"households:\", nrow(x), \" covariates:\", ncol(x),\n", + " \" eligible:\", sprintf(\"%.1f%%\", 100 * mean(d)), \"\\n\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "5be9f408", + "metadata": {}, + "source": [ + "## Short Estimates Under Conditional Ignorability\n", + "\n", + "### Partially Linear Model\n", + "\n", + "The first specification is the partially linear model,\n", + "\n", + "$$Y = \\theta_s D + f_s(X^o) + \\varepsilon, \\qquad \\mathrm{E}[\\varepsilon \\mid D, X^o] = 0,$$\n", + "\n", + "with the nuisance functions modeled by random forests, cross-fitted over five folds and repeated five times." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f4dad1cf", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:54:11.773658Z", + "iopub.status.busy": "2026-09-11T14:54:11.773277Z", + "iopub.status.idle": "2026-09-11T14:54:38.547333Z", + "shell.execute_reply": "2026-09-11T14:54:38.546902Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Debiased Machine Learning\n", + "\n", + " Model: Partially Linear \n", + " Cross-Fitting: 5 folds, 5 reps \n", + " ML Method: outcome (yreg0:ranger, yreg1:ranger, R2 = 26.474%), treatment (ranger, R2 = 11.599%)\n", + " Tuning: dirty \n", + "\n", + "Average Treatment Effect : \n", + "\n", + " Estimate Std. Error t value P(>|t|) \n", + "ate 9114 1323 6.888 0.00000000000567 ***\n", + "---\n", + "Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", + "Note: DML estimates combined using the median method.\n", + "\n", + "Verbal interpretation of DML procedure:\n", + "\n", + "-- Average treatment effects were estimated using DML with 5-fold cross-fitting. In order to reduce the variance that stems from sample splitting, we repeated the procedure 5 times. Estimates are combined using the median as the final estimate, incorporating variation across experiments into the standard error as described in Chernozhukov et al. (2018). The outcome regression uses Random Forest from the R package ranger; the treatment regression uses Random Forest from the R package ranger." + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "set.seed(1)\n", + "dml_401k_plm <- dml(y, d, x, model = \"plm\", cf.folds = 5, cf.reps = 5, verbose = FALSE)\n", + "\n", + "summary(dml_401k_plm)" + ] + }, + { + "cell_type": "markdown", + "id": "994cf0bc", + "metadata": {}, + "source": [ + "### Nonparametric Model, with Income Groups\n", + "\n", + "The second specification drops the additive structure. The short regression\n", + "$g_s(W_s) = \\mathrm{E}[Y \\mid D, X^o]$ is left unrestricted and the target is the average contrast,\n", + "\n", + "$$\\theta_s = \\mathrm{E}\\big\\{g_s(1, X^o) - g_s(0, X^o)\\big\\},$$\n", + "\n", + "estimated with the same nuisance learners. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c886bdf1", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:54:38.550249Z", + "iopub.status.busy": "2026-09-11T14:54:38.549906Z", + "iopub.status.idle": "2026-09-11T14:54:38.554742Z", + "shell.execute_reply": "2026-09-11T14:54:38.554353Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# income quartiles\n", + "g1 <- cut(x[, \"inc\"],\n", + " quantile(x[, \"inc\"], c(0, 0.25, 0.5, 0.75, 1), na.rm = TRUE),\n", + " labels = c(\"q1\", \"q2\", \"q3\", \"q4\"), include.lowest = TRUE\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e281ccde", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:54:38.556283Z", + "iopub.status.busy": "2026-09-11T14:54:38.555936Z", + "iopub.status.idle": "2026-09-11T14:55:06.503086Z", + "shell.execute_reply": "2026-09-11T14:55:06.502651Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "Debiased Machine Learning\n", + "\n", + " Model: Nonparametric \n", + " Cross-Fitting: 5 folds, 5 reps \n", + " ML Method: outcome (yreg0:ranger, yreg1:ranger, R2 = 25.572%), treatment (ranger, R2 = 11.48%)\n", + " Tuning: dirty \n", + "\n", + "Average Treatment Effect : \n", + "\n", + " Estimate Std. Error t value P(>|t|) \n", + "ate 8198 1196 6.852 0.00000000000726 ***\n", + "---\n", + "Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", + "\n", + "Group Average Treatment Effect: \n", + "\n", + " Estimate Std. Error t value P(>|t|) \n", + "g.ate.q1 4646.2 794.2 5.850 0.00000000492 ***\n", + "g.ate.q2 2729.4 1296.7 2.105 0.035305 * \n", + "g.ate.q3 6854.3 1838.0 3.729 0.000192 ***\n", + "g.ate.q4 18406.6 4061.6 4.532 0.00000584674 ***\n", + "---\n", + "Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n", + "\n", + "Note: DML estimates combined using the median method.\n", + "\n", + "Verbal interpretation of DML procedure:\n", + "\n", + "-- Average treatment effects were estimated using DML with 5-fold cross-fitting. In order to reduce the variance that stems from sample splitting, we repeated the procedure 5 times. Estimates are combined using the median as the final estimate, incorporating variation across experiments into the standard error as described in Chernozhukov et al. (2018). The outcome regression uses Random Forest from the R package ranger; the treatment regression uses Random Forest from the R package ranger." + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "set.seed(1)\n", + "dml_401k_npm <- dml(y, d, x,\n", + " groups = g1, model = \"npm\",\n", + " cf.folds = 5, cf.reps = 5, verbose = FALSE\n", + ")\n", + "\n", + "summary(dml_401k_npm)" + ] + }, + { + "cell_type": "markdown", + "id": "ef3e8146", + "metadata": {}, + "source": [ + "## Group Effects by Income Quartile\n", + "\n", + "Plotted against income quartile, with sampling confidence bounds under conditional ignorability,\n", + "the pattern in the summary above is easier to read.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "5c41f860", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:55:06.505709Z", + "iopub.status.busy": "2026-09-11T14:55:06.505362Z", + "iopub.status.idle": "2026-09-11T14:55:06.510354Z", + "shell.execute_reply": "2026-09-11T14:55:06.509927Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "group_names <- setdiff(names(coef(dml_401k_npm)), \"ate\")\n", + "\n", + "df <- data.frame(groups = 1:4, estimate = coef(dml_401k_npm)[group_names])\n", + "cis <- setNames(as.data.frame(confint(dml_401k_npm)[group_names, ]), c(\"lwr.ci\", \"upr.ci\"))\n", + "df <- cbind(df, cis)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "522bd397", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:55:06.511809Z", + "iopub.status.busy": "2026-09-11T14:55:06.511512Z", + "iopub.status.idle": "2026-09-11T14:55:06.689836Z", + "shell.execute_reply": "2026-09-11T14:55:06.689403Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": { + "image/png": { + "height": 450, + "width": 525 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "p1 <- ggplot(df, aes(x = groups, y = estimate)) +\n", + " geom_line() +\n", + " geom_ribbon(aes(ymin = lwr.ci, ymax = upr.ci), alpha = 0.1, col = \"blue\", fill = \"blue\") +\n", + " theme_bw() +\n", + " xlab(\"Income Groups by Quartiles\") +\n", + " ylab(\"ATE\") +\n", + " ggtitle(\"Under conditional ignorability\")\n", + "\n", + "ggsave(\"figures/401K-groups-noconfounding.pdf\", p1, width = 4.5, height = 4.5)\n", + "p1" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "90b555b3", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:55:06.692037Z", + "iopub.status.busy": "2026-09-11T14:55:06.691679Z", + "iopub.status.idle": "2026-09-11T14:55:07.062469Z", + "shell.execute_reply": "2026-09-11T14:55:07.061975Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "RV_alpha (alpha = 0.05, threshold theta = 0)\n", + " partially linear : 5.6%\n", + " nonparametric : 4.6%\n" + ] + } + ], + "source": [ + "rv_plm <- robustness_value(dml_401k_plm)\n", + "rv_npm <- robustness_value(dml_401k_npm)\n", + "\n", + "cat(sprintf(\n", + " \"RV_alpha (alpha = 0.05, threshold theta = 0)\\n partially linear : %.1f%%\\n nonparametric : %.1f%%\\n\",\n", + " 100 * rv_plm[\"ate\"], 100 * rv_npm[\"ate\"]\n", + "))" + ] + }, + { + "cell_type": "markdown", + "id": "99f710a6", + "metadata": {}, + "source": [ + "## The Main Confounding Scenario\n", + "\n", + "The main scenario assumes that omitted firm characteristics explain as much outcome variation as the\n", + "maximum employer match accumulated over three years, which implies approximately $C_Y^2 = 0.04$. On\n", + "the treatment side it allows an additional 2.5 percentage points of eligibility variation beyond the\n", + "observed controls, corresponding to $q_\\alpha \\approx 0.03$. We take $|\\rho| = 1$, the conservative\n", + "case in which the two induced errors are perfectly aligned.\n", + "\n", + "What $q_\\alpha$ measures depends on the target: for the partially linear model it is the\n", + "nonparametric partial $R^2$ of the treatment with the omitted covariates, and for the\n", + "binary-treatment ATE a gain in average inverse-variance precision.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "8a03f2af", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:55:07.064135Z", + "iopub.status.busy": "2026-09-11T14:55:07.063812Z", + "iopub.status.idle": "2026-09-11T14:55:07.069566Z", + "shell.execute_reply": "2026-09-11T14:55:07.069163Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "cf_y <- 0.04 # C_Y squared\n", + "cf_d <- 0.03 # q_alpha\n", + "rho2 <- 1 # |rho| = 1\n", + "\n", + "bounds_plm <- dml_bounds(dml_401k_plm, cf.y = cf_y, cf.d = cf_d, rho2 = rho2)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "eb62473e", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:55:07.071060Z", + "iopub.status.busy": "2026-09-11T14:55:07.070750Z", + "iopub.status.idle": "2026-09-11T14:55:07.077621Z", + "shell.execute_reply": "2026-09-11T14:55:07.077164Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "bounds_npm <- dml_bounds(dml_401k_npm, cf.y = cf_y, cf.d = cf_d, rho2 = rho2)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "b6c06ec7", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:55:07.079155Z", + "iopub.status.busy": "2026-09-11T14:55:07.078850Z", + "iopub.status.idle": "2026-09-11T14:55:07.090590Z", + "shell.execute_reply": "2026-09-11T14:55:07.090101Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "cb_plm <- confidence_bounds(dml_401k_plm, cf.y = cf_y, cf.d = cf_d, rho2 = rho2)\n", + "cb_npm <- confidence_bounds(dml_401k_npm, cf.y = cf_y, cf.d = cf_d, rho2 = rho2)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "6a24c23a", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:55:07.092294Z", + "iopub.status.busy": "2026-09-11T14:55:07.091969Z", + "iopub.status.idle": "2026-09-11T14:55:07.102416Z", + "shell.execute_reply": "2026-09-11T14:55:07.102009Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "
A data.frame: 2 × 5
ModelShort ATEBias boundATE bounds95% conf. bounds
<chr><chr><chr><chr><chr>
Partially linear9,1144,201[4,918, 13,311][2,725, 15,573]
Nonparametric 8,1984,529[3,644, 12,752][1,618, 14,805]
\n" + ], + "text/latex": [ + "A data.frame: 2 × 5\n", + "\\begin{tabular}{lllll}\n", + " Model & Short ATE & Bias bound & ATE bounds & 95\\% conf. bounds\\\\\n", + " & & & & \\\\\n", + "\\hline\n", + "\t Partially linear & 9,114 & 4,201 & {[}4,918, 13,311{]} & {[}2,725, 15,573{]}\\\\\n", + "\t Nonparametric & 8,198 & 4,529 & {[}3,644, 12,752{]} & {[}1,618, 14,805{]}\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "A data.frame: 2 × 5\n", + "\n", + "| Model <chr> | Short ATE <chr> | Bias bound <chr> | ATE bounds <chr> | 95% conf. bounds <chr> |\n", + "|---|---|---|---|---|\n", + "| Partially linear | 9,114 | 4,201 | [4,918, 13,311] | [2,725, 15,573] |\n", + "| Nonparametric | 8,198 | 4,529 | [3,644, 12,752] | [1,618, 14,805] |\n", + "\n" + ], + "text/plain": [ + " Model Short ATE Bias bound ATE bounds 95% conf. bounds\n", + "1 Partially linear 9,114 4,201 [4,918, 13,311] [2,725, 15,573] \n", + "2 Nonparametric 8,198 4,529 [3,644, 12,752] [1,618, 14,805] " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dollars <- function(v) formatC(round(v), format = \"d\", big.mark = \",\")\n", + "\n", + "row <- function(bounds, cb, label) {\n", + " b <- coef(bounds)[, \"ate\"]\n", + " data.frame(\n", + " Model = label,\n", + " `Short ATE` = dollars(b[\"theta.s\"]),\n", + " `Bias bound` = dollars(b[\"bias.bound\"]),\n", + " `ATE bounds` = sprintf(\"[%s, %s]\", dollars(b[\"theta.m\"]), dollars(b[\"theta.p\"])),\n", + " `95% conf. bounds` = sprintf(\"[%s, %s]\", dollars(cb[\"ate\", 1]), dollars(cb[\"ate\", 2])),\n", + " row.names = NULL,\n", + " check.names = FALSE\n", + " )\n", + "}\n", + "\n", + "table2_3 <- rbind(\n", + " row(bounds_plm, cb_plm, \"Partially linear\"),\n", + " row(bounds_npm, cb_npm, \"Nonparametric\")\n", + ")\n", + "\n", + "table2_3" + ] + }, + { + "cell_type": "markdown", + "id": "89ff8ba9", + "metadata": {}, + "source": [ + "Even granting an adversarially aligned confounder as strong as three years of maximum employer match,\n", + "the lower confidence bound on the ATE remains positive in both specifications." + ] + }, + { + "cell_type": "markdown", + "id": "d6f07816", + "metadata": {}, + "source": [ + "### Group Effects Under the Scenario\n", + "\n", + "The same groups again, now with the sensitivity bounds in red and the wider confidence bounds in\n", + "blue.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "9b0a3776", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:55:07.104074Z", + "iopub.status.busy": "2026-09-11T14:55:07.103749Z", + "iopub.status.idle": "2026-09-11T14:55:07.236165Z", + "shell.execute_reply": "2026-09-11T14:55:07.235716Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": { + "image/png": { + "height": 450, + "width": 525 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "bds <- setNames(\n", + " as.data.frame(confidence_bounds(dml_401k_npm, cf.y = cf_y, cf.d = cf_d, level = 0)),\n", + " c(\"lwr.bound\", \"upr.bound\")\n", + ")\n", + "cbds <- setNames(\n", + " as.data.frame(confidence_bounds(dml_401k_npm, cf.y = cf_y, cf.d = cf_d, level = 0.95)),\n", + " c(\"lwr.cbound\", \"upr.cbound\")\n", + ")\n", + "\n", + "df2 <- cbind(df, bds[-1, ], cbds[-1, ])\n", + "\n", + "p2 <- ggplot(df2, aes(x = groups, y = estimate)) +\n", + " geom_line() +\n", + " geom_ribbon(aes(ymin = lwr.bound, ymax = upr.bound), alpha = 0.1, col = \"red\", fill = \"red\") +\n", + " geom_ribbon(aes(ymin = lwr.cbound, ymax = upr.cbound), alpha = 0.1, col = \"blue\", fill = \"blue\") +\n", + " theme_bw() +\n", + " xlab(\"Income Groups by Quartiles\") +\n", + " ylab(\"ATE\") +\n", + " ggtitle(\"With unobserved confounding\")\n", + "\n", + "ggsave(\"figures/401K-groups-confounding.pdf\", p2, width = 4.5, height = 4.5)\n", + "p2" + ] + }, + { + "cell_type": "markdown", + "id": "0ba2ae32", + "metadata": {}, + "source": [ + "The posited confounding scenario substantially widens the range of plausible effects but leaves most of the adjusted region positive. Only the second quartile has a small excursion below zero." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "752bb83c", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": { + "image/png": { + "height": 450, + "width": 525 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "p_combined <- ggplot(df2, aes(x = groups, y = estimate)) +\n", + " geom_ribbon(aes(ymin = lwr.cbound, ymax = upr.cbound), fill = \"blue\", alpha = 0.03, color = NA) +\n", + " geom_ribbon(aes(ymin = lwr.bound, ymax = upr.bound), fill = \"blue\", alpha = 0.12, color = NA) +\n", + " geom_line(color = \"black\") +\n", + " geom_line(aes(y = lwr.ci), color = \"black\", linetype = \"dashed\") +\n", + " geom_line(aes(y = upr.ci), color = \"black\", linetype = \"dashed\") +\n", + " geom_line(aes(y = lwr.bound), color = \"blue\") +\n", + " geom_line(aes(y = upr.bound), color = \"blue\") +\n", + " geom_line(aes(y = lwr.cbound), color = \"blue\", linetype = \"dashed\") +\n", + " geom_line(aes(y = upr.cbound), color = \"blue\", linetype = \"dashed\") +\n", + " theme_bw() +\n", + " theme(plot.title = element_text(hjust = 0.5)) +\n", + " xlab(\"Income Groups by Quartiles\") +\n", + " ylab(\"ATE\") +\n", + " ggtitle(\"Confidence and Sensitivity Bounds\")\n", + "\n", + "ggsave(\"figures/401k-groups-sensitivity-combined.pdf\", p_combined, width = 4.5, height = 4.5)\n", + "p_combined" + ] + }, + { + "cell_type": "markdown", + "id": "651c1a8d", + "metadata": {}, + "source": [ + "## Benchmarking\n", + "\n", + "Rather than posit $C_Y$ and $C_D$ in the abstract, we can calibrate them against a covariate we do observe. The procedure is as follows: drop the covariate from $X^o$, refit, and read off the gains it supplied. Latent confounding is then described relative to the chosen benchmarking variable." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "b4a7321f", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:55:07.238274Z", + "iopub.status.busy": "2026-09-11T14:55:07.237941Z", + "iopub.status.idle": "2026-09-11T14:56:25.265989Z", + "shell.execute_reply": "2026-09-11T14:56:25.265444Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "set.seed(2)\n", + "invisible(capture.output(\n", + " bench_plm <- dml_benchmark(dml_401k_plm,\n", + " benchmark_covariates = c(\"inc\", \"pira\", \"twoearn\")\n", + " )\n", + "))" + ] + }, + { + "cell_type": "markdown", + "id": "085c0865", + "metadata": {}, + "source": [ + "`gain.Y` is the implied $C_Y^2$ and `gain.D` the implied $q_\\alpha$. Income is a strong predictor of both eligibility and financial assets; IRA participation and two-earner status are considerably weaker.\n", + "\n", + "The `rho` column records the alignment each covariate actually exhibits. None is anywhere near $\\pm 1$, which is a first indication of how conservative the worst-case analysis is.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "9837c2cf", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:56:25.271430Z", + "iopub.status.busy": "2026-09-11T14:56:25.271070Z", + "iopub.status.idle": "2026-09-11T14:56:25.284321Z", + "shell.execute_reply": "2026-09-11T14:56:25.283894Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
A matrix: 3 × 3 of type dbl
gain.Ygain.Drho
inc0.13660.0502-0.3372
pira0.04870.0081-0.1317
twoearn0.03990.0112 0.2589
\n" + ], + "text/latex": [ + "A matrix: 3 × 3 of type dbl\n", + "\\begin{tabular}{r|lll}\n", + " & gain.Y & gain.D & rho\\\\\n", + "\\hline\n", + "\tinc & 0.1366 & 0.0502 & -0.3372\\\\\n", + "\tpira & 0.0487 & 0.0081 & -0.1317\\\\\n", + "\ttwoearn & 0.0399 & 0.0112 & 0.2589\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "A matrix: 3 × 3 of type dbl\n", + "\n", + "| | gain.Y | gain.D | rho |\n", + "|---|---|---|---|\n", + "| inc | 0.1366 | 0.0502 | -0.3372 |\n", + "| pira | 0.0487 | 0.0081 | -0.1317 |\n", + "| twoearn | 0.0399 | 0.0112 | 0.2589 |\n", + "\n" + ], + "text/plain": [ + " gain.Y gain.D rho \n", + "inc 0.1366 0.0502 -0.3372\n", + "pira 0.0487 0.0081 -0.1317\n", + "twoearn 0.0399 0.0112 0.2589" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "out <- summary(bench_plm)$benchmarks\n", + "round(out[, c(\"gain.Y\", \"gain.D\", \"rho\")], 4)" + ] + }, + { + "cell_type": "markdown", + "id": "70083858", + "metadata": {}, + "source": [ + "## Contour Plots" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "c850176c", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "ovb_contour_no_origin_label <-\n", + " getS3method(\"ovb_contour_plot\", \"dml\")\n", + "\n", + "plot_body <- as.list(body(ovb_contour_no_origin_label))\n", + "\n", + "is_origin_label <- vapply(\n", + " plot_body,\n", + " function(expr) {\n", + " is.call(expr) &&\n", + " identical(expr[[1L]], as.name(\"text\")) &&\n", + " \"label.unadjusted\" %in% all.names(expr)\n", + " },\n", + " logical(1)\n", + ")\n", + "\n", + "# Verify that we found exactly the intended annotation.\n", + "stopifnot(sum(is_origin_label) == 1L)\n", + "\n", + "plot_body[is_origin_label] <- list(quote(invisible(NULL)))\n", + "\n", + "body(ovb_contour_no_origin_label) <- as.call(plot_body)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "e65ef369", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:56:25.285890Z", + "iopub.status.busy": "2026-09-11T14:56:25.285593Z", + "iopub.status.idle": "2026-09-11T14:56:25.289940Z", + "shell.execute_reply": "2026-09-11T14:56:25.289562Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "bumps_plm <- list(\n", + " pira = c(0.010, 0.009),\n", + " twoearn = c(0.020, -0.002),\n", + " inc = c(0.010, 0.009),\n", + " inc4 = c(0.015, -0.005)\n", + ")\n", + "\n", + "bumps_npm <- list(\n", + " pira = c(0.005, 0.009),\n", + " twoearn = c(0.020, 0.005),\n", + " inc = c(-0.010, 0.009),\n", + " inc4 = c(0.015, 0.000)\n", + ")\n", + "\n", + "contour_panel <- function(fit, bench, rho2, title, bumps = bumps_plm) {\n", + " ovb_contour_no_origin_label(\n", + " fit,\n", + " which.bound = \"lwr\",\n", + " level = 0.95,\n", + " cf.y = NULL,\n", + " rho2 = rho2,\n", + " col.contour = \"blue\",\n", + " label.bump.x = 0.015,\n", + " label.bump.y = 0.003,\n", + " lim.x = 0.16\n", + " )\n", + "\n", + " title(main = title)\n", + "\n", + " add_bound <- function(cfd, cfy, label, bump_x, bump_y, ...) {\n", + " sensemakr::add_bound_to_contour(\n", + " r2dz.x = cfd, r2yz.dx = cfy,\n", + " bound_label = label,\n", + " bound_value = confidence_bounds(\n", + " fit,\n", + " cf.y = cfy, cf.d = cfd, rho2 = rho2,\n", + " level = 0.95, combine.method = \"median\"\n", + " )[\"ate\", \"lwr\"],\n", + " label.bump.x = bump_x, label.bump.y = bump_y, ...\n", + " )\n", + " }\n", + "\n", + " add_bound(0.03, 0.04, \"Max Match\", 0.015, 0.003, point.pch = 25, point.bg = \"red\")\n", + "\n", + " # one-times each observed benchmark\n", + " add_bound(\n", + " bench[\"pira\", \"gain.D\"], bench[\"pira\", \"gain.Y\"], \"1 x Part. in IRA\",\n", + " bumps$pira[1], bumps$pira[2]\n", + " )\n", + " add_bound(\n", + " bench[\"twoearn\", \"gain.D\"], bench[\"twoearn\", \"gain.Y\"], \"1 x Two Earners\",\n", + " bumps$twoearn[1], bumps$twoearn[2]\n", + " )\n", + " add_bound(\n", + " bench[\"inc\", \"gain.D\"], bench[\"inc\", \"gain.Y\"], \"1 x Income\",\n", + " bumps$inc[1], bumps$inc[2]\n", + " )\n", + "\n", + " # a quarter as strong as income\n", + " add_bound(\n", + " bench[\"inc\", \"gain.D\"] * 0.25, bench[\"inc\", \"gain.Y\"] * 0.25, \"1/4 x Income\",\n", + " bumps$inc4[1], bumps$inc4[2]\n", + " )\n", + "\n", + " # unadjusted\n", + " add_bound(0, 0, \"Unadjusted\", bump_x = 0.015, bump_y = 0.003, point.pch = NA)\n", + "\n", + " invisible(NULL)\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "2522b94d", + "metadata": {}, + "source": [ + "### Partially Linear Model\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "445dba1a", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:56:25.291459Z", + "iopub.status.busy": "2026-09-11T14:56:25.291151Z", + "iopub.status.idle": "2026-09-11T14:56:25.693510Z", + "shell.execute_reply": "2026-09-11T14:56:25.693103Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABBoAAAQaCAMAAADaAuttAAAAilBMVEX9/v0AAAAAAE0AAGgAAHwAAJoAAKcAALIAANAAANkAAOEAAPAAAP9AQUBDRENISEhMTUxNAABbW1tcXVxnaGdoAAB0dHR6e3p7e3t8AAB9fX2LjIuZmpmaAACmpqanAACxsrG7vLvFxsXOz87T1NPX2Nfa29rf4N/n6OfpAADu7+7wAAD9/v3/AACbBNdGAAAALnRSTlP//////////////////////////////////////////////////////////wD/PKlhqgAAAAlwSFlzAAAXEQAAFxEByibzPwAAIABJREFUeJztvQu76jzQnhd9SZomUVt/LW1JIHQBpRDi9///veKzDeOzNDOSnvu69loc5HkEC99bPol/kwMAwA//RroDAACNQA0AAAKoAQBAADUAAAigBgAAAdQAACCAGgAABFADAIAAagAAEEANAAACqAEAQAA1AAAIoAYAAAHUAAAggBoAAARQAwCAAGoAABBADQAAAqgBAEAANQAACKAGAAAB1AAAIIAaAAAEUAMAgABqAAAQQA0AAAKoAQBAADUAAAigBgAAAdQAACCAGgAABFADAIAAagAAEEANAAACqAEAQAA1AAAIoAYAAAHUAAAggBoAAARQAwCAAGoAABBADQAAAqgBAEAANQAACKAGAAAB1AAAIIAaAAAEUAMAgABqYMJ0HC+P+fbvZqmRYhPPDhtNPLAZczpfb737t+v5NFN7+pVMLLbm4TGezl55QkANTJgBp5nW74tplhopNvHssNHEA5spX8Orvfso788usuLh3vNrHh7jCDWsB2pgYqgGc5xtPfhNPy2rhr/27p9yNRzdvfKEgBqY6H06X+fPnfvS1hNPr1SDOz6lD+bQ3v3c1qyG47y4wC9QAxODT+dlbpNCvxr+ui2KV3lPqxoe2YIxDfgFamBi8Ol8z68R2tXwNOZa3/t44aFWDSdjsjvUsAGogYnhp7O5dzt9/k/Lzvfu0avJLs0Oid5Svw2bX8fBf9/H34zvB4pf78tnE+DYbdTcP2vQ8drepbs1rJS1WQeT9cKunw4du8MXz0tWLto1GGR5V8NnfPbyacl4gRqY+B41ZJ9fr2x4xKL6z9icf9RANGx/ff5LbFbaz3/ft5HE4VL3r52hp+pu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", + "text/plain": [ + "Plot with title \"paste(\"Partially Linear Model, |\", rho, \"| = 1\")\"" + ] + }, + "metadata": { + "image/png": { + "height": 525, + "width": 525 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "options(repr.plot.width = 7, repr.plot.height = 7)\n", + "\n", + "pdf(\"figures/401K-contour-plm-lower.pdf\", width = 6, height = 6)\n", + "contour_panel(dml_401k_plm, out, rho2 = 1, title = expression(paste(\"Partially Linear Model, |\", rho, \"| = 1\")))\n", + "invisible(dev.off())\n", + "\n", + "contour_panel(dml_401k_plm, out, rho2 = 1, title = expression(paste(\"Partially Linear Model, |\", rho, \"| = 1\")))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "3f14d055", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:56:25.695962Z", + "iopub.status.busy": "2026-09-11T14:56:25.695610Z", + "iopub.status.idle": "2026-09-11T14:56:26.093514Z", + "shell.execute_reply": "2026-09-11T14:56:26.093039Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABBoAAAQaCAMAAADaAuttAAAAk1BMVEX9/v0AAAAAAGgAAHwAAJoAAKcAALIAAL0AANAAANkAAOkAAPAAAP8fHx8qKioyMjJDRENISEhMTUxNAABbW1thYmFnZ2dnaGdoAAB7e3t8AACDhIOLjIuZmpmaAACmpqanAACur66xsrG0tbS7vLvFxsXLy8vOz87S09LX2Nff4N/n6OfpAADu7+7wAAD9/v3/AABXzPEjAAAAMXRSTlP//////////////////////////////////////////////////////////////wD/obxc3gAAAAlwSFlzAAAXEQAAFxEByibzPwAAIABJREFUeJztvQ3f+jq0YDW54zjqxbeOioww6COIwMWe7//ppO9p2S0F2mQnWet3zv+BEpK0NIudNA3/LgcAeOHf+a4AAGgENQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaVsR07I7X9+kfzbtGMpt4tZ9oYsPXmP3hdLaen0+H/Zu8p/dk4m2fbB7j1kv/MFm58bA1JjtcPsopUVDDipge+zepH0fTvGsks4lX+4kmNnxNuQ/39um1fP72LR9stl7/ZPMYu176szk8/93P/SwANaxKXw1m9zZ176/8sl81/LVP/5SrYdcv5WDOlhnefhaAGlbFOjvvh+eT6Tj2TYv5Tg3L8cx6a7bt0+djzWrYDcSVmUd+eW463uvP4jz6VqhADSvSOzuP78JY/Wr463oU9/KZVjVcs0FMcyukdmiFcCBseA9qWJHe2fl43yK0q+FmzKl+9vTCVa0anh2H7NIr5VR0hbJ2y9vPAlDDqvRPwObZeZ9Zo+TF1pPJjk0n2HrXa8Lmz6739b17LWO4ofjzOD67ALuuU3N5tqDdqX0qV6ufU9aWtTWZVdjpWaFdF6Lfjln51i5Br6zV1fCMz+79UnbmOkiB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", + "text/plain": [ + "Plot with title \"paste(\"Partially Linear Model, |\", rho, \"| = 1/2\")\"" + ] + }, + "metadata": { + "image/png": { + "height": 525, + "width": 525 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "rho2_half <- (1 / 2)^2\n", + "\n", + "pdf(\"figures/401K-contour-plm-lower-rho2.pdf\", width = 6, height = 6)\n", + "contour_panel(dml_401k_plm, out, rho2 = rho2_half,\n", + " title = expression(paste(\"Partially Linear Model, |\", rho, \"| = 1/2\")))\n", + "invisible(dev.off())\n", + "\n", + "contour_panel(dml_401k_plm, out, rho2 = rho2_half,\n", + " title = expression(paste(\"Partially Linear Model, |\", rho, \"| = 1/2\")))" + ] + }, + { + "cell_type": "markdown", + "id": "8c69bfb3", + "metadata": {}, + "source": [ + "Under worst-case alignment a confounder as strong as income crosses the zero contour, whereas the matching scenario and the one-quarter-income benchmark do not.\n", + "\n", + "The second panel makes a different assumption: errors in the outcome regression and in the Riesz representer are only half as aligned. The lower endpoint then rises substantially. This comparison separates the strength of a confounder from the degree of adversity with which its two effects align, and none of the observed covariates exhibits alignment close to the worst case.\n" + ] + }, + { + "cell_type": "markdown", + "id": "69a6db36", + "metadata": {}, + "source": [ + "### Nonparametric Model\n", + "\n", + "The gains are target-specific, so this specification needs its own benchmarks. Here `gain.D` is read as a relative gain in propensity-score precision rather than as a reduction in residual treatment variance.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "629fe818", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:56:26.095791Z", + "iopub.status.busy": "2026-09-11T14:56:26.095475Z", + "iopub.status.idle": "2026-09-11T14:57:52.635257Z", + "shell.execute_reply": "2026-09-11T14:57:52.634727Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\t\n", + "\n", + "
A matrix: 3 × 3 of type dbl
gain.Ygain.Drho
inc0.13150.1288-0.218
pira0.02670.0000 0.000
twoearn0.01130.0000 0.000
\n" + ], + "text/latex": [ + "A matrix: 3 × 3 of type dbl\n", + "\\begin{tabular}{r|lll}\n", + " & gain.Y & gain.D & rho\\\\\n", + "\\hline\n", + "\tinc & 0.1315 & 0.1288 & -0.218\\\\\n", + "\tpira & 0.0267 & 0.0000 & 0.000\\\\\n", + "\ttwoearn & 0.0113 & 0.0000 & 0.000\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "A matrix: 3 × 3 of type dbl\n", + "\n", + "| | gain.Y | gain.D | rho |\n", + "|---|---|---|---|\n", + "| inc | 0.1315 | 0.1288 | -0.218 |\n", + "| pira | 0.0267 | 0.0000 | 0.000 |\n", + "| twoearn | 0.0113 | 0.0000 | 0.000 |\n", + "\n" + ], + "text/plain": [ + " gain.Y gain.D rho \n", + "inc 0.1315 0.1288 -0.218\n", + "pira 0.0267 0.0000 0.000\n", + "twoearn 0.0113 0.0000 0.000" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "set.seed(2)\n", + "invisible(capture.output(\n", + " bench_npm <- dml_benchmark(dml_401k_npm,\n", + " benchmark_covariates = c(\"inc\", \"pira\", \"twoearn\")\n", + " )\n", + "))\n", + "\n", + "out_npm <- summary(bench_npm)$benchmarks\n", + "round(out_npm[, c(\"gain.Y\", \"gain.D\", \"rho\")], 4)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "2aacd3da", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:57:52.642707Z", + "iopub.status.busy": "2026-09-11T14:57:52.642270Z", + "iopub.status.idle": "2026-09-11T14:57:53.089117Z", + "shell.execute_reply": "2026-09-11T14:57:53.088690Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABBoAAAQaCAMAAADaAuttAAAAgVBMVEX9/v0AAAAAAE0AAGgAAHwAAIwAAJoAAKcAALIAAL0AAMcAANAAANkAAOEAAOkAAP9MTUxNAABnaGdoAAB7e3t8AACLjIuZmpmaAACmpqanAACxsrG7vLu9AADFxsXHAADOz87QAADX2NfZAADf4N/n6OfpAADu7+7wAAD9/v3/AACQhBttAAAAK3RSTlP//////////////////////////////////////////////////////wD/ne+1LwAAAAlwSFlzAAAXEQAAFxEByibzPwAAIABJREFUeJztvYvW6jyQYDeazHQnmXTj0AzE+QghDIT4f/8HDL5fKMAYXUrW3mud84FtqmSwNrIsmf9UAAA88Z9CFwAANIIaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA0AIIAaAEAANQCAAGoAAAHUAAACqAEABFADAAigBgAQQA2+MMYcx0+DFeWZ++T5+9KZ/eF4Gjw/HQ/7D3vzIuCnd+HF6i/fu6uq9zoWUIMvHrXA3EZPw5Vlwj2fluWDGsb7cqmev08RVA07Re91PKAGX5TVZzd6Gq4sE57LMkMNf93TP+Vq2Gl6r+MBNfiiqj/H4dOAhRnzbVke22/Ntnv6eKxZDbvP4gIB1OCLx/G5HzTDNR2uC9Tw1+/KrXqmVQ2XbEabBgRQgy8ex+c9608pNB2uC9Rw7VtADy9c1KrhYePsrOm9jgfU4Ivy+Dz1Fao/XI+PFu/uNFh8zx8N9N15sN1fZrLDtY102j++CbPDYIOjyXJ5TXF8NPfLnPc8M9u8K835UWd2x3az5ou1D9WVri7L3/gKRrm2t9zWZK/2piiuj7SjgMPMHtTwaKrdVGk4HlCDL6rjsz+laA/Xc93gNbtbu/jcVNVdt93ODDr+bllbl/ftBo+vcHMQ1zQvzdt1bXXe19tlt2KihiZUW7o/M9hwtCv5oxFUPbmXL3ix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", + "text/plain": [ + "Plot with title \"paste(\"Nonparametric Model, |\", rho, \"| = 1\")\"" + ] + }, + "metadata": { + "image/png": { + "height": 525, + "width": 525 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "pdf(\"figures/401K-contour-npm-lower.pdf\", width = 6, height = 6)\n", + "contour_panel(dml_401k_npm, out_npm, rho2 = 1,\n", + " title = expression(paste(\"Nonparametric Model, |\", rho, \"| = 1\")), bumps = bumps_npm)\n", + "invisible(dev.off())\n", + "\n", + "contour_panel(dml_401k_npm, out_npm, rho2 = 1,\n", + " title = expression(paste(\"Nonparametric Model, |\", rho, \"| = 1\")), bumps = bumps_npm)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "5f1eab78", + "metadata": { + "execution": { + "iopub.execute_input": "2026-09-11T14:57:53.091609Z", + "iopub.status.busy": "2026-09-11T14:57:53.091253Z", + "iopub.status.idle": "2026-09-11T14:57:53.519948Z", + "shell.execute_reply": "2026-09-11T14:57:53.519500Z" + }, + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "Plot with title \"paste(\"Nonparametric Model, |\", rho, \"| = 1/2\")\"" + ] + }, + "metadata": { + "image/png": { + "height": 525, + "width": 525 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "pdf(\"figures/401K-contour-npm-lower-rho2.pdf\", width = 6, height = 6)\n", + "contour_panel(dml_401k_npm, out_npm, rho2 = rho2_half,\n", + " title = expression(paste(\"Nonparametric Model, |\", rho, \"| = 1/2\")), bumps = bumps_npm)\n", + "invisible(dev.off())\n", + "\n", + "contour_panel(dml_401k_npm, out_npm, rho2 = rho2_half,\n", + " title = expression(paste(\"Nonparametric Model, |\", rho, \"| = 1/2\")), bumps = bumps_npm)" + ] + }, + { + "cell_type": "markdown", + "id": "14dd7abd", + "metadata": {}, + "source": [ + "The nonparametric contours are slightly more conservative, but the message is similar. Under perfect adversarial alignment, income-strength confounding can overturn the finding; the contextual matching scenario cannot. At $|\\rho| = 1/2$, even the lower confidence endpoint for the main scenario remains comfortably positive.\n", + "\n", + "The treatment-side gains for IRA participation and two-earner status come out near zero here, placing both markers on the vertical axis. This follows from what `gain.D` measures in this model: a covariate that barely moves propensity scores away from the middle of $[0,1]$ leaves average precision almost unchanged, however much it predicts the outcome.\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "R", + "language": "R", + "name": "ir" + }, + "language_info": { + "codemirror_mode": "r", + "file_extension": ".r", + "mimetype": "text/x-r-source", + "name": "R", + "pygments_lexer": "r", + "version": "4.6.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/T-ADML/r-ADML-gas.irnb b/T-ADML/r-ADML-gas.irnb new file mode 100644 index 00000000..2ddb628b --- /dev/null +++ b/T-ADML/r-ADML-gas.irnb @@ -0,0 +1,1252 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c001", + "metadata": {}, + "source": [ + "# Empirical Example for Sensitivity Analysis: Gasoline Demand\n", + "\n", + "This is an adaptation of the replication package for Chernozhukov, Cinelli, Newey, Sharma and Syrgkanis,\n", + "*Long Story Short: Omitted Variable Bias in Causal Machine Learning*\n", + "\n", + "The original replication package can be found __[here](https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/VH6QHQ)__.\n", + "\n", + "Note: This R notebook implements the sieve Riesz representer approach for the nonparametric estimator. The generalized random forest Riesz representer (ForestRiesz) used in the Python notebook has no direct R equivalent and is omitted here; the sieve candidates (degree-1 and degree-2 polynomial sieves) are used instead." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "c002", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "repos <- c(CRAN = \"https://cloud.r-project.org\")\n", + "pkgs <- c(\"ranger\", \"glmnet\", \"ggplot2\", \"Matrix\")\n", + "for (p in pkgs) {\n", + " if (!requireNamespace(p, quietly = TRUE)) {\n", + " install.packages(p, repos = repos, quiet = TRUE)\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "c003", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "suppressMessages({\n", + " library(ranger)\n", + " library(glmnet)\n", + " library(ggplot2)\n", + "})\n", + "options(scipen = 99)\n", + "options(repr.plot.width = 5, repr.plot.height = 5, repr.plot.res = 150)" + ] + }, + { + "cell_type": "markdown", + "id": "c004", + "metadata": {}, + "source": [ + "## Setting\n", + "\n", + "The data come from the 2001 National Household Travel Survey and contain household gasoline consumption, gasoline prices, income brackets, and 24 observed controls describing population density, urbanization, demographics, and Census regions. After the sample restrictions used in the earlier demand studies, the analysis contains 3,466 households.\n", + "\n", + "The outcome $Y$ is log gasoline consumption, the treatment $D$ is log gasoline price, and $X^o$ collects the observed controls. The target is the average causal derivative $\\theta_s = \\mathrm{E}\\{\\partial_d g_s(D, X^o)\\}$, the average price elasticity of gasoline demand. The moment function below encodes $m(W_s, g) = \\partial_d g(D, X^o)$, approximated by a central finite difference with $\\epsilon = 0.01$." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "c005", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "moment_fn <- function(X, test_fn, epsilon = 0.01) {\n", + " t1 <- cbind(X[, 1L] + epsilon, X[, -1L, drop = FALSE])\n", + " t0 <- cbind(X[, 1L] - epsilon, X[, -1L, drop = FALSE])\n", + " (test_fn(t1) - test_fn(t0)) / (2 * epsilon)\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "c006", + "metadata": {}, + "source": [ + "## Data\n", + "\n", + "Following the earlier demand studies, households with very low prices or incomes are dropped. Besides the full sample (`q=5`), the analysis uses four income groups. The first three (`q=1,2,3`) are overlapping groups centered near annual incomes of \\$42,500, \\$57,500 and \\$72,500. The fourth (`q=4`) contains high-income households with income above roughly \\$110,000 ($\\log y \\geq 11.6$)." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c007", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "get_data_r <- function(q = 5L, synthetic = FALSE, region = TRUE,\n", + " random_seed = 123L) {\n", + " data_url <- paste0(\n", + " \"https://raw.githubusercontent.com/CausalAIBook/MetricsMLNotebooks/\",\n", + " \"update-notebooks/data/data_BHP2_with_region.csv\"\n", + " )\n", + " df <- read.csv(data_url, stringsAsFactors = FALSE)\n", + "\n", + " df <- df[df$log_p > log(1.2), ]\n", + " df <- df[df$log_y > log(15000), ]\n", + " if (!(q %in% c(4L, 5L))) {\n", + " df <- df[df$log_y >= log(42500) - 0.5 & df$log_y <= log(72500) + 0.5, ]\n", + " }\n", + " if (q == 1L) df <- df[df$log_y >= log(42500) - .5 & df$log_y <= log(42500) + .5, ]\n", + " if (q == 2L) df <- df[df$log_y >= log(57500) - .5 & df$log_y <= log(57500) + .5, ]\n", + " if (q == 3L) df <- df[df$log_y >= log(72500) - .5 & df$log_y <= log(72500) + .5, ]\n", + " if (q == 4L) df <- df[df$log_y >= 11.6, ]\n", + "\n", + " # Drop non-feature columns\n", + " drop_cols <- c(\"log_q\", \"distance_oil1000\", \"share\")\n", + " Xdf <- df[, !names(df) %in% drop_cols, drop = FALSE]\n", + "\n", + " if (region) {\n", + " lvls <- sort(unique(df$region))[-1L] # drop-first encoding\n", + " for (lv in lvls) {\n", + " Xdf[[paste0(\"region_\", lv)]] <- as.numeric(df$region == lv)\n", + " }\n", + " }\n", + " Xdf <- Xdf[, !names(Xdf) %in% c(\"state_fips\", \"region\"), drop = FALSE]\n", + "\n", + " X <- as.matrix(Xdf)\n", + " y <- df$log_q\n", + "\n", + " # 5-fold state-grouped splits\n", + " set.seed(random_seed)\n", + " states <- df$state_fips\n", + " state_ids <- sample(unique(states))\n", + " k <- 5L\n", + " fold_label <- rep_len(seq_len(k), length(state_ids))\n", + " state_fold <- setNames(fold_label, state_ids)\n", + " obs_fold <- state_fold[as.character(states)]\n", + " splits <- lapply(seq_len(k), function(i) {\n", + " list(train = which(obs_fold != i), test = which(obs_fold == i))\n", + " })\n", + "\n", + " list(X = X, y = y, splits = splits, col_names = colnames(Xdf))\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "c008", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Global parameters\n", + "q_grid <- 1:5\n", + "synthetic <- FALSE\n", + "region <- TRUE\n", + "verbose <- 0L" + ] + }, + { + "cell_type": "markdown", + "id": "c009", + "metadata": {}, + "source": [ + "## Module Definitions\n", + "\n", + "The following cells implement helper functions used by this notebook. The nonparametric estimator uses polynomial sieve Riesz representers (degree-1 and degree-2) fitted by L2 or elastic-net penalized regression. The partially linear estimator uses random forests for first-stage nuisance estimation." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c010", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Polynomial-treatment x covariate feature matrix (cross product)\n", + "# Mirrors Python's Featurizer._transform: cross_product(poly(T), X[:,1:])\n", + "poly_cross_feats <- function(X, degree) {\n", + " n <- nrow(X)\n", + " p_x <- ncol(X) - 1L\n", + " t_poly <- outer(X[, 1L], seq(0L, degree), `^`) # n x (degree+1)\n", + " feats <- matrix(0, n, (degree + 1L) * p_x)\n", + " for (j in seq_len(degree + 1L)) {\n", + " idx <- ((j - 1L) * p_x + 1L):(j * p_x)\n", + " feats[, idx] <- t_poly[, j] * X[, -1L, drop = FALSE]\n", + " }\n", + " cbind(1.0, feats) # include intercept column\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c011", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Linear sieve Riesz representer with L2 penalty.\n", + "# Returns a prediction function function(X_new) -> numeric(nrow(X_new))\n", + "fit_sieve_rr <- function(x_train, moment_fn, alpha = 0, degree = 1L) {\n", + " Xf <- poly_cross_feats(x_train, degree)\n", + " n <- nrow(Xf)\n", + " p <- ncol(Xf)\n", + "\n", + " # Moment features: M[i,j] = moment_fn(X, phi_j) where phi_j(x) = Xf[i,j]\n", + " Mf <- matrix(0, n, p)\n", + " for (j in seq_len(p)) {\n", + " local({\n", + " jj <- j\n", + " Mf[, jj] <<- moment_fn(\n", + " x_train,\n", + " function(Xnew) poly_cross_feats(Xnew, degree)[, jj]\n", + " )\n", + " })\n", + " }\n", + "\n", + " Sig <- crossprod(Xf) / n\n", + " reg <- alpha * diag(p)\n", + " reg[1L, 1L] <- 0\n", + " params <- solve(Sig + reg + 1e-10 * diag(p), colMeans(Mf))\n", + "\n", + " function(Xnew) drop(poly_cross_feats(Xnew, degree) %*% params)\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "c012", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Elastic-net sieve Riesz representer via L-BFGS-B on the doubled variable.\n", + "# Mirrors Python's SparseSieveRR using scipy fmin_l_bfgs_b.\n", + "fit_sparse_sieve_rr <- function(x_train, moment_fn,\n", + " alpha = 0.01, l1_ratio = 1.0,\n", + " degree = 1L, tol = 1e-4) {\n", + " Xf <- poly_cross_feats(x_train, degree)\n", + " n <- nrow(Xf)\n", + " p <- ncol(Xf)\n", + "\n", + " Mf <- matrix(0, n, p)\n", + " for (j in seq_len(p)) {\n", + " local({\n", + " jj <- j\n", + " Mf[, jj] <<- moment_fn(\n", + " x_train,\n", + " function(Xnew) poly_cross_feats(Xnew, degree)[, jj]\n", + " )\n", + " })\n", + " }\n", + "\n", + " Sig <- crossprod(Xf) / n\n", + " mfeats <- colMeans(Mf)\n", + " a_l1 <- alpha * l1_ratio\n", + " a_l2 <- alpha * (1 - l1_ratio)\n", + "\n", + " loss_gr <- function(ec) {\n", + " coef <- ec[1:p] - ec[(p + 1):(2 * p)]\n", + " loss <- -2 * sum(mfeats * coef) + as.numeric(t(coef) %*% Sig %*% coef)\n", + " loss <- loss + a_l1 * sum(ec[2:p]) + a_l1 * sum(ec[(p + 2):(2 * p)])\n", + " loss <- loss + 0.5 * a_l2 * sum(ec[2:p]^2) + 0.5 * a_l2 * sum(ec[(p + 2):(2 * p)]^2)\n", + " gr <- 2 * as.numeric(Sig %*% coef - mfeats)\n", + " grad <- c(gr, -gr)\n", + " grad[2:p] <- grad[2:p] + a_l1 + a_l2 * ec[2:p]\n", + " grad[(p + 2):(2 * p)] <- grad[(p + 2):(2 * p)] + a_l1 + a_l2 * ec[(p + 2):(2 * p)]\n", + " list(value = loss, gradient = grad)\n", + " }\n", + "\n", + " res <- optim(\n", + " rep(0, 2 * p),\n", + " fn = function(ec) loss_gr(ec)$value,\n", + " gr = function(ec) loss_gr(ec)$gradient,\n", + " method = \"L-BFGS-B\",\n", + " lower = rep(0, 2 * p),\n", + " control = list(factr = tol / .Machine$double.eps, maxit = 1000L)\n", + " )\n", + " params <- res$par[1:p] - res$par[(p + 1):(2 * p)]\n", + " function(Xnew) drop(poly_cross_feats(Xnew, degree) %*% params)\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "c013", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Riesz score on held-out data: E[2*m(X;g) - g(X)^2] (higher is better)\n", + "riesz_score_r <- function(rr_fn, x_val, moment_fn) {\n", + " mean(2 * moment_fn(x_val, rr_fn) - rr_fn(x_val)^2)\n", + "}\n", + "\n", + "# Select best Riesz candidate via CV, return a factory function(X_train) -> rr_fn\n", + "rr_fn_gen <- function(X, moment_fn, splits, ...) {\n", + " alpha_grid <- 10^seq(-5, 2, length.out = 8L)\n", + " best_score <- -Inf\n", + " best_factory <- NULL\n", + "\n", + " for (degree in c(1L, 2L)) {\n", + " for (alpha in alpha_grid) {\n", + " for (sparse in c(FALSE, TRUE)) {\n", + " scores <- vapply(splits, function(s) {\n", + " fit_fn <- if (sparse) fit_sparse_sieve_rr else fit_sieve_rr\n", + " m <- tryCatch(\n", + " fit_fn(X[s$train, , drop = FALSE], moment_fn,\n", + " alpha = alpha, degree = degree\n", + " ),\n", + " error = function(e) NULL\n", + " )\n", + " if (is.null(m)) {\n", + " return(-Inf)\n", + " }\n", + " riesz_score_r(m, X[s$test, , drop = FALSE], moment_fn)\n", + " }, numeric(1L))\n", + " sc <- mean(scores[is.finite(scores)])\n", + " if (is.finite(sc) && sc > best_score) {\n", + " best_score <- sc\n", + " best_factory <- local({\n", + " d <- degree\n", + " a <- alpha\n", + " sp <- sparse\n", + " function(x_tr) {\n", + " if (sp) {\n", + " fit_sparse_sieve_rr(x_tr, moment_fn, alpha = a, degree = d)\n", + " } else {\n", + " fit_sieve_rr(x_tr, moment_fn, alpha = a, degree = d)\n", + " }\n", + " }\n", + " })\n", + " }\n", + " }\n", + " }\n", + " }\n", + " if (is.null(best_factory)) {\n", + " best_factory <- function(x_tr) {\n", + " fit_sieve_rr(x_tr, moment_fn, alpha = 1e-2, degree = 1L)\n", + " }\n", + " }\n", + " best_factory\n", + "}\n", + "\n", + "# Regression model selection: ranger vs. lasso (glmnet), return factory\n", + "reg_fn_gen <- function(X, y, splits, ...) {\n", + " # Scale matrix, clamping zero-SD columns to 1 to avoid NaN\n", + " safe_scale <- function(X, ctr = colMeans(X),\n", + " scl = {\n", + " s <- apply(X, 2, sd)\n", + " s[s < .Machine$double.eps] <- 1\n", + " s\n", + " }) {\n", + " scale(X, center = ctr, scale = scl)\n", + " }\n", + "\n", + " # Evaluate ranger CV MSE\n", + " rf_preds <- numeric(nrow(X))\n", + " for (s in splits) {\n", + " df_tr <- as.data.frame(cbind(y_tr = y[s$train], X[s$train, , drop = FALSE]))\n", + " rf <- ranger(y_tr ~ ., data = df_tr, num.trees = 200L, verbose = FALSE)\n", + " rf_preds[s$test] <- predict(rf, data = as.data.frame(X[s$test, , drop = FALSE]))$predictions\n", + " }\n", + " rf_mse <- mean((y - rf_preds)^2)\n", + "\n", + " # Evaluate lasso CV MSE; fall back to ranger if glmnet errors\n", + " lasso_fit <- tryCatch(cv.glmnet(safe_scale(X), y, alpha = 1, nfolds = 5L),\n", + " error = function(e) NULL\n", + " )\n", + " lasso_mse <- if (!is.null(lasso_fit)) min(lasso_fit$cvm) else Inf\n", + "\n", + " if (lasso_mse < rf_mse) {\n", + " function(x_tr, y_tr) {\n", + " ctr <- colMeans(x_tr)\n", + " scl <- apply(x_tr, 2, sd)\n", + " scl[scl < .Machine$double.eps] <- 1\n", + " lf <- cv.glmnet(scale(x_tr, center = ctr, scale = scl), y_tr, alpha = 1, nfolds = 5L)\n", + " function(Xnew) as.numeric(predict(lf, newx = scale(Xnew, center = ctr, scale = scl), s = \"lambda.min\"))\n", + " }\n", + " } else {\n", + " function(x_tr, y_tr) {\n", + " df_tr <- as.data.frame(cbind(y_tr = y_tr, x_tr))\n", + " rf <- ranger(y_tr ~ ., data = df_tr, num.trees = 200L, verbose = FALSE)\n", + " function(Xnew) predict(rf, data = as.data.frame(Xnew))$predictions\n", + " }\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c014", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Doubly-robust cross-fitted moment estimator.\n", + "# rr_factory: function(X_train) -> rr prediction function\n", + "# get_reg_fn: function(X_train, y_train) -> reg prediction function (pre-built by reg_fn_gen)\n", + "debiased_moment_fit <- function(X, y, moment_fn, rr_factory, get_reg_fn, splits) {\n", + " n <- nrow(X)\n", + " rr_pred <- reg_pred <- moment_pred <- moment_rr <- numeric(n)\n", + " reg_fitter <- get_reg_fn # already the fitter: function(X_tr, y_tr) -> pred_fn\n", + "\n", + " for (s in splits) {\n", + " tr <- s$train\n", + " te <- s$test\n", + " rr_fn <- rr_factory(X[tr, , drop = FALSE])\n", + " reg_fn <- reg_fitter(X[tr, , drop = FALSE], y[tr])\n", + "\n", + " rr_pred[te] <- rr_fn(X[te, , drop = FALSE])\n", + " reg_pred[te] <- reg_fn(X[te, , drop = FALSE])\n", + " moment_pred[te] <- moment_fn(X[te, , drop = FALSE], reg_fn)\n", + " moment_rr[te] <- moment_fn(X[te, , drop = FALSE], rr_fn)\n", + " }\n", + " moment <- moment_pred + rr_pred * (y - reg_pred)\n", + " list(\n", + " moment = moment, reg_pred = reg_pred, reisz_pred = rr_pred,\n", + " moment_reisz = moment_rr, y = y\n", + " )\n", + "}\n", + "\n", + "avg_moment_r <- function(est, alpha = 0.1) {\n", + " m <- mean(est$moment)\n", + " n <- length(est$moment)\n", + " se <- sd(est$moment) / sqrt(n)\n", + " h <- se * qt(1 - alpha / 2, n - 1L)\n", + " c(point = m, se = se, lower = m - h, upper = m + h)\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "c015", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# -- Nonparametric (DebiasedMoment) sensitivity ------------------------------------\n", + "\n", + "sensitivity_bounds_single_r <- function(est, eta_ysq, eta_asq, alpha = NULL) {\n", + " nusq <- mean(2 * est$moment_reisz - est$reisz_pred^2)\n", + " sigmasq <- mean((est$y - est$reg_pred)^2)\n", + " S <- sqrt(sigmasq * nusq)\n", + " Casq <- eta_asq / (1 - eta_asq)\n", + " theta <- mean(est$moment)\n", + " error <- S * sqrt(Casq * eta_ysq)\n", + " if (is.null(alpha)) {\n", + " return(c(theta - error, theta + error))\n", + " }\n", + " psi_theta <- est$moment - theta\n", + " psi_sigmasq <- (est$y - est$reg_pred)^2 - sigmasq\n", + " psi_nusq <- 2 * est$moment_reisz - est$reisz_pred^2 - nusq\n", + " k <- sqrt(Casq * eta_ysq) / (2 * S)\n", + " phi_p <- psi_theta + k * (sigmasq * psi_nusq + nusq * psi_sigmasq)\n", + " phi_m <- psi_theta - k * (sigmasq * psi_nusq + nusq * psi_sigmasq)\n", + " n <- length(psi_theta)\n", + " c(theta - error, sqrt(mean(phi_m^2) / n), theta + error, sqrt(mean(phi_p^2) / n))\n", + "}\n", + "\n", + "sensitivity_bounds_r <- function(est_list, eta_ysq, eta_asq, alpha = NULL) {\n", + " res <- lapply(est_list, sensitivity_bounds_single_r,\n", + " eta_ysq = eta_ysq, eta_asq = eta_asq, alpha = alpha\n", + " )\n", + " if (is.null(alpha)) {\n", + " return(c(mean(sapply(res, `[`, 1)), mean(sapply(res, `[`, 2))))\n", + " }\n", + " lower <- sapply(res, `[`, 1)\n", + " sl <- sapply(res, `[`, 2)\n", + " upper <- sapply(res, `[`, 3)\n", + " su <- sapply(res, `[`, 4)\n", + " z <- qnorm(1 - alpha)\n", + " c(\n", + " mean(lower) - z * sqrt(mean(sl^2) + var(lower)),\n", + " mean(upper) + z * sqrt(mean(su^2) + var(upper))\n", + " )\n", + "}\n", + "\n", + "tvalue_r <- function(est_list, value = 0, leq = NULL, alpha = NULL) {\n", + " t_out <- 1\n", + " for (t in seq(0, 1, length.out = 1000L)) {\n", + " b <- sensitivity_bounds_r(est_list, t, t, alpha = alpha)\n", + " if (is.null(leq) && value >= b[1] && value <= b[2]) {\n", + " t_out <- t\n", + " break\n", + " }\n", + " if (!is.null(leq) && leq && value >= b[1]) {\n", + " t_out <- t\n", + " break\n", + " }\n", + " if (!is.null(leq) && !leq && value <= b[2]) {\n", + " t_out <- t\n", + " break\n", + " }\n", + " }\n", + " t_out\n", + "}\n", + "\n", + "# -- PLM (DML residuals) sensitivity ------------------------------------------\n", + "\n", + "dml_sens_bounds_single_r <- function(est, eta_ysq, eta_asq, alpha = NULL) {\n", + " nusq <- mean(est$Dres^2)\n", + " theta <- mean(est$yres * est$Dres) / nusq\n", + " sigmasq <- mean((est$yres - est$Dres * theta)^2)\n", + " S <- sqrt(sigmasq / nusq)\n", + " Casq <- eta_asq / (1 - eta_asq)\n", + " error <- S * sqrt(Casq * eta_ysq)\n", + " if (is.null(alpha)) {\n", + " return(c(theta - error, theta + error))\n", + " }\n", + " n <- length(est$yres)\n", + " psi_theta <- (est$yres - est$Dres * theta) * est$Dres / nusq\n", + " psi_sigmasq <- (est$yres - est$Dres * theta)^2 - sigmasq\n", + " psi_nusq <- est$Dres^2 - nusq\n", + " k <- sqrt(Casq * eta_ysq) / (2 * S)\n", + " phi_p <- psi_theta + k * (-(sigmasq / nusq^2) * psi_nusq + (1 / nusq) * psi_sigmasq)\n", + " phi_m <- psi_theta - k * (-(sigmasq / nusq^2) * psi_nusq + (1 / nusq) * psi_sigmasq)\n", + " c(theta - error, sqrt(mean(phi_m^2) / n), theta + error, sqrt(mean(phi_p^2) / n))\n", + "}\n", + "\n", + "dml_sensitivity_bounds_r <- function(est_list, eta_ysq, eta_asq, alpha = NULL) {\n", + " res <- lapply(est_list, dml_sens_bounds_single_r,\n", + " eta_ysq = eta_ysq, eta_asq = eta_asq, alpha = alpha\n", + " )\n", + " if (is.null(alpha)) {\n", + " return(c(mean(sapply(res, `[`, 1)), mean(sapply(res, `[`, 2))))\n", + " }\n", + " lower <- sapply(res, `[`, 1)\n", + " sl <- sapply(res, `[`, 2)\n", + " upper <- sapply(res, `[`, 3)\n", + " su <- sapply(res, `[`, 4)\n", + " z <- qnorm(1 - alpha)\n", + " c(\n", + " mean(lower) - z * sqrt(mean(sl^2) + var(lower)),\n", + " mean(upper) + z * sqrt(mean(su^2) + var(upper))\n", + " )\n", + "}\n", + "\n", + "dml_tvalue_r <- function(est_list, value = 0, leq = NULL, alpha = NULL) {\n", + " t_out <- 1\n", + " for (t in seq(0, 1, length.out = 1000L)) {\n", + " b <- dml_sensitivity_bounds_r(est_list, t, t, alpha = alpha)\n", + " if (is.null(leq) && value >= b[1] && value <= b[2]) {\n", + " t_out <- t\n", + " break\n", + " }\n", + " if (!is.null(leq) && leq && value >= b[1]) {\n", + " t_out <- t\n", + " break\n", + " }\n", + " if (!is.null(leq) && !leq && value <= b[2]) {\n", + " t_out <- t\n", + " break\n", + " }\n", + " }\n", + " t_out\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "c016", + "metadata": {}, + "source": [ + "## Short Estimates Under Conditional Ignorability" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c017", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "# Main estimation loop matching the Python notebook structure.\n", + "# estimator_fn(X, y, splits) returns list(estimates=c(point,se,lower,upper), model=...)\n", + "generic_pipeline_r <- function(estimator_fn, q_grid, name, n_seeds = 5L) {\n", + " all_res <- list()\n", + " all_ests <- list()\n", + " for (q in q_grid) {\n", + " cat(sprintf(\"q=%d\\n\", q))\n", + " est_mat <- matrix(NA, n_seeds, 4L)\n", + " seed_ests <- list()\n", + " for (i in seq_len(n_seeds)) {\n", + " seed <- 122L + i\n", + " dat <- get_data_r(q, region = region, synthetic = synthetic, random_seed = seed)\n", + " out <- estimator_fn(dat$X, dat$y, dat$splits)\n", + " est_mat[i, ] <- out$estimates\n", + " seed_ests[[i]] <- out$model\n", + " cat(sprintf(\" seed=%d: %.3f\\n\", seed, out$estimates[1]))\n", + " }\n", + " key <- sprintf(\"q=%d\", q)\n", + " all_res[[key]] <- data.frame(\n", + " method = name,\n", + " point = mean(est_mat[, 1]),\n", + " stderr = sqrt(mean(est_mat[, 2]^2) + var(est_mat[, 1]))\n", + " )\n", + " all_ests[[key]] <- seed_ests\n", + " }\n", + " list(res = all_res, ests = all_ests)\n", + "}\n", + "\n", + "transform_res_to_df_r <- function(res_list, q_grid, alpha = NULL) {\n", + " rows <- list()\n", + " for (q in q_grid) {\n", + " key <- sprintf(\"q=%d\", q)\n", + " r <- res_list[[key]]\n", + " if (!is.null(alpha)) {\n", + " z <- qnorm(1 - alpha)\n", + " lo <- r$point - z * r$stderr\n", + " hi <- r$point + z * r$stderr\n", + " rows[[key]] <- sprintf(\"%.2f (%.2f) [%.2f, %.2f]\", r$point, r$stderr, lo, hi)\n", + " } else {\n", + " rows[[key]] <- sprintf(\"%.2f\", r$point)\n", + " }\n", + " }\n", + " as.data.frame(rows, check.names = FALSE)\n", + "}" + ] + }, + { + "cell_type": "markdown", + "id": "c018", + "metadata": {}, + "source": [ + "### Nonparametric Model\n", + "\n", + "The first specification leaves the short regression $g_s(D, X^o)$ unrestricted. The Riesz representer is estimated from the Riesz loss using sieve candidates (degree-1 and degree-2 polynomial features crossed with covariates), selected by cross-validated Riesz score. Random forests are used for the regression model. Note: the Python notebook additionally considers a generalized random forest Riesz representer (ForestRiesz); that candidate is omitted here as it has no direct R equivalent." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "c019", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "nonlinrr_r <- function(X, y, splits) {\n", + " rr_factory <- rr_fn_gen(X, moment_fn, splits)\n", + " get_reg <- reg_fn_gen(X, y, splits)\n", + "\n", + " fit <- debiased_moment_fit(X, y, moment_fn, rr_factory, get_reg, splits)\n", + " list(estimates = avg_moment_r(fit, alpha = 0.1), model = fit)\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "c020", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "q=1\n", + " seed=123: -0.607\n", + " seed=124: -0.611\n", + " seed=125: -0.628\n", + " seed=126: 0.050\n", + " seed=127: -0.830\n", + "q=2\n", + " seed=123: -0.521\n", + " seed=124: -0.565\n", + " seed=125: -0.657\n", + " seed=126: 0.028\n", + " seed=127: -0.843\n", + "q=3\n", + " seed=123: -0.492\n", + " seed=124: -0.583\n", + " seed=125: -0.729\n", + " seed=126: 0.056\n", + " seed=127: -0.738\n", + "q=4\n", + " seed=123: -0.498\n", + " seed=124: -0.694\n", + " seed=125: -0.696\n", + " seed=126: -1.316\n", + " seed=127: -3.188\n", + "q=5\n", + " seed=123: -0.179\n", + " seed=124: -0.381\n", + " seed=125: -0.586\n", + " seed=126: 0.225\n", + " seed=127: -0.675\n" + ] + } + ], + "source": [ + "rr_results <- generic_pipeline_r(nonlinrr_r, q_grid, \"dr\", n_seeds = 5L)\n", + "res_rr <- rr_results$res\n", + "ests_rr <- rr_results$ests" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "c021", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\n", + "
A data.frame: 1 × 5
q=1q=2q=3q=4q=5
<chr><chr><chr><chr><chr>
-0.53 (0.45) [-1.26, 0.21]-0.51 (0.41) [-1.18, 0.16]-0.50 (0.42) [-1.18, 0.19]-1.28 (1.22) [-3.28, 0.72]-0.32 (0.41) [-0.99, 0.36]
\n" + ], + "text/latex": [ + "A data.frame: 1 × 5\n", + "\\begin{tabular}{lllll}\n", + " q=1 & q=2 & q=3 & q=4 & q=5\\\\\n", + " & & & & \\\\\n", + "\\hline\n", + "\t -0.53 (0.45) {[}-1.26, 0.21{]} & -0.51 (0.41) {[}-1.18, 0.16{]} & -0.50 (0.42) {[}-1.18, 0.19{]} & -1.28 (1.22) {[}-3.28, 0.72{]} & -0.32 (0.41) {[}-0.99, 0.36{]}\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "A data.frame: 1 × 5\n", + "\n", + "| q=1 <chr> | q=2 <chr> | q=3 <chr> | q=4 <chr> | q=5 <chr> |\n", + "|---|---|---|---|---|\n", + "| -0.53 (0.45) [-1.26, 0.21] | -0.51 (0.41) [-1.18, 0.16] | -0.50 (0.42) [-1.18, 0.19] | -1.28 (1.22) [-3.28, 0.72] | -0.32 (0.41) [-0.99, 0.36] |\n", + "\n" + ], + "text/plain": [ + " q=1 q=2 \n", + "1 -0.53 (0.45) [-1.26, 0.21] -0.51 (0.41) [-1.18, 0.16]\n", + " q=3 q=4 \n", + "1 -0.50 (0.42) [-1.18, 0.19] -1.28 (1.22) [-3.28, 0.72]\n", + " q=5 \n", + "1 -0.32 (0.41) [-0.99, 0.36]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "transform_res_to_df_r(res_rr, q_grid, alpha = 0.05)" + ] + }, + { + "cell_type": "markdown", + "id": "c022", + "metadata": {}, + "source": [ + "### Partially Linear Model\n", + "\n", + "The second specification is the partially linear model $Y = \\theta_s D + f_s(X^o) + \\varepsilon$, estimated by partialling out with random forests." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "c023", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "dml_estimator_r <- function(X, y, splits) {\n", + " n <- nrow(X)\n", + " D <- X[, 1L]\n", + " Xcov <- X[, -1L, drop = FALSE]\n", + " yres <- Dres <- numeric(n)\n", + "\n", + " for (s in splits) {\n", + " tr <- s$train\n", + " te <- s$test\n", + " df_y <- as.data.frame(cbind(y_tr = y[tr], Xcov[tr, ]))\n", + " df_d <- as.data.frame(cbind(D_tr = D[tr], Xcov[tr, ]))\n", + " rf_y <- ranger(y_tr ~ ., data = df_y, num.trees = 200L, verbose = FALSE)\n", + " rf_d <- ranger(D_tr ~ ., data = df_d, num.trees = 200L, verbose = FALSE)\n", + " yres[te] <- y[te] - predict(rf_y, data = as.data.frame(Xcov[te, ]))$predictions\n", + " Dres[te] <- D[te] - predict(rf_d, data = as.data.frame(Xcov[te, ]))$predictions\n", + " }\n", + "\n", + " nusq <- mean(Dres^2)\n", + " theta <- mean(yres * Dres) / nusq\n", + " psi <- (yres - Dres * theta) * Dres / nusq\n", + " se <- sqrt(mean(psi^2) / n)\n", + " list(\n", + " estimates = c(point = theta, se = se, lower = theta - 1.645 * se, upper = theta + 1.645 * se),\n", + " model = list(yres = yres, Dres = Dres)\n", + " )\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "c024", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "q=1\n", + " seed=123: -0.401\n", + " seed=124: -0.070\n", + " seed=125: -0.252\n", + " seed=126: 0.132\n", + " seed=127: -0.782\n", + "q=2\n", + " seed=123: -0.555\n", + " seed=124: -0.516\n", + " seed=125: -0.684\n", + " seed=126: -0.102\n", + " seed=127: -0.911\n", + "q=3\n", + " seed=123: -0.575\n", + " seed=124: -0.726\n", + " seed=125: -1.030\n", + " seed=126: -0.209\n", + " seed=127: -1.048\n", + "q=4\n", + " seed=123: -0.905\n", + " seed=124: -1.333\n", + " seed=125: -1.214\n", + " seed=126: -1.359\n", + " seed=127: -1.424\n", + "q=5\n", + " seed=123: -0.230\n", + " seed=124: -0.422\n", + " seed=125: -0.589\n", + " seed=126: 0.136\n", + " seed=127: -0.928\n" + ] + } + ], + "source": [ + "dml_results <- generic_pipeline_r(dml_estimator_r, q_grid, \"dml\", n_seeds = 5L)\n", + "res_dml <- dml_results$res\n", + "ests_dml <- dml_results$ests" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "c025", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\n", + "
A data.frame: 1 × 5
q=1q=2q=3q=4q=5
<chr><chr><chr><chr><chr>
-0.27 (0.50) [-1.10, 0.55]-0.55 (0.42) [-1.24, 0.14]-0.72 (0.47) [-1.50, 0.06]-1.25 (0.55) [-2.16, -0.34]-0.41 (0.47) [-1.17, 0.36]
\n" + ], + "text/latex": [ + "A data.frame: 1 × 5\n", + "\\begin{tabular}{lllll}\n", + " q=1 & q=2 & q=3 & q=4 & q=5\\\\\n", + " & & & & \\\\\n", + "\\hline\n", + "\t -0.27 (0.50) {[}-1.10, 0.55{]} & -0.55 (0.42) {[}-1.24, 0.14{]} & -0.72 (0.47) {[}-1.50, 0.06{]} & -1.25 (0.55) {[}-2.16, -0.34{]} & -0.41 (0.47) {[}-1.17, 0.36{]}\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "A data.frame: 1 × 5\n", + "\n", + "| q=1 <chr> | q=2 <chr> | q=3 <chr> | q=4 <chr> | q=5 <chr> |\n", + "|---|---|---|---|---|\n", + "| -0.27 (0.50) [-1.10, 0.55] | -0.55 (0.42) [-1.24, 0.14] | -0.72 (0.47) [-1.50, 0.06] | -1.25 (0.55) [-2.16, -0.34] | -0.41 (0.47) [-1.17, 0.36] |\n", + "\n" + ], + "text/plain": [ + " q=1 q=2 \n", + "1 -0.27 (0.50) [-1.10, 0.55] -0.55 (0.42) [-1.24, 0.14]\n", + " q=3 q=4 \n", + "1 -0.72 (0.47) [-1.50, 0.06] -1.25 (0.55) [-2.16, -0.34]\n", + " q=5 \n", + "1 -0.41 (0.47) [-1.17, 0.36]" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "transform_res_to_df_r(res_dml, q_grid, alpha = 0.05)" + ] + }, + { + "cell_type": "markdown", + "id": "c026", + "metadata": {}, + "source": [ + "## Sensitivity Results for the Full Sample\n", + "\n", + "For the full sample we report the short elasticity, the sensitivity bounds and their confidence bounds under the scenario $C_Y^2 = 0.03$, $C_D^2 \\approx 0.03$ and $|\\rho| = 1$, together with robustness values." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "c027", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "table_rr <- list()\n", + "q5_ests <- ests_rr[[\"q=5\"]]\n", + "\n", + "table_rr[[\"point\"]] <- sprintf(\n", + " \"%.3f (%.3f)\",\n", + " res_rr[[\"q=5\"]]$point, res_rr[[\"q=5\"]]$stderr\n", + ")\n", + "table_rr[[\"Bounds\"]] <- sprintf(\n", + " \"[%.3f, %.3f]\",\n", + " sensitivity_bounds_r(q5_ests, .03, .03, alpha = NULL)[1],\n", + " sensitivity_bounds_r(q5_ests, .03, .03, alpha = NULL)[2]\n", + ")\n", + "table_rr[[\"CIBounds\"]] <- sprintf(\n", + " \"[%.3f, %.3f]\",\n", + " sensitivity_bounds_r(q5_ests, .03, .03, alpha = .05)[1],\n", + " sensitivity_bounds_r(q5_ests, .03, .03, alpha = .05)[2]\n", + ")\n", + "table_rr[[\"RV(v=-1.5)\"]] <- sprintf(\"%.3f\", tvalue_r(q5_ests, value = -1.5, leq = TRUE))\n", + "table_rr[[\"RV(v=-1.5,a=.05)\"]] <- sprintf(\"%.3f\", tvalue_r(q5_ests, value = -1.5, leq = TRUE, alpha = .05))\n", + "table_rr[[\"RV(v=0)\"]] <- sprintf(\"%.3f\", tvalue_r(q5_ests, value = 0, leq = FALSE))\n", + "table_rr[[\"RV(v=0,a=.05)\"]] <- sprintf(\"%.3f\", tvalue_r(q5_ests, value = 0, leq = FALSE, alpha = .05))" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "c028", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [], + "source": [ + "table_dml <- list()\n", + "q5_dml <- ests_dml[[\"q=5\"]]\n", + "\n", + "table_dml[[\"point\"]] <- sprintf(\n", + " \"%.3f (%.3f)\",\n", + " res_dml[[\"q=5\"]]$point, res_dml[[\"q=5\"]]$stderr\n", + ")\n", + "table_dml[[\"Bounds\"]] <- sprintf(\n", + " \"[%.3f, %.3f]\",\n", + " dml_sensitivity_bounds_r(q5_dml, .03, .03, alpha = NULL)[1],\n", + " dml_sensitivity_bounds_r(q5_dml, .03, .03, alpha = NULL)[2]\n", + ")\n", + "table_dml[[\"CIBounds\"]] <- sprintf(\n", + " \"[%.3f, %.3f]\",\n", + " dml_sensitivity_bounds_r(q5_dml, .03, .03, alpha = .05)[1],\n", + " dml_sensitivity_bounds_r(q5_dml, .03, .03, alpha = .05)[2]\n", + ")\n", + "table_dml[[\"RV(v=-1.5)\"]] <- sprintf(\"%.3f\", dml_tvalue_r(q5_dml, value = -1.5, leq = TRUE))\n", + "table_dml[[\"RV(v=-1.5,a=.05)\"]] <- sprintf(\"%.3f\", dml_tvalue_r(q5_dml, value = -1.5, leq = TRUE, alpha = .05))\n", + "table_dml[[\"RV(v=0)\"]] <- sprintf(\"%.3f\", dml_tvalue_r(q5_dml, value = 0, leq = FALSE))\n", + "table_dml[[\"RV(v=0,a=.05)\"]] <- sprintf(\"%.3f\", dml_tvalue_r(q5_dml, value = 0, leq = FALSE, alpha = .05))" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "c029", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "\n", + "\t\n", + "\t\n", + "\n", + "
A data.frame: 2 × 7
pointBoundsCIBoundsRV(v=-1.5)RV(v=-1.5,a=.05)RV(v=0)RV(v=0,a=.05)
<chr><chr><chr><chr><chr><chr><chr>
Non-parametric-0.319 (0.410)[-0.718, 0.080][-1.408, 0.740]0.0870.0370.0250.000
Partially linear-0.406 (0.465)[-0.848, 0.035][-1.647, 0.769]0.0730.0210.0280.000
\n" + ], + "text/latex": [ + "A data.frame: 2 × 7\n", + "\\begin{tabular}{r|lllllll}\n", + " & point & Bounds & CIBounds & RV(v=-1.5) & RV(v=-1.5,a=.05) & RV(v=0) & RV(v=0,a=.05)\\\\\n", + " & & & & & & & \\\\\n", + "\\hline\n", + "\tNon-parametric & -0.319 (0.410) & {[}-0.718, 0.080{]} & {[}-1.408, 0.740{]} & 0.087 & 0.037 & 0.025 & 0.000\\\\\n", + "\tPartially linear & -0.406 (0.465) & {[}-0.848, 0.035{]} & {[}-1.647, 0.769{]} & 0.073 & 0.021 & 0.028 & 0.000\\\\\n", + "\\end{tabular}\n" + ], + "text/markdown": [ + "\n", + "A data.frame: 2 × 7\n", + "\n", + "| | point <chr> | Bounds <chr> | CIBounds <chr> | RV(v=-1.5) <chr> | RV(v=-1.5,a=.05) <chr> | RV(v=0) <chr> | RV(v=0,a=.05) <chr> |\n", + "|---|---|---|---|---|---|---|---|\n", + "| Non-parametric | -0.319 (0.410) | [-0.718, 0.080] | [-1.408, 0.740] | 0.087 | 0.037 | 0.025 | 0.000 |\n", + "| Partially linear | -0.406 (0.465) | [-0.848, 0.035] | [-1.647, 0.769] | 0.073 | 0.021 | 0.028 | 0.000 |\n", + "\n" + ], + "text/plain": [ + " point Bounds CIBounds RV(v=-1.5)\n", + "Non-parametric -0.319 (0.410) [-0.718, 0.080] [-1.408, 0.740] 0.087 \n", + "Partially linear -0.406 (0.465) [-0.848, 0.035] [-1.647, 0.769] 0.073 \n", + " RV(v=-1.5,a=.05) RV(v=0) RV(v=0,a=.05)\n", + "Non-parametric 0.037 0.025 0.000 \n", + "Partially linear 0.021 0.028 0.000 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "tabledf <- data.frame(\n", + " rbind(unlist(table_rr), unlist(table_dml)),\n", + " row.names = c(\"Non-parametric\", \"Partially linear\"),\n", + " check.names = FALSE\n", + ")\n", + "tabledf" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "c030", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": { + "image/png": { + "height": 375, + "width": 375 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "qgr <- 1:4\n", + "point <- sapply(qgr, function(q) res_rr[[sprintf(\"q=%d\", q)]]$point)\n", + "se <- sapply(qgr, function(q) res_rr[[sprintf(\"q=%d\", q)]]$stderr)\n", + "lower <- point - 1.645 * se\n", + "upper <- point + 1.645 * se\n", + "sens_lo <- sapply(qgr, function(q) {\n", + " sensitivity_bounds_r(ests_rr[[sprintf(\"q=%d\", q)]], .03, .03, alpha = NULL)[1]\n", + "})\n", + "sens_hi <- sapply(qgr, function(q) {\n", + " sensitivity_bounds_r(ests_rr[[sprintf(\"q=%d\", q)]], .03, .03, alpha = NULL)[2]\n", + "})\n", + "sens_lo95 <- sapply(qgr, function(q) {\n", + " sensitivity_bounds_r(ests_rr[[sprintf(\"q=%d\", q)]], .03, .03, alpha = .05)[1]\n", + "})\n", + "sens_hi95 <- sapply(qgr, function(q) {\n", + " sensitivity_bounds_r(ests_rr[[sprintf(\"q=%d\", q)]], .03, .03, alpha = .05)[2]\n", + "})\n", + "\n", + "df_rr <- data.frame(q = qgr, point, lower, upper, sens_lo, sens_hi, sens_lo95, sens_hi95)\n", + "\n", + "ggplot(df_rr, aes(x = q)) +\n", + " geom_line(aes(y = point)) +\n", + " geom_ribbon(aes(ymin = lower, ymax = upper), alpha = .4, fill = \"steelblue\") +\n", + " geom_ribbon(aes(ymin = sens_lo, ymax = sens_hi), alpha = .6, fill = \"orange\") +\n", + " geom_ribbon(aes(ymin = sens_lo95, ymax = sens_hi95), alpha = .2, fill = \"orange\") +\n", + " scale_x_continuous(breaks = qgr) +\n", + " xlab(\"Income group\") +\n", + " ylab(\"Average price elasticity\") +\n", + " ggtitle(\"Non-parametric\") +\n", + " theme_bw()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c031", + "metadata": { + "vscode": { + "languageId": "r" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "plot without title" + ] + }, + "metadata": { + "image/png": { + "height": 375, + "width": 375 + } + }, + "output_type": "display_data" + } + ], + "source": [ + "point_d <- sapply(qgr, function(q) res_dml[[sprintf(\"q=%d\", q)]]$point)\n", + "se_d <- sapply(qgr, function(q) res_dml[[sprintf(\"q=%d\", q)]]$stderr)\n", + "lower_d <- point_d - 1.645 * se_d\n", + "upper_d <- point_d + 1.645 * se_d\n", + "sens_lo_d <- sapply(qgr, function(q) {\n", + " dml_sensitivity_bounds_r(ests_dml[[sprintf(\"q=%d\", q)]], .03, .03, alpha = NULL)[1]\n", + "})\n", + "sens_hi_d <- sapply(qgr, function(q) {\n", + " dml_sensitivity_bounds_r(ests_dml[[sprintf(\"q=%d\", q)]], .03, .03, alpha = NULL)[2]\n", + "})\n", + "sens_lo95_d <- sapply(qgr, function(q) {\n", + " dml_sensitivity_bounds_r(ests_dml[[sprintf(\"q=%d\", q)]], .03, .03, alpha = .05)[1]\n", + "})\n", + "sens_hi95_d <- sapply(qgr, function(q) {\n", + " dml_sensitivity_bounds_r(ests_dml[[sprintf(\"q=%d\", q)]], .03, .03, alpha = .05)[2]\n", + "})\n", + "\n", + "df_dml <- data.frame(\n", + " q = qgr, point = point_d, lower = lower_d, upper = upper_d,\n", + " sens_lo = sens_lo_d, sens_hi = sens_hi_d,\n", + " sens_lo95 = sens_lo95_d, sens_hi95 = sens_hi95_d\n", + ")\n", + "\n", + "ggplot(df_dml, aes(x = q)) +\n", + " geom_line(aes(y = point)) +\n", + " geom_ribbon(aes(ymin = lower, ymax = upper), alpha = .4, fill = \"steelblue\") +\n", + " geom_ribbon(aes(ymin = sens_lo, ymax = sens_hi), alpha = .6, fill = \"orange\") +\n", + " geom_ribbon(aes(ymin = sens_lo95, ymax = sens_hi95), alpha = .2, fill = \"orange\") +\n", + " scale_x_continuous(breaks = qgr) +\n", + " xlab(\"Income group\") +\n", + " ylab(\"Average price elasticity\") +\n", + " ggtitle(\"Partially linear\") +\n", + " theme_bw()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "R", + "language": "R", + "name": "ir" + }, + "language_info": { + "codemirror_mode": "r", + "file_extension": ".r", + "mimetype": "text/x-r-source", + "name": "R", + "pygments_lexer": "r", + "version": "4.6.1" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/T/CATE-estimation.ipynb b/T/CATE-estimation.ipynb index 37ccccaf..619e8e04 100644 --- a/T/CATE-estimation.ipynb +++ b/T/CATE-estimation.ipynb @@ -37,7 +37,7 @@ "metadata": {}, "outputs": [], "source": [ - "!pip install econml" + "!pip install econml==0.16.0" ] }, { diff --git a/T/T_4_Regression_Discontinuity_on_Progresa_Data.irnb b/T/T_4_Regression_Discontinuity_on_Progresa_Data.irnb index ae106ab7..9719d799 100644 --- a/T/T_4_Regression_Discontinuity_on_Progresa_Data.irnb +++ b/T/T_4_Regression_Discontinuity_on_Progresa_Data.irnb @@ -28,7 +28,10 @@ "outputs": [], "source": [ "dependencies <- c(\"rdrobust\", \"fastDummies\", \"randomForest\", \"hdm\", \"gbm\", \"rdd\")\n", - "install.packages(dependencies)" + "install.packages(setdiff(dependencies, \"rdd\"))\n", + "# rdd was archived on CRAN; install its last release from the CRAN archive\n", + "if (!requireNamespace(\"remotes\", quietly = TRUE)) install.packages(\"remotes\")\n", + "remotes::install_version(\"rdd\", version = \"0.57\")" ] }, { diff --git a/data/data_BHP2_with_region.csv b/data/data_BHP2_with_region.csv new file mode 100644 index 00000000..454f0a42 --- /dev/null +++ b/data/data_BHP2_with_region.csv @@ -0,0 +1,3641 @@ +log_q,log_p,log_y,cl5_secondcity_d,cl5_smtown_d,cl5_suburban_d,cl5_urban_d,distance_oil1000,log_driver,log_hhr_age,log_hhsize,popdensity_d2,popdensity_d3,popdensity_d4,popdensity_d5,popdensity_d6,popdensity_d7,popdensity_d8,publictransit_d,share,state_fips,total_wrkr,region +8.14354515075684,0.229807317256927,9.43348407745361,1,0,0,0,0.657087683677673,1.3862943649292,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,0,0.346410274505615,1,3,5.0 +8.03497219085693,0.229909151792526,11.1198825836182,1,0,0,0,0.657087683677673,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0575557090342045,1,1,5.0 +7.60823488235474,0.229825988411903,10.7684850692749,0,1,0,0,0.657087683677673,0.6931471824646,3.25809645652771,1.0986123085022,0,1,0,0,0,0,0,0,0.0533743910491467,1,2,5.0 +7.45286798477173,0.229807123541832,11.6952466964722,0,1,0,0,0.657087683677673,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0180868171155453,1,2,5.0 +7.80745410919189,0.229786187410355,11.6952466964722,0,1,0,0,0.657087683677673,1.0986123085022,3.93182563781738,1.3862943649292,1,0,0,0,0,0,0,0,0.025783859193325,1,2,5.0 +7.69646644592285,0.229903757572174,11.1913414001465,0,0,1,0,0.657087683677673,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0381980203092098,1,2,5.0 +6.9479775428772,0.229754358530045,9.76995658874512,0,1,0,0,0.657087683677673,0.6931471824646,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.074853353202343,1,2,5.0 +7.18938446044922,0.229991376399994,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.25809645652771,1.3862943649292,0,1,0,0,0,0,0,0,0.0290085561573505,1,2,5.0 +7.28610515594482,0.229757860302925,11.6952466964722,0,1,0,0,0.657087683677673,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,0,0.0153079321607947,1,2,5.0 +7.42884588241577,0.229708597064018,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0368468314409256,1,2,5.0 +6.68552112579346,0.22936774790287,9.76995658874512,0,0,1,0,0.657087683677673,0.6931471824646,4.33073329925537,1.0986123085022,0,0,0,0,1,0,0,0,0.057551946491003,1,1,5.0 +5.85761785507202,0.229740247130394,9.76995658874512,0,0,1,0,0.657087683677673,0.6931471824646,3.09104251861572,1.3862943649292,0,0,1,0,0,0,0,0,0.0251575261354446,1,1,5.0 +6.36310052871704,0.229808449745178,9.76995658874512,0,1,0,0,0.657087683677673,0.6931471824646,3.21887588500977,1.3862943649292,1,0,0,0,0,0,0,0,0.0417086221277714,1,2,5.0 +7.18008756637573,0.229662746191025,11.4075651168823,0,1,0,0,0.657087683677673,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0183557085692883,1,2,5.0 +7.80207300186157,0.229862362146378,11.6952466964722,0,0,1,0,0.657087683677673,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0256474353373051,1,2,5.0 +7.66930866241455,0.229771792888641,11.6952466964722,0,1,0,0,0.657087683677673,1.3862943649292,3.76120018959045,1.7917594909668,0,0,1,0,0,0,0,0,0.0224566906690598,1,1,5.0 +6.75077295303345,0.22990745306015,11.1198825836182,0,1,0,0,0.657087683677673,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0159355569630861,1,1,5.0 +7.14134550094604,0.2296322286129,10.5320959091187,0,1,0,0,0.657087683677673,0.6931471824646,3.33220458030701,1.0986123085022,1,0,0,0,0,0,0,0,0.0423783175647259,1,2,5.0 +7.62325382232666,0.229756534099579,11.6952466964722,0,1,0,0,0.657087683677673,1.0986123085022,2.89037179946899,1.3862943649292,1,0,0,0,0,0,0,0,0.0214455835521221,1,2,5.0 +6.89191484451294,0.229701682925224,11.4075651168823,1,0,0,0,0.657087683677673,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0137605620548129,1,0,5.0 +6.55819797515869,0.229657918214798,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.33220458030701,1.0986123085022,1,0,0,0,0,0,0,0,0.0154262529686093,1,2,5.0 +6.52172756195068,0.229563638567924,11.4075651168823,0,1,0,0,0.657087683677673,1.3862943649292,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0095018008723855,1,1,5.0 +6.96481895446777,0.229638680815697,11.6952466964722,1,0,0,0,0.657087683677673,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0111002326011658,1,2,5.0 +7.54013204574585,0.229733988642693,10.7684850692749,0,1,0,0,0.657087683677673,1.0986123085022,2.89037179946899,1.3862943649292,1,0,0,0,0,0,0,0,0.0498558655381203,1,3,5.0 +6.80123043060303,0.229551792144775,10.6572589874268,1,0,0,0,0.657087683677673,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0266097635030746,1,1,5.0 +6.4829044342041,0.229542210698128,11.2580327987671,1,0,0,0,0.657087683677673,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0106139434501529,1,2,5.0 +7.22562265396118,0.229666635394096,10.7684850692749,0,1,0,0,0.657087683677673,0.6931471824646,3.66356158256531,1.0986123085022,1,0,0,0,0,0,0,0,0.0363996587693691,1,2,5.0 +7.42064762115479,0.229821339249611,11.1198825836182,0,0,1,0,0.657087683677673,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0311352722346783,1,1,5.0 +7.47492218017578,0.229843884706497,11.4075651168823,0,1,0,0,0.657087683677673,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0246544238179922,1,2,5.0 +7.58418560028076,0.229903280735016,11.1913414001465,0,1,0,0,0.657087683677673,1.3862943649292,3.8712010383606,1.60943794250488,1,0,0,0,0,0,0,0,0.0341411083936691,1,4,5.0 +7.71461820602417,0.229811206459999,11.6952466964722,0,0,1,0,0.657087683677673,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0234985258430243,1,1,5.0 +7.89360284805298,0.229848816990852,11.6952466964722,0,1,0,0,0.657087683677673,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,0,0.0281053446233273,1,1,5.0 +7.61509132385254,0.229873433709145,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0443973541259766,1,2,5.0 +7.28466463088989,0.229742422699928,11.6952466964722,0,0,1,0,0.657087683677673,0.6931471824646,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0152856595814228,1,1,5.0 +6.98814725875854,0.22969126701355,11.6952466964722,1,0,0,0,0.657087683677673,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0113628208637238,1,2,5.0 +8.31843566894531,0.229865103960037,10.9595403671265,0,1,0,0,0.657087683677673,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,0,0,0,0,0.0897040292620659,1,2,5.0 +8.0898609161377,0.229823991656303,11.1913414001465,0,1,0,0,0.657087683677673,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.05660505220294,1,1,5.0 +7.55494785308838,0.229832991957664,11.1913414001465,0,1,0,0,0.657087683677673,0.6931471824646,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,0,0.033155020326376,1,2,5.0 +5.0011739730835,0.229115232825279,10.0212707519531,1,0,0,0,0.657087683677673,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0083043053746223,1,1,5.0 +7.59668731689453,0.229874759912491,11.1913414001465,0,1,0,0,0.657087683677673,0.6931471824646,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,0,0.0345696210861206,1,2,5.0 +6.76188993453979,0.229887455701828,10.2219409942627,0,1,0,0,0.657087683677673,0.0,3.04452252388,1.0986123085022,0,1,0,0,0,0,0,0,0.0395510196685791,1,2,5.0 +6.92230844497681,0.300158470869064,10.9595403671265,0,0,1,0,2.14094996452332,0.6931471824646,3.40119743347168,1.7917594909668,0,0,0,1,0,0,0,0,0.0238237213343382,4,1,7.0 +7.24779462814331,0.300243139266968,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,1,0,0,0,0.0158084705471992,4,1,7.0 +7.92939519882202,0.300165712833405,11.1913414001465,0,1,0,0,2.14094996452332,1.0986123085022,3.04452252388,1.3862943649292,0,0,0,1,0,0,0,0,0.0517267100512981,4,3,7.0 +7.26699638366699,0.300394028425217,10.8685684204102,0,0,1,0,2.14094996452332,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0368397459387779,4,2,7.0 +6.88653135299683,0.300131618976593,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,0,0.0110140470787883,4,1,7.0 +7.26554870605469,0.300237864255905,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0160915553569794,4,2,7.0 +7.07388257980347,0.299990683794022,10.7684850692749,0,0,1,0,2.14094996452332,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0335535854101181,4,1,7.0 +7.32958936691284,0.300527125597,11.1198825836182,0,1,0,0,2.14094996452332,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,0,0,0,0.0305079929530621,4,2,7.0 +7.10652875900269,0.300414770841599,10.9595403671265,0,0,0,1,2.14094996452332,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0286501459777355,4,2,7.0 +7.41018390655518,0.300362855195999,11.6952466964722,0,0,1,0,2.14094996452332,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0185980200767517,4,1,7.0 +7.50922822952271,0.300364196300507,10.9595403671265,0,0,1,0,2.14094996452332,0.6931471824646,3.29583692550659,1.3862943649292,0,0,1,0,0,0,0,0,0.0428543537855148,4,1,7.0 +6.73765087127686,0.300134003162384,10.8685684204102,0,0,1,0,2.14094996452332,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.0216926150023937,4,0,7.0 +5.86807870864868,0.299432754516602,10.2219409942627,0,0,1,0,2.14094996452332,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0173453688621521,4,2,7.0 +7.99600648880005,0.300467193126678,11.6952466964722,0,0,1,0,2.14094996452332,1.0986123085022,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,0,0.0334142334759235,4,1,7.0 +8.05698394775391,0.300388544797897,11.4075651168823,0,0,1,0,2.14094996452332,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0473497919738293,4,2,7.0 +7.80543661117554,0.300310254096985,11.1198825836182,0,0,1,0,2.14094996452332,0.6931471824646,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,0,0.049088217318058,4,2,7.0 +6.46841955184937,0.300309717655182,11.1198825836182,0,0,0,1,2.14094996452332,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0128919323906302,4,2,7.0 +7.31834125518799,0.300352185964584,11.1198825836182,0,0,1,0,2.14094996452332,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0301614832133055,4,2,7.0 +6.47345876693726,0.299939632415771,11.4075651168823,0,0,1,0,2.14094996452332,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,0,0.00971420109272,4,1,7.0 +7.29416370391846,0.300268054008484,10.8685684204102,0,1,0,0,2.14094996452332,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,0,0.0378495343029499,4,1,7.0 +7.40720129013062,0.300357729196548,10.7684850692749,0,0,1,0,2.14094996452332,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0468443036079407,4,1,7.0 +5.65942573547363,0.30007529258728,11.1198825836182,0,0,0,1,2.14094996452332,0.6931471824646,3.93182563781738,1.3862943649292,0,0,0,0,1,0,0,0,0.0057395072653889,4,2,7.0 +7.51760387420654,0.300322353839874,10.0212707519531,0,0,1,0,2.14094996452332,0.6931471824646,3.25809645652771,1.0986123085022,0,1,0,0,0,0,0,0,0.110433220863342,4,2,7.0 +5.45264101028442,0.299642860889435,10.3889951705933,0,1,0,0,2.14094996452332,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0096895107999444,4,1,7.0 +7.35922765731812,0.300363659858704,10.6572589874268,0,0,0,1,2.14094996452332,1.3862943649292,3.55534815788269,1.7917594909668,0,0,0,1,0,0,0,0,0.0499033145606518,4,3,7.0 +7.70188140869141,0.30044424533844,11.1198825836182,0,1,0,0,2.14094996452332,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0442651584744453,4,1,7.0 +5.75793313980103,0.300147086381912,10.2219409942627,0,0,1,0,2.14094996452332,0.0,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.0155474087223411,4,1,7.0 +6.54472160339355,0.300331622362137,11.2580327987671,1,0,0,0,2.14094996452332,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.0121190100908279,4,2,7.0 +5.64473438262939,0.299900859594345,9.76995658874512,0,0,0,1,2.14094996452332,0.6931471824646,3.21887588500977,1.60943794250488,0,0,0,0,1,0,0,0,0.0218114331364632,4,1,7.0 +7.30093145370483,0.300303727388382,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,1,0,0,0.0166722163558006,4,2,7.0 +7.9639048576355,0.300381571054459,10.9595403671265,0,0,0,1,2.14094996452332,1.3862943649292,2.89037179946899,1.7917594909668,0,0,0,0,0,1,0,0,0.0675252601504326,4,4,7.0 +6.88173484802246,0.300197839736938,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0109620671719313,4,1,7.0 +7.14857816696167,0.300037682056427,10.9595403671265,0,0,1,0,2.14094996452332,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,1,0,0,0,0.0298692900687456,4,1,7.0 +5.816237449646,0.300569951534271,10.6572589874268,0,0,1,0,2.14094996452332,0.6931471824646,3.49650764465332,1.0986123085022,0,0,1,0,0,0,0,0,0.010668583214283,4,2,7.0 +7.37615489959717,0.300336211919785,11.0429220199585,0,0,1,0,2.14094996452332,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0345126017928123,4,1,7.0 +6.94676446914673,0.300287395715714,11.2580327987671,0,0,1,0,2.14094996452332,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0181156098842621,4,2,7.0 +7.78791093826294,0.300398617982864,10.7684850692749,0,0,1,0,2.14094996452332,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0685511380434036,4,1,7.0 +6.88436555862427,0.300046414136887,10.2219409942627,0,1,0,0,2.14094996452332,1.0986123085022,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0479532107710838,4,2,7.0 +6.9339861869812,0.300200074911118,11.1913414001465,0,1,0,0,2.14094996452332,1.0986123085022,3.76120018959045,1.7917594909668,0,0,1,0,0,0,0,0,0.0191174130886793,4,3,7.0 +6.44149875640869,0.299874991178513,11.6952466964722,0,0,0,1,2.14094996452332,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0070560257881879,4,2,7.0 +7.00756025314331,0.300043046474457,11.0429220199585,0,0,1,0,2.14094996452332,1.3862943649292,3.49650764465332,1.60943794250488,0,0,0,1,0,0,0,0,0.0238655656576157,4,3,7.0 +6.70512533187866,0.300360113382339,11.1198825836182,0,0,0,1,2.14094996452332,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0163357798010111,4,2,7.0 +7.6456151008606,0.300307959318161,11.1913414001465,0,0,1,0,2.14094996452332,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.038952250033617,4,2,7.0 +7.0152153968811,0.300311028957367,11.1913414001465,0,0,1,0,2.14094996452332,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0207374189049006,4,2,7.0 +7.12650632858276,0.300941288471222,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0140125835314393,4,1,7.0 +7.08801603317261,0.299927532672882,11.6952466964722,0,0,1,0,2.14094996452332,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.013469822704792,4,2,7.0 +6.9565749168396,0.300376981496811,10.3889951705933,0,0,0,1,2.14094996452332,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0436285436153412,4,2,7.0 +6.60233879089355,0.300110340118408,10.7684850692749,0,0,0,1,2.14094996452332,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.020941223949194,4,1,7.0 +7.87707471847534,0.300373375415802,11.4075651168823,0,0,1,0,2.14094996452332,0.6931471824646,4.09434461593628,1.0986123085022,0,0,0,1,0,0,0,0,0.0395528711378574,4,2,7.0 +6.9615592956543,0.300403028726578,10.0212707519531,0,1,0,0,2.14094996452332,0.0,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0633355602622032,4,4,7.0 +5.53407096862793,0.300079971551895,10.3889951705933,0,0,1,0,2.14094996452332,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0105161378160119,4,2,7.0 +7.32885217666626,0.300482034683228,7.82404613494873,0,0,1,0,2.14094996452332,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.823071777820587,4,1,7.0 +7.29011583328247,0.300314038991928,11.1198825836182,0,1,0,0,2.14094996452332,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,1,0,0,0,0.0293209552764893,4,2,7.0 +7.49775981903076,0.30031606554985,11.4075651168823,0,1,0,0,2.14094996452332,0.6931471824646,3.82864141464233,1.3862943649292,0,0,1,0,0,0,0,0,0.0270656701177359,4,2,7.0 +6.57732629776001,0.300067961215973,10.0212707519531,1,0,0,0,2.14094996452332,1.3862943649292,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0431153401732445,4,2,7.0 +7.10736465454102,0.300384491682053,11.4075651168823,0,0,1,0,2.14094996452332,0.6931471824646,3.43398714065552,1.60943794250488,1,0,0,0,0,0,0,0,0.0183190144598484,4,2,7.0 +7.17075061798096,0.300255507230759,11.4075651168823,0,1,0,0,2.14094996452332,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0195152517408133,4,2,7.0 +6.46041297912598,0.300057023763657,10.5320959091187,0,1,0,0,2.14094996452332,1.0986123085022,4.09434461593628,1.60943794250488,0,0,0,0,1,0,0,0,0.0230146031826735,4,2,7.0 +7.14115905761719,0.300289690494537,10.9595403671265,0,0,1,0,2.14094996452332,0.6931471824646,3.49650764465332,1.60943794250488,1,0,0,0,0,0,0,0,0.0296559818089008,4,2,7.0 +7.04332160949707,0.300184607505798,11.1198825836182,0,0,1,0,2.14094996452332,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0229055415838957,4,1,7.0 +7.31073236465454,0.300369471311569,11.1913414001465,0,0,0,1,2.14094996452332,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,0,0.0278690084815025,4,2,7.0 +8.82238006591797,0.300357222557068,11.6952466964722,0,0,1,0,2.14094996452332,1.60943794250488,3.76120018959045,1.94591009616852,0,0,0,0,1,0,0,0,0.0763437300920486,4,5,7.0 +6.70007991790771,0.300634920597076,11.1913414001465,1,0,0,0,2.14094996452332,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0151367913931608,4,2,7.0 +8.17409801483154,0.300410985946655,11.6952466964722,0,0,1,0,2.14094996452332,1.3862943649292,4.06044292449951,1.60943794250488,0,0,0,1,0,0,0,0,0.039925578981638,4,4,7.0 +7.02543067932129,0.300265043973923,11.6952466964722,0,1,0,0,2.14094996452332,0.6931471824646,3.49650764465332,1.7917594909668,0,0,0,0,0,0,0,0,0.0126569168642163,4,2,7.0 +7.33388805389404,0.300132244825363,11.0429220199585,1,0,0,0,2.14094996452332,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,0,0,0,0,0.0330775193870068,4,2,7.0 +6.98643207550049,0.300166517496109,11.6952466964722,0,0,0,1,2.14094996452332,0.6931471824646,4.12713432312012,1.0986123085022,0,0,0,1,0,0,0,0,0.0121716167777777,4,1,7.0 +7.54064559936523,0.250623226165771,10.5320959091187,0,1,0,0,0.785452961921692,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0645169466733932,5,2,6.0 +7.38371801376343,0.250349402427673,11.6952466964722,0,1,0,0,0.785452961921692,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0172286815941334,5,2,6.0 +6.96019124984741,0.250500857830048,10.5320959091187,0,1,0,0,0.785452961921692,1.0986123085022,3.7376697063446,1.60943794250488,1,0,0,0,0,0,0,0,0.0361021123826504,5,2,6.0 +6.85423040390015,0.250318676233292,10.2219409942627,0,1,0,0,0.785452961921692,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0442724712193012,5,2,6.0 +6.82614231109619,0.250356823205948,10.7684850692749,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,0,0.0249224621802568,5,2,6.0 +7.29318523406982,0.250316739082336,11.6952466964722,0,1,0,0,0.785452961921692,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0157369282096624,5,1,6.0 +7.22384929656982,0.250376403331757,10.9595403671265,0,1,0,0,0.785452961921692,1.0986123085022,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,0,0.0306441262364388,5,2,6.0 +7.8818941116333,0.250490933656693,11.2580327987671,1,0,0,0,0.785452961921692,1.60943794250488,3.89182019233704,1.60943794250488,0,0,0,1,0,0,0,0,0.0439084582030773,5,2,6.0 +7.08247900009155,0.250440806150436,9.76995658874512,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0874195396900177,5,2,6.0 +7.45432138442993,0.250490188598633,10.9595403671265,0,1,0,0,0.785452961921692,0.6931471824646,3.8712010383606,1.3862943649292,0,1,0,0,0,0,0,0,0.0385912992060184,5,2,6.0 +7.23000049591064,0.250586867332458,11.1198825836182,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.7917594909668,0,0,0,0,1,0,0,0,0.0262708403170109,5,2,6.0 +6.87248277664185,0.250369995832443,11.1198825836182,1,0,0,0,0.785452961921692,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0183701161295176,5,1,6.0 +7.7079963684082,0.250468462705612,10.7684850692749,0,1,0,0,0.785452961921692,1.0986123085022,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0602037869393826,5,2,6.0 +7.59286212921143,0.25055855512619,11.0429220199585,1,0,0,0,0.785452961921692,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0407825410366058,5,2,6.0 +7.07969903945923,0.250387728214264,10.5320959091187,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.0406803824007511,5,2,6.0 +7.78256273269653,0.250567466020584,10.7684850692749,0,1,0,0,0.785452961921692,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0648709908127785,5,2,6.0 +7.30146837234497,0.25053071975708,11.1198825836182,0,1,0,0,0.785452961921692,0.0,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0282154977321625,5,2,6.0 +7.67624950408936,0.250605523586273,10.3889951705933,1,0,0,0,0.785452961921692,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0852522999048233,5,2,6.0 +6.86861944198608,0.25051486492157,11.6952466964722,0,1,0,0,0.785452961921692,0.6931471824646,3.82864141464233,1.0986123085022,1,0,0,0,0,0,0,0,0.0102948378771544,5,2,6.0 +7.52289199829102,0.250536769628525,10.5320959091187,0,1,0,0,0.785452961921692,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.063376173377037,5,2,6.0 +8.10739421844482,0.250504940748215,11.6952466964722,0,1,0,0,0.785452961921692,1.0986123085022,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0355310663580894,5,1,6.0 +7.41225099563599,0.250520348548889,10.9595403671265,0,1,0,0,0.785452961921692,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0370025299489498,5,2,6.0 +6.99659538269043,0.25029444694519,10.7684850692749,0,1,0,0,0.785452961921692,0.6931471824646,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,0,0.0295522511005402,5,2,6.0 +7.65506315231323,0.250452697277069,11.6952466964722,0,1,0,0,0.785452961921692,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0226016733795404,5,2,6.0 +6.757981300354,0.250280827283859,10.3889951705933,0,1,0,0,0.785452961921692,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.034022506326437,5,1,6.0 +5.5767970085144,0.250124514102936,9.43348407745361,0,1,0,0,0.785452961921692,0.6931471824646,3.178053855896,1.3862943649292,0,1,0,0,0,0,0,0,0.0271450020372868,5,1,6.0 +7.4190092086792,0.250616103410721,11.0429220199585,1,0,0,0,0.785452961921692,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0342764593660831,5,2,6.0 +7.70693969726562,0.250533699989319,11.6952466964722,0,1,0,0,0.785452961921692,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0238070525228977,5,2,6.0 +7.33941650390625,0.361510068178177,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,1,0.0184199586510658,6,2,8.0 +8.19931602478027,0.361570954322815,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.09104251861572,1.7917594909668,1,0,0,0,0,0,0,1,0.0908402353525162,6,2,8.0 +7.45563983917236,0.361718833446503,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,1,0.020694475620985,6,1,8.0 +6.76983022689819,0.361375719308853,10.5320959091187,0,0,1,0,2.86372566223145,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,1,0.0333435721695423,6,1,8.0 +7.75610876083374,0.361682623624802,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0462566316127777,6,1,8.0 +7.29971599578857,0.361547023057938,11.1198825836182,1,0,0,0,2.86372566223145,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0314731746912003,6,2,8.0 +7.46206665039062,0.361580908298492,11.4075651168823,1,0,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.0277667175978422,6,2,8.0 +7.19514799118042,0.361479014158249,11.0429220199585,0,0,1,0,2.86372566223145,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0306140910834074,6,2,8.0 +5.84522008895874,0.360310703516006,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.00412901584059,6,2,8.0 +6.91726493835449,0.361131489276886,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,0,1,0,1,0.0160962585359812,6,2,8.0 +6.4792308807373,0.361659377813339,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,1,0.0077943452633917,6,2,8.0 +8.04209041595459,0.361408114433289,11.2580327987671,0,0,1,0,2.86372566223145,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0575826093554497,6,3,8.0 +6.50439023971558,0.361563473939896,10.3889951705933,0,0,0,1,2.86372566223145,0.6931471824646,3.21887588500977,1.60943794250488,0,0,0,0,1,0,0,0,0.0295095406472683,6,1,8.0 +7.42384672164917,0.361553519964218,10.6572589874268,1,0,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.056593619287014,6,2,8.0 +6.62246513366699,0.361140877008438,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,1,0,0,0,0.0089900130406022,6,1,8.0 +6.93350982666016,0.36145693063736,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0122738983482122,6,2,8.0 +7.20510053634644,0.361536234617233,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0161052420735359,6,1,8.0 +5.79821491241455,0.361178427934647,11.2580327987671,0,0,1,0,2.86372566223145,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,0,1,0,1,0.0061050448566675,6,1,8.0 +6.81028890609741,0.361707955598831,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,1,0.0347318165004253,6,1,8.0 +8.4028434753418,0.361833900213242,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0711554884910583,6,2,8.0 +7.63729476928711,0.361615300178528,11.1198825836182,0,1,0,0,2.86372566223145,1.0986123085022,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,1,0.0441142208874226,6,2,8.0 +6.99138355255127,0.361637473106384,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,1,0.0271461773663759,6,2,8.0 +7.19094800949097,0.361605584621429,11.1913414001465,1,0,0,0,2.86372566223145,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0262841768562794,6,2,8.0 +7.49925088882446,0.361536085605621,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0216129999607801,6,2,8.0 +5.72813320159912,0.360739976167679,11.0429220199585,1,0,0,0,2.86372566223145,1.3862943649292,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,1,0.0070547880604863,6,5,8.0 +7.22963523864746,0.36151847243309,11.2580327987671,1,0,0,0,2.86372566223145,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.0255560930818319,6,2,8.0 +8.32771110534668,0.361805438995361,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,4.06044292449951,1.0986123085022,0,0,1,0,0,0,0,1,0.0495025776326656,6,2,8.0 +7.26242351531982,0.36159610748291,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,1,0.0170564446598291,6,1,8.0 +8.14262104034424,0.361648410558701,11.6952466964722,0,0,1,0,2.86372566223145,1.3862943649292,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0411316491663456,6,3,8.0 +7.36305618286133,0.361582338809967,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,0,0.0188619494438171,6,2,8.0 +7.04030466079712,0.361362516880035,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0136559512466192,6,2,8.0 +7.59529829025269,0.361590623855591,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,0,0.0317241810262203,6,2,8.0 +6.92006254196167,0.361528426408768,10.0212707519531,0,0,1,0,2.86372566223145,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,1,0.0645910277962685,6,1,8.0 +8.08080387115479,0.361622095108032,10.9595403671265,0,1,0,0,2.86372566223145,1.60943794250488,3.98898410797119,1.7917594909668,0,0,0,0,1,0,0,1,0.0806921198964119,6,4,8.0 +6.49543142318726,0.360958188772202,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,0,1,0,1,0.0079160938039422,6,2,8.0 +7.25602769851685,0.361500769853592,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,0,1,0,1,0.0169460810720921,6,2,8.0 +7.59972143173218,0.361616551876068,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,1,0.0238992273807526,6,2,8.0 +7.25537014007568,0.361129343509674,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0280198380351067,6,2,8.0 +6.54541635513306,0.361243396997452,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0173722580075264,6,2,8.0 +5.6257963180542,0.361077427864075,8.92265796661377,0,1,0,0,2.86372566223145,0.0,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0530890449881554,6,0,8.0 +7.70807790756226,0.361545205116272,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0266324728727341,6,2,8.0 +8.27594375610352,0.361513912677765,10.3889951705933,0,0,0,1,2.86372566223145,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,0,1,0,1,0.173506990075111,6,2,8.0 +6.99905633926392,0.361347794532776,10.3889951705933,0,0,1,0,2.86372566223145,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,1,0,0,0,0,0.0483837611973286,6,1,8.0 +7.85812902450562,0.361644446849823,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,1,0.0309471730142832,6,2,8.0 +6.47462034225464,0.361439913511276,10.3889951705933,0,0,0,1,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0286404583603144,6,2,8.0 +6.46281242370605,0.361693680286407,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,4.00733327865601,1.0986123085022,0,0,0,0,1,0,0,1,0.0076676825992763,6,1,8.0 +5.22470712661743,0.360587775707245,11.1198825836182,0,0,0,1,2.86372566223145,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,1,0.0039478344842791,6,1,8.0 +7.09656810760498,0.361381530761719,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,1,0,0,0.0277374349534512,6,2,8.0 +7.02167081832886,0.36127445101738,11.4075651168823,0,1,0,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,1,0.0178702175617218,6,2,8.0 +7.60423135757446,0.361555099487305,11.2580327987671,0,0,0,1,2.86372566223145,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,1,0.0371702425181866,6,2,8.0 +6.76079225540161,0.361042529344559,11.2580327987671,1,0,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.0159834995865822,6,2,8.0 +7.16205978393555,0.361082553863525,11.0429220199585,1,0,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0296059660613537,6,2,8.0 +6.82866811752319,0.361289501190186,10.7684850692749,0,0,0,1,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.02791678160429,6,2,8.0 +7.80719804763794,0.361499190330505,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.029406201094389,6,3,8.0 +5.57139682769775,0.361024916172028,9.76995658874512,1,0,0,0,2.86372566223145,0.0,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0215466637164354,6,1,8.0 +7.46855354309082,0.361218303442001,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0209529660642147,6,2,8.0 +6.76251316070557,0.361248284578323,10.0212707519531,1,0,0,0,2.86372566223145,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,0,0.0551604405045509,6,1,8.0 +7.20369052886963,0.360970556735992,11.2580327987671,0,0,0,1,2.86372566223145,1.0986123085022,3.40119743347168,1.3862943649292,0,0,0,0,0,0,1,1,0.0248879306018353,6,3,8.0 +6.9963755607605,0.361467242240906,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.013070410117507,6,2,8.0 +6.50237560272217,0.361104398965836,11.0429220199585,0,0,0,1,2.86372566223145,1.0986123085022,3.78418970108032,1.7917594909668,0,0,0,0,1,0,0,1,0.015307049266994,6,2,8.0 +7.6282811164856,0.361294984817505,11.6952466964722,1,0,0,0,2.86372566223145,1.3862943649292,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0245837140828371,6,3,8.0 +7.05236434936523,0.361400127410889,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,1,0.0288462340831757,6,1,8.0 +6.03533601760864,0.361354619264603,11.0429220199585,0,0,0,1,2.86372566223145,0.0,3.98898410797119,1.0986123085022,0,0,0,0,0,1,0,1,0.0095977066084742,6,1,8.0 +7.394362449646,0.361489653587341,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,1,0.0194599851965904,6,2,8.0 +6.96228551864624,0.361005872488022,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0126265240833163,6,1,8.0 +7.83109378814697,0.361621260643005,11.6952466964722,0,0,1,0,2.86372566223145,1.3862943649292,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0301210153847933,6,3,8.0 +8.01270294189453,0.361645698547363,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,0,0.059785433113575,6,1,8.0 +7.96479892730713,0.361706554889679,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,1,0.0344329476356506,6,1,8.0 +6.21141195297241,0.361850261688232,11.4075651168823,1,0,0,0,2.86372566223145,1.0986123085022,2.99573230743408,1.3862943649292,0,0,0,0,1,0,0,0,0.0079522309824824,6,3,8.0 +7.0792121887207,0.361430764198303,10.8685684204102,1,0,0,0,2.86372566223145,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,0,0.0324541889131069,6,2,8.0 +6.61691665649414,0.361124932765961,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,1,0.0171650424599648,6,2,8.0 +5.48596620559692,0.360879421234131,10.3889951705933,0,0,1,0,2.86372566223145,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.0106504857540131,6,1,8.0 +7.82423305511475,0.361516654491425,10.8685684204102,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,1,0.0683701634407043,6,1,8.0 +7.53200149536133,0.361418396234512,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0223299339413643,6,2,8.0 +7.57991647720337,0.361398309469223,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0234254486858845,6,1,8.0 +8.39144229888916,0.361806750297546,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0527602210640907,6,2,8.0 +7.71182537078857,0.3616563975811,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0675421580672264,6,1,8.0 +7.85979318618774,0.361719578504562,9.76995658874512,1,0,0,0,2.86372566223145,0.6931471824646,2.99573230743408,1.0986123085022,0,0,0,1,0,0,0,0,0.212578564882278,6,2,8.0 +7.33988809585571,0.361629903316498,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,1,0.0184308607131243,6,1,8.0 +7.40339422225952,0.3615383207798,11.6952466964722,0,1,0,0,2.86372566223145,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,0,0,0,1,0.0196374990046024,6,3,8.0 +7.31751012802124,0.361530929803848,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0180212091654539,6,1,8.0 +6.89556741714478,0.361885696649551,10.9595403671265,0,0,0,1,2.86372566223145,0.6931471824646,3.40119743347168,1.7917594909668,0,0,0,1,0,0,0,1,0.0246719773858786,6,1,8.0 +7.32756805419922,0.361522704362869,11.4075651168823,1,0,0,0,2.86372566223145,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0242709740996361,6,2,8.0 +7.52720212936401,0.361625343561172,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.55534815788269,1.94591009616852,0,0,0,1,0,0,0,0,0.022227618843317,6,2,8.0 +6.52653074264526,0.36160135269165,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0081714009866118,6,1,8.0 +8.70983505249023,0.361572861671448,11.6952466964722,0,0,0,1,2.86372566223145,1.3862943649292,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0725238993763924,6,3,8.0 +6.68962907791138,0.361104756593704,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,0,0.0128189446404576,6,1,8.0 +7.72207450866699,0.361653834581375,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0270107910037041,6,2,8.0 +8.1355152130127,0.361773639917374,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0408455356955528,6,2,8.0 +6.55584192276001,0.361549526453018,10.3889951705933,0,0,0,1,2.86372566223145,0.6931471824646,4.07753753662109,1.0986123085022,0,0,0,0,1,0,0,1,0.0310671590268612,6,2,8.0 +7.60784339904785,0.36116424202919,11.2580327987671,0,0,0,1,2.86372566223145,1.60943794250488,3.78418970108032,1.60943794250488,0,0,0,0,0,1,0,1,0.0372901633381844,6,3,8.0 +7.49428796768188,0.361538738012314,10.9595403671265,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0448822230100632,6,1,8.0 +6.95321798324585,0.361337423324585,9.76995658874512,1,0,0,0,2.86372566223145,0.0,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,1,0.0858288109302521,6,1,8.0 +7.27111911773682,0.361407190561295,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,1,0.0172021500766277,6,1,8.0 +7.128502368927,0.36147403717041,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0149167506024241,6,2,8.0 +7.85958623886108,0.361574679613113,11.6952466964722,1,0,0,0,2.86372566223145,1.0986123085022,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,1,0.0309901423752308,6,3,8.0 +7.5475025177002,0.361580848693848,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0226824525743723,6,1,8.0 +6.00856065750122,0.361408770084381,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.015574399381876,6,2,8.0 +6.94349670410156,0.36164203286171,9.43348407745361,0,0,1,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,0,0.119034111499786,6,1,8.0 +7.35409069061279,0.361426204442978,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.60943794250488,0,0,1,0,0,0,0,1,0.0249209068715572,6,2,8.0 +6.6425838470459,0.361190140247345,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,1,0.0091731641441583,6,2,8.0 +6.6915283203125,0.361619025468826,10.9595403671265,0,0,0,1,2.86372566223145,0.0,3.40119743347168,1.3862943649292,0,0,0,0,0,1,0,1,0.0201129168272018,6,2,8.0 +6.53509759902954,0.361152112483978,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0082380045205354,6,2,8.0 +7.31368112564087,0.361786156892776,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,1,0.0179569218307734,6,1,8.0 +7.45749568939209,0.361644178628922,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0398042313754559,6,2,8.0 +7.10544395446777,0.361371487379074,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,1,0.0145752327516675,6,1,8.0 +6.58824253082275,0.361209183931351,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,1,0.0181317925453186,6,1,8.0 +7.68816900253296,0.362050145864487,11.4075651168823,0,0,1,0,2.86372566223145,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,1,0.0348275750875473,6,3,8.0 +5.63807773590088,0.361181825399399,10.0212707519531,0,0,0,1,2.86372566223145,0.0,3.13549423217773,1.0986123085022,0,0,0,0,0,1,0,1,0.0179168991744518,6,1,8.0 +6.90922784805298,0.361310094594955,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,1,0,0,0,0.0159702636301517,6,2,8.0 +7.17770910263062,0.361283600330353,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,1,0.0208881702274084,6,1,8.0 +7.81066608428955,0.361246287822723,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.80666255950928,1.7917594909668,0,0,0,0,1,0,0,0,0.0566417314112186,6,1,8.0 +6.04106044769287,0.360503405332565,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0104832528159022,6,1,8.0 +8.13655853271484,0.361536234617233,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,1,0.0408784635365009,6,2,8.0 +6.87533330917358,0.361386746168137,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0191659200936556,6,2,8.0 +7.87972354888916,0.361681789159775,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0316239222884178,6,2,8.0 +6.54757213592529,0.361152589321136,11.2580327987671,0,0,1,0,2.86372566223145,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,0,0.01291573792696,6,2,8.0 +7.45078754425049,0.361551612615585,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0205908622592688,6,2,8.0 +7.07794666290283,0.361191987991333,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,0,1,0,1,0.0189031604677439,6,2,8.0 +7.52741003036499,0.361241728067398,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0222237128764391,6,2,8.0 +4.78251266479492,0.360210686922073,10.5320959091187,0,0,0,1,2.86372566223145,0.0,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,1,0.0045648356899619,6,1,8.0 +7.61401510238647,0.361703902482986,11.1198825836182,0,1,0,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,0,0,1,0.0431029424071312,6,1,8.0 +7.36841201782227,0.361371636390686,11.2580327987671,1,0,0,0,2.86372566223145,1.0986123085022,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,1,0.0293562598526478,6,3,8.0 +7.06223917007446,0.361382514238358,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0139590771868825,6,2,8.0 +7.02030086517334,0.361047655344009,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,0,0.0133812827989459,6,2,8.0 +7.63549137115479,0.361659049987793,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,1,0.024770624935627,6,1,8.0 +6.85225439071655,0.361164808273315,11.0429220199585,1,0,0,0,2.86372566223145,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0217204131186008,6,2,8.0 +6.67545652389526,0.361101686954498,9.43348407745361,0,0,0,1,2.86372566223145,0.6931471824646,3.76120018959045,1.94591009616852,0,0,0,0,1,0,0,1,0.0909972861409187,6,3,8.0 +7.38282775878906,0.361355930566788,11.1198825836182,1,0,0,0,2.86372566223145,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,1,0.0341942086815834,6,2,8.0 +7.46620941162109,0.361280202865601,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0209051966667175,6,1,8.0 +7.6508936882019,0.36148402094841,10.0212707519531,0,0,0,1,2.86372566223145,0.0,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,1,0.134137108922005,6,2,8.0 +7.90778970718384,0.36147552728653,10.3889951705933,0,0,1,0,2.86372566223145,1.3862943649292,3.36729574203491,1.7917594909668,0,0,0,1,0,0,0,0,0.120064049959183,6,3,8.0 +7.41224431991577,0.361546546220779,11.4075651168823,1,0,0,0,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,1,0,0,0,0,1,0.0264162998646498,6,2,8.0 +7.54708337783813,0.361550688743591,10.3889951705933,1,0,0,0,2.86372566223145,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0837129577994347,6,2,8.0 +7.14309406280518,0.361403793096542,11.2580327987671,0,0,1,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0234347470104694,6,2,8.0 +7.62290096282959,0.361676394939423,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.0782756507396698,6,2,8.0 +7.09808731079102,0.361450701951981,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0192927289754152,6,2,8.0 +6.67586326599121,0.361130505800247,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,1,0.0126440180465579,6,2,8.0 +6.85720872879028,0.361327528953552,10.6572589874268,1,0,0,0,2.86372566223145,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,1,0,0,0,1,0.0321056582033634,6,1,8.0 +6.55500268936157,0.361213237047195,11.0429220199585,0,0,0,1,2.86372566223145,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0161359440535307,6,2,8.0 +6.37515449523926,0.360858798027039,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.0070183048956096,6,1,8.0 +6.94312047958374,0.361269801855087,10.8685684204102,0,0,1,0,2.86372566223145,0.6931471824646,3.09104251861572,1.3862943649292,0,0,0,0,0,1,0,1,0.0283202547580004,6,2,8.0 +6.89843893051147,0.361357510089874,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,0,1,0,1,0.0118497274816036,6,1,8.0 +5.10026550292969,0.36037340760231,10.0212707519531,1,0,0,0,2.86372566223145,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,1,0.0104554500430822,6,0,8.0 +7.3389949798584,0.361481666564941,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,1,0.0184116717427969,6,1,8.0 +6.94563770294189,0.361353278160095,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0397516004741192,6,2,8.0 +7.54328489303589,0.361628323793411,10.7684850692749,0,1,0,0,2.86372566223145,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0570645704865456,6,2,8.0 +7.22600936889648,0.361459016799927,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0219256822019815,6,2,8.0 +6.95335149765015,0.361358672380447,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,1,0.0125186378136277,6,1,8.0 +7.15513753890991,0.361457169055939,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.020425520837307,6,1,8.0 +7.30016899108887,0.361442983150482,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0177098382264376,6,2,8.0 +6.4972505569458,0.361579179763794,9.43348407745361,1,0,0,0,2.86372566223145,0.6931471824646,2.94443893432617,1.0986123085022,0,0,0,1,0,0,0,0,0.0761801525950432,6,1,8.0 +7.58559417724609,0.361537247896194,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,0,1,0,1,0.0314161367714405,6,2,8.0 +6.45222949981689,0.361509323120117,10.3889951705933,0,1,0,0,2.86372566223145,0.0,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0280082430690527,6,2,8.0 +7.57254695892334,0.36171567440033,10.0212707519531,1,0,0,0,2.86372566223145,0.6931471824646,3.68887948989868,2.19722461700439,0,0,0,0,1,0,0,1,0.12405776232481,6,2,8.0 +8.83853626251221,0.361857384443283,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0825085192918777,6,1,8.0 +8.02189826965332,0.361690104007721,10.7684850692749,0,1,0,0,2.86372566223145,0.6931471824646,3.29583692550659,1.60943794250488,0,1,0,0,0,0,0,0,0.0920984745025635,6,1,8.0 +7.34142398834229,0.361376881599426,11.4075651168823,0,0,0,1,2.86372566223145,1.3862943649292,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,1,0.0246060192584991,6,3,8.0 +8.14392566680908,0.361733853816986,11.6952466964722,0,1,0,0,2.86372566223145,1.0986123085022,4.20469284057617,1.3862943649292,1,0,0,0,0,0,0,0,0.0411888733506203,6,1,8.0 +7.38641834259033,0.361554086208344,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,1,0,0,0,0,0.0319568254053593,6,1,8.0 +7.74035692214966,0.361700803041458,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0528200753033161,6,2,8.0 +7.7642936706543,0.361544370651245,11.1198825836182,1,0,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,0,0,0,1,0.0500844419002533,6,1,8.0 +7.19175243377686,0.361516714096069,10.8685684204102,0,0,0,1,2.86372566223145,0.6931471824646,3.91202306747437,1.60943794250488,0,0,0,0,1,0,0,1,0.0363231711089611,6,1,8.0 +5.70451068878174,0.360945969820023,11.4075651168823,0,1,0,0,2.86372566223145,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0047857710160315,6,2,8.0 +7.92101526260376,0.361737847328186,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,1,0.0439452044665813,6,2,8.0 +7.18532657623291,0.361426711082458,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,1,0.0157881807535887,6,3,8.0 +7.46168279647827,0.361546367406845,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,0,0,0,1,0.0208163224160671,6,2,8.0 +6.85315608978271,0.361530005931854,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0187482349574566,6,1,8.0 +6.93463039398193,0.361462503671646,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,0,1,0,0,0.0256439559161663,6,3,8.0 +6.63203573226929,0.360989272594452,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,1,0.0090750912204384,6,1,8.0 +8.00495719909668,0.361516296863556,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0358370430767536,6,2,8.0 +7.77170181274414,0.361483186483383,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,1,0.0283802393823862,6,2,8.0 +7.99675846099854,0.36150187253952,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,0,0.0355438962578773,6,3,8.0 +7.62926578521729,0.361514747142792,11.6952466964722,0,0,0,1,2.86372566223145,1.0986123085022,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,1,0.0246133450418711,6,3,8.0 +7.3489785194397,0.361604332923889,11.1198825836182,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,1,0.0330643393099308,6,2,8.0 +7.24791717529297,0.361186653375626,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0168039202690125,6,2,8.0 +7.44575166702271,0.361233919858932,11.6952466964722,0,1,0,0,2.86372566223145,1.0986123085022,3.66356158256531,1.60943794250488,1,0,0,0,0,0,0,0,0.0204809233546257,6,3,8.0 +7.44499778747559,0.361539721488953,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,1,0.0204717423766851,6,2,8.0 +6.95417547225952,0.361411929130554,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,0,0,0,1,1,0.0167061612010002,6,2,8.0 +7.51942205429077,0.361603587865829,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0220548845827579,6,2,8.0 +7.56058359146118,0.361508429050446,10.9595403671265,0,0,1,0,2.86372566223145,1.0986123085022,4.11087369918823,1.3862943649292,0,0,0,1,0,0,0,1,0.0479570999741554,6,3,8.0 +5.34432888031006,0.360026568174362,8.92265796661377,1,0,0,0,2.86372566223145,0.6931471824646,3.21887588500977,1.60943794250488,0,0,0,1,0,0,0,1,0.0400229208171368,6,1,8.0 +7.66553735733032,0.361493051052094,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,1,0.0255219433456659,6,2,8.0 +6.71128702163696,0.361527681350708,10.7684850692749,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,0,0.0248308070003986,6,1,8.0 +6.36781692504883,0.361036360263824,10.7684850692749,0,0,0,1,2.86372566223145,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,0,0,1,1,0.0176039505749941,6,1,8.0 +6.71828985214233,0.361707210540771,11.1198825836182,0,1,0,0,2.86372566223145,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0175994839519262,6,3,8.0 +6.38917303085327,0.360918790102005,10.2219409942627,0,0,0,1,2.86372566223145,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,1,0.0310595370829105,6,1,8.0 +7.25125789642334,0.360929936170578,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0351773649454117,6,2,8.0 +7.06115102767944,0.361689269542694,11.0429220199585,1,0,0,0,2.86372566223145,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,0,0,1,0,0,0.0267804879695177,6,2,8.0 +7.9347767829895,0.361529588699341,11.2580327987671,0,1,0,0,2.86372566223145,1.0986123085022,3.8712010383606,1.60943794250488,0,0,0,0,0,0,0,0,0.0517295002937317,6,2,8.0 +7.06650972366333,0.361380100250244,11.2580327987671,0,0,0,1,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0217065047472715,6,1,8.0 +6.65323162078857,0.361304372549057,10.2219409942627,0,0,0,1,2.86372566223145,0.6931471824646,4.00733327865601,1.0986123085022,0,0,0,0,0,0,1,1,0.0404614582657814,6,1,8.0 +6.34565114974976,0.360831886529922,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,1,0.011278479360044,6,2,8.0 +7.01569795608521,0.361154437065125,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0133212544023991,6,1,8.0 +7.99216079711914,0.361628323793411,10.9595403671265,0,1,0,0,2.86372566223145,1.0986123085022,3.97029185295105,1.3862943649292,1,0,0,0,0,0,0,0,0.0738476365804672,6,3,8.0 +7.04973268508911,0.361384272575378,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,0,0.0137856062501669,6,2,8.0 +7.40616273880005,0.361413091421127,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.026252631098032,6,2,8.0 +6.78266954421997,0.36104542016983,10.5320959091187,0,1,0,0,2.86372566223145,0.6931471824646,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0337632931768894,6,2,8.0 +7.3509578704834,0.361426711082458,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,1,0.0308395586907864,6,2,8.0 +7.6989278793335,0.361610651016235,11.6952466964722,0,0,0,1,2.86372566223145,1.0986123085022,3.61091780662537,1.3862943649292,0,0,0,0,0,1,0,1,0.0263916235417128,6,2,8.0 +7.01526784896851,0.361522793769836,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,1,0.02557522803545,6,2,8.0 +7.35739707946777,0.361610323190689,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0250080488622189,6,2,8.0 +4.36624431610107,0.363582789897919,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0009439662680961,6,2,8.0 +7.45347738265991,0.361412674188614,11.6952466964722,1,0,0,0,2.86372566223145,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0206434559077024,6,3,8.0 +7.65186405181885,0.361564815044403,11.6952466964722,0,0,0,1,2.86372566223145,1.0986123085022,3.89182019233704,1.60943794250488,0,0,0,0,1,0,0,0,0.0251771565526724,6,3,8.0 +7.70712232589722,0.362023234367371,11.2580327987671,0,1,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0412176996469498,6,1,8.0 +7.56901121139526,0.361587226390839,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,1,0.0231757592409849,6,2,8.0 +6.88062286376953,0.361390650272369,10.5320959091187,0,0,1,0,2.86372566223145,1.3862943649292,4.11087369918823,1.7917594909668,0,0,0,0,1,0,0,1,0.0372507721185684,6,2,8.0 +7.65070390701294,0.361619770526886,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0251493491232395,6,1,8.0 +7.4199161529541,0.361462235450745,11.6952466964722,1,0,0,0,2.86372566223145,1.0986123085022,3.465735912323,1.60943794250488,0,0,0,0,1,0,0,1,0.0199631191790104,6,3,8.0 +7.05752277374268,0.361353278160095,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,0,0.0138929877430201,6,1,8.0 +5.1614089012146,0.360138922929764,7.82404613494873,0,0,1,0,2.86372566223145,0.0,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,1,0.100008696317673,6,2,8.0 +7.10981559753418,0.361342310905457,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0146386651322246,6,2,8.0 +7.1352219581604,0.361275553703308,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0150143392384052,6,2,8.0 +7.78553915023804,0.361349284648895,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,1,0.0287718251347542,6,2,8.0 +7.18062257766724,0.361234575510025,11.0429220199585,0,0,0,1,2.86372566223145,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0301652550697327,6,3,8.0 +7.92937517166138,0.361502289772034,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.8712010383606,1.3862943649292,0,1,0,0,0,0,0,0,0.033227764070034,6,2,8.0 +7.68880653381348,0.361536651849747,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0348319001495838,6,1,8.0 +7.45618200302124,0.361589223146439,11.0429220199585,0,0,0,1,2.86372566223145,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,0,1,0,1,0.0397497937083244,6,2,8.0 +7.38949155807495,0.36140501499176,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,1,0.0193637926131487,6,2,8.0 +7.41731309890747,0.361602932214737,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,1,0.019914023578167,6,1,8.0 +7.29051351547241,0.361440241336823,10.3889951705933,1,0,0,0,2.86372566223145,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,1,0.064761646091938,6,1,8.0 +7.6242413520813,0.361485421657562,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,0,0.0244892705231905,6,2,8.0 +7.29711818695068,0.361355781555176,11.1198825836182,0,1,0,0,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0313855037093163,6,1,8.0 +8.18052101135254,0.361680239439011,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0820258408784866,6,2,8.0 +7.76744508743286,0.361520975828171,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,4.27666616439819,1.3862943649292,1,0,0,0,0,0,0,1,0.0282607600092888,6,2,8.0 +6.62288331985474,0.361582070589066,10.5320959091187,0,1,0,0,2.86372566223145,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,0,0,0,0,0.0287927705794573,6,2,8.0 +7.69581127166748,0.361640870571136,10.5320959091187,0,0,0,1,2.86372566223145,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,1,0.0841929614543915,6,2,8.0 +5.42345905303955,0.360941648483276,10.2219409942627,0,1,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0118249878287315,6,2,8.0 +7.28585910797119,0.361446052789688,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0288964509963989,6,1,8.0 +7.49376583099365,0.361514985561371,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,1,0,0,1,0.0286591053009033,6,2,8.0 +7.09736585617065,0.361413985490799,11.0429220199585,0,0,1,0,2.86372566223145,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,1,0.027760474011302,6,1,8.0 +7.07662105560303,0.361445546150208,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,1,0.0141621772199869,6,1,8.0 +4.10282039642334,0.363582789897919,10.5320959091187,1,0,0,0,2.86372566223145,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,0,0,0,0,0.0023211492225527,6,2,8.0 +6.520432472229,0.361115962266922,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0081177791580557,6,2,8.0 +7.97773313522339,0.361513316631317,11.1913414001465,1,0,0,0,2.86372566223145,1.0986123085022,2.94443893432617,1.3862943649292,0,0,0,1,0,0,0,0,0.057723231613636,6,3,8.0 +6.94762945175171,0.361603170633316,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,0,1,0,1,0.0206073168665171,6,2,8.0 +6.98291969299316,0.361336350440979,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0128940287977457,6,2,8.0 +7.07259368896484,0.361509501934052,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,1,0,0,0,0,1,0.0141061563044786,6,1,8.0 +8.50000762939453,0.361364156007767,11.6952466964722,1,0,0,0,2.86372566223145,1.3862943649292,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,1,0.0587846115231514,6,3,8.0 +3.65179514884949,0.363582789897919,9.43348407745361,1,0,0,0,2.86372566223145,0.0,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0044355392456054,6,1,8.0 +7.35366725921631,0.361334025859833,11.6952466964722,0,0,0,1,2.86372566223145,1.3862943649292,3.76120018959045,1.94591009616852,0,0,0,0,0,1,0,1,0.018681051209569,6,3,8.0 +7.07539558410645,0.361519396305084,11.0429220199585,1,0,0,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,1,0.0271600857377052,6,2,8.0 +7.36296701431274,0.361673176288605,11.1198825836182,0,1,0,0,2.86372566223145,0.6931471824646,3.78418970108032,1.0986123085022,1,0,0,0,0,0,0,1,0.0335324183106422,6,1,8.0 +7.24834489822388,0.361424624919891,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,1,0.0168151091784239,6,2,8.0 +5.34805154800415,0.360727101564407,11.1198825836182,0,0,0,1,2.86372566223145,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,0,1,0,1,0.0044667059555649,6,2,8.0 +7.02707815170288,0.361451715230942,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,0,0.0134777221828699,6,2,8.0 +6.85105991363525,0.361160904169083,10.7684850692749,1,0,0,0,2.86372566223145,1.0986123085022,3.63758611679077,1.7917594909668,0,0,0,0,0,1,0,0,0.0285452660173178,6,2,8.0 +7.53231334686279,0.361121356487274,10.2219409942627,0,0,0,1,2.86372566223145,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0974411815404892,6,2,8.0 +7.15916967391968,0.361510336399078,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,1,0.015381851233542,6,1,8.0 +7.31577348709106,0.361381947994232,11.1198825836182,0,1,0,0,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,1,0.0319773480296135,6,1,8.0 +7.31826734542847,0.361524701118469,10.3889951705933,0,1,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.3862943649292,0,0,1,0,0,0,0,0,0.0665898248553276,6,2,8.0 +6.57236909866333,0.361700654029846,11.2580327987671,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0132472719997168,6,2,8.0 +8.10151672363281,0.361783355474472,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0394805744290352,6,2,8.0 +6.41047763824463,0.361116707324982,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,1,0.0096966894343495,6,1,8.0 +6.23613500595093,0.360918641090393,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,0,1,0,1,0.0061077722348272,6,1,8.0 +7.23302173614502,0.361618787050247,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,1,0.0274140015244484,6,2,8.0 +6.20611715316772,0.360790401697159,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,0,1,0,1,0.0189644563943148,6,2,8.0 +7.77443838119507,0.361455768346786,11.2580327987671,0,1,0,0,2.86372566223145,1.0986123085022,3.82864141464233,1.60943794250488,0,0,1,0,0,0,0,0,0.0440628081560135,6,3,8.0 +6.61291646957397,0.36058047413826,11.1913414001465,0,0,1,0,2.86372566223145,0.0,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,0,0.0147303557023406,6,1,8.0 +7.48211526870728,0.361342251300812,10.3889951705933,0,0,1,0,2.86372566223145,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,1,0.0784308686852455,6,2,8.0 +7.42660474777222,0.361540049314499,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,0,0,0,0,1,0.0200986545532942,6,1,8.0 +7.15978860855103,0.361445128917694,10.5320959091187,0,1,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,1,0.0492491759359837,6,2,8.0 +7.66817855834961,0.36148127913475,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,1,0.0255891401320696,6,3,8.0 +7.29596948623657,0.361286997795105,10.7684850692749,0,0,0,1,2.86372566223145,1.0986123085022,3.85014748573303,1.7917594909668,0,0,0,0,0,1,0,0,0.0445462055504322,6,2,8.0 +7.1565728187561,0.361421316862106,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0153405908495188,6,2,8.0 +7.90330076217651,0.361486911773682,11.1198825836182,0,0,0,1,2.86372566223145,1.0986123085022,3.97029185295105,1.7917594909668,0,0,0,0,1,0,0,1,0.0575503334403038,6,2,8.0 +7.38138771057129,0.361575603485107,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0192107763141394,6,2,8.0 +7.02381801605225,0.361115634441376,10.5320959091187,0,1,0,0,2.86372566223145,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,1,0.0429738983511925,6,2,8.0 +6.80756139755249,0.361411184072495,10.2219409942627,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,0,0.0472185276448727,6,2,8.0 +7.3010082244873,0.361359775066376,10.8685684204102,0,0,0,1,2.86372566223145,1.0986123085022,3.36729574203491,1.7917594909668,0,0,0,0,0,1,0,0,0.0405102446675301,6,2,8.0 +6.86648559570312,0.360971242189407,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,4.11087369918823,1.0986123085022,0,0,1,0,0,0,0,1,0.0114726396277547,6,1,8.0 +6.63145160675049,0.361231774091721,9.76995658874512,0,0,1,0,2.86372566223145,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,1,0,0,0,0.0622079186141491,6,2,8.0 +6.54477119445801,0.361479103565216,10.7684850692749,0,1,0,0,2.86372566223145,1.0986123085022,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,0,0.0210209731012583,6,2,8.0 +7.21449041366577,0.361428618431091,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0216739121824503,6,2,8.0 +7.28349637985229,0.361424803733826,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,1,0.0334400534629822,6,1,8.0 +7.01019430160522,0.36121854186058,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,1,0.0132489902898669,6,1,8.0 +6.12938737869263,0.36061903834343,10.8685684204102,0,0,1,0,2.86372566223145,0.6931471824646,4.29045963287354,1.0986123085022,1,0,0,0,0,0,0,1,0.0125433811917901,6,0,8.0 +7.11503410339355,0.361371874809265,11.1913414001465,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,0,0.0243570003658533,6,2,8.0 +6.99021434783936,0.361243218183517,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,0,1,0,1,0.0129872215911746,6,2,8.0 +7.86951351165771,0.361544370651245,11.4075651168823,1,0,0,0,2.86372566223145,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,1,0.041731171309948,6,1,8.0 +7.81629419326782,0.36167898774147,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,1,0.0296802334487438,6,2,8.0 +7.97127962112427,0.36172804236412,11.1198825836182,0,0,1,0,2.86372566223145,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,1,0.0616134442389011,6,1,8.0 +6.8412914276123,0.361242651939392,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.13549423217773,1.3862943649292,0,0,1,0,0,0,0,0,0.0282700844109058,6,2,8.0 +7.12458848953247,0.36132487654686,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0148562649264932,6,2,8.0 +7.17466306686401,0.361577272415161,10.3889951705933,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0576851740479469,6,2,8.0 +7.56844615936279,0.361724138259888,10.5320959091187,0,0,0,1,2.86372566223145,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,0,0,1,0,1,0.0741306617856026,6,1,8.0 +7.2703800201416,0.360867947340012,10.2219409942627,0,0,1,0,2.86372566223145,1.0986123085022,4.07753753662109,1.60943794250488,0,0,0,0,0,1,0,1,0.0749680548906326,6,3,8.0 +6.99078369140625,0.361496061086655,11.1913414001465,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.0215137712657452,6,2,8.0 +7.12640523910522,0.361427783966064,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0376037359237671,6,2,8.0 +7.39802217483521,0.361398875713348,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,1,0.0407573543488979,6,1,8.0 +7.21186065673828,0.361527264118195,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.021619126200676,6,2,8.0 +7.23684358596802,0.361523538827896,11.6952466964722,0,0,1,0,2.86372566223145,1.3862943649292,3.63758611679077,1.94591009616852,0,0,0,0,0,1,0,0,0.0166244618594646,6,1,8.0 +7.71024703979492,0.361338585615158,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0266847889870405,6,3,8.0 +7.5103006362915,0.361529171466827,10.9595403671265,1,0,0,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,0,1,0,1,0.0456062480807304,6,2,8.0 +5.54846000671387,0.3604916036129,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.0077541009522974,6,1,8.0 +7.38189840316772,0.361456692218781,10.9595403671265,1,0,0,0,2.86372566223145,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0401077717542648,6,2,8.0 +7.21434831619263,0.361433774232864,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0162532087415457,6,2,8.0 +7.11485147476196,0.361385345458984,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.60943794250488,0,1,0,0,0,0,0,0,0.0307058077305555,6,2,8.0 +7.21467447280884,0.361289501190186,10.6572589874268,0,0,0,1,2.86372566223145,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0458997525274754,6,3,8.0 +7.52790832519531,0.361590623855591,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.97029185295105,1.3862943649292,0,0,0,0,0,1,0,1,0.0222425553947687,6,2,8.0 +7.57266569137573,0.361615806818008,11.6952466964722,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,0,1,0,1,0.0232612658292055,6,1,8.0 +5.92294549942017,0.361282020807266,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.0112852659076452,6,1,8.0 +6.95212459564209,0.361408442258835,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,0,1,0,0,0.0125039061531425,6,2,8.0 +7.00920152664185,0.361338257789612,10.7684850692749,0,0,1,0,2.86372566223145,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0334419123828411,6,1,8.0 +7.69421291351318,0.361489742994308,11.2580327987671,0,0,1,0,2.86372566223145,1.7917594909668,3.25809645652771,1.94591009616852,0,0,0,0,1,0,0,1,0.0406673140823841,6,5,8.0 +6.55426168441772,0.360408306121826,11.4075651168823,0,0,0,1,2.86372566223145,1.0986123085022,3.04452252388,1.3862943649292,0,0,0,0,1,0,0,1,0.0111882053315639,6,3,8.0 +6.63765096664429,0.361135900020599,10.5320959091187,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0292080938816071,6,1,8.0 +7.03240394592285,0.361425220966339,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.94591009616852,0,0,0,1,0,0,0,1,0.0135493353009224,6,1,8.0 +7.60074710845947,0.361610323190689,11.6952466964722,0,0,0,1,2.86372566223145,1.0986123085022,2.99573230743408,1.3862943649292,0,0,0,0,1,0,0,1,0.0239236112684011,6,2,8.0 +6.38039064407349,0.360406398773193,10.3889951705933,0,0,0,1,2.86372566223145,1.0986123085022,4.18965482711792,1.7917594909668,0,0,0,0,1,0,0,1,0.0260379984974861,6,1,8.0 +6.04660940170288,0.360734641551971,10.2219409942627,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0220465902239084,6,2,8.0 +7.67248153686523,0.361596286296844,11.4075651168823,1,0,0,0,2.86372566223145,1.0986123085022,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,1,0.034269917756319,6,4,8.0 +7.35742950439453,0.36140701174736,10.9595403671265,0,1,0,0,2.86372566223145,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0391363352537155,6,2,8.0 +7.34462022781372,0.361516296863556,11.1198825836182,0,0,1,0,2.86372566223145,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0329176522791386,6,1,8.0 +7.33151435852051,0.361479341983795,11.2580327987671,0,0,1,0,2.86372566223145,0.0,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,1,0.0282958745956421,6,1,8.0 +7.33853197097778,0.361533254384995,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,0,1,0,1,0.030461959540844,6,2,8.0 +7.61975049972534,0.361657381057739,11.4075651168823,0,1,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,1,0.0325116366147995,6,2,8.0 +7.35176086425781,0.361488074064255,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,1,0.0248644519597292,6,2,8.0 +7.48886108398438,0.361472547054291,11.6952466964722,1,0,0,0,2.86372566223145,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0213882531970739,6,3,8.0 +7.60856533050537,0.361396223306656,11.4075651168823,0,0,1,0,2.86372566223145,1.0986123085022,3.76120018959045,2.0794415473938,0,0,0,0,1,0,0,1,0.0321416296064854,6,1,8.0 +7.05978775024414,0.36105489730835,10.3889951705933,1,0,0,0,2.86372566223145,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0513981617987156,6,2,8.0 +7.05620241165161,0.361383020877838,11.0429220199585,0,0,0,1,2.86372566223145,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,1,0,0,0,0.0266401283442974,6,2,8.0 +7.3759241104126,0.361274123191833,10.5320959091187,0,0,1,0,2.86372566223145,1.0986123085022,3.98898410797119,1.7917594909668,0,0,0,0,1,0,0,0,0.0611211247742176,6,2,8.0 +7.45281648635864,0.361165136098862,11.6952466964722,1,0,0,0,2.86372566223145,0.0,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,1,0.0206247065216303,6,2,8.0 +7.26001834869385,0.361542969942093,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0170145593583584,6,2,8.0 +7.45486402511597,0.361623585224152,9.43348407745361,0,0,0,1,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,1,0.198494046926498,6,1,8.0 +7.13186407089233,0.361429363489151,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0199550781399012,6,2,8.0 +6.40478181838989,0.360919386148453,9.76995658874512,0,1,0,0,2.86372566223145,1.0986123085022,4.20469284057617,1.60943794250488,0,0,0,0,0,1,0,0,0.0495756864547729,6,1,8.0 +5.95676612854004,0.361191630363464,11.6952466964722,0,0,1,0,2.86372566223145,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,1,0.0046203290112316,6,1,8.0 +7.02422571182251,0.36141574382782,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.022243607789278,6,1,8.0 +6.22018957138062,0.361263424158096,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,1,0.0080176349729299,6,1,8.0 +7.60022830963135,0.361712783575058,10.9595403671265,0,0,1,0,2.86372566223145,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0499067418277264,6,2,8.0 +6.90918731689453,0.361440241336823,11.1913414001465,0,0,0,1,2.86372566223145,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,1,0,1,0.0198269300162792,6,1,8.0 +7.34144496917725,0.361576586961746,10.7684850692749,0,0,0,1,2.86372566223145,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0466322265565395,6,1,8.0 +6.1847620010376,0.361416071653366,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0077397408895194,6,1,8.0 +7.54864740371704,0.361529260873795,11.2580327987671,0,0,0,1,2.86372566223145,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,0,1,0,0,1,0.035159632563591,6,1,8.0 +6.43303823471069,0.360971659421921,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,1,0.0074373777024447,6,2,8.0 +7.44189310073853,0.361617207527161,10.7684850692749,1,0,0,0,2.86372566223145,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,1,0.0515617728233337,6,2,8.0 +7.13260555267334,0.361389338970184,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.58351898193359,1.7917594909668,0,0,1,0,0,0,0,1,0.0149768134579062,6,2,8.0 +6.47991228103638,0.361679404973984,10.7684850692749,0,0,0,1,2.86372566223145,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0197047926485538,6,1,8.0 +8.17490291595459,0.361681044101715,10.5320959091187,0,0,0,1,2.86372566223145,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,1,0.135943993926048,6,4,8.0 +7.04066801071167,0.361441731452942,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,1,0.0136619945988059,6,2,8.0 +7.47754907608032,0.361525684595108,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,1,0.021148793399334,6,2,8.0 +7.00753116607666,0.361503601074219,11.4075651168823,0,0,0,1,2.86372566223145,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0176233556121588,6,2,8.0 +7.32250595092773,0.361575931310654,10.5320959091187,0,0,0,1,2.86372566223145,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0579592995345592,6,3,8.0 +7.52828311920166,0.361575186252594,11.6952466964722,0,1,0,0,2.86372566223145,0.6931471824646,3.78418970108032,1.7917594909668,1,0,0,0,0,0,0,1,0.0222505461424589,6,2,8.0 +7.61689615249634,0.361634224653244,11.6952466964722,1,0,0,0,2.86372566223145,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,1,0,0,0,0.0243136715143919,6,2,8.0 +6.55585193634033,0.361051738262177,11.0429220199585,0,1,0,0,2.86372566223145,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.016147043555975,6,2,8.0 +6.3800573348999,0.360868126153946,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,1,0.0070528634823858,6,1,8.0 +7.04144954681396,0.361496061086655,10.8685684204102,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0312535278499126,6,1,8.0 +7.14326190948486,0.361493974924088,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,0,0.0151388514786959,6,2,8.0 +8.32414054870605,0.361610144376755,11.4075651168823,0,0,1,0,2.86372566223145,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0657553374767303,6,4,8.0 +7.39306211471558,0.361395239830017,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0259104873985052,6,2,8.0 +7.79277992248535,0.361805498600006,11.2580327987671,0,0,0,1,2.86372566223145,1.0986123085022,4.12713432312012,1.3862943649292,0,0,0,1,0,0,0,1,0.0448941476643085,6,1,8.0 +7.18755054473877,0.361543536186218,11.6952466964722,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0158251784741879,6,2,8.0 +6.54968786239624,0.361603081226349,11.4075651168823,0,0,1,0,2.86372566223145,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0111504681408405,6,2,8.0 +7.74011278152466,0.377071410417557,11.0429220199585,0,0,1,0,1.85373759269714,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0536251217126846,8,2,7.0 +6.84853458404541,0.376948744058609,10.5320959091187,0,1,0,0,1.85373759269714,0.6931471824646,3.29583692550659,1.60943794250488,0,0,0,1,0,0,0,0,0.0366400741040707,8,1,7.0 +7.65850400924683,0.376966655254364,11.1198825836182,0,1,0,0,1.85373759269714,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0457569286227226,8,2,7.0 +6.92526817321777,0.376832783222198,11.6952466964722,1,0,0,0,1.85373759269714,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,0,0.0123617798089981,8,2,7.0 +7.4944920539856,0.376840323209763,11.1198825836182,0,0,0,1,1.85373759269714,0.0,3.71357202529907,0.6931471824646,0,0,0,0,1,0,0,0,0.0388304442167282,8,1,7.0 +7.34306144714355,0.376994043588638,10.7684850692749,0,0,1,0,1.85373759269714,1.0986123085022,2.94443893432617,1.60943794250488,0,0,0,0,1,0,0,0,0.0474333614110947,8,3,7.0 +7.44169616699219,0.377020537853241,10.6572589874268,0,1,0,0,1.85373759269714,0.6931471824646,3.04452252388,1.3862943649292,1,0,0,0,0,0,0,0,0.0585108697414398,8,2,7.0 +6.75214433670044,0.376840084791183,10.3889951705933,0,0,0,1,1.85373759269714,0.6931471824646,3.49650764465332,1.7917594909668,0,0,0,0,1,0,0,0,0.038387980312109,8,1,7.0 +6.73080205917358,0.377490013837814,10.9595403671265,1,0,0,0,1.85373759269714,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0212531946599483,8,2,7.0 +6.96369457244873,0.376394599676132,10.9595403671265,0,1,0,0,1.85373759269714,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,0,0,0,0,0.0267973784357309,8,2,7.0 +7.31377792358398,0.376883655786514,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0243091266602278,8,1,7.0 +7.47198963165283,0.376816838979721,10.5320959091187,0,1,0,0,1.85373759269714,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.068337969481945,8,1,7.0 +7.50129079818726,0.37703549861908,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,1,0,0,0,0,0.021995423361659,8,2,7.0 +4.97503137588501,0.376736789941788,10.6572589874268,0,1,0,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,0,0,0,0.0049642599187791,8,2,7.0 +6.87705278396606,0.376882344484329,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0157072991132736,8,2,7.0 +6.95147705078125,0.376642048358917,10.7684850692749,0,0,1,0,1.85373759269714,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0320529565215111,8,2,7.0 +6.63406562805176,0.376780301332474,11.4075651168823,1,0,0,0,1.85373759269714,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0123176882043481,8,2,7.0 +7.39753484725952,0.377088487148285,11.6952466964722,0,1,0,0,1.85373759269714,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0198287200182676,8,1,7.0 +5.96446228027344,0.376053690910339,10.6572589874268,1,0,0,0,1.85373759269714,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0133432652801275,8,1,7.0 +6.94102096557617,0.376808345317841,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.29583692550659,1.7917594909668,0,0,0,0,1,0,0,0,0.0167436562478542,8,1,7.0 +7.22479009628296,0.376912206411362,10.0212707519531,1,0,0,0,1.85373759269714,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0889599993824959,8,2,7.0 +5.19438886642456,0.376066535711288,10.9595403671265,0,0,1,0,1.85373759269714,0.0,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0045661493204534,8,2,7.0 +7.20377779006958,0.376694411039352,11.6952466964722,0,0,1,0,1.85373759269714,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0163296200335026,8,3,7.0 +6.98412799835205,0.376835733652115,10.6572589874268,0,0,1,0,1.85373759269714,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0370200499892235,8,2,7.0 +7.88692283630371,0.37703076004982,11.1198825836182,1,0,0,0,1.85373759269714,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,0,0.0575023666024208,8,2,7.0 +7.86800193786621,0.377050548791885,11.1913414001465,0,0,1,0,1.85373759269714,1.3862943649292,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0525342859327793,8,3,7.0 +7.20408582687378,0.376886427402496,10.8685684204102,0,1,0,0,1.85373759269714,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0373435094952583,8,2,7.0 +7.58384275436401,0.376840710639954,10.8685684204102,1,0,0,0,1.85373759269714,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.054591067135334,8,1,7.0 +8.03803157806396,0.377091914415359,11.6952466964722,0,0,1,0,1.85373759269714,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.03762361779809,8,2,7.0 +7.76913928985596,0.377027571201324,11.6952466964722,0,1,0,0,1.85373759269714,1.3862943649292,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,0,0.028751078993082,8,2,7.0 +7.01560258865356,0.376975804567337,10.5320959091187,0,0,1,0,1.85373759269714,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,0,0.0433036759495735,8,2,7.0 +7.56653642654419,0.377093315124512,10.6572589874268,1,0,0,0,1.85373759269714,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,0,0.066295750439167,8,2,7.0 +6.78842258453369,0.37687474489212,11.1198825836182,1,0,0,0,1.85373759269714,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,0,1,0,0,0.0191666129976511,8,1,7.0 +5.81870889663696,0.3766830265522,10.3889951705933,1,0,0,0,1.85373759269714,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,0,0.0150918057188392,8,1,7.0 +6.79999446868896,0.376807361841202,11.4075651168823,0,0,0,1,1.85373759269714,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.0145412907004356,8,2,7.0 +6.84762811660767,0.37671110033989,11.1198825836182,0,0,1,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0203323140740395,8,1,7.0 +7.20872640609741,0.376907378435135,11.2580327987671,0,0,1,0,1.85373759269714,1.0986123085022,3.82864141464233,1.7917594909668,0,0,0,0,1,0,0,0,0.0254154149442911,8,2,7.0 +6.82046461105347,0.376764833927155,10.2219409942627,0,0,1,0,1.85373759269714,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0485718064010143,8,1,7.0 +8.0525598526001,0.377106636762619,10.5320959091187,1,0,0,0,1.85373759269714,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.122159242630005,8,2,7.0 +7.98888969421387,0.377073675394058,11.1913414001465,0,0,1,0,1.85373759269714,1.0986123085022,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0592862144112587,8,2,7.0 +6.39193773269653,0.376717954874039,10.8685684204102,0,0,0,1,1.85373759269714,0.6931471824646,3.68887948989868,1.0986123085022,0,1,0,0,0,0,0,0,0.0165741257369518,8,2,7.0 +6.20364236831665,0.37645760178566,10.6572589874268,0,1,0,0,1.85373759269714,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0169555582106113,8,2,7.0 +7.79095363616943,0.377063155174255,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0293862018734217,8,2,7.0 +7.15020227432251,0.377002477645874,11.4075651168823,0,1,0,0,1.85373759269714,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0206433851271868,8,1,7.0 +7.26675224304199,0.376856029033661,11.4075651168823,0,0,1,0,1.85373759269714,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0231917966157198,8,2,7.0 +8.3576602935791,0.377115786075592,11.4075651168823,0,0,1,0,1.85373759269714,1.3862943649292,3.80666255950928,1.7917594909668,1,0,0,0,0,0,0,0,0.0690593868494034,8,2,7.0 +7.64209127426147,0.377099692821503,10.8685684204102,0,1,0,0,1.85373759269714,1.0986123085022,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0578803457319736,8,2,7.0 +5.92854261398315,0.376646637916565,11.1198825836182,1,0,0,0,1.85373759269714,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0081097045913338,8,1,7.0 +7.79017448425293,0.377126663923264,11.1198825836182,1,0,0,0,1.85373759269714,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0522047653794289,8,1,7.0 +6.83143329620361,0.376783967018127,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0150053650140762,8,2,7.0 +6.35908651351929,0.376856029033661,9.76995658874512,0,1,0,0,1.85373759269714,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0481221079826355,8,2,7.0 +6.77936983108521,0.376461505889893,10.7684850692749,1,0,0,0,1.85373759269714,0.6931471824646,3.36729574203491,1.3862943649292,0,0,1,0,0,0,0,0,0.0269801579415798,8,2,7.0 +5.92321062088013,0.376822084188461,10.0212707519531,0,1,0,0,1.85373759269714,0.0,3.13549423217773,1.3862943649292,0,0,0,0,0,0,0,0,0.0242039877921343,8,1,7.0 +7.65835905075073,0.377026110887527,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0257360693067312,8,2,7.0 +6.22770500183105,0.376479506492615,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,0,0.0061514792032539,8,1,7.0 +6.95220613479614,0.376849383115768,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0126995136961341,8,1,7.0 +7.0441746711731,0.376890778541565,11.6952466964722,0,1,0,0,1.85373759269714,0.6931471824646,3.71357202529907,1.0986123085022,0,1,0,0,0,0,0,0,0.01392344199121,8,2,7.0 +7.09036684036255,0.377112209796906,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0145849091932178,8,2,7.0 +6.61276388168335,0.376883089542389,10.8685684204102,0,1,0,0,1.85373759269714,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0206731092184782,8,2,7.0 +5.85920381546021,0.376780599355698,11.4075651168823,0,0,0,1,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0056755905970931,8,2,7.0 +7.06202363967896,0.376926332712173,10.8685684204102,0,1,0,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,0,0,0,0.03239930793643,8,2,7.0 +6.7470498085022,0.376825839281082,10.7684850692749,0,0,0,1,1.85373759269714,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,0,0.0261316169053316,8,2,7.0 +6.81511640548706,0.376781672239304,10.2219409942627,1,0,0,0,1.85373759269714,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0483135581016541,8,1,7.0 +7.28757476806641,0.377011209726334,10.5320959091187,0,1,0,0,1.85373759269714,1.0986123085022,3.8712010383606,1.60943794250488,0,0,0,1,0,0,0,0,0.0568402744829655,8,3,7.0 +7.8221640586853,0.377092242240906,10.7684850692749,0,0,1,0,1.85373759269714,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0765945836901665,8,1,7.0 +5.7675142288208,0.376841455698013,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0038839937187731,8,1,7.0 +7.24279260635376,0.376887172460556,11.4075651168823,1,0,0,0,1.85373759269714,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0226434357464314,8,2,7.0 +6.33118152618408,0.376681089401245,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.80666255950928,1.3862943649292,0,1,0,0,0,0,0,0,0.0090979859232902,8,2,7.0 +6.7302131652832,0.376823872327805,11.1913414001465,0,0,1,0,1.85373759269714,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0168348383158445,8,2,7.0 +7.65685033798218,0.376750588417053,11.4075651168823,0,1,0,0,1.85373759269714,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,0,0,0,0,0,0.0342535823583603,8,2,7.0 +7.14277219772339,0.377028465270996,11.1198825836182,0,0,1,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0273214764893055,8,2,7.0 +6.88528156280518,0.376846373081207,11.4075651168823,1,0,0,0,1.85373759269714,1.0986123085022,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,0,0.0158365108072758,8,2,7.0 +6.13574457168579,0.376817256212234,10.5320959091187,1,0,0,0,1.85373759269714,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,0,0.0179613307118416,8,2,7.0 +7.18705987930298,0.376653671264648,11.4075651168823,1,0,0,0,1.85373759269714,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0214109849184752,8,2,7.0 +7.40967416763306,0.37709978222847,11.0429220199585,0,0,1,0,1.85373759269714,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0385365635156631,8,2,7.0 +7.73647880554199,0.376958250999451,11.6952466964722,0,0,1,0,1.85373759269714,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0278252903372049,8,1,7.0 +7.43890571594238,0.37707245349884,10.3889951705933,0,1,0,0,1.85373759269714,0.6931471824646,3.33220458030701,1.7917594909668,0,0,0,1,0,0,0,0,0.0763049572706223,8,1,7.0 +7.467848777771,0.376928865909576,11.2580327987671,1,0,0,0,1.85373759269714,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0329338125884533,8,2,7.0 +7.20700979232788,0.376898378133774,10.8685684204102,0,0,0,1,1.85373759269714,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0374533124268055,8,2,7.0 +7.72712659835815,0.37708768248558,11.1913414001465,0,0,1,0,1.85373759269714,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,0,1,0,0,0.0456328354775906,8,2,7.0 +7.27288007736206,0.376753956079483,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.02333196811378,8,1,7.0 +7.11485910415649,0.376485079526901,10.7684850692749,0,0,1,0,1.85373759269714,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0377359911799431,8,1,7.0 +6.69205570220947,0.376883417367935,11.4075651168823,0,0,1,0,1.85373759269714,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,1,0,0,0,0.0130544528365135,8,1,7.0 +6.84121179580688,0.340855628252029,10.8685684204102,0,1,0,0,2.22900533676147,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0250595323741436,9,1,0.0 +7.14920854568481,0.340881317853928,10.5320959091187,0,1,0,0,2.22900533676147,1.3862943649292,3.91202306747437,1.3862943649292,0,1,0,0,0,0,0,1,0.0477390103042126,9,3,0.0 +7.00847291946411,0.340864628553391,11.4075651168823,0,1,0,0,2.22900533676147,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0172796174883842,9,2,0.0 +6.63547086715698,0.340832144021988,10.7684850692749,0,1,0,0,2.22900533676147,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0225463509559631,9,2,0.0 +7.42297744750977,0.34083953499794,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,1,0.0196156017482281,9,1,0.0 +6.95953941345215,0.34086275100708,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0123407943174243,9,1,0.0 +7.21257543563843,0.3410624563694,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.0158972516655922,9,2,0.0 +6.6775803565979,0.340840965509415,11.1913414001465,0,0,1,0,2.22900533676147,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,1,0.015407195314765,9,2,0.0 +7.22786712646484,0.340886324644089,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0161393713206053,9,2,0.0 +6.80905389785767,0.340789258480072,11.0429220199585,0,0,1,0,2.22900533676147,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,0,1,0,0,0,0.0203824993222952,9,2,0.0 +7.06018209457397,0.340889126062393,11.1198825836182,1,0,0,0,2.22900533676147,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.0242627784609795,9,3,0.0 +7.03418302536011,0.34085801243782,10.9595403671265,1,0,0,0,2.22900533676147,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,1,0.0277505684643984,9,2,0.0 +7.32519721984863,0.34087461233139,11.0429220199585,0,1,0,0,2.22900533676147,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,1,0.0341548696160316,9,2,0.0 +6.88280773162842,0.340845704078674,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,1,0.0114290881901979,9,2,0.0 +7.33823108673096,0.340901076793671,10.5320959091187,0,1,0,0,2.22900533676147,0.6931471824646,3.25809645652771,1.0986123085022,0,0,1,0,0,0,0,0,0.0576731264591217,9,2,0.0 +7.37211656570435,0.340888530015945,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,1,0.0186437908560038,9,1,0.0 +7.70349216461182,0.340888172388077,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,1,0.025968611240387,9,2,0.0 +6.63808298110962,0.341335088014603,11.4075651168823,0,0,1,0,2.22900533676147,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,1,0.0119365891441703,9,3,0.0 +7.32296848297119,0.341416627168655,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.49650764465332,1.0986123085022,1,0,0,0,0,0,0,0,0.0177590157836676,9,2,0.0 +7.83292484283447,0.340876907110214,11.6952466964722,0,1,0,0,2.22900533676147,1.3862943649292,3.40119743347168,1.60943794250488,0,0,1,0,0,0,0,0,0.0295566860586405,9,3,0.0 +7.52775621414185,0.340864449739456,11.6952466964722,0,1,0,0,2.22900533676147,1.0986123085022,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,1,0.0217829830944538,9,2,0.0 +6.20628070831299,0.3409623503685,11.4075651168823,1,0,0,0,2.22900533676147,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0077479905448854,9,2,0.0 +7.48985147476196,0.340889275074005,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,0,0.0209732782095671,9,2,0.0 +7.18433380126953,0.340905994176865,11.1198825836182,0,1,0,0,2.22900533676147,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0274704862385988,9,2,0.0 +6.14966630935669,0.340730756521225,11.4075651168823,0,0,1,0,2.22900533676147,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0073198336176574,9,2,0.0 +7.15787410736084,0.340817987918854,11.1198825836182,0,1,0,0,2.22900533676147,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.026750797405839,9,2,0.0 +7.11395835876465,0.340862661600113,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.01440145727247,9,1,0.0 +6.53515148162842,0.340813845396042,11.6952466964722,0,0,1,0,2.22900533676147,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,1,0.0080725820735096,9,1,0.0 +7.47205924987793,0.340902268886566,11.2580327987671,0,0,1,0,2.22900533676147,1.3862943649292,3.95124363899231,1.60943794250488,0,0,1,0,0,0,0,0,0.031902477145195,9,3,0.0 +7.36369800567627,0.340835124254227,11.4075651168823,0,0,1,0,2.22900533676147,1.3862943649292,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,1,0.0246486850082874,9,3,0.0 +6.77727746963501,0.340848326683044,10.9595403671265,0,1,0,0,2.22900533676147,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0214632228016853,9,2,0.0 +7.02617073059082,0.340878427028656,11.0429220199585,1,0,0,0,2.22900533676147,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,1,0.0253272950649261,9,1,0.0 +8.80753898620605,0.340911328792572,11.6952466964722,0,1,0,0,2.22900533676147,1.3862943649292,3.78418970108032,1.94591009616852,1,0,0,0,0,0,0,1,0.0783322229981422,9,3,0.0 +7.37698316574097,0.340892851352692,11.1198825836182,0,0,1,0,2.22900533676147,0.6931471824646,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,0,0.0333063676953316,9,2,0.0 +6.63651847839355,0.340824514627457,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,1,0.0089338850229978,9,1,0.0 +6.71446228027344,0.340827822685242,10.8685684204102,0,0,1,0,2.22900533676147,0.6931471824646,4.12713432312012,1.0986123085022,0,0,1,0,0,0,0,0,0.0220756903290749,9,1,0.0 +8.62513446807861,0.340936154127121,10.7684850692749,0,0,1,0,2.22900533676147,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.164900243282318,9,1,0.0 +6.8320460319519,0.340874969959259,11.6952466964722,1,0,0,0,2.22900533676147,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0108637241646647,9,2,0.0 +8.98878192901611,0.340943723917007,11.1913414001465,0,1,0,0,2.22900533676147,0.6931471824646,3.58351898193359,1.7917594909668,0,0,1,0,0,0,0,1,0.155421271920204,9,1,0.0 +7.44223213195801,0.340871661901474,10.7684850692749,1,0,0,0,2.22900533676147,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,1,0.0505202412605286,9,2,0.0 +7.16119956970215,0.340878933668137,11.1913414001465,0,1,0,0,2.22900533676147,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,0,0.0249904096126556,9,2,0.0 +7.95520782470703,0.340962529182434,11.6952466964722,0,0,1,0,2.22900533676147,1.0986123085022,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,1,0.033404104411602,9,2,0.0 +7.86678457260132,0.340906739234924,11.1198825836182,0,1,0,0,2.22900533676147,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0543564707040787,9,2,0.0 +5.32820606231689,0.340718358755112,7.82404613494873,1,0,0,0,2.22900533676147,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,1,0,0,1,0.115889087319374,9,4,0.0 +6.94997119903564,0.340844690799713,10.9595403671265,0,0,1,0,2.22900533676147,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.0255089942365885,9,2,0.0 +7.81913042068481,0.340916842222214,11.4075651168823,0,0,1,0,2.22900533676147,0.6931471824646,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,0,0.0388705842196941,9,2,0.0 +7.53956460952759,0.340901404619217,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0220425371080637,9,2,0.0 +7.62373065948486,0.340867668390274,11.6952466964722,0,0,1,0,2.22900533676147,1.0986123085022,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,1,0.0239772796630859,9,2,0.0 +6.33442306518555,0.340804159641266,10.8685684204102,0,0,1,0,2.22900533676147,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.015095760114491,9,1,0.0 +8.19989681243896,0.34092515707016,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,1,0.0426629260182381,9,2,0.0 +6.11973190307617,0.340756088495255,9.76995658874512,0,0,1,0,2.22900533676147,0.6931471824646,4.39444923400879,1.3862943649292,0,0,1,0,0,0,0,0,0.0365356057882309,9,0,0.0 +7.41429281234741,0.340839445590973,11.4075651168823,0,0,1,0,2.22900533676147,1.0986123085022,4.07753753662109,1.3862943649292,0,0,0,1,0,0,0,0,0.0259279813617468,9,3,0.0 +7.32199573516846,0.34088471531868,11.4075651168823,0,1,0,0,2.22900533676147,0.6931471824646,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,1,0.0236430875957012,9,1,0.0 +6.94237470626831,0.340799927711487,11.0429220199585,1,0,0,0,2.22900533676147,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0232896264642477,9,2,0.0 +7.23364639282227,0.340890139341354,11.2580327987671,0,0,1,0,2.22900533676147,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0251349359750748,9,1,0.0 +7.28630542755127,0.340889275074005,11.6952466964722,0,1,0,0,2.22900533676147,0.6931471824646,3.93182563781738,1.0986123085022,1,0,0,0,0,0,0,0,0.0171106811612844,9,2,0.0 +6.9424262046814,0.194883719086647,10.9595403671265,0,1,0,0,0.882247805595398,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0218789521604776,12,2,4.0 +6.95064258575439,0.194912359118462,11.1913414001465,0,1,0,0,0.882247805595398,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.0174959320574999,12,2,4.0 +6.72014713287354,0.195133343338966,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,0,0.0083962799981236,12,2,4.0 +6.60189723968506,0.194531172513962,11.6952466964722,0,0,0,1,0.882247805595398,1.3862943649292,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0074553852900862,12,2,4.0 +7.55941295623779,0.19519267976284,10.9595403671265,0,0,1,0,0.882247805595398,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0405615493655205,12,3,4.0 +6.774986743927,0.194867432117462,10.9595403671265,0,0,1,0,0.882247805595398,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0185055267065763,12,2,4.0 +7.58466053009033,0.195043802261353,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,0,0.0199297312647104,12,2,4.0 +6.98732137680054,0.194789335131645,11.1913414001465,1,0,0,0,0.882247805595398,1.0986123085022,3.76120018959045,1.60943794250488,0,0,1,0,0,0,0,0,0.0181473400443792,12,1,4.0 +6.28251838684082,0.194155052304268,11.1913414001465,1,0,0,0,0.882247805595398,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,0,0.0089628361165523,12,2,4.0 +7.40608215332031,0.194853007793427,10.2219409942627,0,0,1,0,0.882247805595398,1.3862943649292,4.1588830947876,1.7917594909668,0,0,0,1,0,0,0,0,0.0727296471595764,12,1,4.0 +7.56024312973022,0.194994360208511,10.2219409942627,0,0,1,0,0.882247805595398,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0848641470074654,12,1,4.0 +7.49391174316406,0.195043206214905,11.4075651168823,0,0,0,1,0.882247805595398,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0242676790803671,12,2,4.0 +7.00276470184326,0.195004656910896,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.25809645652771,1.3862943649292,0,1,0,0,0,0,0,0,0.0111370552331209,12,2,4.0 +7.27202224731445,0.19503065943718,11.2580327987671,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.0986123085022,0,1,0,0,0,0,0,0,0.0225734673440456,12,2,4.0 +6.46999311447144,0.194587498903275,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.006534453947097,12,0,4.0 +7.72430229187012,0.194961607456207,11.1913414001465,0,1,0,0,0.882247805595398,1.0986123085022,4.04305124282837,1.7917594909668,1,0,0,0,0,0,0,0,0.0379275269806385,12,3,4.0 +7.04319667816162,0.194985628128052,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0292960442602634,12,1,4.0 +7.07149696350098,0.195115298032761,11.1198825836182,1,0,0,0,0.882247805595398,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0212102551013231,12,2,4.0 +6.80701303482056,0.194936484098434,10.5320959091187,0,0,1,0,0.882247805595398,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0293006170541048,12,1,4.0 +5.59248828887939,0.1946771889925,9.76995658874512,1,0,0,0,0.882247805595398,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,1,0,0,0,0,0.0186335630714893,12,2,4.0 +6.78254270553589,0.194892346858978,10.5320959091187,0,0,0,1,0.882247805595398,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.0285910591483116,12,1,4.0 +7.44390535354614,0.195066168904305,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0230845138430595,12,2,4.0 +8.3347110748291,0.195165619254112,11.4075651168823,0,1,0,0,0.882247805595398,1.0986123085022,3.68887948989868,1.7917594909668,0,1,0,0,0,0,0,0,0.0562646798789501,12,3,4.0 +7.12766599655151,0.194842308759689,11.4075651168823,1,0,0,0,0.882247805595398,0.6931471824646,4.07753753662109,1.0986123085022,0,0,0,1,0,0,0,0,0.0168221835047007,12,2,4.0 +6.87599611282349,0.1949692517519,10.6572589874268,0,1,0,0,0.882247805595398,0.6931471824646,3.13549423217773,1.3862943649292,0,1,0,0,0,0,0,0,0.0277007967233658,12,2,4.0 +6.89486598968506,0.194964155554771,11.2580327987671,1,0,0,0,0.882247805595398,0.6931471824646,4.02535152435303,1.0986123085022,0,0,0,1,0,0,0,1,0.015480050817132,12,2,4.0 +7.21509885787964,0.195075869560242,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0183634981513023,12,2,4.0 +6.34170436859131,0.195210725069046,10.2219409942627,1,0,0,0,0.882247805595398,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.025096520781517,12,1,4.0 +4.99510717391968,0.194160833954811,9.76995658874512,0,1,0,0,0.882247805595398,0.6931471824646,2.89037179946899,1.0986123085022,1,0,0,0,0,0,0,0,0.0102478405460715,12,2,4.0 +7.18791580200195,0.195000052452087,11.4075651168823,1,0,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,0,0.0178696978837252,12,2,4.0 +6.43167543411255,0.194969058036804,9.43348407745361,1,0,0,0,0.882247805595398,0.0,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0603955611586571,12,0,4.0 +6.72392559051514,0.194653645157814,10.5320959091187,0,0,0,1,0.882247805595398,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0269568748772144,12,2,4.0 +7.26292085647583,0.195016920566559,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0192618798464537,12,2,4.0 +8.29272270202637,0.195062920451164,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.0404591932892799,12,2,4.0 +6.68989419937134,0.194805026054382,11.2580327987671,0,0,0,1,0.882247805595398,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0126091344282031,12,1,4.0 +6.90091133117676,0.194911271333694,10.3889951705933,1,0,0,0,0.882247805595398,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0371358320116997,12,2,4.0 +8.11901092529297,0.195127665996552,11.4075651168823,0,1,0,0,0.882247805595398,1.3862943649292,3.89182019233704,1.7917594909668,1,0,0,0,0,0,0,0,0.0453463271260262,12,4,4.0 +6.97799253463745,0.194942370057106,10.7684850692749,0,0,1,0,0.882247805595398,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.027445575222373,12,2,4.0 +8.05097675323486,0.19516983628273,11.4075651168823,0,0,1,0,0.882247805595398,1.3862943649292,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,1,0.0423655956983566,12,3,4.0 +7.67938566207886,0.195112451910973,10.8685684204102,1,0,0,0,0.882247805595398,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0500831641256809,12,2,4.0 +7.26357650756836,0.195118740200996,10.7684850692749,0,0,0,1,0.882247805595398,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,1,0.0365238524973392,12,2,4.0 +7.70748424530029,0.195143058896065,10.8685684204102,0,1,0,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0515119694173336,12,2,4.0 +8.09304046630859,0.195160508155823,11.2580327987671,1,0,0,0,0.882247805595398,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0513119101524353,12,3,4.0 +7.20767068862915,0.195038005709648,10.3889951705933,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0504745282232761,12,0,4.0 +7.90500164031982,0.195189446210861,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0366122014820576,12,2,4.0 +6.1982421875,0.194785013794899,11.1198825836182,1,0,0,0,0.882247805595398,0.6931471824646,3.33220458030701,1.0986123085022,0,1,0,0,0,0,0,0,0.0088542671874165,12,2,4.0 +6.81488609313965,0.194895282387733,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0092284381389617,12,1,4.0 +7.23019170761108,0.194990336894989,11.0429220199585,0,0,1,0,0.882247805595398,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,1,0.0268432777374983,12,1,4.0 +7.03001689910889,0.194956600666046,10.8685684204102,0,0,1,0,0.882247805595398,1.0986123085022,3.85014748573303,1.7917594909668,0,0,0,0,1,0,0,1,0.0261581335216761,12,2,4.0 +7.2349910736084,0.194933250546455,10.7684850692749,1,0,0,0,0.882247805595398,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.0354880057275295,12,2,4.0 +8.39615917205811,0.195144042372704,11.4075651168823,0,1,0,0,0.882247805595398,1.3862943649292,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,0,0.0598291680216789,12,3,4.0 +7.3358211517334,0.19516658782959,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0392620414495468,12,2,4.0 +5.77545690536499,0.194509580731392,11.4075651168823,0,0,0,1,0.882247805595398,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,1,0.0043499171733856,12,2,4.0 +7.19755697250366,0.194970324635506,10.5320959091187,0,1,0,0,0.882247805595398,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0433014556765556,12,2,4.0 +7.32449960708618,0.194902941584587,10.9595403671265,0,0,1,0,0.882247805595398,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0320602655410767,12,2,4.0 +6.50432157516479,0.194634109735489,10.2219409942627,0,0,1,0,0.882247805595398,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,1,0.0295112021267414,12,1,4.0 +6.19702625274658,0.19509294629097,7.82404613494873,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.238848224282265,12,2,4.0 +7.32171010971069,0.195191413164139,11.1198825836182,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0272423774003983,12,2,4.0 +5.5853796005249,0.195248976349831,10.7684850692749,0,0,0,1,0.882247805595398,1.0986123085022,4.09434461593628,1.7917594909668,0,0,0,0,1,0,0,1,0.0068202670663595,12,1,4.0 +6.93329811096191,0.194935709238052,10.9595403671265,0,0,1,0,0.882247805595398,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0216812714934349,12,2,4.0 +7.57674026489258,0.195076465606689,10.9595403671265,0,1,0,0,0.882247805595398,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0412657000124454,12,3,4.0 +7.07061624526978,0.194715157151222,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0158873274922371,12,2,4.0 +6.62518692016602,0.194790124893188,11.0429220199585,1,0,0,0,0.882247805595398,0.0,3.49650764465332,0.6931471824646,0,0,0,1,0,0,0,0,0.0146554205566645,12,0,4.0 +6.91512012481689,0.195013791322708,10.8685684204102,1,0,0,0,0.882247805595398,0.6931471824646,4.20469284057617,1.0986123085022,0,0,0,1,0,0,0,0,0.023320222273469,12,1,4.0 +6.87004852294922,0.194562286138535,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,4.11087369918823,1.0986123085022,0,0,0,1,0,0,0,0,0.0097485529258847,12,1,4.0 +7.08911466598511,0.19504339993,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0121419513598084,12,2,4.0 +7.17957782745361,0.195040076971054,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0132915200665593,12,1,4.0 +7.24117136001587,0.195023208856583,11.2580327987671,1,0,0,0,0.882247805595398,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.021887518465519,12,2,4.0 +7.93601655960083,0.195236220955849,11.0429220199585,1,0,0,0,0.882247805595398,1.0986123085022,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.0543848909437656,12,3,4.0 +7.68953609466553,0.195158645510674,10.9595403671265,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.046196773648262,12,2,4.0 +6.9834508895874,0.194936200976372,10.2219409942627,0,1,0,0,0.882247805595398,0.6931471824646,3.13549423217773,1.7917594909668,0,1,0,0,0,0,0,0,0.0476651675999165,12,1,4.0 +6.7835578918457,0.194918438792229,10.2219409942627,0,0,0,1,0.882247805595398,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0390284284949303,12,2,4.0 +7.2333083152771,0.195040076971054,10.8685684204102,0,0,0,1,0.882247805595398,1.0986123085022,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0320576280355453,12,2,4.0 +7.34089946746826,0.195180222392082,10.0212707519531,0,1,0,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.083309642970562,12,2,4.0 +6.95534563064575,0.195125311613083,10.2219409942627,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.046352956444025,12,1,4.0 +6.60610008239746,0.194904312491417,10.8685684204102,0,0,1,0,0.882247805595398,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.017119038850069,12,2,4.0 +6.94293212890625,0.195012703537941,10.7684850692749,0,0,1,0,0.882247805595398,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0265018679201603,12,2,4.0 +5.93690586090088,0.194873213768005,9.43348407745361,1,0,0,0,0.882247805595398,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,1,0.0368203446269035,12,2,4.0 +7.42918252944946,0.195129916071892,11.1913414001465,0,1,0,0,0.882247805595398,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0282396152615547,12,2,4.0 +7.22071409225464,0.195098429918289,10.2219409942627,1,0,0,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0604385063052177,12,1,4.0 +7.31485462188721,0.194994166493416,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0152161475270987,12,2,4.0 +7.06245088577271,0.195005148649216,11.1198825836182,1,0,0,0,0.882247805595398,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0210169311612844,12,2,4.0 +7.80698680877686,0.195129916071892,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0248939581215382,12,2,4.0 +7.37950563430786,0.195009961724281,10.0212707519531,0,0,0,1,0.882247805595398,0.6931471824646,4.02535152435303,1.0986123085022,0,0,0,0,1,0,0,0,0.0865740701556206,12,1,4.0 +6.31561279296875,0.194457173347473,10.9595403671265,0,0,1,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.011684755794704,12,1,4.0 +7.37432956695557,0.195047631859779,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,0,0.0215325877070427,12,1,4.0 +7.1812219619751,0.194953754544258,10.3889951705933,0,1,0,0,0.882247805595398,1.0986123085022,4.06044292449951,1.60943794250488,0,0,1,0,0,0,0,0,0.0491528883576393,12,1,4.0 +6.98242473602295,0.195019468665123,11.2580327987671,1,0,0,0,0.882247805595398,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0168975070118904,12,2,4.0 +6.7600884437561,0.194950222969055,11.2580327987671,0,1,0,0,0.882247805595398,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0135279912501574,12,2,4.0 +7.40826654434204,0.195044979453087,10.9595403671265,1,0,0,0,0.882247805595398,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0348665043711662,12,2,4.0 +7.29205226898193,0.195037230849266,10.7684850692749,0,0,0,1,0.882247805595398,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,1,0,0,0,0.037575788795948,12,2,4.0 +7.42664051055908,0.195111572742462,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,1,0.0170178096741438,12,1,4.0 +8.10476016998291,0.195297807455063,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0447122864425182,12,2,4.0 +7.2946310043335,0.195085197687149,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0149128707125783,12,2,4.0 +8.1444091796875,0.195144325494766,11.0429220199585,0,0,1,0,0.882247805595398,0.6931471824646,3.43398714065552,1.0986123085022,0,1,0,0,0,0,0,0,0.0669795274734497,12,2,4.0 +7.20756864547729,0.194937080144882,11.1198825836182,1,0,0,0,0.882247805595398,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0242976117879152,12,3,4.0 +6.8700270652771,0.194811016321182,11.2580327987671,0,0,1,0,0.882247805595398,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0150979710742831,12,2,4.0 +7.13742923736572,0.195588618516922,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0322103649377823,12,2,4.0 +6.13280439376831,0.194497808814049,9.76995658874512,1,0,0,0,0.882247805595398,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0319796986877918,12,2,4.0 +6.47345542907715,0.195177093148232,9.76995658874512,1,0,0,0,0.882247805595398,1.3862943649292,4.04305124282837,1.7917594909668,0,0,0,1,0,0,0,0,0.0449896082282066,12,3,4.0 +7.37361860275269,0.195096462965012,11.1913414001465,1,0,0,0,0.882247805595398,1.0986123085022,3.89182019233704,1.60943794250488,1,0,0,0,0,0,0,0,0.0267124120146036,12,2,4.0 +7.14991092681885,0.19494266808033,10.2219409942627,0,0,0,1,0.882247805595398,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0562984868884087,12,2,4.0 +6.90670967102051,0.195191010832787,11.4075651168823,0,0,0,1,0.882247805595398,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0134919201955199,12,3,4.0 +7.36597871780396,0.194907739758492,11.6952466964722,1,0,0,0,0.882247805595398,1.0986123085022,4.00733327865601,1.0986123085022,0,0,0,0,1,0,0,0,0.0160129033029079,12,2,4.0 +6.75083446502686,0.194792971014977,10.3889951705933,0,0,1,0,0.882247805595398,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0319568775594234,12,1,4.0 +7.16136455535889,0.194962084293365,10.5320959091187,0,0,1,0,0.882247805595398,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,0,0.0417619496583939,12,0,4.0 +7.27180099487305,0.195084899663925,11.1913414001465,0,0,1,0,0.882247805595398,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,0,0.0241262204945087,12,1,4.0 +6.54805612564087,0.194764122366905,9.76995658874512,0,0,1,0,0.882247805595398,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0484542138874531,12,1,4.0 +8.04221820831299,0.195116475224495,11.6952466964722,1,0,0,0,0.882247805595398,1.0986123085022,3.8712010383606,1.60943794250488,0,0,1,0,0,0,0,0,0.0314954444766045,12,2,4.0 +7.32182884216309,0.195059686899185,10.2219409942627,1,0,0,0,0.882247805595398,1.0986123085022,3.93182563781738,1.3862943649292,0,0,1,0,0,0,0,0,0.0668668076395988,12,3,4.0 +7.36981916427612,0.195033997297287,10.2219409942627,0,1,0,0,0.882247805595398,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,0,0.0701522007584572,12,2,4.0 +7.38957548141479,0.19507685303688,10.9595403671265,0,1,0,0,0.882247805595398,0.6931471824646,3.04452252388,1.0986123085022,0,0,1,0,0,0,0,0,0.0342219620943069,12,2,4.0 +6.93767213821411,0.194878116250038,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,4.18965482711792,1.3862943649292,0,0,0,1,0,0,0,0,0.0139118414372206,12,2,4.0 +7.07440567016602,0.194947481155396,11.0429220199585,0,1,0,0,0.882247805595398,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.02296993881464,12,2,4.0 +7.21012258529663,0.195135697722435,10.5320959091187,0,0,1,0,0.882247805595398,0.6931471824646,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,0,0.0438562519848347,12,1,4.0 +6.26025629043579,0.19494491815567,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0053000142797827,12,1,4.0 +6.68377494812012,0.195119708776474,11.1198825836182,0,1,0,0,0.882247805595398,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0143933622166514,12,1,4.0 +7.02123117446899,0.194942086935043,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,1,0.0113439140841365,12,2,4.0 +7.8587327003479,0.195213958621025,10.5320959091187,1,0,0,0,0.882247805595398,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0838983431458473,12,2,4.0 +6.72957277297974,0.1949412971735,10.3889951705933,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0312892347574234,12,1,4.0 +7.31485891342163,0.194929137825966,11.1198825836182,0,1,0,0,0.882247805595398,0.6931471824646,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0270492769777775,12,1,4.0 +6.8757061958313,0.194995045661926,10.2219409942627,1,0,0,0,0.882247805595398,0.6931471824646,4.06044292449951,1.0986123085022,0,1,0,0,0,0,0,0,0.0427990220487118,12,2,4.0 +7.19120264053345,0.195016145706177,10.5320959091187,0,0,0,1,0.882247805595398,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0430291555821896,12,3,4.0 +8.6759557723999,0.195249855518341,10.8685684204102,0,1,0,0,0.882247805595398,1.0986123085022,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.135692626237869,12,2,4.0 +6.55738592147827,0.195099025964737,9.76995658874512,1,0,0,0,0.882247805595398,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0489247888326645,12,0,4.0 +7.86865615844727,0.195237889885902,11.6952466964722,1,0,0,0,0.882247805595398,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0264803282916546,12,2,4.0 +6.64937877655029,0.194890677928925,11.1913414001465,1,0,0,0,0.882247805595398,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0129446554929018,12,2,4.0 +7.22042894363403,0.194955810904503,9.76995658874512,0,0,0,1,0.882247805595398,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0949342027306557,12,2,4.0 +6.94135236740112,0.194953262805939,10.3889951705933,0,1,0,0,0.882247805595398,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0386700481176376,12,2,4.0 +7.61624145507812,0.195117756724358,11.4075651168823,0,1,0,0,0.882247805595398,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0274275969713926,12,2,4.0 +7.07653284072876,0.194999665021896,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0302895493805408,12,2,4.0 +5.99115324020386,0.194846823811531,10.2219409942627,0,1,0,0,0.882247805595398,0.0,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0176690462976694,12,1,4.0 +6.32480382919312,0.194937959313393,9.76995658874512,0,1,0,0,0.882247805595398,0.0,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0387658923864365,12,2,4.0 +7.77783870697021,0.195179730653763,10.2219409942627,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,0,1,0,0,0.105512797832489,12,2,4.0 +6.73173522949219,0.194761857390404,10.3889951705933,1,0,0,0,0.882247805595398,0.6931471824646,3.68887948989868,1.0986123085022,0,1,0,0,0,0,0,0,0.0313513390719891,12,1,4.0 +6.303542137146,0.194961994886398,10.5320959091187,0,0,0,1,0.882247805595398,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.0177105963230133,12,1,4.0 +7.32517671585083,0.194865465164185,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.0388346426188946,12,2,4.0 +6.42873477935791,0.194443434476852,10.7684850692749,1,0,0,0,0.882247805595398,1.0986123085022,3.25809645652771,1.60943794250488,0,0,0,0,1,0,0,0,0.0158385783433914,12,2,4.0 +5.82541275024414,0.194912940263748,10.2219409942627,0,0,1,0,0.882247805595398,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0149713717401028,12,2,4.0 +6.9550952911377,0.194686308503151,10.2219409942627,1,0,0,0,0.882247805595398,1.0986123085022,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,0,0.0463210046291351,12,2,4.0 +7.12951326370239,0.195006519556046,10.8685684204102,0,1,0,0,0.882247805595398,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0288961008191109,12,2,4.0 +7.46242380142212,0.195068910717964,10.7684850692749,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0445567220449448,12,2,4.0 +7.1883020401001,0.194997891783714,11.1198825836182,0,0,1,0,0.882247805595398,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0238354075700045,12,2,4.0 +7.70739269256592,0.195111572742462,11.4075651168823,0,0,1,0,0.882247805595398,1.0986123085022,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0300449468195438,12,2,4.0 +7.97860479354858,0.195216998457909,10.5320959091187,0,1,0,0,0.882247805595398,0.6931471824646,3.09104251861572,1.0986123085022,1,0,0,0,0,0,0,0,0.0945832952857018,12,2,4.0 +7.03211879730225,0.194647058844566,11.4075651168823,0,0,1,0,0.882247805595398,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0152862882241607,12,2,4.0 +7.0330605506897,0.194827795028687,10.7684850692749,0,0,1,0,0.882247805595398,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0289960242807865,12,2,4.0 +6.75654554367065,0.194906562566757,10.7684850692749,1,0,0,0,0.882247805595398,1.0986123085022,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0219929628074169,12,3,4.0 +7.77867078781128,0.195185527205467,11.1198825836182,1,0,0,0,0.882247805595398,0.6931471824646,3.63758611679077,0.6931471824646,0,1,0,0,0,0,0,0,0.0430227369070053,12,2,4.0 +6.27101850509644,0.194869488477707,10.6572589874268,0,1,0,0,0.882247805595398,1.0986123085022,3.7376697063446,1.0986123085022,0,0,0,0,0,0,0,0,0.015125528909266,12,1,4.0 +6.80043506622314,0.194866940379143,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0090957758948206,12,2,4.0 +5.72993516921997,0.194337531924248,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,0,0.0031167196575552,12,1,4.0 +7.30681562423706,0.195071265101433,10.7684850692749,0,0,1,0,0.882247805595398,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,0,0.0381359346210957,12,2,4.0 +7.48525285720825,0.194874092936516,11.6952466964722,0,0,1,0,0.882247805595398,1.3862943649292,3.76120018959045,1.60943794250488,0,0,1,0,0,0,0,0,0.0180407892912626,12,1,4.0 +7.15056276321411,0.194978773593903,11.6952466964722,0,0,0,1,0.882247805595398,0.6931471824646,3.95124363899231,1.7917594909668,0,0,0,1,0,0,0,1,0.0129106165841222,12,2,4.0 +7.09091329574585,0.195176601409912,10.2219409942627,1,0,0,0,0.882247805595398,0.0,3.85014748573303,1.7917594909668,0,0,1,0,0,0,0,0,0.0530854910612106,12,3,4.0 +7.80583047866821,0.195173844695091,11.1913414001465,0,1,0,0,0.882247805595398,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,0,0,0,0,0.0411579720675945,12,2,4.0 +6.84245204925537,0.194889888167381,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0094863148406148,12,1,4.0 +7.2433180809021,0.194993674755096,10.7684850692749,0,1,0,0,0.882247805595398,1.0986123085022,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,0,0.0357869043946266,12,2,4.0 +7.048752784729,0.194973766803741,10.9595403671265,0,1,0,0,0.882247805595398,0.6931471824646,3.33220458030701,1.60943794250488,0,0,1,0,0,0,0,0,0.024335628375411,12,2,4.0 +7.74157762527466,0.195109814405441,11.2580327987671,0,0,1,0,0.882247805595398,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,1,0,0,0,1,0.0361042097210884,12,2,4.0 +7.52136087417603,0.195115983486176,11.6952466964722,0,0,1,0,0.882247805595398,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0187086295336485,12,2,4.0 +7.85720205307007,0.195074394345284,10.9595403671265,0,1,0,0,0.882247805595398,1.3862943649292,3.82864141464233,1.60943794250488,1,0,0,0,0,0,0,0,0.0546249970793724,12,2,4.0 +7.22742033004761,0.195038110017776,11.2580327987671,0,0,1,0,0.882247805595398,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.021588921546936,12,2,4.0 +5.0511999130249,0.194585055112839,8.92265796661377,0,1,0,0,0.882247805595398,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0253019630908966,12,2,4.0 +6.89760255813599,0.194795325398445,11.6952466964722,0,1,0,0,0.882247805595398,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0100232381373644,12,2,4.0 +7.63561010360718,0.133167445659637,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.7917594909668,0,0,1,0,0,0,0,0,0.0630820766091347,13,1,4.0 +6.55536794662476,0.133177980780602,11.1198825836182,1,0,0,0,0.896659195423126,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,0,0.0118985697627068,13,2,4.0 +7.57651662826538,0.133245274424553,11.2580327987671,0,1,0,0,0.896659195423126,0.6931471824646,3.71357202529907,1.0986123085022,0,1,0,0,0,0,0,1,0.0287743359804153,13,2,4.0 +7.88037014007568,0.133137390017509,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.49650764465332,1.60943794250488,0,1,0,0,0,0,0,1,0.0335721857845783,13,1,4.0 +5.86404180526733,0.132777735590935,10.9595403671265,0,1,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,1,0.0069938749074935,13,2,4.0 +7.31016778945923,0.133212521672249,11.6952466964722,1,0,0,0,0.896659195423126,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,1,0.014237629249692,13,1,4.0 +7.84456825256348,0.133275330066681,11.4075651168823,1,0,0,0,0.896659195423126,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,1,0.0323959738016129,13,2,4.0 +7.26782369613647,0.133069768548012,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0181938502937555,13,2,4.0 +6.84498119354248,0.132963940501213,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,1,0.011919017881155,13,2,4.0 +6.49543619155884,0.132643699645996,10.2219409942627,0,1,0,0,0.896659195423126,1.0986123085022,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,0,0.0274919699877501,13,3,4.0 +7.43661832809448,0.132916659116745,10.8685684204102,0,1,0,0,0.896659195423126,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,1,0.0369188264012337,13,1,4.0 +7.88686609268188,0.133135408163071,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.97029185295105,1.0986123085022,0,0,0,0,0,0,0,0,0.081098198890686,13,1,4.0 +7.50032949447632,0.133249863982201,11.0429220199585,0,1,0,0,0.896659195423126,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0330629274249077,13,2,4.0 +6.76680517196655,0.133049517869949,10.3889951705933,0,0,1,0,0.896659195423126,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,1,0.0305270981043577,13,2,4.0 +7.59785175323486,0.13307748734951,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,0,0.0253079738467932,13,2,4.0 +7.20831060409546,0.133001312613487,11.4075651168823,1,0,0,0,0.896659195423126,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.0171415004879236,13,2,4.0 +7.07534742355347,0.133215129375458,11.1198825836182,0,1,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,1,0.0200140532106161,13,2,4.0 +7.57626152038574,0.133056730031967,10.5320959091187,1,0,0,0,0.896659195423126,1.0986123085022,3.95124363899231,2.30258512496948,0,0,0,0,1,0,0,0,0.0594406016170979,13,3,4.0 +7.23280334472656,0.133109837770462,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0131763201206923,13,2,4.0 +7.1341667175293,0.133259683847427,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,1,0.0119404830038548,13,2,4.0 +6.2853832244873,0.133003711700439,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,1,0.0051084468141198,13,2,4.0 +7.82841873168945,0.133244231343269,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,1,0.0239070039242506,13,2,4.0 +7.31887435913086,0.133118286728859,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,1,0.0191477108746767,13,1,4.0 +7.08741569519043,0.133071228861809,11.4075651168823,0,1,0,0,0.896659195423126,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,1,0.0151906087994576,13,3,4.0 +7.60740280151367,0.133092314004898,10.9595403671265,0,0,1,0,0.896659195423126,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,1,0.0399932190775871,13,3,4.0 +7.12988805770874,0.133106082677841,9.76995658874512,1,0,0,0,0.896659195423126,1.0986123085022,3.55534815788269,1.94591009616852,0,0,1,0,0,0,0,0,0.0815154984593391,13,2,4.0 +7.16360139846802,0.132854148745537,8.92265796661377,0,1,0,0,0.896659195423126,1.0986123085022,2.99573230743408,1.3862943649292,0,1,0,0,0,0,0,1,0.196675002574921,13,3,4.0 +7.13514375686646,0.13303679227829,11.1913414001465,1,0,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,1,0.0197784714400768,13,2,4.0 +7.21094131469727,0.133075296878815,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,1,0.0128909405320883,13,1,4.0 +5.95805072784424,0.132929816842079,10.0212707519531,0,1,0,0,0.896659195423126,0.6931471824646,3.43398714065552,1.60943794250488,1,0,0,0,0,0,0,0,0.0196379777044058,13,1,4.0 +7.14287233352661,0.132864996790886,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.8712010383606,1.60943794250488,0,1,0,0,0,0,0,0,0.0120401373133063,13,2,4.0 +6.63444471359253,0.132493659853935,11.2580327987671,1,0,0,0,0.896659195423126,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0112083675339818,13,1,4.0 +6.82995557785034,0.132935866713524,10.8685684204102,1,0,0,0,0.896659195423126,0.6931471824646,4.18965482711792,1.0986123085022,1,0,0,0,0,0,0,0,0.0201273243874311,13,1,4.0 +7.97209167480469,0.133253931999207,11.2580327987671,0,1,0,0,0.896659195423126,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,1,0.0427371151745319,13,2,4.0 +7.55362749099731,0.133168175816536,11.6952466964722,1,0,0,0,0.896659195423126,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,1,0.0181614980101585,13,2,4.0 +7.39653778076172,0.132999643683434,11.2580327987671,0,1,0,0,0.896659195423126,1.0986123085022,3.7376697063446,1.60943794250488,1,0,0,0,0,0,0,1,0.0240289513021708,13,3,4.0 +7.55818367004395,0.133162438869476,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0243257749825716,13,2,4.0 +7.04910516738892,0.133104830980301,10.6572589874268,0,1,0,0,0.896659195423126,0.6931471824646,3.25809645652771,1.3862943649292,0,1,0,0,0,0,0,0,0.0309603102505207,13,2,4.0 +7.28916501998901,0.132979810237885,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0139384754002094,13,2,4.0 +6.65567874908447,0.132881909608841,11.1198825836182,0,1,0,0,0.896659195423126,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,1,0.013150149025023,13,1,4.0 +7.06592464447021,0.133111089468002,11.2580327987671,0,0,1,0,0.896659195423126,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,1,0.0172663200646639,13,2,4.0 +7.39564323425293,0.133064866065979,11.6952466964722,0,0,1,0,0.896659195423126,1.0986123085022,3.76120018959045,1.94591009616852,0,0,1,0,0,0,0,1,0.0155058363452554,13,2,4.0 +6.496178150177,0.132617801427841,10.9595403671265,0,0,1,0,0.896659195423126,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0131577523425221,13,2,4.0 +7.86305570602417,0.133364945650101,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0247525572776794,13,1,4.0 +7.05109786987305,0.133051812648773,10.9595403671265,0,0,1,0,0.896659195423126,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0229281391948462,13,2,4.0 +6.89403438568115,0.133224099874496,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0125215221196413,13,2,4.0 +7.48562622070312,0.133070081472397,10.6572589874268,0,0,1,0,0.896659195423126,1.0986123085022,2.99573230743408,1.3862943649292,0,0,0,0,1,0,0,1,0.0479036793112755,13,3,4.0 +7.46170043945312,0.132966756820679,11.6952466964722,0,0,0,1,0.896659195423126,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,1,0.0165630672127008,13,2,4.0 +7.47119188308716,0.133148342370987,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.49650764465332,1.0986123085022,1,0,0,0,0,0,0,0,0.0222987439483404,13,2,4.0 +7.79884147644043,0.133108586072922,11.6952466964722,0,1,0,0,0.896659195423126,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,1,0.0232071038335562,13,2,4.0 +6.89574146270752,0.133244857192039,10.5320959091187,1,0,0,0,0.896659195423126,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0301036182790995,13,2,4.0 +7.45538187026978,0.133211061358452,10.9595403671265,0,0,1,0,0.896659195423126,1.0986123085022,3.58351898193359,1.7917594909668,0,0,0,1,0,0,0,1,0.0343570671975613,13,4,4.0 +6.54763126373291,0.133132591843605,11.1913414001465,0,1,0,0,0.896659195423126,0.6931471824646,3.95124363899231,1.0986123085022,0,1,0,0,0,0,0,1,0.0109921023249626,13,1,4.0 +8.18899345397949,0.13328044116497,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.034287553280592,13,2,4.0 +8.21049404144287,0.133186012506485,11.6952466964722,0,1,0,0,0.896659195423126,1.0986123085022,3.78418970108032,1.7917594909668,0,1,0,0,0,0,0,1,0.035029411315918,13,1,4.0 +6.80424547195435,0.132917180657387,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,1,0.0274625103920698,13,2,4.0 +7.11629152297974,0.13290998339653,9.76995658874512,0,1,0,0,0.896659195423126,1.0986123085022,4.07753753662109,1.3862943649292,0,0,1,0,0,0,0,1,0.0803989171981812,13,1,4.0 +7.80058431625366,0.133254989981651,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,1,0.0744031667709351,13,2,4.0 +7.61794137954712,0.133215546607971,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,1,0.0193688347935677,13,2,4.0 +6.43962621688843,0.132907167077065,8.92265796661377,0,0,1,0,0.896659195423126,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,1,0.0953572690486908,13,2,4.0 +7.2121148109436,0.132986277341843,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.012904928997159,13,2,4.0 +7.30816078186035,0.133130818605423,9.76995658874512,0,1,0,0,0.896659195423126,0.6931471824646,3.09104251861572,1.0986123085022,1,0,0,0,0,0,0,0,0.0974257662892342,13,1,4.0 +7.45794343948364,0.13302855193615,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,1,0.0165019761770964,13,1,4.0 +7.14799880981445,0.1330386698246,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,1,0.0387331806123257,13,2,4.0 +4.79247426986694,0.132347464561462,10.7684850692749,0,0,1,0,0.896659195423126,0.0,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,1,0.0028982060030102,13,1,4.0 +7.21988964080811,0.133105561137199,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,1,0.0173429381102324,13,2,4.0 +7.17566251754761,0.133023530244827,11.1198825836182,0,1,0,0,0.896659195423126,1.0986123085022,3.98898410797119,1.60943794250488,0,0,1,0,0,0,0,1,0.0221216902136803,13,3,4.0 +7.77733516693115,0.132869377732277,10.6572589874268,0,1,0,0,0.896659195423126,1.0986123085022,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0641164258122444,13,3,4.0 +6.57604885101318,0.132944107055664,11.4075651168823,0,0,1,0,0.896659195423126,0.6931471824646,4.06044292449951,1.0986123085022,0,1,0,0,0,0,0,1,0.0091082751750946,13,2,4.0 +7.82643842697144,0.133206263184547,10.2219409942627,0,0,1,0,0.896659195423126,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,1,0.104111105203629,13,1,4.0 +7.6304087638855,0.133179441094398,11.2580327987671,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,1,0.0303655918687582,13,1,4.0 +7.50335168838501,0.133065596222878,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0172692183405161,13,1,4.0 +7.41953277587891,0.133118912577629,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,1,0.0211754385381937,13,2,4.0 +7.03961753845215,0.132996916770935,10.9595403671265,0,1,0,0,0.896659195423126,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0226651690900326,13,1,4.0 +7.41734218597412,0.133128523826599,11.6952466964722,0,0,1,0,0.896659195423126,1.0986123085022,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,1,0.0158469788730145,13,3,4.0 +7.30010318756104,0.132953092455864,11.1198825836182,1,0,0,0,0.896659195423126,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0250513795763254,13,2,4.0 +7.82012891769409,0.132974907755852,10.9595403671265,0,1,0,0,0.896659195423126,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,1,0.049467645585537,13,2,4.0 +8.23813247680664,0.133183091878891,10.5320959091187,0,1,0,0,0.896659195423126,1.0986123085022,3.85014748573303,1.60943794250488,1,0,0,0,0,0,0,1,0.115235105156898,13,1,4.0 +7.22386837005615,0.132890149950981,11.2580327987671,1,0,0,0,0.896659195423126,1.0986123085022,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.020216129720211,13,3,4.0 +5.68651294708252,0.132485195994377,10.0212707519531,1,0,0,0,0.896659195423126,0.0,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0149615360423923,13,0,4.0 +7.75393390655518,0.133181005716324,11.6952466964722,0,0,1,0,0.896659195423126,1.0986123085022,3.89182019233704,1.60943794250488,0,0,0,1,0,0,0,1,0.0221895910799503,13,2,4.0 +7.38074254989624,0.133180797100067,11.4075651168823,1,0,0,0,0.896659195423126,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0203710310161114,13,2,4.0 +6.38650178909302,0.132669687271118,10.5320959091187,0,1,0,0,0.896659195423126,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,1,0.0180804394185543,13,2,4.0 +8.1652717590332,0.133168801665306,10.9595403671265,0,1,0,0,0.896659195423126,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,1,0.0698713436722755,13,3,4.0 +7.42950487136841,0.133168280124664,11.1913414001465,0,0,1,0,0.896659195423126,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,1,0.0265515055507421,13,3,4.0 +7.78384208679199,0.133181422948837,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.0304843634366989,13,2,4.0 +6.98520088195801,0.132978558540344,11.1198825836182,0,1,0,0,0.896659195423126,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0182844661176205,13,2,4.0 +7.26158952713013,0.133098676800728,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,1,0.0180813074111938,13,2,4.0 +7.5247974395752,0.133212000131607,11.1913414001465,0,1,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,1,0.0292074177414179,13,1,4.0 +7.05072498321533,0.133060485124588,10.8685684204102,0,1,0,0,0.896659195423126,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0251026153564453,13,2,4.0 +6.32584476470947,0.132804349064827,11.1913414001465,0,1,0,0,0.896659195423126,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,1,0.0088027343153953,13,2,4.0 +8.00119781494141,0.133336678147316,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,1,0.0378914102911949,13,1,4.0 +7.84039926528931,0.133260935544968,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,1,0.0241955481469631,13,2,4.0 +7.3323392868042,0.133138954639435,11.4075651168823,0,1,0,0,0.896659195423126,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,1,0.0194076746702194,13,1,4.0 +7.74611759185791,0.133194148540497,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.76120018959045,1.0986123085022,0,0,1,0,0,0,0,1,0.022017115727067,13,2,4.0 +7.26733922958374,0.132792353630066,11.2580327987671,0,1,0,0,0.896659195423126,1.60943794250488,3.91202306747437,1.60943794250488,0,1,0,0,0,0,0,1,0.0211122538894415,13,3,4.0 +7.69812679290771,0.133217424154282,11.2580327987671,1,0,0,0,0.896659195423126,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,1,0.0324943512678146,13,1,4.0 +7.05055952072144,0.133061632514,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,1,0.0109805911779404,13,2,4.0 +7.18869781494141,0.133092626929283,11.1913414001465,0,1,0,0,0.896659195423126,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0208677239716053,13,2,4.0 +7.35546541213989,0.133128315210342,11.6952466964722,0,1,0,0,0.896659195423126,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0148961404338479,13,2,4.0 +6.43450736999512,0.132659777998924,11.6952466964722,0,0,1,0,0.896659195423126,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,1,0.0059279315173625,13,1,4.0 +6.44788980484009,0.336771547794342,10.3889951705933,1,0,0,0,1.33192574977875,0.6931471824646,3.25809645652771,1.3862943649292,0,1,0,0,0,0,0,0,0.0272055547684431,17,1,2.0 +7.99275493621826,0.336887747049332,10.6572589874268,0,1,0,0,1.33192574977875,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0975279062986374,17,2,2.0 +7.54863119125366,0.336858719587326,11.4075651168823,0,1,0,0,1.33192574977875,0.0,3.8712010383606,0.0,0,0,0,1,0,0,0,1,0.0295380763709545,17,1,2.0 +6.06577777862549,0.336758702993393,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,1,0,1,0.0067041497677564,17,1,2.0 +7.95092678070068,0.336901694536209,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0331266112625599,17,2,2.0 +6.19621181488037,0.336841613054276,10.9595403671265,0,1,0,0,1.33192574977875,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,1,0.0119564225897193,17,2,2.0 +6.56490802764893,0.336801260709763,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,0,0,0,0,0,0.026505921036005,17,2,2.0 +5.27033948898315,0.336723625659943,10.7684850692749,0,0,1,0,1.33192574977875,0.0,4.36944770812988,1.0986123085022,0,0,0,0,1,0,0,1,0.0057335412129759,17,0,2.0 +6.99970197677612,0.336846053600311,11.1913414001465,0,1,0,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0211779735982418,17,2,2.0 +7.34016466140747,0.336893886327744,11.2580327987671,1,0,0,0,1.33192574977875,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,1,0.0278485417366028,17,2,2.0 +7.23826837539673,0.336857348680496,10.9595403671265,0,1,0,0,1.33192574977875,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,1,0.03389747813344,17,2,2.0 +6.88063526153564,0.336830288171768,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,0,0,0,0,0,0.025962483137846,17,2,2.0 +4.8266978263855,0.33667254447937,10.0212707519531,1,0,0,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.0077667748555541,17,3,2.0 +6.80512666702271,0.336834460496902,11.1913414001465,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,1,0.0174331665039062,17,2,2.0 +7.25758743286133,0.336860179901123,11.2580327987671,0,1,0,0,1.33192574977875,0.6931471824646,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,1,0.025640407577157,17,1,2.0 +6.93769359588623,0.336855918169022,11.1198825836182,0,0,1,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.021379267796874,17,1,2.0 +6.28262758255005,0.336836934089661,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0199878290295601,17,1,2.0 +7.40785598754883,0.336877018213272,11.4075651168823,0,1,0,0,1.33192574977875,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,1,0.0256597399711609,17,2,2.0 +7.18945455551147,0.336862653493881,11.2580327987671,1,0,0,0,1.33192574977875,0.6931471824646,3.43398714065552,1.7917594909668,0,0,0,1,0,0,0,1,0.0239516999572515,17,2,2.0 +7.35322570800781,0.336869120597839,10.9595403671265,0,1,0,0,1.33192574977875,0.6931471824646,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,1,0.0380275174975395,17,2,2.0 +7.63081407546997,0.336859673261642,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0372404530644417,17,2,2.0 +6.94896936416626,0.336862564086914,11.1913414001465,0,1,0,0,1.33192574977875,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0201306845992804,17,2,2.0 +6.81308555603027,0.336801946163177,11.2580327987671,1,0,0,0,1.33192574977875,1.3862943649292,3.91202306747437,1.60943794250488,0,0,0,0,1,0,0,1,0.0164382271468639,17,4,2.0 +6.97361183166504,0.336864858865738,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,1,0.0193018075078726,17,2,2.0 +7.73880910873413,0.337046891450882,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.035731989890337,17,1,2.0 +7.07334327697754,0.336854815483093,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.8712010383606,1.7917594909668,0,0,0,0,1,0,0,0,0.0137729458510876,17,2,2.0 +7.3321590423584,0.336883246898651,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.0986123085022,0,1,0,0,0,0,0,1,0.0372353084385395,17,1,2.0 +7.25791788101196,0.33711701631546,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0165691580623388,17,2,2.0 +6.57474422454834,0.336826980113983,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.93182563781738,1.0986123085022,0,0,1,0,0,0,0,1,0.0111535917967558,17,1,2.0 +4.63882637023926,0.339069306850433,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,0,1,0,1,0.0012097379658371,17,1,2.0 +7.33001661300659,0.336812764406204,10.2219409942627,0,1,0,0,1.33192574977875,1.0986123085022,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0776835232973099,17,2,2.0 +6.92846584320068,0.336986899375916,10.7684850692749,0,1,0,0,1.33192574977875,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,0,0.030105959624052,17,1,2.0 +7.01126432418823,0.336869448423386,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.012944127433002,17,2,2.0 +7.80724143981934,0.33686825633049,11.0429220199585,0,0,1,0,1.33192574977875,1.0986123085022,3.98898410797119,1.60943794250488,0,0,0,1,0,0,0,1,0.0550886243581772,17,1,2.0 +6.72416734695435,0.336825966835022,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,1,0.0097133535891771,17,2,2.0 +6.93101978302002,0.336837947368622,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,1,0.0119456369429827,17,2,2.0 +8.03211402893066,0.336885780096054,11.1913414001465,0,0,1,0,1.33192574977875,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.059466514736414,17,3,2.0 +7.24952459335327,0.336856603622437,10.2219409942627,1,0,0,0,1.33192574977875,1.0986123085022,3.25809645652771,1.3862943649292,0,0,0,0,1,0,0,0,0.0716788098216057,17,3,2.0 +6.99386310577393,0.336837857961655,11.4075651168823,0,1,0,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,1,0.0169605743139982,17,2,2.0 +7.61471700668335,0.336885958909988,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,1,0.023667698726058,17,1,2.0 +7.37652826309204,0.33688297867775,11.4075651168823,1,0,0,0,1.33192574977875,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,1,0.0248684957623482,17,2,2.0 +6.57430934906006,0.336807727813721,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0083613945171237,17,2,2.0 +7.33214282989502,0.336872696876526,11.1913414001465,0,0,1,0,1.33192574977875,1.0986123085022,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,1,0.0295306630432606,17,1,2.0 +7.07200241088867,0.336864352226257,10.8685684204102,1,0,0,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0314391329884529,17,2,2.0 +7.08914804458618,0.336869120597839,11.2580327987671,0,0,1,0,1.33192574977875,1.0986123085022,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.0216658916324377,17,3,2.0 +7.83730363845825,0.337175041437149,11.4075651168823,0,0,1,0,1.33192574977875,1.3862943649292,2.89037179946899,1.60943794250488,0,0,0,0,1,0,0,1,0.0394356027245522,17,5,2.0 +7.06534481048584,0.336803406476974,10.8685684204102,1,0,0,0,1.33192574977875,1.0986123085022,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0312286242842674,17,2,2.0 +7.65996885299683,0.336895316839218,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.7917594909668,0,0,1,0,0,0,0,1,0.0247635412961245,17,2,2.0 +7.63186550140381,0.336825966835022,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,1,0.024075623601675,17,2,2.0 +7.1698169708252,0.336868584156036,11.1913414001465,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,1,0.0251058079302311,17,1,2.0 +7.35986709594727,0.336890399456024,11.6952466964722,1,0,0,0,1.33192574977875,1.3862943649292,3.8712010383606,1.7917594909668,0,0,0,1,0,0,0,1,0.018343323841691,17,4,2.0 +7.94201421737671,0.336885452270508,11.2580327987671,0,0,0,1,1.33192574977875,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,1,0.0508368574082851,17,1,2.0 +7.46326684951782,0.336896687746048,11.2580327987671,0,1,0,0,1.33192574977875,0.6931471824646,4.06044292449951,1.94591009616852,1,0,0,0,0,0,0,1,0.0314967893064022,17,0,2.0 +5.47698783874512,0.336705595254898,10.2219409942627,1,0,0,0,1.33192574977875,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0121764950454235,17,2,2.0 +6.75274896621704,0.336888164281845,10.8685684204102,0,0,0,1,1.33192574977875,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,1,0.0228470973670483,17,1,2.0 +6.59520435333252,0.336783230304718,10.8685684204102,1,0,0,0,1.33192574977875,0.6931471824646,3.66356158256531,1.7917594909668,0,0,0,0,1,0,0,0,0.0195148251950741,17,1,2.0 +5.81832313537598,0.336808681488037,10.0212707519531,1,0,0,0,1.33192574977875,0.6931471824646,4.17438745498657,1.0986123085022,0,0,0,0,1,0,0,0,0.0209390632808208,17,1,2.0 +6.8945050239563,0.336865186691284,10.5320959091187,0,0,1,0,1.33192574977875,0.6931471824646,2.89037179946899,1.60943794250488,0,0,0,0,0,1,0,1,0.036856397986412,17,3,2.0 +7.09317970275879,0.336837619543076,11.6952466964722,0,0,1,0,1.33192574977875,1.3862943649292,3.91202306747437,1.60943794250488,0,0,0,0,1,0,0,1,0.014048638753593,17,3,2.0 +7.48755931854248,0.336853265762329,11.6952466964722,0,0,1,0,1.33192574977875,1.0986123085022,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,1,0.0208409745246172,17,3,2.0 +7.44335174560547,0.33687499165535,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,0,0.0638084635138512,17,1,2.0 +7.52421808242798,0.336889803409576,11.1198825836182,0,0,1,0,1.33192574977875,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.038435447961092,17,2,2.0 +7.01728963851929,0.336860686540604,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0130222402513027,17,1,2.0 +6.97021913528442,0.336851239204407,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,1,0.0165644828230143,17,1,2.0 +7.63699531555176,0.336893975734711,11.4075651168823,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.7917594909668,0,0,1,0,0,0,0,1,0.0322681106626987,17,2,2.0 +7.12341690063477,0.336881458759308,10.0212707519531,0,1,0,0,1.33192574977875,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,1,0.0772296339273453,17,1,2.0 +6.50192356109619,0.336824417114258,11.0429220199585,1,0,0,0,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.0149331176653504,17,1,2.0 +7.55449247360229,0.336603343486786,11.1198825836182,1,0,0,0,1.33192574977875,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0396055094897747,17,1,2.0 +6.85990715026855,0.336879909038544,10.8685684204102,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,1,0.0254311263561249,17,1,2.0 +6.96825218200684,0.336855232715607,11.1913414001465,0,0,0,1,1.33192574977875,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,1,0.020522478967905,17,2,2.0 +7.92501783370972,0.336894124746323,11.1913414001465,0,1,0,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,1,0.0534274950623512,17,2,2.0 +6.84631109237671,0.336842983961105,11.6952466964722,0,1,0,0,1.33192574977875,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,1,0.0109754661098123,17,1,2.0 +6.78518199920654,0.336805433034897,11.0429220199585,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0198225677013397,17,2,2.0 +6.43612337112427,0.336860686540604,10.8685684204102,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,1,0.0166460145264864,17,1,2.0 +7.05036592483521,0.336855500936508,11.6952466964722,0,1,0,0,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,0,1,0,0,0,0,0,1,0.013460099697113,17,2,2.0 +7.70088195800781,0.336882650852203,11.0429220199585,1,0,0,0,1.33192574977875,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0495309643447399,17,2,2.0 +6.79108047485352,0.336843401193619,11.2580327987671,0,1,0,0,1.33192574977875,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,1,0.0160811170935631,17,2,2.0 +7.16604042053223,0.336862564086914,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,0,0.0151108205318451,17,2,2.0 +7.37787961959839,0.336883068084717,10.7684850692749,1,0,0,0,1.33192574977875,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.047182958573103,17,2,2.0 +7.33351612091064,0.336856424808502,11.1198825836182,0,0,1,0,1.33192574977875,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,1,0.0317611917853355,17,1,2.0 +5.74842882156372,0.336789697408676,11.6952466964722,1,0,0,0,1.33192574977875,1.0986123085022,4.02535152435303,1.3862943649292,0,0,1,0,0,0,0,0,0.0036609645467251,17,3,2.0 +7.04286670684814,0.336864948272705,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,1,0.0206859316676855,17,2,2.0 +6.17962026596069,0.336853265762329,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,1,0.008725025691092,17,1,2.0 +6.93775129318237,0.336950570344925,11.1198825836182,1,0,0,0,1.33192574977875,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0213825274258852,17,3,2.0 +6.43055057525635,0.336868852376938,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,1,0.0072422209195792,17,2,2.0 +7.97176218032837,0.336867928504944,11.4075651168823,1,0,0,0,1.33192574977875,1.60943794250488,3.78418970108032,1.94591009616852,1,0,0,0,0,0,0,1,0.0450972095131874,17,5,2.0 +7.06466245651245,0.336871057748795,10.7684850692749,0,0,1,0,1.33192574977875,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,1,0.0344946421682835,17,2,2.0 +5.39772033691406,0.336748749017715,9.76995658874512,0,0,1,0,1.33192574977875,0.0,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.0176770705729723,17,1,2.0 +7.31146478652954,0.337073266506195,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.63758611679077,1.94591009616852,1,0,0,0,0,0,0,0,0.0559353902935982,17,2,2.0 +6.51011514663696,0.336805433034897,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,1,0.0078414883464574,17,2,2.0 +7.35532569885254,0.336847394704819,11.4075651168823,1,0,0,0,1.33192574977875,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.024345900863409,17,3,2.0 +6.34730768203735,0.337304472923279,10.7684850692749,0,1,0,0,1.33192574977875,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.0168421100825071,17,2,2.0 +7.4840874671936,0.336875408887863,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,1,0.0207691974937916,17,1,2.0 +5.59759759902954,0.336694091558456,11.6952466964722,0,0,1,0,1.33192574977875,0.0,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,1,0.0031481029000133,17,1,2.0 +8.08289432525635,0.336712241172791,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0585176460444927,17,2,2.0 +6.96765279769897,0.336867481470108,10.6572589874268,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0349883921444416,17,2,2.0 +7.05467891693115,0.336871832609177,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0282125249505043,17,2,2.0 +6.70643949508667,0.336844682693481,11.4075651168823,0,0,0,1,1.33192574977875,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0127238053828478,17,2,2.0 +6.76941394805908,0.33683106303215,10.7684850692749,0,0,0,1,1.33192574977875,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,1,0,0,0,1,0.0256749354302883,17,1,2.0 +6.77085590362549,0.336822807788849,10.5320959091187,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0325682535767555,17,2,2.0 +7.0438084602356,0.336845517158508,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,1,0.0133719919249415,17,2,2.0 +7.04133796691895,0.336859822273254,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,1,0.0133391851559281,17,2,2.0 +6.26654958724976,0.336748749017715,10.2219409942627,0,0,1,0,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0268190465867519,17,1,2.0 +6.02090740203857,0.336856156587601,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,1,0.0100339921191335,17,1,2.0 +7.36831712722778,0.336872339248657,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.61091780662537,1.94591009616852,0,0,0,1,0,0,0,0,0.0184986535459757,17,1,2.0 +6.28356742858887,0.336845695972443,11.4075651168823,1,0,0,0,1.33192574977875,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,1,0.0083361668512225,17,2,2.0 +6.85819864273071,0.336827754974365,11.6952466964722,1,0,0,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0111065432429314,17,2,2.0 +6.79853630065918,0.336837530136108,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.021836631000042,17,2,2.0 +8.56891345977783,0.336555480957031,11.6952466964722,0,1,0,0,1.33192574977875,1.0986123085022,3.97029185295105,1.3862943649292,0,1,0,0,0,0,0,1,0.0614348724484444,17,2,2.0 +8.37562942504883,0.33689159154892,11.6952466964722,0,0,1,0,1.33192574977875,1.3862943649292,3.8712010383606,1.60943794250488,0,0,1,0,0,0,0,1,0.0506545603275299,17,4,2.0 +5.7313666343689,0.336731135845184,11.0429220199585,0,1,0,0,1.33192574977875,1.0986123085022,4.47733688354492,2.0794415473938,1,0,0,0,0,0,0,1,0.0069097350351512,17,2,2.0 +6.34132242202759,0.336854308843613,10.5320959091187,0,0,0,1,1.33192574977875,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,0,1,0,1,0.0211964901536703,17,1,2.0 +6.38648653030396,0.336857944726944,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,1,0.0069299503229558,17,2,2.0 +7.02643966674805,0.336858212947845,11.2580327987671,1,0,0,0,1.33192574977875,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0203487630933523,17,2,2.0 +7.54052400588989,0.3368781208992,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,1,0.0219751093536615,17,2,2.0 +6.82397413253784,0.336834877729416,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0107329357415438,17,2,2.0 +7.10050487518311,0.336855411529541,11.4075651168823,0,0,1,0,1.33192574977875,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0188695713877678,17,2,2.0 +7.7125997543335,0.33687624335289,10.2219409942627,1,0,0,0,1.33192574977875,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,0,1,0,0,0.113896511495113,17,3,2.0 +6.83834600448608,0.336796492338181,10.8685684204102,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,1,0.0248865932226181,17,2,2.0 +7.77077531814575,0.336893528699875,10.6572589874268,0,1,0,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0781136527657509,17,2,2.0 +6.64654684066772,0.336834371089935,10.0212707519531,0,0,0,1,1.33192574977875,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,0,1,0,1,0.0479359515011311,17,2,2.0 +6.50575637817383,0.336809277534485,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,0,1,0,1,0.0078074145130813,17,2,2.0 +6.39971160888672,0.336818218231201,11.4075651168823,1,0,0,0,1.33192574977875,1.0986123085022,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.0093625737354159,17,3,2.0 +7.32655429840088,0.336873441934586,11.6952466964722,0,1,0,0,1.33192574977875,0.6931471824646,3.78418970108032,1.0986123085022,0,0,1,0,0,0,0,1,0.0177420191466808,17,2,2.0 +6.54470586776733,0.336812406778336,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,1,0.0169409420341253,17,2,2.0 +7.24003410339355,0.336863577365875,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,0,1,0,1,0.0162713509052992,17,2,2.0 +7.59364604949951,0.336885690689087,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0741574838757515,17,2,2.0 +6.6662540435791,0.336831748485565,11.0429220199585,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0176003575325012,17,2,2.0 +6.63339328765869,0.336739540100098,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0202735997736454,17,2,2.0 +6.86771583557129,0.336848080158234,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,1,0.0256296768784523,17,2,2.0 +6.84324550628662,0.336840778589249,10.7684850692749,0,0,1,0,1.33192574977875,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,1,0.0276425629854202,17,1,2.0 +5.87236022949219,0.336820334196091,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.008648581802845,17,1,2.0 +7.61266994476318,0.336888164281845,10.5320959091187,0,1,0,0,1.33192574977875,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.0755819231271744,17,2,2.0 +6.71666049957275,0.336783468723297,10.3889951705933,0,1,0,0,1.33192574977875,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,0,0,0,1,0.0355949550867081,17,2,2.0 +6.90189504623413,0.336854457855225,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0265209916979074,17,2,2.0 +7.34544229507446,0.336884766817093,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,0,1,0,1,0.0180805195122957,17,1,2.0 +6.80918788909912,0.336812764406204,10.3889951705933,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,1,0.0390467904508114,17,1,2.0 +7.05715417861938,0.336869031190872,11.6952466964722,0,0,1,0,1.33192574977875,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,1,0.0135519653558731,17,2,2.0 +6.95336532592773,0.336867928504944,11.6952466964722,0,1,0,0,1.33192574977875,1.0986123085022,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,1,0.0122159402817488,17,1,2.0 +6.99713659286499,0.336860507726669,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0266346279531717,17,2,2.0 +7.49244928359985,0.336868852376938,11.2580327987671,0,0,1,0,1.33192574977875,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,1,0.0324285887181759,17,2,2.0 +7.16628980636597,0.336854815483093,11.6952466964722,0,0,1,0,1.33192574977875,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0151144778355956,17,3,2.0 +6.3680944442749,0.336794704198837,10.3889951705933,1,0,0,0,1.33192574977875,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0251196101307869,17,2,2.0 +7.76959753036499,0.336894392967224,10.8685684204102,0,0,1,0,1.33192574977875,0.6931471824646,3.52636051177979,1.60943794250488,0,1,0,0,0,0,0,0,0.0631604865193367,17,3,2.0 +7.53530311584473,0.336887925863266,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,1,0.0218608919531107,17,2,2.0 +5.21358919143677,0.336766451597214,10.7684850692749,0,0,1,0,1.33192574977875,0.0,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,1,0.0054174526594579,17,1,2.0 +5.70536231994629,0.336848586797714,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0035068527795374,17,2,2.0 +7.10973787307739,0.337348878383636,11.6952466964722,0,0,0,1,1.33192574977875,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,1,0,1,0.0142904967069626,17,1,2.0 +7.44297456741333,0.336874037981033,10.9595403671265,0,0,1,0,1.33192574977875,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0415984727442265,17,2,2.0 +6.81218147277832,0.336837112903595,11.4075651168823,0,0,1,0,1.33192574977875,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,1,0.0141428485512733,17,2,2.0 +6.45201778411865,0.336795210838318,11.4075651168823,0,0,0,1,1.33192574977875,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,1,0.0098651023581624,17,2,2.0 +6.36462211608887,0.338077008724213,10.6572589874268,0,0,0,1,1.33192574977875,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,1,0.0191670954227448,17,1,2.0 +7.02490234375,0.336831301450729,11.6952466964722,0,0,1,0,1.33192574977875,1.0986123085022,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,1,0.0131213665008545,17,2,2.0 +6.87910079956055,0.336822032928467,10.8685684204102,0,1,0,0,1.33192574977875,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,1,0.0259224511682987,17,2,2.0 +7.37856388092041,0.336876839399338,11.6952466964722,0,0,1,0,1.33192574977875,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,1,0.0186892580240965,17,1,2.0 +8.23626804351807,0.336876839399338,11.4075651168823,0,0,1,0,1.33192574977875,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0587525852024555,17,2,2.0 +6.7368631362915,0.336830198764801,10.7684850692749,0,1,0,0,1.33192574977875,1.3862943649292,4.00733327865601,1.60943794250488,0,0,1,0,0,0,0,0,0.0248526353389025,17,4,2.0 +6.4778618812561,0.33686825633049,11.6952466964722,1,0,0,0,1.33192574977875,0.0,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0075930887833237,17,2,2.0 +7.95766592025757,0.336902737617493,10.0212707519531,1,0,0,0,1.33192574977875,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.177870079874992,17,2,2.0 +7.66785764694214,0.336897879838943,10.7684850692749,0,0,1,0,1.33192574977875,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,1,0.063056156039238,17,1,2.0 +7.31395483016968,0.336861282587051,10.6572589874268,0,0,1,0,1.33192574977875,0.6931471824646,3.40119743347168,1.94591009616852,0,0,0,0,1,0,0,1,0.0494672991335392,17,2,2.0 +8.01415729522705,0.336879670619965,11.6952466964722,0,1,0,0,1.33192574977875,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,1,0.0352880842983723,17,3,2.0 +6.92170286178589,0.248640835285187,11.1198825836182,0,1,0,0,1.38591301441193,1.3862943649292,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,0,0.0192635748535395,18,2,2.0 +6.46319627761841,0.248606622219086,10.3889951705933,0,1,0,0,1.38591301441193,0.6931471824646,4.27666616439819,1.3862943649292,0,0,0,1,0,0,0,0,0.025293892249465,18,3,2.0 +7.55087471008301,0.248624101281166,11.6952466964722,0,1,0,0,1.38591301441193,1.0986123085022,3.7376697063446,1.60943794250488,1,0,0,0,0,0,0,1,0.0203281603753567,18,3,2.0 +7.11701583862305,0.248631909489632,10.8685684204102,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0301093198359013,18,2,2.0 +7.13498020172119,0.248626425862312,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.91202306747437,1.60943794250488,1,0,0,0,0,0,0,0,0.0238427203148603,18,3,2.0 +7.69987344741821,0.248659804463387,11.4075651168823,0,1,0,0,1.38591301441193,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,1,0.0314602144062519,18,2,2.0 +6.49935960769653,0.248583659529686,10.6572589874268,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0200542099773884,18,2,2.0 +6.8342399597168,0.248624101281166,11.1198825836182,0,0,1,0,1.38591301441193,0.6931471824646,2.99573230743408,1.0986123085022,0,0,0,0,1,0,0,0,0.0176500082015991,18,1,2.0 +7.499436378479,0.248665750026703,11.1913414001465,0,0,1,0,1.38591301441193,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.0319609679281712,18,2,2.0 +7.23225450515747,0.248650684952736,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0147820468991995,18,2,2.0 +6.71665048599243,0.248923599720001,11.1198825836182,0,0,1,0,1.38591301441193,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0156966373324394,18,2,2.0 +5.33563089370728,0.24936655163765,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.0029599957633763,18,1,2.0 +6.60928964614868,0.248661279678345,11.2580327987671,0,0,1,0,1.38591301441193,0.0,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,0,0.012276329100132,18,1,2.0 +7.85453748703003,0.248681649565697,11.1913414001465,0,1,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0455874651670456,18,2,2.0 +7.22194814682007,0.248656451702118,11.1913414001465,0,0,1,0,1.38591301441193,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,1,0.02421610429883,18,2,2.0 +7.58314990997314,0.248663425445557,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0209957789629698,18,1,2.0 +7.15312099456787,0.248642235994339,10.9595403671265,1,0,0,0,1.38591301441193,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0285021085292101,18,2,2.0 +7.04497194290161,0.248643532395363,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.71357202529907,1.0986123085022,1,0,0,0,0,0,0,0,0.0217908006161451,18,2,2.0 +6.5101261138916,0.248573988676071,11.2580327987671,0,1,0,0,1.38591301441193,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.011116405017674,18,2,2.0 +7.18952035903931,0.248690009117126,11.2580327987671,0,1,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0219316817820072,18,2,2.0 +6.81365633010864,0.248610809445381,11.0429220199585,0,1,0,0,1.38591301441193,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.018673412501812,18,2,2.0 +6.46526193618774,0.248606622219086,11.6952466964722,0,0,1,0,1.38591301441193,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0068645933642983,18,2,2.0 +6.60554504394531,0.248634606599808,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.010531491599977,18,2,2.0 +7.71416282653809,0.248671978712082,10.8685684204102,0,1,0,0,1.38591301441193,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0547086335718632,18,1,2.0 +7.57501840591431,0.248666405677795,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.97029185295105,1.0986123085022,0,0,1,0,0,0,0,0,0.0277677439153194,18,2,2.0 +8.27344417572021,0.248681738972664,10.2219409942627,0,1,0,0,1.38591301441193,1.0986123085022,3.85014748573303,1.3862943649292,1,0,0,0,0,0,0,0,0.182717278599739,18,3,2.0 +7.55470132827759,0.248633310198784,11.1913414001465,0,1,0,0,1.38591301441193,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0337759107351303,18,2,2.0 +6.54621601104736,0.248690664768219,10.6572589874268,0,1,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0210184957832098,18,1,2.0 +7.30975294113159,0.248647898435593,11.4075651168823,0,1,0,0,1.38591301441193,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,0,0,0,0,0.0212975349277258,18,2,2.0 +7.49474906921387,0.248654320836067,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0256256423890591,18,2,2.0 +8.08979320526123,0.248652458190918,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.95124363899231,1.0986123085022,1,0,0,0,0,0,0,0,0.0619494095444679,18,2,2.0 +7.40092182159424,0.248636841773987,11.4075651168823,1,0,0,0,1.38591301441193,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.0233302097767591,18,2,2.0 +6.88406848907471,0.248661383986473,10.5320959091187,0,1,0,0,1.38591301441193,0.6931471824646,3.13549423217773,1.0986123085022,1,0,0,0,0,0,0,0,0.0333944298326969,18,2,2.0 +7.01392126083374,0.248578637838364,11.2580327987671,0,0,1,0,1.38591301441193,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0183976329863071,18,2,2.0 +6.36700201034546,0.248652368783951,9.43348407745361,0,1,0,0,1.38591301441193,0.6931471824646,3.04452252388,1.0986123085022,1,0,0,0,0,0,0,0,0.0597354620695114,18,2,2.0 +8.2966365814209,0.248667880892754,11.0429220199585,0,1,0,0,1.38591301441193,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0822807848453522,18,2,2.0 +6.33772850036621,0.248559862375259,10.5320959091187,0,1,0,0,1.38591301441193,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.019335588440299,18,2,2.0 +6.44268846511841,0.248558461666107,10.8685684204102,0,1,0,0,1.38591301441193,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.015339539386332,18,1,2.0 +6.8801908493042,0.248613774776459,10.3889951705933,0,0,1,0,1.38591301441193,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,0,0.0383810736238956,18,2,2.0 +8.20369434356689,0.248667791485786,11.6952466964722,0,0,1,0,1.38591301441193,1.3862943649292,3.63758611679077,1.60943794250488,0,0,1,0,0,0,0,0,0.0390510857105255,18,4,2.0 +6.58513212203979,0.248658776283264,10.2219409942627,0,0,1,0,1.38591301441193,0.6931471824646,3.40119743347168,1.7917594909668,0,0,0,1,0,0,0,0,0.0337710827589035,18,2,2.0 +6.16260242462158,0.24861666560173,10.2219409942627,0,1,0,0,1.38591301441193,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,0,0.022132184356451,18,2,2.0 +8.26114654541016,0.248676806688309,11.4075651168823,0,1,0,0,1.38591301441193,0.6931471824646,3.82864141464233,1.0986123085022,1,0,0,0,0,0,0,0,0.0551476329565048,18,2,2.0 +7.5191855430603,0.248653471469879,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,0,0,0,0,0.0350127182900906,18,2,2.0 +6.42030000686646,0.248584404587746,10.7684850692749,0,1,0,0,1.38591301441193,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,0,0.0165792945772409,18,1,2.0 +7.89222288131714,0.248675793409348,10.7684850692749,0,1,0,0,1.38591301441193,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,0,0,0,0,0.0722526535391808,18,2,2.0 +7.10766696929932,0.248615920543671,9.43348407745361,1,0,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.125280395150185,18,1,2.0 +7.46707820892334,0.248660445213318,8.92265796661377,1,0,0,0,1.38591301441193,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.299117207527161,18,4,2.0 +7.41049766540527,0.248652085661888,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0176662877202034,18,2,2.0 +6.80530166625977,0.248612567782402,11.4075651168823,1,0,0,0,1.38591301441193,0.6931471824646,3.97029185295105,1.0986123085022,0,0,1,0,0,0,0,0,0.0128597812727094,18,2,2.0 +5.45710134506226,0.250045597553253,10.3889951705933,1,0,0,0,1.38591301441193,0.6931471824646,3.61091780662537,1.60943794250488,1,0,0,0,0,0,0,0,0.0092618772760033,18,2,2.0 +6.52118921279907,0.248583942651749,10.5320959091187,0,1,0,0,1.38591301441193,1.0986123085022,4.00733327865601,1.60943794250488,1,0,0,0,0,0,0,0,0.0232297144830227,18,2,2.0 +7.99590921401978,0.248666778206825,11.4075651168823,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.3862943649292,0,1,0,0,0,0,0,0,0.0422991216182709,18,2,2.0 +7.72144937515259,0.248652920126915,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0241096150130033,18,1,2.0 +7.83432674407959,0.248634606599808,11.6952466964722,0,1,0,0,1.38591301441193,1.3862943649292,3.80666255950928,1.60943794250488,0,1,0,0,0,0,0,0,0.0269900858402252,18,3,2.0 +7.41706275939941,0.248660922050476,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,0,0.0237104035913944,18,1,2.0 +7.31002902984619,0.248645663261414,10.7684850692749,0,1,0,0,1.38591301441193,0.6931471824646,3.33220458030701,1.3862943649292,0,0,1,0,0,0,0,0,0.0403642728924751,18,1,2.0 +6.6002950668335,0.248607084155083,10.2219409942627,0,0,1,0,1.38591301441193,0.6931471824646,4.1588830947876,1.3862943649292,0,0,0,1,0,0,0,0,0.0342852771282196,18,2,2.0 +6.73842430114746,0.248579293489456,11.6952466964722,0,0,1,0,1.38591301441193,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.009020609781146,18,2,2.0 +7.60397720336914,0.248656451702118,10.5320959091187,0,1,0,0,1.38591301441193,1.0986123085022,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0686000138521194,18,3,2.0 +7.08933544158936,0.248775810003281,10.7684850692749,0,1,0,0,1.38591301441193,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.03237484395504,18,2,2.0 +7.99291801452637,0.248758435249329,11.6952466964722,0,0,1,0,1.38591301441193,1.0986123085022,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0316324830055237,18,3,2.0 +7.19272232055664,0.248676165938377,10.2219409942627,1,0,0,0,1.38591301441193,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,0,1,0,0,0,0.0620048455893993,18,1,2.0 +5.70190382003784,0.248591646552086,11.2580327987671,0,0,1,0,1.38591301441193,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0049541098996996,18,2,2.0 +7.32694435119629,0.248660638928413,11.4075651168823,0,0,0,1,1.38591301441193,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.021667106077075,18,3,2.0 +7.3639817237854,0.248649850487709,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0168632995337248,18,2,2.0 +6.06251430511475,0.248628288507462,11.1198825836182,0,0,1,0,1.38591301441193,1.0986123085022,2.94443893432617,1.3862943649292,0,0,0,0,1,0,0,0,0.0081581296399235,18,2,2.0 +6.57578182220459,0.248550459742546,10.6572589874268,1,0,0,0,1.38591301441193,0.6931471824646,3.40119743347168,1.60943794250488,0,0,1,0,0,0,0,0,0.0216461606323719,18,2,2.0 +7.19239377975464,0.24880462884903,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0142065985128284,18,1,2.0 +5.71861028671265,0.249590411782265,11.2580327987671,1,0,0,0,1.38591301441193,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0050426041707396,18,2,2.0 +6.89198970794678,0.248616293072701,11.2580327987671,0,1,0,0,1.38591301441193,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0162863656878471,18,2,2.0 +7.17204236984253,0.248837158083916,10.5320959091187,1,0,0,0,1.38591301441193,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.0445467308163643,18,2,2.0 +6.58851432800293,0.248619168996811,10.7684850692749,1,0,0,0,1.38591301441193,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,0,0.0196171384304762,18,2,2.0 +7.02353096008301,0.248668998479843,10.7684850692749,0,1,0,0,1.38591301441193,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0303097683936357,18,1,2.0 +6.17404985427856,0.248541533946991,10.3889951705933,1,0,0,0,1.38591301441193,1.0986123085022,4.06044292449951,1.3862943649292,0,0,0,0,1,0,0,0,0.0189414266496897,18,1,2.0 +8.40061950683594,0.248681738972664,11.4075651168823,0,0,1,0,1.38591301441193,0.6931471824646,3.52636051177979,1.7917594909668,0,0,1,0,0,0,0,0,0.0634017363190651,18,2,2.0 +7.45067882537842,0.248661652207375,11.6952466964722,0,0,1,0,1.38591301441193,0.6931471824646,3.80666255950928,1.0986123085022,0,0,1,0,0,0,0,1,0.0183907691389322,18,2,2.0 +6.64160776138306,0.248609870672226,11.2580327987671,0,0,1,0,1.38591301441193,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0126789063215256,18,2,2.0 +7.39414215087891,0.248668909072876,10.7684850692749,0,0,1,0,1.38591301441193,0.6931471824646,3.09104251861572,1.0986123085022,0,0,1,0,0,0,0,0,0.0439073443412781,18,2,2.0 +7.49296569824219,0.248645663261414,11.6952466964722,0,1,0,0,1.38591301441193,1.0986123085022,3.89182019233704,1.60943794250488,0,0,1,0,0,0,0,0,0.0191848240792751,18,2,2.0 +7.06877517700195,0.248613312840462,10.8685684204102,0,1,0,0,1.38591301441193,1.0986123085022,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,0,0.0286907721310854,18,3,2.0 +7.13893890380859,0.248646140098572,11.1198825836182,0,1,0,0,1.38591301441193,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0239377710968256,18,2,2.0 +6.5117301940918,0.248599648475647,10.7684850692749,0,0,1,0,1.38591301441193,0.6931471824646,3.66356158256531,1.0986123085022,1,0,0,0,0,0,0,0,0.0181668773293495,18,2,2.0 +6.68262195587158,0.248701348900795,10.5320959091187,1,0,0,0,1.38591301441193,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,0,0.0273026153445244,18,3,2.0 +6.76166868209839,0.24866983294487,10.3889951705933,0,0,1,0,1.38591301441193,0.6931471824646,3.09104251861572,1.0986123085022,0,0,1,0,0,0,0,0,0.0340932160615921,18,1,2.0 +7.83884954452515,0.248664349317551,11.6952466964722,0,1,0,0,1.38591301441193,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0271132402122021,18,2,2.0 +6.56032943725586,0.248606443405151,10.5320959091187,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.7917594909668,1,0,0,0,0,0,0,0,0.0241575054824352,18,1,2.0 +6.86908960342407,0.248645767569542,11.6952466964722,0,0,1,0,1.38591301441193,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0102804470807314,18,2,2.0 +7.66873645782471,0.248082876205444,10.6572589874268,0,1,0,0,1.38591301441193,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,0,0.0645419582724571,18,2,2.0 +7.80264520645142,0.248750254511833,11.6952466964722,0,1,0,0,1.38591301441193,1.60943794250488,2.99573230743408,1.60943794250488,0,0,1,0,0,0,0,0,0.0261514317244291,18,4,2.0 +7.20604181289673,0.248653382062912,10.8685684204102,0,0,1,0,1.38591301441193,0.6931471824646,3.29583692550659,1.3862943649292,0,0,1,0,0,0,0,0,0.0329134650528431,18,2,2.0 +6.91622066497803,0.282497823238373,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0148635059595108,19,2,3.0 +6.86876630783081,0.282521188259125,10.2219409942627,0,1,0,0,1.59032511711121,0.6931471824646,3.43398714065552,1.7917594909668,0,0,0,0,1,0,0,0,0.0463908091187477,19,2,3.0 +7.26817941665649,0.282513290643692,11.1198825836182,1,0,0,0,1.59032511711121,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0281786620616913,19,2,3.0 +7.02664422988892,0.28245747089386,10.6572589874268,1,0,0,0,1.59032511711121,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,0,1,0,0,0,0.0351490452885628,19,1,3.0 +7.03673362731934,0.282471239566803,10.9595403671265,1,0,0,0,1.59032511711121,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0262435413897038,19,2,3.0 +7.71055936813354,0.282521098852158,10.9595403671265,0,1,0,0,1.59032511711121,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.051485251635313,19,2,3.0 +7.54433298110962,0.282518237829208,10.7684850692749,0,1,0,0,1.59032511711121,0.6931471824646,4.02535152435303,1.0986123085022,0,0,0,0,1,0,0,0,0.0527794286608696,19,2,3.0 +7.67821645736694,0.282473653554916,11.1198825836182,0,1,0,0,1.59032511711121,1.0986123085022,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,0,0.0424600094556808,19,3,3.0 +7.17247486114502,0.282504677772522,11.6952466964722,1,0,0,0,1.59032511711121,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0144037399441004,19,2,3.0 +6.87467241287231,0.282495498657227,10.9595403671265,0,1,0,0,1.59032511711121,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0223177690058947,19,2,3.0 +6.52707862854004,0.282446414232254,10.3889951705933,0,1,0,0,1.59032511711121,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,0,0,0,0,0.0278904736042023,19,2,3.0 +7.94582080841064,0.28216615319252,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0416032113134861,19,2,3.0 +6.7380051612854,0.282464236021042,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,0,0.0124367997050285,19,2,3.0 +6.32255029678345,0.28243699669838,10.8685684204102,0,1,0,0,1.59032511711121,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0140718193724751,19,2,3.0 +7.40169048309326,0.282478868961334,10.7684850692749,1,0,0,0,1.59032511711121,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0457613356411457,19,2,3.0 +6.57346725463867,0.282699674367905,10.9595403671265,1,0,0,0,1.59032511711121,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.016516862437129,19,2,3.0 +6.45440340042114,0.282442927360535,10.9595403671265,0,1,0,0,1.59032511711121,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0146591030061245,19,2,3.0 +6.82377004623413,0.282459557056427,11.6952466964722,0,1,0,0,1.59032511711121,0.6931471824646,3.80666255950928,1.0986123085022,0,0,1,0,0,0,0,0,0.0101628405973315,19,2,3.0 +6.99519968032837,0.282484710216522,11.6952466964722,1,0,0,0,1.59032511711121,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0120636001229286,19,2,3.0 +7.12628602981567,0.282501429319382,10.0212707519531,1,0,0,0,1.59032511711121,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0733521729707718,19,1,3.0 +6.82571172714233,0.282482296228409,11.6952466964722,1,0,0,0,1.59032511711121,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0101828221231699,19,2,3.0 +6.62771606445312,0.282444089651108,11.1913414001465,0,1,0,0,1.59032511711121,1.0986123085022,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0138263124972582,19,2,3.0 +7.7938175201416,0.282538175582886,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.0357498526573181,19,2,3.0 +6.97116422653198,0.282490283250809,10.7684850692749,0,1,0,0,1.59032511711121,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0297528505325317,19,2,3.0 +7.26630401611328,0.282505750656128,10.3889951705933,0,1,0,0,1.59032511711121,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.0584148205816746,19,2,3.0 +6.47207641601562,0.282803535461426,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0095359627157449,19,2,3.0 +7.43299531936646,0.282488852739334,10.9595403671265,0,1,0,0,1.59032511711121,0.6931471824646,3.40119743347168,1.60943794250488,0,1,0,0,0,0,0,0,0.0390053689479828,19,1,3.0 +6.99867630004883,0.282482653856277,10.7684850692749,0,1,0,0,1.59032511711121,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.0305825415998697,19,2,3.0 +7.9978084564209,0.28253161907196,9.76995658874512,0,0,1,0,1.59032511711121,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.225459173321724,19,2,3.0 +7.19274806976318,0.282506376504898,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,0,0.0195983424782753,19,2,3.0 +6.36601495742798,0.282901287078857,10.8685684204102,1,0,0,0,1.59032511711121,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.014703756198287,19,2,3.0 +6.93890428543091,0.282478511333466,10.0212707519531,0,0,1,0,1.59032511711121,0.6931471824646,4.00733327865601,1.3862943649292,0,0,0,0,1,0,0,0,0.0608168914914131,19,2,3.0 +7.90382099151611,0.282523632049561,11.6952466964722,0,1,0,0,1.59032511711121,1.0986123085022,3.76120018959045,1.7917594909668,1,0,0,0,0,0,0,0,0.0299297459423542,19,3,3.0 +6.94457626342773,0.282471418380737,11.4075651168823,1,0,0,0,1.59032511711121,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0152905946597457,19,2,3.0 +7.29020261764526,0.282498568296432,11.6952466964722,0,1,0,0,1.59032511711121,0.6931471824646,3.55534815788269,1.94591009616852,1,0,0,0,0,0,0,0,0.01620321162045,19,1,3.0 +5.77968406677246,0.282444357872009,10.6572589874268,0,1,0,0,1.59032511711121,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.010100900195539,19,2,3.0 +7.32843446731567,0.282515347003937,10.2219409942627,1,0,0,0,1.59032511711121,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0734616592526436,19,1,3.0 +7.25862503051758,0.282171189785004,10.7684850692749,0,1,0,0,1.59032511711121,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0396490357816219,19,2,3.0 +7.06775712966919,0.282462149858475,11.6952466964722,1,0,0,0,1.59032511711121,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0129711516201496,19,2,3.0 +6.82196044921875,0.282459914684296,11.4075651168823,0,0,1,0,1.59032511711121,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.013525958172977,19,2,3.0 +7.09303140640259,0.282502770423889,10.7684850692749,0,0,1,0,1.59032511711121,0.6931471824646,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,0,0.0336093604564667,19,2,3.0 +7.34158420562744,0.27124747633934,10.7684850692749,0,1,0,0,1.38431131839752,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0426105484366417,20,2,3.0 +6.36154365539551,0.270856112241745,10.3889951705933,1,0,0,0,1.38431131839752,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,0,0.023363146930933,20,3,3.0 +7.18952608108521,0.271177470684052,11.6952466964722,0,0,1,0,1.38431131839752,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0144864218309522,20,3,3.0 +7.10318803787231,0.271343797445297,11.2580327987671,0,0,1,0,1.38431131839752,0.6931471824646,3.40119743347168,1.7917594909668,0,0,1,0,0,0,0,0,0.0205786433070898,20,2,3.0 +6.65334415435791,0.271091401576996,11.2580327987671,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0131202628836036,20,2,3.0 +7.02038192749023,0.271287471055984,11.6952466964722,0,0,1,0,1.38431131839752,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,0,0.0122334957122803,20,1,3.0 +5.24134874343872,0.270638346672058,10.5320959091187,0,1,0,0,1.38431131839752,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0066038048826158,20,2,3.0 +8.28787231445312,0.271407246589661,10.7684850692749,0,1,0,0,1.38431131839752,1.3862943649292,3.93182563781738,1.3862943649292,1,0,0,0,0,0,0,0,0.109787844121456,20,4,3.0 +7.60367155075073,0.271286904811859,11.2580327987671,1,0,0,0,1.38431131839752,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,1,0,0,0,0,0.033942922949791,20,3,3.0 +6.96922874450684,0.271009773015976,7.82404613494873,0,0,1,0,1.38431131839752,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.557770669460297,20,2,3.0 +6.82305240631104,0.2711461186409,10.9595403671265,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0209557563066483,20,1,3.0 +6.346755027771,0.271302103996277,10.2219409942627,1,0,0,0,1.38431131839752,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0272178053855896,20,1,3.0 +7.87520599365234,0.271524369716644,10.3889951705933,1,0,0,0,1.38431131839752,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,1,0,0,0,0,0.106217660009861,20,2,3.0 +6.74211549758911,0.271206557750702,11.4075651168823,0,0,1,0,1.38431131839752,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0123482244089246,20,2,3.0 +7.45232009887695,0.271419584751129,8.92265796661377,0,1,0,0,1.38431131839752,0.0,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.301520049571991,20,1,3.0 +6.60643672943115,0.271004319190979,10.5320959091187,0,1,0,0,1.38431131839752,1.0986123085022,3.63758611679077,1.60943794250488,0,0,1,0,0,0,0,0,0.0258704200387001,20,3,3.0 +7.4712610244751,0.271417051553726,11.4075651168823,0,1,0,0,1.38431131839752,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.0256070699542761,20,2,3.0 +6.73191213607788,0.271179378032684,11.0429220199585,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0176004581153393,20,2,3.0 +8.21879768371582,0.271563172340393,10.9595403671265,0,0,1,0,1.38431131839752,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.0846543088555336,20,2,3.0 +8.14907455444336,0.271502733230591,10.8685684204102,0,1,0,0,1.38431131839752,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0864671170711517,20,1,3.0 +6.98058080673218,0.271303355693817,10.2219409942627,1,0,0,0,1.38431131839752,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.051300372928381,20,2,3.0 +7.92024946212769,0.271415770053864,11.6952466964722,0,1,0,0,1.38431131839752,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0300894137471914,20,2,3.0 +7.73267698287964,0.271255552768707,11.1913414001465,1,0,0,0,1.38431131839752,1.0986123085022,3.95124363899231,1.60943794250488,0,0,0,1,0,0,0,0,0.0412786677479744,20,2,3.0 +7.93677043914795,0.271430790424347,11.1913414001465,0,1,0,0,1.38431131839752,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0506335534155369,20,3,3.0 +6.50615453720093,0.270711719989777,11.4075651168823,0,1,0,0,1.38431131839752,0.6931471824646,3.29583692550659,1.60943794250488,0,0,0,0,0,0,0,0,0.0097479447722435,20,2,3.0 +7.06162929534912,0.27113875746727,11.6952466964722,0,1,0,0,1.38431131839752,1.0986123085022,3.61091780662537,1.7917594909668,0,0,0,0,0,0,0,0,0.0127467475831509,20,2,3.0 +7.37588787078857,0.27134844660759,11.2580327987671,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0270303003489971,20,1,3.0 +7.85916328430176,0.271174937486649,11.0429220199585,0,1,0,0,1.38431131839752,1.0986123085022,3.93182563781738,1.0986123085022,0,0,0,0,0,0,0,0,0.0543351694941521,20,2,3.0 +6.33683156967163,0.270761996507645,10.5320959091187,1,0,0,0,1.38431131839752,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.0197519548237324,20,1,3.0 +6.89374685287476,0.270901501178741,11.1198825836182,0,1,0,0,1.38431131839752,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,0,0,0,0,0.01915417984128,20,2,3.0 +5.02331781387329,0.270081430673599,10.7684850692749,0,1,0,0,1.38431131839752,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,0,0,0,0,0.0041898698545992,20,1,3.0 +7.16393280029297,0.271324008703232,11.4075651168823,1,0,0,0,1.38431131839752,0.6931471824646,3.49650764465332,1.0986123085022,0,1,0,0,0,0,0,0,0.0188299212604761,20,2,3.0 +7.64819526672363,0.271415859460831,10.0212707519531,1,0,0,0,1.38431131839752,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.122253358364105,20,2,3.0 +6.76330232620239,0.27122637629509,10.6572589874268,1,0,0,0,1.38431131839752,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.026709645986557,20,2,3.0 +7.63289737701416,0.271359622478485,10.2219409942627,0,1,0,0,1.38431131839752,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0985014215111732,20,4,3.0 +7.41011619567871,0.271396785974503,9.76995658874512,1,0,0,0,1.38431131839752,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.123879864811897,20,2,3.0 +7.28661489486694,0.27088674902916,11.1913414001465,0,1,0,0,1.38431131839752,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0264145508408546,20,2,3.0 +8.13753414154053,0.271501839160919,11.0429220199585,0,1,0,0,1.38431131839752,1.3862943649292,3.8712010383606,1.60943794250488,1,0,0,0,0,0,0,0,0.0717989280819893,20,4,3.0 +7.49783277511597,0.271377623081207,11.6952466964722,0,0,1,0,1.38431131839752,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0197216812521219,20,2,3.0 +7.96017694473267,0.271508008241653,11.1913414001465,0,0,1,0,1.38431131839752,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0518367066979408,20,2,3.0 +7.59594440460205,0.271399617195129,11.6952466964722,0,0,1,0,1.38431131839752,1.3862943649292,3.98898410797119,1.60943794250488,0,0,0,1,0,0,0,0,0.0217551849782467,20,3,3.0 +7.65569400787354,0.271424502134323,11.4075651168823,0,0,1,0,1.38431131839752,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0307936538010836,20,1,3.0 +8.50389957427979,0.249984413385391,11.1198825836182,1,0,0,0,1.20355129241943,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0938554629683495,21,3,5.0 +7.89681243896484,0.250017374753952,11.1198825836182,0,0,0,1,1.20355129241943,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0511469170451164,21,2,5.0 +7.61468839645386,0.249932706356049,11.6952466964722,0,1,0,0,1.20355129241943,0.6931471824646,3.66356158256531,1.0986123085022,0,1,0,0,0,0,0,0,0.0216960310935974,21,2,5.0 +7.31696701049805,0.249871417880058,11.6952466964722,0,0,1,0,1.20355129241943,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0161084905266762,21,2,5.0 +7.39323234558105,0.24994133412838,11.4075651168823,0,1,0,0,1.20355129241943,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0231817197054625,21,1,5.0 +6.71956443786621,0.249958604574203,10.0212707519531,0,1,0,0,1.20355129241943,0.0,4.12713432312012,1.0986123085022,1,0,0,0,0,0,0,0,0.0472762398421764,21,0,5.0 +7.57169055938721,0.250056356191635,11.6952466964722,0,0,1,0,1.20355129241943,1.0986123085022,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0207854919135571,21,1,5.0 +7.41842794418335,0.249882832169533,11.6952466964722,0,0,1,0,1.20355129241943,0.6931471824646,3.71357202529907,1.94591009616852,0,0,1,0,0,0,0,0,0.0178288649767637,21,1,5.0 +7.06140232086182,0.24978432059288,10.3889951705933,0,1,0,0,1.20355129241943,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0460600703954697,21,1,5.0 +7.33618783950806,0.249909490346909,10.9595403671265,0,1,0,0,1.20355129241943,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0342714339494705,21,2,5.0 +7.37860727310181,0.249927133321762,11.2580327987671,0,1,0,0,1.20355129241943,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0265294797718525,21,2,5.0 +7.57279539108276,0.249966591596603,11.4075651168823,0,0,1,0,1.20355129241943,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0277421344071627,21,2,5.0 +7.3478946685791,0.249909773468971,10.2219409942627,0,1,0,0,1.20355129241943,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0725023224949837,21,2,5.0 +6.03746747970581,0.249709010124207,9.43348407745361,1,0,0,0,1.20355129241943,0.6931471824646,4.29045963287354,1.0986123085022,0,0,0,1,0,0,0,0,0.0430106557905674,21,0,5.0 +7.36725854873657,0.249872162938118,10.7684850692749,0,0,1,0,1.20355129241943,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0427941270172596,21,1,5.0 +6.62360191345215,0.25006490945816,9.76995658874512,0,1,0,0,1.20355129241943,1.0986123085022,3.97029185295105,1.60943794250488,0,0,1,0,0,0,0,0,0.0552277751266956,21,2,5.0 +6.85768699645996,0.24975897371769,11.6952466964722,0,1,0,0,1.20355129241943,0.6931471824646,3.68887948989868,1.7917594909668,0,1,0,0,0,0,0,0,0.010175209492445,21,1,5.0 +7.25087404251099,0.249880790710449,11.1913414001465,0,1,0,0,1.20355129241943,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,0,0.0249573439359665,21,1,5.0 +6.80659198760986,0.24979954957962,11.1198825836182,0,0,1,0,1.20355129241943,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.0171889048069715,21,2,5.0 +7.00757360458374,0.249831959605217,10.9595403671265,0,0,1,0,1.20355129241943,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,0,0.0246708057820797,21,2,5.0 +7.6179518699646,0.249980509281158,11.4075651168823,0,1,0,0,1.20355129241943,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0290239863097668,21,2,5.0 +7.32300329208374,0.249871134757996,10.5320959091187,0,0,1,0,1.20355129241943,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0518592596054077,21,2,5.0 +7.22407627105713,0.249853029847145,11.4075651168823,0,0,1,0,1.20355129241943,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0195723846554756,21,2,5.0 +6.83042573928833,0.249760553240776,10.0212707519531,0,0,0,1,1.20355129241943,1.0986123085022,3.85014748573303,2.0794415473938,0,0,0,0,1,0,0,0,0.0528084486722946,21,6,5.0 +6.89897298812866,0.249882102012634,9.43348407745361,1,0,0,0,1.20355129241943,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.101811863481998,21,1,5.0 +6.38300943374634,0.249444857239723,10.7684850692749,1,0,0,0,1.20355129241943,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,1,0,0,0,0,0.0159861799329519,21,2,5.0 +6.88116645812988,0.249791473150253,10.6572589874268,0,1,0,0,1.20355129241943,0.6931471824646,3.95124363899231,1.60943794250488,0,0,0,1,0,0,0,0,0.0294135101139545,21,2,5.0 +7.64036846160889,0.249907627701759,11.4075651168823,0,0,1,0,1.20355129241943,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.029679799452424,21,2,5.0 +7.80964374542236,0.250015884637833,11.2580327987671,0,0,1,0,1.20355129241943,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.040828563272953,21,2,5.0 +7.43001890182495,0.249817848205566,11.1198825836182,0,0,1,0,1.20355129241943,1.0986123085022,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.0320632122457027,21,3,5.0 +6.57120847702026,0.249702602624893,10.9595403671265,0,1,0,0,1.20355129241943,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.015944691374898,21,1,5.0 +7.28206396102905,0.24976621568203,10.7684850692749,0,0,1,0,1.20355129241943,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,0,0.0392951183021069,21,2,5.0 +6.53142595291138,0.249813854694366,11.6952466964722,1,0,0,0,1.20355129241943,1.0986123085022,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0073430044576525,21,2,5.0 +7.70146608352661,0.249913856387138,11.2580327987671,0,1,0,0,1.20355129241943,0.6931471824646,3.178053855896,1.0986123085022,0,1,0,0,0,0,0,0,0.0366385951638222,21,2,5.0 +7.72345972061157,0.249871134757996,11.4075651168823,0,1,0,0,1.20355129241943,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0322500951588154,21,2,5.0 +6.54597520828247,0.249739840626717,10.5320959091187,1,0,0,0,1.20355129241943,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0238402187824249,21,2,5.0 +5.91238498687744,0.249191790819168,10.2219409942627,1,0,0,0,1.20355129241943,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0172427352517843,21,2,5.0 +7.4341402053833,0.249939292669296,10.9595403671265,0,0,1,0,1.20355129241943,0.6931471824646,3.49650764465332,1.0986123085022,0,1,0,0,0,0,0,0,0.0377994515001774,21,1,5.0 +7.71856546401978,0.249965935945511,11.6952466964722,0,0,1,0,1.20355129241943,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,0,0.0240717642009258,21,2,5.0 +7.33183765411377,0.249664336442947,10.5320959091187,0,1,0,0,1.20355129241943,0.6931471824646,3.93182563781738,1.60943794250488,1,0,0,0,0,0,0,0,0.0523086152970791,21,1,5.0 +7.38780879974365,0.249815061688423,10.2219409942627,0,1,0,0,1.20355129241943,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0754475444555283,21,1,5.0 +6.31223392486572,0.249738544225693,10.9595403671265,0,1,0,0,1.20355129241943,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0123072359710932,21,2,5.0 +6.85802555084229,0.249739095568657,10.7684850692749,0,0,1,0,1.20355129241943,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.0257139801979065,21,2,5.0 +6.57725429534912,0.249471515417099,11.2580327987671,0,0,0,1,1.20355129241943,1.3862943649292,3.58351898193359,1.7917594909668,0,0,0,0,1,0,0,0,0.0118989245966077,21,4,5.0 +8.24252700805664,0.249911338090897,10.9595403671265,0,0,0,1,1.20355129241943,1.7917594909668,3.89182019233704,1.94591009616852,0,0,1,0,0,0,0,0,0.0848303139209747,21,6,5.0 +7.99312210083008,0.249959722161293,10.7684850692749,0,1,0,0,1.20355129241943,0.6931471824646,3.58351898193359,1.7917594909668,1,0,0,0,0,0,0,0,0.0800260230898857,21,2,5.0 +8.76383399963379,0.25017249584198,10.0212707519531,0,0,1,0,1.20355129241943,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,1,0,0,0,0,0.365216940641403,21,1,5.0 +7.1430811882019,0.249809578061104,10.7684850692749,0,0,1,0,1.20355129241943,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0341977886855602,21,2,5.0 +8.40008449554443,0.228300288319588,11.6952466964722,0,1,0,0,0.360588580369949,1.7917594909668,3.85014748573303,1.94591009616852,0,0,1,0,0,0,0,0,0.0465670526027679,22,6,6.0 +8.49402904510498,0.228165552020073,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0511469393968582,22,2,6.0 +6.97115993499756,0.22795857489109,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0111520905047655,22,1,6.0 +7.66780567169189,0.227998346090317,10.2219409942627,1,0,0,0,0.360588580369949,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0976722911000252,22,1,6.0 +6.4618558883667,0.228059932589531,9.76995658874512,0,1,0,0,0.360588580369949,0.6931471824646,4.11087369918823,1.0986123085022,0,0,1,0,0,0,0,0,0.0459573939442635,22,1,6.0 +6.48132371902466,0.227710172533989,11.4075651168823,1,0,0,0,0.360588580369949,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0091086467728018,22,1,6.0 +7.391432762146,0.22809325158596,10.2219409942627,0,1,0,0,0.360588580369949,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0740944221615791,22,1,6.0 +6.38626670837402,0.227732673287392,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0062121539376676,22,2,6.0 +7.5572075843811,0.228048652410507,11.4075651168823,1,0,0,0,0.360588580369949,1.60943794250488,3.91202306747437,1.7917594909668,0,0,0,1,0,0,0,0,0.0267209094017744,22,4,6.0 +8.14604568481445,0.228144869208336,11.4075651168823,0,1,0,0,0.360588580369949,1.3862943649292,2.94443893432617,1.60943794250488,0,1,0,0,0,0,0,0,0.0481528826057911,22,4,6.0 +7.05162811279297,0.227990090847015,10.5320959091187,0,0,1,0,0.360588580369949,1.0986123085022,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.038678240031004,22,3,6.0 +6.50725269317627,0.228076457977295,11.2580327987671,0,1,0,0,0.360588580369949,0.6931471824646,3.49650764465332,1.0986123085022,1,0,0,0,0,0,0,0,0.0108596170321107,22,2,6.0 +7.72420740127563,0.228107199072838,11.1198825836182,1,0,0,0,0.360588580369949,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0421058647334576,22,2,6.0 +7.13348913192749,0.228219166398048,11.4075651168823,0,1,0,0,0.360588580369949,0.6931471824646,3.29583692550659,1.0986123085022,0,1,0,0,0,0,0,0,0.017494710162282,22,2,6.0 +6.93731307983398,0.227966651320457,11.4075651168823,0,1,0,0,0.360588580369949,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0143747059628367,22,2,6.0 +6.83390951156616,0.227977082133293,10.7684850692749,0,1,0,0,0.360588580369949,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0245609283447266,22,1,6.0 +7.64737272262573,0.228254944086075,10.2219409942627,0,1,0,0,0.360588580369949,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0957213863730431,22,1,6.0 +6.13574123382568,0.227885410189629,10.5320959091187,0,1,0,0,0.360588580369949,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.015475925989449,22,2,6.0 +8.05403232574463,0.228286162018776,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,0,0.0329445712268353,22,1,6.0 +6.98227310180664,0.228013813495636,11.0429220199585,0,0,0,1,0.360588580369949,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,0,0.0216524861752987,22,2,6.0 +8.31051158905029,0.22836309671402,11.1913414001465,0,1,0,0,0.360588580369949,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0704771429300308,22,1,6.0 +6.78228235244751,0.22794234752655,10.9595403671265,0,1,0,0,0.360588580369949,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0192678906023502,22,3,6.0 +7.36949396133423,0.228058233857155,11.6952466964722,1,0,0,0,0.360588580369949,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.01661092415452,22,1,6.0 +7.06895399093628,0.227824658155441,10.5320959091187,0,1,0,0,0.360588580369949,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0393477007746696,22,1,6.0 +7.36337471008301,0.228126466274261,11.6952466964722,0,0,0,1,0.360588580369949,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0165107175707817,22,2,6.0 +7.3398175239563,0.228133484721184,11.4075651168823,1,0,0,0,0.360588580369949,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,0,0.0215019024908543,22,2,6.0 +6.30618095397949,0.227739319205284,11.6952466964722,0,0,0,1,0.360588580369949,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0057340855710208,22,2,6.0 +7.62118673324585,0.22816213965416,11.6952466964722,0,1,0,0,0.360588580369949,1.0986123085022,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,0,0.021367197856307,22,3,6.0 +7.3800253868103,0.228184252977371,10.8685684204102,0,0,1,0,0.360588580369949,0.6931471824646,3.43398714065552,1.0986123085022,1,0,0,0,0,0,0,0,0.038374625146389,22,2,6.0 +6.74514293670654,0.227958396077156,7.82404613494873,0,1,0,0,0.360588580369949,0.6931471824646,4.34380531311035,1.60943794250488,0,1,0,0,0,0,0,0,0.427011370658875,22,1,6.0 +6.24297571182251,0.228076264262199,11.4075651168823,0,0,0,1,0.360588580369949,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0071795894764363,22,1,6.0 +7.9401421546936,0.228252947330475,10.9595403671265,0,1,0,0,0.360588580369949,0.6931471824646,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.0613509118556976,22,1,6.0 +7.12721109390259,0.228196397423744,11.1198825836182,1,0,0,0,0.360588580369949,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0231797676533461,22,2,6.0 +6.55011701583862,0.228077307343483,10.3889951705933,1,0,0,0,0.360588580369949,0.6931471824646,3.09104251861572,1.60943794250488,0,0,0,1,0,0,0,0,0.0270301904529333,22,1,6.0 +7.56416177749634,0.228216037154198,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0201839189976454,22,2,6.0 +8.10188293457031,0.228353515267372,9.76995658874512,0,0,1,0,0.360588580369949,1.3862943649292,4.1588830947876,1.7917594909668,1,0,0,0,0,0,0,0,0.236994117498398,22,4,6.0 +6.9239559173584,0.228133484721184,9.43348407745361,0,1,0,0,0.360588580369949,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.102141678333282,22,1,6.0 +7.25183057785034,0.228148281574249,11.6952466964722,0,1,0,0,0.360588580369949,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,0,0.0147683592513204,22,2,6.0 +7.66949939727783,0.228222861886024,10.9595403671265,0,0,0,1,0.360588580369949,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.046802531927824,22,1,6.0 +7.24832391738892,0.228061839938164,11.6952466964722,0,1,0,0,0.360588580369949,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.0147153940051794,22,1,6.0 +6.78490972518921,0.228251993656158,8.92265796661377,1,0,0,0,0.360588580369949,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,0,1,0,0,0.148154973983765,22,1,6.0 +7.15318822860718,0.228149324655533,10.7684850692749,0,1,0,0,0.360588580369949,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0338049679994583,22,2,6.0 +7.76103734970093,0.228123426437378,11.2580327987671,0,1,0,0,0.360588580369949,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0380493029952049,22,1,6.0 +7.32161235809326,0.228171914815903,11.4075651168823,0,0,1,0,0.360588580369949,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0211148057132959,22,1,6.0 +7.87690734863281,0.228113934397697,11.2580327987671,0,1,0,0,0.360588580369949,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,0,0.0427232496440411,22,2,6.0 +7.26305866241455,0.228129401803017,10.6572589874268,0,1,0,0,0.360588580369949,0.6931471824646,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,0,0.0421689338982105,22,2,6.0 +6.81816339492798,0.228007465600967,7.82404613494873,0,0,0,1,0.360588580369949,1.3862943649292,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.459381192922592,22,2,6.0 +7.20215320587158,0.228105872869492,10.9595403671265,0,1,0,0,0.360588580369949,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0293259881436825,22,2,6.0 +8.02060127258301,0.228200286626816,10.9595403671265,0,0,0,1,0.360588580369949,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,0,1,0,0,0,0.066487655043602,22,2,6.0 +6.98760938644409,0.22829470038414,10.3889951705933,0,1,0,0,0.360588580369949,1.60943794250488,3.91202306747437,2.0794415473938,0,1,0,0,0,0,0,0,0.0418739430606365,22,1,6.0 +7.87430715560913,0.22820882499218,10.9595403671265,0,1,0,0,0.360588580369949,1.0986123085022,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.0574394352734089,22,2,6.0 +7.15582942962646,0.227969020605087,11.6952466964722,0,0,0,1,0.360588580369949,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0134141026064754,22,3,6.0 +5.38033294677734,0.226970180869102,10.3889951705933,0,0,1,0,0.360588580369949,0.6931471824646,3.76120018959045,1.94591009616852,0,0,0,0,1,0,0,0,0.0083818007260561,22,1,6.0 +4.54069042205811,0.304911643266678,10.8685684204102,0,0,1,0,1.77750146389008,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.002422472462058,24,2,4.0 +8.78096389770508,0.305158913135529,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0981319546699524,24,2,4.0 +7.27500486373901,0.305050402879715,10.5320959091187,0,0,1,0,1.77750146389008,1.3862943649292,3.78418970108032,1.7917594909668,0,0,0,0,1,0,0,1,0.0522329993546009,24,3,4.0 +7.75770807266235,0.305128693580627,10.6572589874268,0,1,0,0,1.77750146389008,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,1,0.0746889710426331,24,1,4.0 +4.74286031723022,0.30574369430542,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,4.02535152435303,1.60943794250488,0,1,0,0,0,0,0,1,0.0012983733322471,24,1,4.0 +6.94295978546143,0.3050876557827,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,1,0.0117113180458546,24,2,4.0 +7.42308282852173,0.305117100477219,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,1,0.0189292449504137,24,2,4.0 +7.06014347076416,0.305101811885834,11.2580327987671,0,0,1,0,1.77750146389008,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0203884243965149,24,1,4.0 +6.80406427383423,0.305077284574509,10.9595403671265,0,1,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,1,0.021271251142025,24,1,4.0 +7.97520208358765,0.305117547512054,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,1,0.032878790050745,24,2,4.0 +7.48847007751465,0.305123150348663,11.0429220199585,0,0,1,0,1.77750146389008,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.0388002470135689,24,2,4.0 +7.13172769546509,0.305108487606049,11.0429220199585,0,0,1,0,1.77750146389008,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,1,0.0271579399704933,24,2,4.0 +7.15098333358765,0.305087387561798,11.2580327987671,0,1,0,0,1.77750146389008,1.0986123085022,4.17438745498657,1.3862943649292,0,0,1,0,0,0,0,1,0.0223269183188677,24,3,4.0 +7.72401142120361,0.305107593536377,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,1,0.0255753062665462,24,2,4.0 +7.12091445922852,0.305111020803452,11.0429220199585,0,0,1,0,1.77750146389008,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,1,0.0268659330904484,24,1,4.0 +7.42688035964966,0.305112689733505,11.6952466964722,1,0,0,0,1.77750146389008,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,1,0,0,0,1,0.0190011840313673,24,2,4.0 +6.96830415725708,0.305091261863708,11.6952466964722,1,0,0,0,1.77750146389008,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,1,0.0120119694620371,24,1,4.0 +7.00735521316528,0.305080711841583,10.5320959091187,0,0,1,0,1.77750146389008,1.0986123085022,4.18965482711792,1.7917594909668,0,0,0,0,1,0,0,1,0.0399686358869076,24,2,4.0 +8.08750915527344,0.305128782987595,11.2580327987671,0,1,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,1,0.0569605827331543,24,2,4.0 +6.82753753662109,0.305062711238861,10.6572589874268,0,1,0,0,1.77750146389008,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,1,0.0294618532061577,24,1,4.0 +5.99083280563354,0.30505234003067,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.0060259532183408,24,2,4.0 +7.61415767669678,0.305115789175034,11.2580327987671,0,0,1,0,1.77750146389008,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.0354809276759624,24,4,4.0 +7.55574798583984,0.305104523897171,10.7684850692749,0,1,0,0,1.77750146389008,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0546048581600189,24,1,4.0 +7.17760705947876,0.305101454257965,10.6572589874268,0,1,0,0,1.77750146389008,0.6931471824646,3.25809645652771,1.60943794250488,0,0,0,0,1,0,0,1,0.0418128706514835,24,2,4.0 +6.95826721191406,0.305085986852646,11.1198825836182,0,0,1,0,1.77750146389008,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0211412403732538,24,2,4.0 +6.46567392349243,0.305350780487061,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.21887588500977,1.0986123085022,1,0,0,0,0,0,0,1,0.009691166691482,24,2,4.0 +6.84076547622681,0.305076777935028,10.9595403671265,1,0,0,0,1.77750146389008,0.6931471824646,3.63758611679077,1.60943794250488,0,0,1,0,0,0,0,1,0.0220664255321026,24,2,4.0 +5.70992040634155,0.305036783218384,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.004550093319267,24,1,4.0 +7.26124095916748,0.305067628622055,11.4075651168823,1,0,0,0,1.77750146389008,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0214666165411472,24,2,4.0 +7.22789907455444,0.305125892162323,10.8685684204102,0,1,0,0,1.77750146389008,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,0,0,0,1,0.0355952344834805,24,2,4.0 +7.28026580810547,0.305109888315201,11.4075651168823,1,0,0,0,1.77750146389008,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0218798499554396,24,1,4.0 +7.64474201202393,0.305112540721893,11.2580327987671,0,1,0,0,1.77750146389008,0.6931471824646,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,1,0.0365827493369579,24,2,4.0 +7.3234806060791,0.305118054151535,11.2580327987671,0,0,0,1,1.77750146389008,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,0,1,0,1,0.0265311803668737,24,2,4.0 +7.26266193389893,0.305109262466431,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,1,0.0161235276609659,24,2,4.0 +7.12246704101562,0.305101722478867,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0140142850577831,24,2,4.0 +6.90446090698242,0.305090725421906,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,1,0.011269049718976,24,3,4.0 +6.50108432769775,0.305136948823929,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,1,0,0,0,0,1,0.0075287539511919,24,2,4.0 +7.6360034942627,0.305120885372162,11.6952466964722,0,1,0,0,1.77750146389008,1.0986123085022,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,1,0.0234209839254618,24,3,4.0 +7.63145780563354,0.305447399616241,11.0429220199585,0,0,1,0,1.77750146389008,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0447789765894413,24,1,4.0 +7.0882453918457,0.305102854967117,10.3889951705933,1,0,0,0,1.77750146389008,0.6931471824646,4.00733327865601,1.0986123085022,0,0,1,0,0,0,0,1,0.0500042662024498,24,2,4.0 +7.21227025985718,0.30510339140892,11.6952466964722,1,0,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0153310736641288,24,2,4.0 +7.35295963287354,0.305118501186371,10.5320959091187,0,0,1,0,1.77750146389008,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0564715750515461,24,2,4.0 +7.17770481109619,0.305095225572586,10.7684850692749,1,0,0,0,1.77750146389008,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,1,0.0374149493873119,24,2,4.0 +7.19060564041138,0.305143445730209,11.6952466964722,0,0,0,1,1.77750146389008,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,0,0,1,1,0.0150031074881554,24,1,4.0 +7.36121034622192,0.305168151855469,11.2580327987671,0,0,1,0,1.77750146389008,0.6931471824646,3.91202306747437,1.0986123085022,0,0,1,0,0,0,0,1,0.0275526996701956,24,2,4.0 +7.29651260375977,0.305080711841583,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.93182563781738,1.0986123085022,1,0,0,0,0,0,0,1,0.0222375802695751,24,2,4.0 +7.43034839630127,0.30528312921524,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0254272669553757,24,2,4.0 +7.89378881454468,0.305134326219559,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,1,0.0303085930645466,24,1,4.0 +7.79561710357666,0.30505234003067,11.4075651168823,0,0,1,0,1.77750146389008,1.3862943649292,3.7376697063446,1.94591009616852,0,0,1,0,0,0,0,1,0.0366297177970409,24,4,4.0 +7.05941009521484,0.305087119340897,11.1913414001465,0,1,0,0,1.77750146389008,0.6931471824646,3.95124363899231,1.3862943649292,0,1,0,0,0,0,0,1,0.0217782240360975,24,2,4.0 +7.36990737915039,0.305087566375732,11.6952466964722,0,1,0,0,1.77750146389008,1.0986123085022,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,1,0.0179484430700541,24,2,4.0 +7.25035715103149,0.30511286854744,10.7684850692749,1,0,0,0,1.77750146389008,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,1,0.0402351170778275,24,2,4.0 +6.94405031204224,0.305076867341995,11.1913414001465,0,0,1,0,1.77750146389008,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0194051899015903,24,2,4.0 +8.16515827178955,0.305120706558228,11.6952466964722,0,1,0,0,1.77750146389008,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.0397570505738258,24,4,4.0 +7.15061616897583,0.305090129375458,11.6952466964722,0,1,0,0,1.77750146389008,0.6931471824646,3.71357202529907,1.0986123085022,0,1,0,0,0,0,0,1,0.0144142117351294,24,1,4.0 +5.8460054397583,0.305064111948013,11.0429220199585,0,0,1,0,1.77750146389008,1.3862943649292,3.63758611679077,1.3862943649292,0,0,0,0,0,1,0,1,0.0075075034983456,24,2,4.0 +7.91734886169434,0.305084317922592,11.6952466964722,1,0,0,0,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,1,0.0310295987874269,24,2,4.0 +7.34406995773315,0.305136263370514,10.5320959091187,0,0,1,0,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0559727735817432,24,1,4.0 +7.29129076004028,0.305088192224503,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,3.93182563781738,1.3862943649292,1,0,0,0,0,0,0,1,0.0165914464741945,24,3,4.0 +6.03629016876221,0.304999351501465,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,3.93182563781738,1.3862943649292,0,0,0,0,1,0,0,1,0.0047293961979448,24,2,4.0 +7.62811803817749,0.305098026990891,10.7684850692749,0,0,1,0,1.77750146389008,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,1,0.0587027408182621,24,2,4.0 +7.13181495666504,0.305119901895523,11.4075651168823,0,1,0,0,1.77750146389008,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,1,0,0,0,1,0.0188615433871746,24,2,4.0 +6.18523979187012,0.305085808038712,9.76995658874512,0,0,1,0,1.77750146389008,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0376421511173248,24,1,4.0 +7.29815149307251,0.305110067129135,11.1198825836182,0,0,0,1,1.77750146389008,0.6931471824646,4.00733327865601,1.3862943649292,0,0,0,0,1,0,0,1,0.029699606820941,24,2,4.0 +7.57842826843262,0.305117785930634,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,1,0.0221105329692364,24,1,4.0 +7.44736003875732,0.305094242095947,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,1,0.0193939786404371,24,3,4.0 +7.64773225784302,0.305125176906586,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,1,0.0315965414047241,24,1,4.0 +7.80952167510986,0.30512535572052,11.2580327987671,0,1,0,0,1.77750146389008,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0431364737451077,24,2,4.0 +6.09330892562866,0.305170863866806,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,1,0.0066770086996257,24,1,4.0 +7.13344526290894,0.305093556642532,9.76995658874512,0,0,1,0,1.77750146389008,1.0986123085022,4.1588830947876,1.7917594909668,0,1,0,0,0,0,0,1,0.0971579328179359,24,1,4.0 +7.54293203353882,0.305107265710831,10.8685684204102,0,0,1,0,1.77750146389008,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0487754121422768,24,2,4.0 +7.33933115005493,0.305059105157852,11.1198825836182,0,0,1,0,1.77750146389008,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,1,0.0309465881437063,24,2,4.0 +7.73269271850586,0.305131763219833,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,3.93182563781738,1.60943794250488,0,0,0,1,0,0,0,1,0.0257989168167114,24,3,4.0 +7.00776052474976,0.305060237646103,11.4075651168823,0,0,0,1,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,0,1,0,1,0.0166600085794926,24,1,4.0 +6.92828178405762,0.305092841386795,11.4075651168823,0,0,1,0,1.77750146389008,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,0,1,0,1,0.0153876459226012,24,2,4.0 +7.61708831787109,0.305128157138824,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,4.14313459396362,1.60943794250488,0,0,0,0,1,0,0,1,0.0229823067784309,24,3,4.0 +6.02930784225464,0.305099695920944,10.8685684204102,0,0,1,0,1.77750146389008,0.6931471824646,4.20469284057617,1.3862943649292,0,0,0,1,0,0,0,1,0.0107359103858471,24,0,4.0 +7.01427316665649,0.305159628391266,11.6952466964722,0,0,1,0,1.77750146389008,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,1,0.0125778978690505,24,2,4.0 +7.09206104278564,0.305103659629822,11.6952466964722,0,0,1,0,1.77750146389008,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,1,0,0,0,1,0.013594601303339,24,2,4.0 +6.69812631607056,0.305074483156204,11.0429220199585,0,0,1,0,1.77750146389008,1.0986123085022,3.85014748573303,1.7917594909668,0,0,0,0,1,0,0,1,0.0176023822277784,24,1,4.0 +7.75444030761719,0.305123776197433,10.9595403671265,1,0,0,0,1.77750146389008,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,1,0.0550245307385921,24,3,4.0 +7.44688892364502,0.325949460268021,11.4075651168823,0,1,0,0,2.33413791656494,1.0986123085022,3.40119743347168,1.60943794250488,0,1,0,0,0,0,0,1,0.0263911485671997,25,2,0.0 +7.93142318725586,0.325947463512421,11.6952466964722,0,0,0,1,2.33413791656494,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,0,1,0,1,0.0321328453719616,25,2,0.0 +7.07452440261841,0.325903236865997,10.7684850692749,0,0,0,1,2.33413791656494,0.6931471824646,3.8712010383606,1.60943794250488,0,0,0,1,0,0,0,1,0.0344565138220787,25,1,0.0 +6.68720483779907,0.32588928937912,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,1,0.0123454108834267,25,2,0.0 +6.42873001098633,0.326330333948135,11.1913414001465,0,0,1,0,2.33413791656494,1.0986123085022,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,1,0.0118398834019899,25,2,0.0 +7.4089035987854,0.325922518968582,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0254067946225405,25,2,0.0 +7.20459175109863,0.32589989900589,11.4075651168823,1,0,0,0,2.33413791656494,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,1,0.0207113530486822,25,2,0.0 +7.6464581489563,0.325921326875687,11.0429220199585,0,1,0,0,2.33413791656494,0.6931471824646,3.78418970108032,1.60943794250488,1,0,0,0,0,0,0,1,0.0463959835469723,25,2,0.0 +7.52807283401489,0.325930953025818,10.8685684204102,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0490671806037426,25,2,0.0 +6.79401254653931,0.325885504484177,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.68887948989868,1.7917594909668,0,0,1,0,0,0,0,1,0.0159525703638792,25,1,0.0 +7.33522796630859,0.325873970985413,11.1198825836182,0,0,1,0,2.33413791656494,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.031468104571104,25,2,0.0 +7.235191822052,0.325915634632111,11.1198825836182,1,0,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,1,0.0284736659377813,25,2,0.0 +7.40802669525146,0.325926393270493,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,1,0.0190384685993195,25,2,0.0 +7.13597965240479,0.325895756483078,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,1,0.0145034054294229,25,2,0.0 +7.60203123092651,0.325915217399597,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,1,0.0231143701821566,25,2,0.0 +7.74002742767334,0.325910210609436,11.6952466964722,1,0,0,0,2.33413791656494,1.0986123085022,3.91202306747437,1.60943794250488,1,0,0,0,0,0,0,1,0.02653450332582,25,3,0.0 +6.93120384216309,0.325871229171753,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,1,0.0298547893762589,25,1,0.0 +7.12322664260864,0.325913488864899,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,1,0.0190931633114815,25,1,0.0 +7.42844724655151,0.325477868318558,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,1,0.0194225199520588,25,2,0.0 +7.56150674819946,0.325919687747955,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0221964996308088,25,1,0.0 +7.2236909866333,0.325894713401794,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.97029185295105,1.0986123085022,0,0,0,0,1,0,0,1,0.0211106147617102,25,2,0.0 +7.33105993270874,0.325880706310272,10.7684850692749,0,0,1,0,2.33413791656494,1.0986123085022,4.26268005371094,1.60943794250488,0,0,1,0,0,0,0,0,0.0445321351289749,25,1,0.0 +6.2237663269043,0.325836360454559,10.3889951705933,1,0,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0215066634118557,25,3,0.0 +6.44909191131592,0.325837850570679,10.9595403671265,0,0,1,0,2.33413791656494,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,1,0.0152281392365694,25,1,0.0 +7.99104928970337,0.325950384140015,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.71357202529907,1.60943794250488,1,0,0,0,0,0,0,1,0.0341071859002113,25,1,0.0 +8.13505744934082,0.325954258441925,11.1198825836182,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0700272098183632,25,1,0.0 +6.68084192276001,0.325839400291443,11.4075651168823,0,0,1,0,2.33413791656494,1.0986123085022,4.04305124282837,1.3862943649292,0,0,0,1,0,0,0,1,0.0122664961963892,25,1,0.0 +6.82132053375244,0.32587993144989,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,1,0.0105878645554185,25,2,0.0 +6.46057224273682,0.325820028781891,10.3889951705933,0,0,1,0,2.33413791656494,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,0,1,0,1,0.0272526927292347,25,0,0.0 +7.33522939682007,0.325907796621323,10.9595403671265,0,0,0,1,2.33413791656494,0.6931471824646,3.43398714065552,1.7917594909668,0,0,0,0,1,0,0,1,0.0369421131908894,25,1,0.0 +7.89032506942749,0.325958043336868,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0779099240899086,25,2,0.0 +6.45798969268799,0.325835436582565,10.7684850692749,0,0,0,1,2.33413791656494,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,1,0,1,0.0185987669974566,25,2,0.0 +6.98156929016113,0.325894892215729,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.012428255751729,25,1,0.0 +7.28815889358521,0.325941264629364,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0168880838900805,25,1,0.0 +7.393630027771,0.325928628444672,11.0429220199585,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0360314473509789,25,2,0.0 +7.62341785430908,0.325933694839478,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0314859710633755,25,3,0.0 +6.48807287216187,0.325836539268494,11.6952466964722,0,0,1,0,2.33413791656494,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,0,1,0,0,1,0.007586857303977,25,1,0.0 +6.92077493667603,0.325880348682404,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,1,0.0116950236260891,25,2,0.0 +6.5536937713623,0.325842916965485,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,0,1,0,0,1,0.020466860383749,25,1,0.0 +5.6518292427063,0.325856328010559,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,1,0.0043836249969899,25,1,0.0 +7.94593954086304,0.325939297676086,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,1,0.0326024442911148,25,1,0.0 +6.91066694259644,0.3258937895298,10.5320959091187,0,0,1,0,2.33413791656494,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,1,0.0370482057332993,25,2,0.0 +7.41787338256836,0.325916230678558,10.7684850692749,0,0,1,0,2.33413791656494,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,1,0.0485726147890091,25,2,0.0 +8.41286754608154,0.325955718755722,10.6572589874268,0,1,0,0,2.33413791656494,1.0986123085022,4.09434461593628,1.60943794250488,0,0,0,1,0,0,0,1,0.146836444735527,25,2,0.0 +7.3173656463623,0.325915813446045,10.9595403671265,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0362883396446705,25,1,0.0 +7.32589292526245,0.325913488864899,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.60943794250488,0,1,0,0,0,0,0,1,0.0175370331853628,25,1,0.0 +6.36670732498169,0.325825870037079,10.9595403671265,0,1,0,0,2.33413791656494,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,1,0.0140236942097545,25,2,0.0 +7.08573770523071,0.326502591371536,11.4075651168823,0,0,1,0,2.33413791656494,1.0986123085022,3.97029185295105,1.60943794250488,0,0,0,0,1,0,0,1,0.0184014737606049,25,3,0.0 +7.37441730499268,0.327079176902771,10.9595403671265,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,1,0.0384635627269745,25,2,0.0 +7.88805961608887,0.326028883457184,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,1,0.030771741643548,25,2,0.0 +7.66946315765381,0.325901448726654,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,1,0.0247264299541712,25,1,0.0 +7.36177110671997,0.325924664735794,11.1198825836182,1,0,0,0,2.33413791656494,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.032316192984581,25,2,0.0 +6.56528615951538,0.325908571481705,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,1,0.0126913003623486,25,2,0.0 +5.47725439071655,0.325842052698135,10.7684850692749,1,0,0,0,2.33413791656494,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,1,0.0069752414710819,25,2,0.0 +7.27810955047607,0.32713520526886,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,4.00733327865601,1.0986123085022,0,0,0,1,0,0,0,1,0.0422884896397591,25,2,0.0 +6.04023838043213,0.325876653194427,10.7684850692749,0,0,0,1,2.33413791656494,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,0,1,1,0.0122482776641846,25,2,0.0 +6.5437798500061,0.325845330953598,11.2580327987671,0,1,0,0,2.33413791656494,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0124204847961664,25,2,0.0 +7.65996360778809,0.325940757989883,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,1,0.0379256010055542,25,2,0.0 +5.77354717254639,0.325870037078857,10.2219409942627,0,0,1,0,2.33413791656494,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,0,1,0,1,0.0162035599350929,25,1,0.0 +6.91442251205444,0.325872421264648,11.6952466964722,1,0,0,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0116208763793111,25,1,0.0 +5.99600315093994,0.325788944959641,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.0046380790881812,25,2,0.0 +7.49729347229004,0.325870722532272,10.9595403671265,0,1,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,1,0.0434399358928204,25,2,0.0 +6.55930995941162,0.325841099023819,10.6572589874268,0,1,0,0,2.33413791656494,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0230035129934549,25,3,0.0 +7.89845323562622,0.326056152582169,11.6952466964722,0,1,0,0,2.33413791656494,1.0986123085022,3.95124363899231,1.60943794250488,0,1,0,0,0,0,0,1,0.0310940835624933,25,3,0.0 +8.09960746765137,0.325953930616379,11.1198825836182,0,1,0,0,2.33413791656494,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.067588247358799,25,1,0.0 +7.29388332366943,0.325953155755997,11.1198825836182,1,0,0,0,2.33413791656494,0.6931471824646,4.06044292449951,1.0986123085022,0,0,0,0,1,0,0,1,0.0301959849894047,25,2,0.0 +6.77810287475586,0.325894564390182,7.82404613494873,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.486728638410568,25,1,0.0 +7.09034729003906,0.32590651512146,11.4075651168823,1,0,0,0,2.33413791656494,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.018475478515029,25,1,0.0 +7.42003202438354,0.326086521148682,11.4075651168823,0,0,1,0,2.33413791656494,1.0986123085022,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,1,0.0256953202188015,25,2,0.0 +6.75027847290039,0.325943768024445,10.6572589874268,1,0,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.0278468057513237,25,2,0.0 +7.58669853210449,0.325916051864624,10.7684850692749,0,0,0,1,2.33413791656494,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,0,1,0,1,0.0575057417154312,25,2,0.0 +7.55987739562988,0.325932770967484,10.8685684204102,0,1,0,0,2.33413791656494,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0506529323756695,25,1,0.0 +7.11783266067505,0.325891017913818,10.8685684204102,0,1,0,0,2.33413791656494,0.6931471824646,3.93182563781738,1.60943794250488,0,0,1,0,0,0,0,0,0.0325543321669102,25,2,0.0 +7.03802347183228,0.325878471136093,10.8685684204102,0,1,0,0,2.33413791656494,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,1,0.0300567932426929,25,1,0.0 +7.16187858581543,0.325890511274338,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0198451429605484,25,1,0.0 +8.04529190063477,0.325932234525681,11.1198825836182,0,0,1,0,2.33413791656494,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,1,0.0640136897563934,25,3,0.0 +8.26576709747314,0.32595831155777,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,1,0.0448908507823944,25,2,0.0 +6.96323442459106,0.325886279344559,10.5320959091187,0,1,0,0,2.33413791656494,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,0,0,1,0.0390475429594517,25,2,0.0 +7.45893907546997,0.32593035697937,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,1,0.0267105773091316,25,2,0.0 +6.34510326385498,0.325833886861801,11.4075651168823,0,0,0,1,2.33413791656494,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,0,1,0,1,0.0087681636214256,25,2,0.0 +7.79902744293213,0.325924336910248,11.2580327987671,0,1,0,0,2.33413791656494,1.0986123085022,2.89037179946899,1.60943794250488,0,0,1,0,0,0,0,1,0.0435832887887955,25,4,0.0 +6.5605001449585,0.325851619243622,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0081568658351898,25,2,0.0 +7.93500757217407,0.325921654701233,11.6952466964722,0,1,0,0,2.33413791656494,1.0986123085022,4.24849510192871,1.3862943649292,1,0,0,0,0,0,0,1,0.0322473980486393,25,2,0.0 +6.8328013420105,0.325867772102356,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0107099944725633,25,2,0.0 +6.26566219329834,0.32587993144989,10.8685684204102,1,0,0,0,2.33413791656494,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,1,0.0138838840648532,25,2,0.0 +6.55965328216553,0.32581889629364,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.80666255950928,1.3862943649292,0,1,0,0,0,0,0,1,0.0081496937200427,25,1,0.0 +7.02304697036743,0.325876742601395,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,1,0.0172724761068821,25,2,0.0 +7.2280740737915,0.325922518968582,11.1913414001465,0,0,1,0,2.33413791656494,0.6931471824646,3.71357202529907,1.7917594909668,0,0,1,0,0,0,0,1,0.0263221338391304,25,2,0.0 +8.69371891021729,0.325954020023346,10.5320959091187,0,1,0,0,2.33413791656494,1.3862943649292,4.04305124282837,1.60943794250488,1,0,0,0,0,0,0,0,0.220375224947929,25,4,0.0 +7.03542518615723,0.325901180505753,10.5320959091187,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.0986123085022,0,1,0,0,0,0,0,1,0.0419712662696838,25,2,0.0 +6.58558654785156,0.325811415910721,11.1913414001465,1,0,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,0,1,0,1,0.0138434413820505,25,2,0.0 +6.60575294494629,0.325862973928452,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,1,0.0113794170320034,25,2,0.0 +5.74636840820312,0.325885415077209,10.3889951705933,0,0,1,0,2.33413791656494,0.0,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0133432932198048,25,2,0.0 +7.24087619781494,0.325912624597549,11.1198825836182,0,0,1,0,2.33413791656494,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0286358986049891,25,2,0.0 +4.87041282653809,0.32564976811409,10.3889951705933,0,0,0,1,2.33413791656494,1.0986123085022,2.94443893432617,1.3862943649292,0,0,0,0,1,0,0,1,0.0055556893348693,25,2,0.0 +6.9523491859436,0.326016038656235,10.2219409942627,0,1,0,0,2.33413791656494,0.6931471824646,3.8712010383606,1.60943794250488,0,1,0,0,0,0,0,0,0.0526770204305649,25,1,0.0 +6.73132276535034,0.325863391160965,10.8685684204102,0,0,1,0,2.33413791656494,0.6931471824646,3.82864141464233,1.3862943649292,0,0,1,0,0,0,0,1,0.0221175886690617,25,2,0.0 +6.63378953933716,0.325868904590607,10.7684850692749,0,1,0,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,1,0.0221741814166307,25,2,0.0 +7.46338701248169,0.325900733470917,10.3889951705933,0,1,0,0,2.33413791656494,1.0986123085022,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,1,0.0742953047156334,25,1,0.0 +7.45006227493286,0.325898498296738,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,1,0.0198552589863539,25,2,0.0 +7.21670627593994,0.325923025608063,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,1,0.02434560097754,25,2,0.0 +8.65374183654785,0.325950235128403,11.2580327987671,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.7917594909668,1,0,0,0,0,0,0,1,0.102453976869583,25,2,0.0 +7.18208265304565,0.325879156589508,11.2580327987671,0,1,0,0,2.33413791656494,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,1,0.0235160645097494,25,4,0.0 +6.79472827911377,0.326713442802429,11.2580327987671,0,0,1,0,2.33413791656494,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,0,0.0159772206097841,25,1,0.0 +6.55716037750244,0.325835585594177,10.7684850692749,0,0,1,0,2.33413791656494,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0205377843230963,25,2,0.0 +7.59479522705078,0.32592362165451,10.9595403671265,1,0,0,0,2.33413791656494,1.0986123085022,3.49650764465332,1.60943794250488,0,0,0,1,0,0,0,1,0.047891303896904,25,3,0.0 +6.29505825042725,0.325794041156769,10.3889951705933,1,0,0,0,2.33413791656494,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,1,0.0230949111282825,25,1,0.0 +7.23855876922607,0.325921237468719,10.9595403671265,1,0,0,0,2.33413791656494,0.0,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,1,0.0335385277867317,25,2,0.0 +7.3929181098938,0.325892150402069,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,1,0.0187523365020752,25,2,0.0 +6.77495861053467,0.325882762670517,11.6952466964722,1,0,0,0,2.33413791656494,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,1,0.0101082269102335,25,1,0.0 +7.56835603713989,0.325918048620224,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.82864141464233,1.0986123085022,1,0,0,0,0,0,0,1,0.0297986939549446,25,2,0.0 +7.13688039779663,0.325910478830338,11.2580327987671,0,1,0,0,2.33413791656494,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,1,0.022477462887764,25,1,0.0 +5.49485635757446,0.326114743947983,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,1,0,0,1,0.0037477707955986,25,2,0.0 +6.23869752883911,0.325776487588882,10.9595403671265,0,0,1,0,2.33413791656494,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,1,0.0123380636796355,25,2,0.0 +7.68655300140381,0.325899451971054,9.43348407745361,0,1,0,0,2.33413791656494,1.0986123085022,4.40671920776367,1.3862943649292,1,0,0,0,0,0,0,0,0.241464853286743,25,2,0.0 +6.8020658493042,0.325889050960541,10.9595403671265,0,0,1,0,2.33413791656494,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,0,1,0,1,0.0216752253472805,25,1,0.0 +7.13342523574829,0.32589927315712,11.4075651168823,0,0,1,0,2.33413791656494,0.6931471824646,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,1,0.0192886125296354,25,2,0.0 +7.5887188911438,0.325938433408737,11.4075651168823,1,0,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0304123181849718,25,2,0.0 +7.19846487045288,0.325912624597549,11.1913414001465,0,0,1,0,2.33413791656494,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0255539212375879,25,3,0.0 +7.13012933731079,0.325911492109299,11.6952466964722,0,0,1,0,2.33413791656494,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,1,0.0144190303981304,25,2,0.0 +7.45872020721436,0.325952649116516,10.3889951705933,0,0,1,0,2.33413791656494,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0739532262086868,25,2,0.0 +6.65948057174683,0.325846016407013,10.3889951705933,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.03325105458498,25,2,0.0 +7.10620450973511,0.325901091098785,10.8685684204102,0,0,1,0,2.33413791656494,1.3862943649292,3.95124363899231,1.7917594909668,0,0,0,1,0,0,0,0,0.0321783013641834,25,3,0.0 +7.10718059539795,0.325900316238403,11.6952466964722,0,1,0,0,2.33413791656494,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,1,0.0140917422249913,25,1,0.0 +7.08579015731812,0.325912624597549,11.0429220199585,0,1,0,0,2.33413791656494,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.0264838840812445,25,2,0.0 +7.0248875617981,0.325906246900558,10.8685684204102,0,0,1,0,2.33413791656494,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,1,0.0296653769910336,25,2,0.0 +7.54449319839478,0.325926721096039,11.2580327987671,0,1,0,0,2.33413791656494,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,1,0.0337892286479473,25,2,0.0 +6.8899712562561,0.325928717851639,11.4075651168823,0,1,0,0,2.33413791656494,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,1,0.0151210846379399,25,1,0.0 +7.93527364730835,0.278615325689316,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0642064586281776,26,2,2.0 +5.46898174285889,0.278520941734314,11.1198825836182,0,1,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.004643065854907,26,1,2.0 +7.92102193832397,0.278622984886169,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0404406450688839,26,2,2.0 +8.49666690826416,0.27864283323288,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.7917594909668,0,1,0,0,0,0,0,0,0.0719161108136177,26,2,2.0 +7.71416568756104,0.278594106435776,10.5320959091187,0,1,0,0,1.85262143611908,1.60943794250488,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0789187625050545,26,4,2.0 +7.80559968948364,0.278632283210754,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0360325388610363,26,2,2.0 +7.77582025527954,0.278602957725525,10.9595403671265,0,1,0,0,1.85262143611908,1.0986123085022,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0547423921525478,26,2,2.0 +7.69712018966675,0.278642475605011,11.6952466964722,1,0,0,0,1.85262143611908,0.6931471824646,3.78418970108032,1.0986123085022,1,0,0,0,0,0,0,0,0.0242464654147625,26,2,2.0 +8.05604648590088,0.278615683317184,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0462866090238094,26,1,2.0 +7.12567377090454,0.278596013784409,11.1913414001465,0,1,0,0,1.85262143611908,1.0986123085022,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0226618554443121,26,3,2.0 +7.64927387237549,0.278622359037399,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0308176148682833,26,2,2.0 +8.10200881958008,0.27863010764122,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0484643690288067,26,2,2.0 +6.93835115432739,0.278554320335388,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0151362996548414,26,2,2.0 +7.51199769973755,0.278867274522781,11.6952466964722,1,0,0,0,1.85262143611908,1.3862943649292,4.09434461593628,1.60943794250488,0,0,0,0,1,0,0,0,0.0201534070074558,26,5,2.0 +7.58340787887573,0.278570383787155,11.2580327987671,0,0,1,0,1.85262143611908,1.3862943649292,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0335051864385605,26,2,2.0 +6.83038949966431,0.278540343046188,10.2219409942627,0,0,0,1,1.85262143611908,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0444668419659138,26,2,2.0 +6.93259239196777,0.278584182262421,10.6572589874268,0,1,0,0,1.85262143611908,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0318702310323715,26,2,2.0 +6.71715068817139,0.278551429510117,11.4075651168823,0,0,1,0,1.85262143611908,1.0986123085022,3.68887948989868,1.7917594909668,0,0,0,0,1,0,0,0,0.0121325580403209,26,3,2.0 +7.58962678909302,0.278611242771149,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,4.04305124282837,1.60943794250488,0,0,0,0,1,0,0,0,0.0290328655391932,26,2,2.0 +6.8775486946106,0.278734475374222,10.8685684204102,0,0,0,1,1.85262143611908,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0244216527789831,26,2,2.0 +7.22114038467407,0.278579235076904,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.21887588500977,1.7917594909668,0,0,0,0,1,0,0,0,0.0482009500265121,26,2,2.0 +6.80664825439453,0.278583645820618,10.7684850692749,1,0,0,0,1.85262143611908,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0251410603523254,26,4,2.0 +7.28857564926147,0.278557032346725,10.8685684204102,0,1,0,0,1.85262143611908,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,0,0.0368302427232265,26,1,2.0 +5.6447901725769,0.278487086296082,11.4075651168823,0,1,0,0,1.85262143611908,1.0986123085022,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,0,0.0041514905169606,26,1,2.0 +7.37043380737305,0.278602868318558,11.2580327987671,0,0,1,0,1.85262143611908,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,1,0,0,0,0,0.0270790066570044,26,2,2.0 +6.83192539215088,0.278575599193573,10.8685684204102,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0233287774026394,26,2,2.0 +7.06156301498413,0.27859166264534,11.2580327987671,0,0,1,0,1.85262143611908,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0198832284659147,26,2,2.0 +7.2917537689209,0.278603404760361,11.0429220199585,0,0,1,0,1.85262143611908,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0310373213142157,26,3,2.0 +7.5985894203186,0.278613150119781,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0219707284122705,26,1,2.0 +7.33187294006348,0.278612703084946,10.8685684204102,0,0,0,1,1.85262143611908,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0384620614349842,26,2,2.0 +5.18340826034546,0.279998898506165,9.43348407745361,1,0,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,1,0,0,0,0,0.0188719797879457,26,2,2.0 +7.48330688476562,0.278609454631805,11.0429220199585,0,1,0,0,1.85262143611908,0.6931471824646,4.06044292449951,1.0986123085022,1,0,0,0,0,0,0,0,0.0375904366374016,26,2,2.0 +6.22823905944824,0.278850674629211,10.9595403671265,0,0,0,1,1.85262143611908,1.0986123085022,4.11087369918823,1.60943794250488,0,0,0,0,1,0,0,0,0.0116499848663807,26,2,2.0 +7.64878416061401,0.278618544340134,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.25809645652771,1.0986123085022,0,1,0,0,0,0,0,0,0.0482124723494053,26,2,2.0 +7.46191263198853,0.278605192899704,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.95124363899231,1.0986123085022,0,0,1,0,0,0,0,0,0.0191638618707657,26,2,2.0 +6.82578134536743,0.278571635484695,10.2219409942627,0,1,0,0,1.85262143611908,0.6931471824646,4.36944770812988,1.0986123085022,0,1,0,0,0,0,0,0,0.0442637801170349,26,1,2.0 +6.37163686752319,0.278571456670761,9.43348407745361,1,0,0,0,1.85262143611908,0.6931471824646,3.13549423217773,1.3862943649292,0,0,1,0,0,0,0,0,0.061835628002882,26,0,2.0 +7.15529298782349,0.278600692749023,10.6572589874268,0,1,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.0398208014667034,26,2,2.0 +7.95449924468994,0.278638035058975,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0313635244965553,26,1,2.0 +7.76565837860107,0.278593748807907,11.2580327987671,0,0,1,0,1.85262143611908,1.60943794250488,4.00733327865601,1.7917594909668,1,0,0,0,0,0,0,0,0.0402043014764786,26,4,2.0 +6.27828931808472,0.278662145137787,9.43348407745361,0,0,0,1,1.85262143611908,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0563297532498837,26,2,2.0 +6.75017929077148,0.278537809848785,11.2580327987671,0,1,0,0,1.85262143611908,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0145623441785574,26,1,2.0 +7.26660490036011,0.27857118844986,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,0,0.0157632939517498,26,1,2.0 +7.77847003936768,0.278619110584259,11.4075651168823,1,0,0,0,1.85262143611908,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0350676588714123,26,2,2.0 +7.08991575241089,0.278598338365555,10.6572589874268,1,0,0,0,1.85262143611908,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0373006202280521,26,2,2.0 +7.43313360214233,0.278584003448486,11.4075651168823,0,0,1,0,1.85262143611908,1.0986123085022,2.99573230743408,1.7917594909668,0,0,0,1,0,0,0,0,0.0248264130204916,26,3,2.0 +6.7565131187439,0.27857768535614,10.9595403671265,0,1,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0197530090808868,26,1,2.0 +7.71075534820557,0.27861475944519,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,0,0,0,0,0.0786516964435577,26,1,2.0 +7.68115377426147,0.278617829084396,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,0,1,0,0,0,0.0602825097739697,26,2,2.0 +7.97924947738647,0.278628379106522,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.032149150967598,26,2,2.0 +7.42421436309814,0.278597086668015,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0246062818914652,26,1,2.0 +7.56511545181274,0.278586000204086,9.76995658874512,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.145692825317383,26,2,2.0 +5.77998018264771,0.278553873300552,11.6952466964722,0,1,0,0,1.85262143611908,1.3862943649292,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0035645654425025,26,3,2.0 +7.14415597915649,0.27859628200531,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.0185959283262491,26,1,2.0 +7.25206851959229,0.278596818447113,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,0,0.0324233956634998,26,2,2.0 +7.30290460586548,0.278595000505447,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.0163464043289423,26,1,2.0 +7.36603260040283,0.278593838214874,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0232154168188572,26,2,2.0 +7.39553499221802,0.27861613035202,10.7684850692749,0,0,1,0,1.85262143611908,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,0,0.0453051924705505,26,3,2.0 +7.04666233062744,0.27855584025383,11.2580327987671,0,0,1,0,1.85262143611908,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,0,0.0195884499698877,26,1,2.0 +7.61318111419678,0.278603583574295,10.8685684204102,0,0,0,1,1.85262143611908,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0509564466774464,26,1,2.0 +7.55944061279297,0.278760373592377,11.1913414001465,0,1,0,0,1.85262143611908,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.0349743254482746,26,3,2.0 +7.2688045501709,0.278561621904373,10.7684850692749,1,0,0,0,1.85262143611908,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0399103872478008,26,3,2.0 +7.7679295539856,0.278609991073608,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0657467246055603,26,2,2.0 +6.51243114471436,0.278530418872833,10.5320959091187,1,0,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0237271618098021,26,2,2.0 +7.16731929779053,0.278604477643967,10.9595403671265,0,1,0,0,1.85262143611908,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,1,0,0,0,0,0.0297889932990074,26,2,2.0 +7.63957548141479,0.27861025929451,11.1198825836182,0,1,0,0,1.85262143611908,1.0986123085022,3.7376697063446,1.60943794250488,0,1,0,0,0,0,0,0,0.0406930893659592,26,1,2.0 +7.64217376708984,0.278611242771149,11.2580327987671,0,0,0,1,1.85262143611908,0.6931471824646,4.07753753662109,1.0986123085022,0,0,0,0,1,0,0,0,0.0355346091091633,26,2,2.0 +7.31990432739258,0.27860215306282,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.78418970108032,1.0986123085022,0,1,0,0,0,0,0,0,0.0166267827153206,26,1,2.0 +7.27593278884888,0.278569579124451,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.95124363899231,1.3862943649292,0,1,0,0,0,0,0,0,0.0159110017120838,26,2,2.0 +7.67443704605103,0.279140084981918,10.7684850692749,1,0,0,0,1.85262143611908,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,0,0.0599102340638638,26,3,2.0 +7.32031488418579,0.278617292642593,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.053228348493576,26,2,2.0 +6.73356914520264,0.278568297624588,11.1198825836182,0,0,1,0,1.85262143611908,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0164448115974665,26,1,2.0 +7.52122211456299,0.278570294380188,11.1198825836182,0,1,0,0,1.85262143611908,1.3862943649292,3.82864141464233,1.60943794250488,1,0,0,0,0,0,0,0,0.0361495688557625,26,2,2.0 +7.68743515014648,0.278597444295883,10.3889951705933,0,0,1,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0886585488915443,26,2,2.0 +8.04290294647217,0.27920663356781,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.40119743347168,1.60943794250488,1,0,0,0,0,0,0,0,0.0342819206416607,26,2,2.0 +7.15107679367065,0.278717964887619,11.6952466964722,0,0,1,0,1.85262143611908,1.0986123085022,3.33220458030701,1.3862943649292,0,0,0,1,0,0,0,0,0.0140455150976777,26,3,2.0 +7.13369703292847,0.278596550226212,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0184024553745985,26,1,2.0 +7.87426424026489,0.278620719909668,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0385931767523289,26,2,2.0 +7.07708024978638,0.278586000204086,10.5320959091187,0,0,1,0,1.85262143611908,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0417343787848949,26,2,2.0 +6.14880132675171,0.27851390838623,10.7684850692749,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.0986123085022,0,0,1,0,0,0,0,0,0.013021289370954,26,2,2.0 +8.51730060577393,0.278630465269089,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0550608597695827,26,2,2.0 +7.79470682144165,0.278629124164581,9.76995658874512,0,1,0,0,1.85262143611908,0.6931471824646,2.99573230743408,1.0986123085022,0,0,0,1,0,0,0,0,0.183301970362663,26,2,2.0 +7.33666563034058,0.278592228889465,10.9595403671265,0,1,0,0,1.85262143611908,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0352855287492275,26,2,2.0 +6.55285263061523,0.27854511141777,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.0077207060530781,26,1,2.0 +6.57174491882324,0.278882503509521,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0198836494237185,26,2,2.0 +7.96453046798706,0.278628021478653,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0422392152249813,26,2,2.0 +7.72121095657349,0.278582096099854,10.2219409942627,0,1,0,0,1.85262143611908,1.3862943649292,3.68887948989868,1.7917594909668,0,1,0,0,0,0,0,0,0.108376018702984,26,2,2.0 +7.08931255340576,0.278589963912964,11.1198825836182,0,0,1,0,1.85262143611908,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0234712194651365,26,1,2.0 +7.64767742156982,0.278601765632629,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.94591009616852,1,0,0,0,0,0,0,0,0.0307678245007992,26,2,2.0 +7.5373740196228,0.278606027364731,11.4075651168823,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.0275546200573444,26,2,2.0 +7.11588764190674,0.278589695692062,10.5320959091187,0,0,0,1,1.85262143611908,1.0986123085022,3.93182563781738,2.0794415473938,0,0,0,0,1,0,0,0,0.0433859713375568,26,3,2.0 +5.90601682662964,0.27850803732872,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0040431870147585,26,2,2.0 +7.17541599273682,0.278600960969925,10.6572589874268,1,0,0,0,1.85262143611908,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.040630254894495,26,2,2.0 +7.4232702255249,0.278600513935089,10.8685684204102,0,0,1,0,1.85262143611908,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0421425327658653,26,1,2.0 +6.99020290374756,0.278590142726898,10.7684850692749,1,0,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.030206685885787,26,1,2.0 +8.70517253875732,0.278648525476456,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,0,0.167853489518166,26,2,2.0 +7.48493242263794,0.278617203235626,10.8685684204102,0,0,1,0,1.85262143611908,0.6931471824646,3.91202306747437,1.7917594909668,0,0,0,0,1,0,0,0,0.0448236763477325,26,2,2.0 +5.94630432128906,0.278553336858749,9.76995658874512,0,1,0,0,1.85262143611908,0.6931471824646,2.94443893432617,1.0986123085022,0,1,0,0,0,0,0,0,0.0288657750934362,26,2,2.0 +6.99524116516113,0.278619378805161,11.0429220199585,0,0,0,1,1.85262143611908,0.0,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0230737160891294,26,1,2.0 +7.71261835098267,0.278623968362808,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,0,0,0,0,0.0328329503536224,26,2,2.0 +6.51016187667847,0.278548002243042,11.6952466964722,1,0,0,0,1.85262143611908,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0073980609886348,26,1,2.0 +7.16286849975586,0.278587341308594,10.6572589874268,0,0,1,0,1.85262143611908,0.6931471824646,4.20469284057617,1.0986123085022,0,0,0,1,0,0,0,0,0.0401230752468109,26,1,2.0 +6.95880174636841,0.278519123792648,10.2219409942627,0,1,0,0,1.85262143611908,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0505586825311184,26,2,2.0 +7.19665193557739,0.278596639633179,10.5320959091187,1,0,0,0,1.85262143611908,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0470357425510883,26,1,2.0 +7.40143156051636,0.278611779212952,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0180392824113369,26,2,2.0 +6.58258485794067,0.278544843196869,11.6952466964722,1,0,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0079537061974406,26,2,2.0 +7.43183994293213,0.278604567050934,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0185961201786995,26,1,2.0 +3.63069415092468,0.281880408525467,8.92265796661377,1,0,0,0,1.85262143611908,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,1,0,0,0,0.0066703450866043,26,2,2.0 +6.49861240386963,0.278522908687592,10.7684850692749,0,0,0,1,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0184747669845819,26,1,2.0 +6.34328269958496,0.278586536645889,10.2219409942627,1,0,0,0,1.85262143611908,0.6931471824646,3.09104251861572,1.3862943649292,0,0,0,0,0,1,0,0,0.0273217521607876,26,2,2.0 +8.14747333526611,0.278402894735336,11.6952466964722,0,1,0,0,1.85262143611908,1.0986123085022,3.63758611679077,1.7917594909668,1,0,0,0,0,0,0,0,0.0380303561687469,26,3,2.0 +7.62725734710693,0.278621345758438,10.8685684204102,0,1,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.7917594909668,1,0,0,0,0,0,0,0,0.051679715514183,26,1,2.0 +7.93698120117188,0.278627127408981,10.8685684204102,1,0,0,0,1.85262143611908,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.070442371070385,26,2,2.0 +7.50123262405396,0.278606474399567,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0199324190616608,26,1,2.0 +6.29581356048584,0.278544306755066,10.6572589874268,1,0,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0168584771454334,26,2,2.0 +5.51151084899902,0.278486102819443,10.8685684204102,0,0,1,0,1.85262143611908,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.006228799931705,26,2,2.0 +7.34776973724365,0.278049916028976,10.5320959091187,1,0,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.054678950458765,26,2,2.0 +7.54757642745972,0.278656810522079,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0208789501339197,26,2,2.0 +7.4230637550354,0.278595089912415,11.4075651168823,0,0,1,0,1.85262143611908,1.0986123085022,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0245779398828745,26,2,2.0 +7.26117753982544,0.278595179319382,10.9595403671265,0,1,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.032720047980547,26,2,2.0 +7.46162176132202,0.278601139783859,11.0429220199585,0,0,1,0,1.85262143611908,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.036783754825592,26,1,2.0 +6.69045209884644,0.278568297624588,10.5320959091187,0,0,1,0,1.85262143611908,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,0,0.0283514875918627,26,1,2.0 +7.38770055770874,0.278562515974045,11.1198825836182,0,0,0,1,1.85262143611908,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0316309370100498,26,2,2.0 +7.96079349517822,0.278621882200241,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0315610468387604,26,2,2.0 +8.284255027771,0.27862560749054,9.76995658874512,0,1,0,0,1.85262143611908,0.6931471824646,3.98898410797119,1.7917594909668,1,0,0,0,0,0,0,0,0.299070566892624,26,3,2.0 +7.97013282775879,0.278625696897507,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0318573042750359,26,1,2.0 +6.90085315704346,0.278615951538086,10.3889951705933,0,1,0,0,1.85262143611908,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0403757356107235,26,2,2.0 +6.33412551879883,0.27848619222641,10.6572589874268,0,0,1,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0175158753991127,26,1,2.0 +7.69128608703613,0.278580486774445,11.4075651168823,0,0,1,0,1.85262143611908,1.3862943649292,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.0321385785937309,26,4,2.0 +6.8800106048584,0.278718054294586,10.3889951705933,0,0,1,0,1.85262143611908,1.3862943649292,3.178053855896,1.60943794250488,0,0,0,1,0,0,0,0,0.0395469516515732,26,2,2.0 +7.37535333633423,0.279382795095444,11.2580327987671,0,1,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0272337831556797,26,2,2.0 +8.52455997467041,0.278645724058151,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0554628558456898,26,1,2.0 +5.99633312225342,0.278572350740433,10.2219409942627,0,1,0,0,1.85262143611908,0.6931471824646,3.178053855896,1.0986123085022,1,0,0,0,0,0,0,0,0.0193118620663881,26,1,2.0 +8.05795001983643,0.278479248285294,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0347763635218143,26,2,2.0 +7.04307460784912,0.278619289398193,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.13549423217773,1.3862943649292,0,0,0,0,1,0,0,0,0.0263089407235384,26,2,2.0 +7.2001371383667,0.278598606586456,11.6952466964722,1,0,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0147500112652779,26,2,2.0 +6.5741138458252,0.278544753789902,11.1198825836182,0,0,0,1,1.85262143611908,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.014020643197,26,2,2.0 +7.25418996810913,0.278595447540283,10.9595403671265,0,0,1,0,1.85262143611908,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0324922129511833,26,3,2.0 +7.13383913040161,0.278595089912415,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,0,0,0,0,0.0441720969974995,26,1,2.0 +6.02382850646973,0.278551429510117,10.2219409942627,0,1,0,0,1.85262143611908,1.3862943649292,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,0,0.0198498014360666,26,4,2.0 +7.26367235183716,0.278554499149323,9.76995658874512,0,1,0,0,1.85262143611908,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.107772894203663,26,0,2.0 +8.03732681274414,0.278559565544128,11.2580327987671,0,1,0,0,1.85262143611908,1.3862943649292,3.04452252388,1.60943794250488,0,0,1,0,0,0,0,0,0.0527523718774319,26,3,2.0 +7.66340970993042,0.27861475944519,11.1198825836182,0,0,1,0,1.85262143611908,0.6931471824646,3.13549423217773,1.60943794250488,0,0,1,0,0,0,0,0,0.0416748076677322,26,1,2.0 +7.92321300506592,0.278600692749023,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,0,0.0303963385522366,26,2,2.0 +7.39392280578613,0.278607547283173,11.1198825836182,0,0,1,0,1.85262143611908,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0318297855556011,26,1,2.0 +7.52630376815796,0.278609365224838,11.4075651168823,0,0,1,0,1.85262143611908,1.0986123085022,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0272513572126627,26,3,2.0 +7.44896507263184,0.278602957725525,11.2580327987671,0,1,0,0,1.85262143611908,0.6931471824646,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0292912889271975,26,1,2.0 +6.75678968429565,0.278560906648636,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0197581443935633,26,1,2.0 +7.80500841140747,0.278621792793274,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.0270081423223019,26,2,2.0 +7.82580137252808,0.278599262237549,11.2580327987671,0,1,0,0,1.85262143611908,1.60943794250488,3.89182019233704,1.7917594909668,1,0,0,0,0,0,0,0,0.0426967516541481,26,4,2.0 +7.89711713790894,0.278577864170074,11.1198825836182,0,0,1,0,1.85262143611908,1.0986123085022,3.36729574203491,1.7917594909668,0,0,0,1,0,0,0,0,0.0526447854936123,26,2,2.0 +7.47365283966064,0.278599977493286,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.52636051177979,1.0986123085022,0,1,0,0,0,0,0,0,0.0193900689482689,26,2,2.0 +6.9529070854187,0.278584003448486,10.5320959091187,0,1,0,0,1.85262143611908,0.6931471824646,3.36729574203491,1.3862943649292,0,0,1,0,0,0,0,0,0.0368608497083187,26,1,2.0 +8.05687141418457,0.278618544340134,10.8685684204102,0,0,1,0,1.85262143611908,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0794141367077827,26,3,2.0 +7.28188037872314,0.278601765632629,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0160064250230789,26,1,2.0 +7.59389972686768,0.278571009635925,11.6952466964722,1,0,0,0,1.85262143611908,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0218670070171356,26,3,2.0 +8.00881004333496,0.278615772724152,11.6952466964722,0,0,0,1,1.85262143611908,1.0986123085022,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,0,0.0331132598221302,26,2,2.0 +8.08673763275146,0.278661578893661,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.035798542201519,26,1,2.0 +7.46299505233765,0.278597086668015,11.0429220199585,0,1,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0368341505527496,26,2,2.0 +7.19622087478638,0.278597444295883,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0146923419088125,26,1,2.0 +7.4331636428833,0.278606742620468,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0186207853257656,26,1,2.0 +8.40352821350098,0.278644263744354,11.1198825836182,1,0,0,0,1.85262143611908,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0873606353998184,26,2,2.0 +7.2950611114502,0.278602868318558,9.76995658874512,0,1,0,0,1.85262143611908,0.6931471824646,3.78418970108032,1.0986123085022,0,0,1,0,0,0,0,0,0.111214749515057,26,1,2.0 +7.75675249099731,0.278734564781189,11.6952466964722,0,1,0,0,1.85262143611908,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,0,0,0,0,0.0257386900484562,26,2,2.0 +6.59363174438477,0.27851939201355,10.8685684204102,0,1,0,0,1.85262143611908,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.0183813739567995,26,1,2.0 +7.38324880599976,0.278604388237,11.6952466964722,0,0,1,0,1.85262143611908,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0177141111344099,26,2,2.0 +8.29095363616943,0.278621792793274,11.2580327987671,0,1,0,0,1.85262143611908,1.0986123085022,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.0679856985807419,26,3,2.0 +7.14201593399048,0.278589963912964,10.7684850692749,1,0,0,0,1.85262143611908,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0351588502526283,26,3,2.0 +6.67870092391968,0.278930574655533,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0182807128876448,26,2,2.0 +7.27753162384033,0.27860701084137,10.9595403671265,0,0,1,0,1.85262143611908,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,0,1,0,0,0,0.0332599431276321,26,2,2.0 +7.75534677505493,0.278629124164581,11.4075651168823,0,1,0,0,1.85262143611908,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0342664383351803,26,1,2.0 +7.67135000228882,0.334386169910431,11.6952466964722,0,0,1,0,2.0842752456665,1.3862943649292,3.93182563781738,1.60943794250488,0,1,0,0,0,0,0,0,0.0249842144548893,27,4,3.0 +7.46705341339111,0.334357351064682,11.4075651168823,0,1,0,0,2.0842752456665,1.3862943649292,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.0271560773253441,27,3,3.0 +7.50263595581055,0.334322184324265,11.2580327987671,0,0,1,0,2.0842752456665,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0326772779226303,27,3,3.0 +6.22692489624023,0.33428618311882,11.6952466964722,0,0,0,1,2.0842752456665,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0058927289210259,27,2,3.0 +7.07289171218872,0.334329605102539,11.6952466964722,0,1,0,0,2.0842752456665,0.6931471824646,3.49650764465332,1.0986123085022,1,0,0,0,0,0,0,0,0.0137320114299655,27,2,3.0 +6.9153733253479,0.334299832582474,11.1198825836182,0,1,0,0,2.0842752456665,0.6931471824646,3.7376697063446,1.60943794250488,0,1,0,0,0,0,0,0,0.0208539944142103,27,2,3.0 +7.24022626876831,0.334348797798157,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,0,0.026869410648942,27,2,3.0 +6.99514627456665,0.334337890148163,10.6572589874268,0,0,1,0,2.0842752456665,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0358728319406509,27,2,3.0 +7.27768278121948,0.334305793046951,11.6952466964722,1,0,0,0,2.0842752456665,1.0986123085022,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0168524663895369,27,2,3.0 +7.29349946975708,0.334327131509781,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,0,0.0228286627680063,27,2,3.0 +7.11417293548584,0.334321171045303,11.1198825836182,0,0,1,0,2.0842752456665,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0254411082714796,27,2,3.0 +6.33420848846436,0.334254503250122,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0165723152458668,27,2,3.0 +8.87406539916992,0.334381908178329,11.4075651168823,1,0,0,0,2.0842752456665,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.110900960862637,27,4,3.0 +7.52596426010132,0.334350168704987,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0216027926653624,27,2,3.0 +6.59116077423096,0.334281742572784,10.0212707519531,0,1,0,0,2.0842752456665,0.6931471824646,3.25809645652771,1.7917594909668,0,0,1,0,0,0,0,0,0.0452375337481499,27,1,3.0 +6.97586536407471,0.334332078695297,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0166163612157106,27,2,3.0 +6.55559349060059,0.334317147731781,10.5320959091187,0,1,0,0,2.0842752456665,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,0,0,0,0,0.0261950306594372,27,2,3.0 +6.56856298446655,0.334477037191391,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0173094924539328,27,2,3.0 +7.08646488189697,0.334343522787094,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0230397693812847,27,2,3.0 +6.97489070892334,0.334362119436264,10.3889951705933,0,1,0,0,2.0842752456665,1.3862943649292,3.71357202529907,1.60943794250488,1,0,0,0,0,0,0,0,0.0459711030125618,27,2,3.0 +6.72387790679932,0.33448737859726,10.7684850692749,0,1,0,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0244745910167694,27,2,3.0 +7.1081075668335,0.334322452545166,11.0429220199585,0,1,0,0,2.0842752456665,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0273102819919586,27,2,3.0 +7.60839509963989,0.334353417158127,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0363237075507641,27,2,3.0 +7.60416269302368,0.334349572658539,11.0429220199585,0,1,0,0,2.0842752456665,1.0986123085022,3.85014748573303,1.60943794250488,1,0,0,0,0,0,0,0,0.0448510013520718,27,3,3.0 +7.41095542907715,0.334349989891052,10.8685684204102,0,1,0,0,2.0842752456665,0.0,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0440133102238178,27,1,3.0 +7.02344655990601,0.334315180778503,11.1198825836182,0,0,1,0,2.0842752456665,1.0986123085022,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0232344083487988,27,3,3.0 +7.13075494766235,0.33433336019516,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0145500795915723,27,2,3.0 +6.41685914993286,0.334282428026199,11.2580327987671,0,0,0,1,2.0842752456665,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,0,0.0110327024012804,27,2,3.0 +6.80470609664917,0.334324330091476,11.1198825836182,1,0,0,0,2.0842752456665,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0186697207391262,27,2,3.0 +6.34740972518921,0.334240853786469,10.3889951705933,0,1,0,0,2.0842752456665,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,0,0.0245426073670387,27,3,3.0 +6.39662647247314,0.33421978354454,10.3889951705933,0,1,0,0,2.0842752456665,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0257801879197359,27,2,3.0 +6.51986837387085,0.334315359592438,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,1,0,0,0,0,0.0078986519947648,27,2,3.0 +7.56060934066772,0.334330797195435,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.76120018959045,1.0986123085022,0,0,1,0,0,0,0,0,0.0564983040094376,27,2,3.0 +6.95802974700928,0.334289252758026,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,0,0.0255473647266626,27,2,3.0 +6.90302419662476,0.334324151277542,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0154489139094949,27,2,3.0 +6.87968111038208,0.334326267242432,11.4075651168823,0,0,0,1,2.0842752456665,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0150924976915121,27,1,3.0 +7.14080333709717,0.334562629461288,11.6952466964722,0,1,0,0,2.0842752456665,1.0986123085022,3.55534815788269,1.60943794250488,0,1,0,0,0,0,0,0,0.0147003894671798,27,2,3.0 +6.03992462158203,0.334312528371811,10.0212707519531,1,0,0,0,2.0842752456665,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0260683540254831,27,2,3.0 +7.81272077560425,0.33433610200882,11.6952466964722,0,1,0,0,2.0842752456665,1.3862943649292,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,0,0.0287766773253679,27,4,3.0 +7.5040979385376,0.334358185529709,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,0,0.0211357232183218,27,2,3.0 +7.15266370773315,0.334329694509506,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0375721640884876,27,2,3.0 +6.59991121292114,0.334295898675919,10.8685684204102,0,1,0,0,2.0842752456665,0.6931471824646,3.49650764465332,1.60943794250488,0,0,1,0,0,0,0,0,0.0195581838488579,27,1,3.0 +7.06220245361328,0.334323197603226,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.013585920445621,27,2,3.0 +7.80985689163208,0.33436244726181,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.02869513630867,27,1,3.0 +6.77722644805908,0.334340006113052,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.01582021266222,27,2,3.0 +6.58632946014404,0.334288150072098,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0213251635432243,27,2,3.0 +7.33025550842285,0.334358960390091,10.6572589874268,0,0,1,0,2.0842752456665,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0501546189188957,27,2,3.0 +7.46788740158081,0.334337204694748,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.020383644849062,27,2,3.0 +6.97173070907593,0.334330469369888,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,1,0,0,0,0,0.0205420665442944,27,2,3.0 +7.35891389846802,0.334333777427673,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0283030606806278,27,1,3.0 +7.60986948013306,0.334348052740097,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0234935525804758,27,1,3.0 +5.99492073059082,0.33427831530571,11.4075651168823,0,0,1,0,2.0842752456665,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.006230080500245,27,2,3.0 +7.73304462432861,0.334396153688431,11.6952466964722,0,1,0,0,2.0842752456665,0.6931471824646,3.68887948989868,1.7917594909668,0,1,0,0,0,0,0,0,0.0265744142234325,27,1,3.0 +6.51434278488159,0.334315955638885,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0130015965551138,27,2,3.0 +7.54865646362305,0.334355562925339,11.2580327987671,1,0,0,0,2.0842752456665,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.034217394888401,27,2,3.0 +6.21212959289551,0.335316598415375,10.6572589874268,0,1,0,0,2.0842752456665,0.6931471824646,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0164108369499445,27,1,3.0 +7.02360248565674,0.334335148334503,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0174288675189018,27,2,3.0 +6.7642502784729,0.334451884031296,11.4075651168823,0,0,1,0,2.0842752456665,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0134488334879279,27,1,3.0 +6.62085485458374,0.334284037351608,10.8685684204102,0,0,1,0,2.0842752456665,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0199718922376633,27,2,3.0 +7.56590270996094,0.334355026483536,11.6952466964722,0,1,0,0,2.0842752456665,0.6931471824646,3.52636051177979,1.7917594909668,0,1,0,0,0,0,0,0,0.0224831458181143,27,2,3.0 +7.72383642196655,0.334358274936676,11.6952466964722,0,1,0,0,2.0842752456665,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,0,0.0263298377394676,27,1,3.0 +7.30057001113892,0.334353417158127,10.9595403671265,0,1,0,0,2.0842752456665,1.3862943649292,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.035986315459013,27,3,3.0 +7.34124279022217,0.334356218576431,11.6952466964722,0,1,0,0,2.0842752456665,1.0986123085022,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0179592836648226,27,3,3.0 +7.12341117858887,0.334341377019882,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0144437393173575,27,2,3.0 +6.5700569152832,0.334301263093948,10.8685684204102,1,0,0,0,2.0842752456665,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.0189830269664526,27,2,3.0 +6.49071311950684,0.334349662065506,10.5320959091187,0,0,1,0,2.0842752456665,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0245502423495054,27,2,3.0 +7.47116899490356,0.33431339263916,10.2219409942627,0,1,0,0,2.0842752456665,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.0892370492219925,27,2,3.0 +7.49096584320068,0.334310322999954,10.8685684204102,0,1,0,0,2.0842752456665,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0476776547729969,27,2,3.0 +7.26923322677612,0.334336519241333,11.0429220199585,0,0,1,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0320854745805264,27,2,3.0 +5.77711057662964,0.33421191573143,10.9595403671265,0,0,1,0,2.0842752456665,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0078423423692584,27,2,3.0 +7.03803253173828,0.33430477976799,10.3889951705933,0,1,0,0,2.0842752456665,1.0986123085022,3.66356158256531,1.60943794250488,0,0,0,0,0,0,0,0,0.048964586108923,27,1,3.0 +6.94809436798096,0.334305644035339,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0121206194162369,27,2,3.0 +7.34367418289185,0.334350079298019,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0375712625682354,27,2,3.0 +7.39473676681519,0.33437979221344,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0293366797268391,27,1,3.0 +7.84206438064575,0.334640175104141,11.6952466964722,0,1,0,0,2.0842752456665,1.3862943649292,3.61091780662537,1.7917594909668,1,0,0,0,0,0,0,0,0.0296426136046648,27,4,3.0 +7.88621044158936,0.334179580211639,11.4075651168823,0,1,0,0,2.0842752456665,0.6931471824646,3.25809645652771,1.0986123085022,1,0,0,0,0,0,0,0,0.0412883460521698,27,2,3.0 +6.90707302093506,0.334320813417435,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.01163365598768,27,2,3.0 +7.83230876922607,0.334358185529709,10.8685684204102,0,0,1,0,2.0842752456665,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0670778304338455,27,2,3.0 +7.32388496398926,0.334357351064682,11.0429220199585,0,0,1,0,2.0842752456665,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,1,0,0,0,0.0338885076344013,27,2,3.0 +7.1596827507019,0.334306657314301,11.4075651168823,1,0,0,0,2.0842752456665,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0199689697474241,27,2,3.0 +5.91600847244263,0.334729135036469,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,0,0.0071502765640616,27,2,3.0 +7.1265983581543,0.334322869777679,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0366052500903606,27,2,3.0 +6.99849462509155,0.334340006113052,10.7684850692749,0,0,1,0,2.0842752456665,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0322044640779495,27,2,3.0 +7.3888635635376,0.334330201148987,11.6952466964722,0,0,1,0,2.0842752456665,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,0,0.018834725022316,27,2,3.0 +6.79049301147461,0.334309726953506,10.8685684204102,0,1,0,0,2.0842752456665,1.0986123085022,3.61091780662537,1.60943794250488,0,0,0,0,1,0,0,0,0.0236648246645927,27,3,3.0 +7.73910903930664,0.33434334397316,11.0429220199585,0,0,1,0,2.0842752456665,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0513305328786373,27,2,3.0 +7.10565185546875,0.33433336019516,10.3889951705933,0,0,1,0,2.0842752456665,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.052391529083252,27,1,3.0 +6.42057657241821,0.334284126758575,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.014925567433238,27,2,3.0 +6.42363500595093,0.334300339221954,10.8685684204102,0,0,1,0,2.0842752456665,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0163973923772573,27,2,3.0 +7.35583925247192,0.334346503019333,10.5320959091187,0,1,0,0,2.0842752456665,0.6931471824646,4.27666616439819,1.0986123085022,0,0,1,0,0,0,0,0,0.0583141408860683,27,1,3.0 +6.73812484741211,0.334516137838364,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0205088406801224,27,2,3.0 +8.14112854003906,0.334381133317947,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0618821233510971,27,2,3.0 +6.53537797927856,0.334297090768814,11.1198825836182,0,0,1,0,2.0842752456665,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.014261269941926,27,1,3.0 +7.28284978866577,0.334347456693649,11.2580327987671,0,0,1,0,2.0842752456665,0.6931471824646,3.95124363899231,1.94591009616852,0,0,0,0,1,0,0,0,0.0262304097414017,27,1,3.0 +8.12318420410156,0.334378004074097,10.9595403671265,0,1,0,0,2.0842752456665,0.6931471824646,3.33220458030701,1.60943794250488,0,0,1,0,0,0,0,0,0.0819228067994118,27,2,3.0 +8.00013160705566,0.334355384111404,11.4075651168823,0,0,1,0,2.0842752456665,1.3862943649292,3.33220458030701,1.60943794250488,0,0,0,1,0,0,0,0,0.04627850279212,27,4,3.0 +7.60802602767944,0.334356218576431,11.2580327987671,0,1,0,0,2.0842752456665,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.036310400813818,27,1,3.0 +6.90137767791748,0.334328502416611,11.1913414001465,0,0,1,0,2.0842752456665,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0191464945673943,27,2,3.0 +7.28253364562988,0.334342569112778,10.8685684204102,0,0,1,0,2.0842752456665,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0387086495757103,27,3,3.0 +8.04063034057617,0.248410150408745,11.4075651168823,0,1,0,0,0.538380265235901,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.044222392141819,28,1,5.0 +7.97535371780396,0.248232528567314,10.9595403671265,0,1,0,0,0.538380265235901,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0648321211338043,28,1,5.0 +6.7126612663269,0.248459815979004,10.9595403671265,0,1,0,0,0.538380265235901,0.6931471824646,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0183446183800697,28,2,5.0 +8.37800407409668,0.248477205634117,10.9595403671265,0,1,0,0,0.538380265235901,0.6931471824646,3.36729574203491,1.3862943649292,0,0,1,0,0,0,0,0,0.0969986021518707,28,2,5.0 +8.28603363037109,0.248409420251846,10.7684850692749,0,1,0,0,0.538380265235901,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.107094712555408,28,2,5.0 +6.34495878219604,0.248345717787743,11.4075651168823,0,1,0,0,0.538380265235901,1.3862943649292,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0081132184714078,28,2,5.0 +7.04823923110962,0.248147338628769,10.6572589874268,0,1,0,0,0.538380265235901,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0347049608826637,28,1,5.0 +6.96966314315796,0.248121023178101,11.2580327987671,0,1,0,0,0.538380265235901,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0175930876284838,28,2,5.0 +7.11625003814697,0.248294666409492,10.0212707519531,0,1,0,0,0.538380265235901,0.6931471824646,3.29583692550659,1.3862943649292,0,1,0,0,0,0,0,0,0.0701776146888733,28,2,5.0 +7.65365886688232,0.248395279049873,11.1198825836182,0,1,0,0,0.538380265235901,0.6931471824646,3.93182563781738,1.3862943649292,0,0,0,1,0,0,0,0,0.0400418974459171,28,2,5.0 +6.93203353881836,0.248211607336998,11.1913414001465,0,1,0,0,0.538380265235901,0.6931471824646,3.52636051177979,1.60943794250488,1,0,0,0,0,0,0,0,0.0181135199964046,28,2,5.0 +6.49560832977295,0.248090133070946,10.7684850692749,0,1,0,0,0.538380265235901,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.017867237329483,28,2,5.0 +7.5055079460144,0.248297452926636,10.0212707519531,0,1,0,0,0.538380265235901,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.10357441008091,28,2,5.0 +6.94969797134399,0.248287320137024,10.6572589874268,0,1,0,0,0.538380265235901,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0314525775611401,28,2,5.0 +6.98821115493774,0.248285636305809,10.7684850692749,0,1,0,0,0.538380265235901,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.0292467158287764,28,2,5.0 +7.5073504447937,0.239984080195427,10.9595403671265,0,1,0,0,1.17834627628326,1.0986123085022,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0402677021920681,29,1,3.0 +6.90903091430664,0.239792659878731,10.9595403671265,0,0,1,0,1.17834627628326,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0221323072910309,29,1,3.0 +7.84741497039795,0.240162044763565,10.3889951705933,0,1,0,0,1.17834627628326,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.100116744637489,29,2,3.0 +7.13725233078003,0.239805698394775,11.4075651168823,1,0,0,0,1.17834627628326,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0177653264254332,29,2,3.0 +6.86899137496948,0.23983795940876,10.7684850692749,0,0,1,0,1.17834627628326,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0257413722574711,29,2,3.0 +7.82443857192993,0.240114510059357,11.6952466964722,0,0,1,0,1.17834627628326,1.0986123085022,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.0264977905899286,29,2,3.0 +7.22687911987305,0.239997863769531,11.6952466964722,0,0,1,0,1.17834627628326,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.0145761324092746,29,2,3.0 +7.75493288040161,0.240126237273216,11.4075651168823,0,1,0,0,1.17834627628326,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0329585149884224,29,2,3.0 +6.85847520828247,0.239884480834007,10.7684850692749,0,1,0,0,1.17834627628326,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,1,0,0,0,0.0254732724279165,29,1,3.0 +6.67768859863281,0.239602997899055,11.4075651168823,1,0,0,0,1.17834627628326,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0112175745889544,29,2,3.0 +8.05142402648926,0.239999085664749,10.7684850692749,1,0,0,0,1.17834627628326,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0839896276593208,29,2,3.0 +7.85119915008545,0.23981910943985,11.4075651168823,1,0,0,0,1.17834627628326,1.3862943649292,3.98898410797119,1.60943794250488,0,0,0,1,0,0,0,0,0.036277886480093,29,4,3.0 +7.61582517623901,0.240016624331474,11.4075651168823,0,0,1,0,1.17834627628326,0.6931471824646,3.465735912323,1.7917594909668,0,0,1,0,0,0,0,0,0.0286751799285412,29,2,3.0 +7.34155035018921,0.240091070532799,11.4075651168823,0,1,0,0,1.17834627628326,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.0217982959002256,29,2,3.0 +7.16024494171143,0.240031242370605,11.6952466964722,0,0,1,0,1.17834627628326,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0136369718238711,29,2,3.0 +6.82888603210449,0.239880546927452,11.2580327987671,0,0,1,0,1.17834627628326,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.015157395042479,29,1,3.0 +6.57125091552734,0.239693611860275,11.2580327987671,0,0,1,0,1.17834627628326,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.011712615378201,29,2,3.0 +7.595778465271,0.240096881985664,10.6572589874268,1,0,0,0,1.17834627628326,1.0986123085022,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0595235005021095,29,2,3.0 +7.87416124343872,0.240093886852264,10.6572589874268,0,0,1,0,1.17834627628326,1.0986123085022,3.21887588500977,1.3862943649292,0,0,1,0,0,0,0,0,0.0786298215389252,29,3,3.0 +7.67135953903198,0.239992618560791,11.1913414001465,0,0,1,0,1.17834627628326,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,0,0.037628635764122,29,4,3.0 +7.93086099624634,0.240076065063477,11.6952466964722,1,0,0,0,1.17834627628326,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,0,0.0294721387326717,29,3,3.0 +8.59177207946777,0.240155771374702,11.6952466964722,0,1,0,0,1.17834627628326,1.3862943649292,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.0570790022611618,29,4,3.0 +7.13950490951538,0.239999547600746,11.6952466964722,0,0,1,0,1.17834627628326,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0133566306903958,29,2,3.0 +7.46573257446289,0.239856541156769,10.6572589874268,0,0,1,0,1.17834627628326,1.0986123085022,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0522523634135723,29,3,3.0 +4.23547697067261,0.241587191820145,9.43348407745361,1,0,0,0,1.17834627628326,0.0,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0070380801334977,29,2,3.0 +6.33366060256958,0.240278109908104,10.7684850692749,0,0,1,0,1.17834627628326,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0150775834918022,29,2,3.0 +7.97562408447266,0.240162700414658,11.4075651168823,1,0,0,0,1.17834627628326,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0410987287759781,29,2,3.0 +7.46880626678467,0.240023270249367,10.3889951705933,1,0,0,0,1.17834627628326,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.0685517936944962,29,1,3.0 +7.42364501953125,0.240010425448418,10.7684850692749,0,1,0,0,1.17834627628326,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0448321551084518,29,3,3.0 +5.9252815246582,0.239939719438553,11.1198825836182,0,0,1,0,1.17834627628326,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0070504667237401,29,2,3.0 +7.02648687362671,0.239650651812553,11.4075651168823,0,0,1,0,1.17834627628326,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0159001350402832,29,2,3.0 +7.2822847366333,0.240071937441826,11.6952466964722,0,1,0,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0154076619073749,29,2,3.0 +6.89236831665039,0.239700272679329,10.6572589874268,0,1,0,0,1.17834627628326,0.6931471824646,3.66356158256531,1.0986123085022,1,0,0,0,0,0,0,0,0.029446192085743,29,1,3.0 +7.04341697692871,0.239999368786812,11.4075651168823,0,0,0,1,1.17834627628326,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,0,1,0,0,0.0161772593855858,29,2,3.0 +7.50485467910767,0.239895075559616,10.0212707519531,0,0,1,0,1.17834627628326,0.6931471824646,4.12713432312012,1.0986123085022,0,0,0,1,0,0,0,0,0.102640695869923,29,2,3.0 +6.31877422332764,0.239855319261551,10.9595403671265,0,0,0,1,1.17834627628326,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,0,1,0,0,0.0122661655768752,29,2,3.0 +7.8594536781311,0.240095853805542,9.76995658874512,0,0,1,0,1.17834627628326,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.18817050755024,29,2,3.0 +6.61388301849365,0.239738270640373,10.9595403671265,0,0,1,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0164748746901751,29,2,3.0 +8.38631916046143,0.240159228444099,11.6952466964722,0,0,1,0,1.17834627628326,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0464783348143101,29,3,3.0 +6.90796089172363,0.239801287651062,11.4075651168823,1,0,0,0,1.17834627628326,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0141250910237432,29,2,3.0 +6.58732318878174,0.239663600921631,10.5320959091187,0,0,1,0,1.17834627628326,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0245975274592638,29,2,3.0 +6.69811725616455,0.239737331867218,11.6952466964722,1,0,0,0,1.17834627628326,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.0085879731923341,29,1,3.0 +7.03228664398193,0.239941135048866,10.2219409942627,1,0,0,0,1.17834627628326,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.0523546971380711,29,2,3.0 +7.14758443832397,0.239970669150352,10.9595403671265,0,0,1,0,1.17834627628326,1.0986123085022,3.55534815788269,1.7917594909668,0,1,0,0,0,0,0,0,0.0281000211834908,29,3,3.0 +7.7172908782959,0.240094915032387,9.76995658874512,0,1,0,0,1.17834627628326,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.163234025239944,29,2,3.0 +7.68057441711426,0.240076154470444,10.9595403671265,0,1,0,0,1.17834627628326,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.0478880330920219,29,2,3.0 +7.02659702301025,0.239667817950249,11.1913414001465,0,0,1,0,1.17834627628326,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0197406206279993,29,2,3.0 +7.79571962356567,0.240135237574577,10.9595403671265,0,1,0,0,1.17834627628326,0.6931471824646,3.66356158256531,1.0986123085022,0,1,0,0,0,0,0,0,0.0537352971732616,29,2,3.0 +8.20514011383057,0.240080565214157,11.6952466964722,0,0,1,0,1.17834627628326,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0387731939554214,29,3,3.0 +8.02188873291016,0.24017733335495,11.2580327987671,0,0,1,0,1.17834627628326,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0499882400035858,29,2,3.0 +7.64242267608643,0.240147888660431,10.7684850692749,0,1,0,0,1.17834627628326,1.0986123085022,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,0,0.0558037422597408,29,2,3.0 +7.13008642196655,0.240130916237831,11.6952466964722,0,1,0,0,1.17834627628326,1.0986123085022,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0132331596687436,29,3,3.0 +8.11136817932129,0.240006864070892,8.92265796661377,0,1,0,0,1.17834627628326,1.3862943649292,2.89037179946899,1.60943794250488,0,1,0,0,0,0,0,0,0.564800322055817,29,3,3.0 +6.53739309310913,0.240278109908104,10.9595403671265,0,0,1,0,1.17834627628326,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,0,0.0152699435129762,29,2,3.0 +7.48628997802734,0.24008384346962,11.0429220199585,0,1,0,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0362778529524803,29,2,3.0 +6.97671365737915,0.239933714270592,10.2219409942627,0,1,0,0,1.17834627628326,0.6931471824646,4.29045963287354,1.0986123085022,0,1,0,0,0,0,0,0,0.0495242066681385,29,0,3.0 +6.14959812164307,0.239679262042046,11.1198825836182,0,0,0,1,1.17834627628326,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0088211297988891,29,2,3.0 +6.88431406021118,0.239880457520485,11.1913414001465,0,0,0,1,1.17834627628326,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0171261727809906,29,2,3.0 +7.08054733276367,0.240347102284431,10.5320959091187,0,1,0,0,1.17834627628326,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0403081327676773,29,2,3.0 +7.97711420059204,0.24017246067524,11.4075651168823,0,1,0,0,1.17834627628326,0.6931471824646,3.40119743347168,1.7917594909668,0,0,1,0,0,0,0,0,0.0411604158580303,29,2,3.0 +6.60397291183472,0.239895179867744,11.2580327987671,0,1,0,0,1.17834627628326,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0121046528220177,29,2,3.0 +6.65162086486816,0.239448100328445,11.2580327987671,0,0,1,0,1.17834627628326,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0126897050067782,29,4,3.0 +8.64366149902344,0.240259736776352,10.2219409942627,1,0,0,0,1.17834627628326,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.262364745140076,29,2,3.0 +8.31218433380127,0.240104287862778,11.6952466964722,0,1,0,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0431549586355686,29,1,3.0 +6.00773954391479,0.239797160029411,10.0212707519531,1,0,0,0,1.17834627628326,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,0,0.0229661520570517,29,1,3.0 +6.75930070877075,0.239792659878731,10.0212707519531,0,1,0,0,1.17834627628326,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0486950911581516,29,1,3.0 +7.49411058425903,0.239947691559792,10.9595403671265,0,1,0,0,1.17834627628326,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0397366359829903,29,3,3.0 +8.47466850280762,0.24024173617363,10.9595403671265,0,1,0,0,1.17834627628326,0.6931471824646,3.29583692550659,1.60943794250488,0,0,0,0,0,0,0,0,0.105966739356518,29,2,3.0 +8.35136699676514,0.240110382437706,10.7684850692749,1,0,0,0,1.17834627628326,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.113380298018456,29,3,3.0 +7.00851011276245,0.240118160843849,10.5320959091187,0,1,0,0,1.17834627628326,0.6931471824646,3.76120018959045,1.7917594909668,0,0,0,1,0,0,0,0,0.0374979972839355,29,1,3.0 +6.86337518692017,0.239774942398071,11.0429220199585,0,1,0,0,1.17834627628326,0.6931471824646,3.85014748573303,1.0986123085022,1,0,0,0,0,0,0,0,0.0194526575505733,29,2,3.0 +7.52119493484497,0.240075781941414,10.5320959091187,1,0,0,0,1.17834627628326,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0626103058457375,29,2,3.0 +7.23755025863647,0.239944592118263,11.1913414001465,0,0,0,1,1.17834627628326,1.0986123085022,3.89182019233704,1.60943794250488,0,0,0,0,1,0,0,0,0.0243835430592299,29,2,3.0 +7.92995023727417,0.240294054150581,11.0429220199585,0,1,0,0,1.17834627628326,0.6931471824646,3.97029185295105,1.0986123085022,1,0,0,0,0,0,0,0,0.0565473027527332,29,2,3.0 +7.50475740432739,0.239930242300034,11.4075651168823,0,0,1,0,1.17834627628326,1.0986123085022,3.89182019233704,1.3862943649292,0,0,1,0,0,0,0,0,0.0256585758179426,29,2,3.0 +7.30023336410522,0.240048125386238,11.1198825836182,0,0,1,0,1.17834627628326,0.6931471824646,3.91202306747437,1.3862943649292,0,1,0,0,0,0,0,0,0.0278868097811937,29,2,3.0 +6.39128589630127,0.239666789770126,10.3889951705933,0,1,0,0,1.17834627628326,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0233293548226357,29,1,3.0 +7.48679304122925,0.23988775908947,10.5320959091187,1,0,0,0,1.17834627628326,1.0986123085022,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0604816414415836,29,3,3.0 +6.32755184173584,0.239957347512245,11.4075651168823,0,0,0,1,1.17834627628326,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0079066148027777,29,2,3.0 +7.34428739547729,0.240152955055237,11.6952466964722,0,1,0,0,1.17834627628326,1.0986123085022,3.95124363899231,1.60943794250488,0,0,1,0,0,0,0,0,0.0163945406675339,29,4,3.0 +7.43795919418335,0.24008010327816,11.6952466964722,0,1,0,0,1.17834627628326,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.0180031675845385,29,2,3.0 +4.97924995422363,0.238817021250725,10.7684850692749,0,1,0,0,1.17834627628326,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0038858333136886,29,1,3.0 +7.21953821182251,0.240262642502785,11.1198825836182,0,1,0,0,1.17834627628326,0.6931471824646,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.0257304031401873,29,2,3.0 +7.05716466903687,0.239908218383789,11.6952466964722,0,0,1,0,1.17834627628326,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0122997788712382,29,1,3.0 +7.72898435592651,0.239908397197723,10.2219409942627,0,0,1,0,1.17834627628326,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.105078406631947,29,3,3.0 +6.91122770309448,0.240097358822823,10.7684850692749,0,0,1,0,1.17834627628326,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,1,0,0,0,0.0268588550388813,29,2,3.0 +7.45914745330811,0.240077376365662,10.8685684204102,0,1,0,0,1.17834627628326,1.0986123085022,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0420311838388443,29,2,3.0 +6.46818447113037,0.239550366997719,10.6572589874268,0,1,0,0,1.17834627628326,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0192638635635376,29,2,3.0 +7.64039516448975,0.240091726183891,11.1198825836182,0,1,0,0,1.17834627628326,1.0986123085022,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0391875579953194,29,3,3.0 +6.48157072067261,0.240001231431961,10.6572589874268,1,0,0,0,1.17834627628326,1.0986123085022,3.82864141464233,1.7917594909668,0,0,1,0,0,0,0,0,0.0195322651416063,29,2,3.0 +7.93793249130249,0.239996924996376,11.4075651168823,0,1,0,0,1.17834627628326,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0395719110965729,29,2,3.0 +7.84008264541626,0.24017471075058,10.9595403671265,0,1,0,0,1.17834627628326,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.056175023317337,29,2,3.0 +6.93719530105591,0.244564324617386,11.4075651168823,1,0,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,1,0.0146135585382581,34,2,1.0 +7.06093502044678,0.244523152709007,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0124033465981483,34,1,1.0 +6.57968044281006,0.244494214653969,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,1,0.0076651396229863,34,2,1.0 +6.80516290664673,0.244511112570763,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,1,0.0096040237694978,34,1,1.0 +7.67197513580322,0.244591578841209,11.6952466964722,0,1,0,0,2.02722215652466,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,1,0.0228528343141079,34,2,1.0 +7.36537551879883,0.24456675350666,11.6952466964722,1,0,0,0,2.02722215652466,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0168180149048567,34,2,1.0 +4.92018508911133,0.2442507147789,9.76995658874512,0,0,1,0,2.02722215652466,0.6931471824646,4.04305124282837,1.0986123085022,0,0,0,0,1,0,0,1,0.009996498003602,34,1,1.0 +6.46803569793701,0.244460508227348,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,1,0.0068551781587302,34,1,1.0 +7.34542465209961,0.244551807641983,11.1198825836182,0,0,1,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,1,0.0293076615780592,34,2,1.0 +7.40009450912476,0.244551151990891,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.71357202529907,1.60943794250488,1,0,0,0,0,0,0,1,0.0174119044095278,34,4,1.0 +6.94018888473511,0.244771614670753,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,1,0.0109953107312322,34,2,1.0 +7.11882066726685,0.244533702731133,11.0429220199585,0,0,1,0,2.02722215652466,0.6931471824646,4.24849510192871,1.0986123085022,0,0,0,1,0,0,0,1,0.0252338889986277,34,1,1.0 +7.30400276184082,0.244552090764046,10.9595403671265,0,1,0,0,2.02722215652466,1.60943794250488,3.04452252388,1.94591009616852,0,0,1,0,0,0,0,1,0.0330086648464203,34,5,1.0 +7.5110912322998,0.244587659835815,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,1,0.0194566119462252,34,2,1.0 +7.24162435531616,0.244539588689804,11.1913414001465,1,0,0,0,2.02722215652466,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,1,0.0245958436280489,34,2,1.0 +6.6308445930481,0.244501873850822,11.2580327987671,0,0,0,1,2.02722215652466,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,0,1,0,1,0.0124917486682534,34,1,1.0 +7.755202293396,0.244766861200333,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.68887948989868,1.7917594909668,1,0,0,0,0,0,0,1,0.0331207402050495,34,1,1.0 +6.94327688217163,0.244534641504288,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,1,0.0352854393422604,34,2,1.0 +7.45902538299561,0.245462566614151,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,1,0.0184856746345758,34,2,1.0 +7.80072402954102,0.244555726647377,10.7684850692749,0,1,0,0,2.02722215652466,1.0986123085022,3.09104251861572,1.60943794250488,0,0,1,0,0,0,0,1,0.0656639635562897,34,3,1.0 +7.61432552337646,0.244224861264229,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,1,0.0287529621273279,34,2,1.0 +6.79347991943359,0.244509339332581,11.1198825836182,0,0,1,0,2.02722215652466,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,1,0.0168754793703556,34,2,1.0 +6.67916631698608,0.244502708315849,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0084670083597302,34,2,1.0 +7.33327341079712,0.244552373886108,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,1,0.0162864588201046,34,1,1.0 +6.38598823547363,0.244461908936501,10.9595403671265,0,0,1,0,2.02722215652466,1.0986123085022,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,1,0.0131795350462198,34,2,1.0 +7.61347627639771,0.244593903422356,11.6952466964722,0,0,1,0,2.02722215652466,1.3862943649292,2.94443893432617,1.7917594909668,0,0,0,1,0,0,0,1,0.0215543676167727,34,3,1.0 +7.2323145866394,0.244507849216461,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,1,0.0147218173369765,34,3,1.0 +6.251389503479,0.24453641474247,11.6952466964722,0,0,0,1,2.02722215652466,0.6931471824646,3.55534815788269,1.7917594909668,0,0,0,0,1,0,0,1,0.00552031211555,34,2,1.0 +7.35601377487183,0.244566649198532,11.0429220199585,0,0,1,0,2.02722215652466,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,1,0.0319897010922432,34,1,1.0 +7.28631734848022,0.244546964764595,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,1,0.0155393062159419,34,3,1.0 +7.02296352386475,0.244073107838631,11.2580327987671,1,0,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,1,0.0184812881052494,34,1,1.0 +7.42788887023926,0.244576916098595,10.7684850692749,0,1,0,0,2.02722215652466,0.6931471824646,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,1,0.0452288873493671,34,2,1.0 +6.87070608139038,0.244562074542046,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0102551123127341,34,2,1.0 +7.02277231216431,0.244552552700043,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,1,0.0159190315753222,34,2,1.0 +6.07065629959106,0.244512975215912,10.2219409942627,0,0,0,1,2.02722215652466,0.6931471824646,3.52636051177979,1.94591009616852,0,0,0,0,0,1,0,1,0.020105293020606,34,1,1.0 +7.54946088790894,0.244534358382225,11.6952466964722,0,0,0,1,2.02722215652466,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,1,0.0202165879309177,34,2,1.0 +6.89276647567749,0.24452343583107,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.78418970108032,1.0986123085022,1,0,0,0,0,0,0,1,0.0139779355376959,34,2,1.0 +7.32585191726685,0.244567304849625,11.0429220199585,0,1,0,0,2.02722215652466,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0310392528772354,34,1,1.0 +7.68303346633911,0.244575053453445,11.1198825836182,0,1,0,0,2.02722215652466,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,1,0.0410783290863037,34,3,1.0 +6.39833974838257,0.244551062583923,11.0429220199585,0,0,0,1,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,0,1,0,1,0.0122769586741924,34,2,1.0 +6.60099840164185,0.244571417570114,9.76995658874512,0,1,0,0,2.02722215652466,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,1,0.0536976270377636,34,2,1.0 +7.02034139633179,0.244541168212891,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0119101498275995,34,1,1.0 +7.26998901367188,0.244550406932831,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,1,0.0152876889333129,34,1,1.0 +7.8295693397522,0.244581028819084,11.6952466964722,0,1,0,0,2.02722215652466,1.3862943649292,4.00733327865601,1.3862943649292,0,0,0,0,0,0,0,1,0.0267533250153065,34,3,1.0 +7.63355731964111,0.244549855589867,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,1,0.0293208062648773,34,2,1.0 +7.5221643447876,0.244543507695198,10.8685684204102,0,1,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,1,0.0449654497206211,34,2,1.0 +7.76188564300537,0.244590178132057,11.6952466964722,1,0,0,0,2.02722215652466,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,1,0.025002708658576,34,2,1.0 +7.00162887573242,0.24454265832901,11.2580327987671,0,1,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,1,0.0180996730923653,34,1,1.0 +6.33624744415283,0.24440972507,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.94591009616852,0,0,0,1,0,0,0,1,0.0192270111292601,34,1,1.0 +7.31219148635864,0.244553297758102,11.6952466964722,0,0,0,1,2.02722215652466,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,1,0,0,1,0.0159467216581106,34,3,1.0 +8.0772762298584,0.244561418890953,11.6952466964722,0,0,1,0,2.02722215652466,1.3862943649292,2.99573230743408,1.60943794250488,0,0,0,0,1,0,0,1,0.0342725925147533,34,4,1.0 +8.99822425842285,0.244624525308609,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.114782460033894,34,2,1.0 +7.05504322052002,0.244530439376831,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.80666255950928,1.7917594909668,0,0,0,1,0,0,0,1,0.012330574914813,34,3,1.0 +6.86113262176514,0.244502708315849,11.2580327987671,1,0,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.0157266613095999,34,2,1.0 +7.02079200744629,0.244539394974709,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.55534815788269,1.60943794250488,0,0,1,0,0,0,0,1,0.0119154965505004,34,1,1.0 +7.11774253845215,0.244517177343369,10.2219409942627,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,1,0.0572870038449764,34,2,1.0 +6.98703384399414,0.244532957673073,11.1198825836182,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,1,0.0204798057675362,34,1,1.0 +7.97566366195679,0.244590923190117,11.4075651168823,0,1,0,0,2.02722215652466,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.0412827618420124,34,2,1.0 +7.03788375854492,0.244498878717422,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,1,0.0387853123247623,34,2,1.0 +6.64790344238281,0.2445138245821,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,1,0.0109419887885451,34,2,1.0 +6.88296508789062,0.244493380188942,10.7684850692749,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,1,0.0262254141271114,34,2,1.0 +6.73598718643188,0.244507744908333,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,0,0,1,0.0089620873332023,34,2,1.0 +6.3117208480835,0.244509145617485,10.3889951705933,0,0,1,0,2.02722215652466,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,1,0.0216496605426073,34,1,1.0 +7.71871089935303,0.244534537196159,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.97029185295105,1.3862943649292,0,0,0,0,1,0,0,1,0.0319264866411686,34,1,1.0 +7.22941398620605,0.244549199938774,11.2580327987671,0,1,0,0,2.02722215652466,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,1,0.022729991003871,34,2,1.0 +5.30694007873535,0.244416445493698,10.3889951705933,1,0,0,0,2.02722215652466,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0079257460311055,34,1,1.0 +6.93898820877075,0.244541078805923,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.0109795825555921,34,2,1.0 +7.28624963760376,0.244532763957977,11.2580327987671,0,1,0,0,2.02722215652466,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.0240588821470737,34,2,1.0 +8.74268531799316,0.244624719023705,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,1,0.0666741877794266,34,2,1.0 +6.99738216400146,0.244503647089005,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,1,0.0116393798962235,34,2,1.0 +6.69035387039185,0.244492620229721,11.1198825836182,0,1,0,0,2.02722215652466,0.6931471824646,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,1,0.0152216488495469,34,2,1.0 +7.35690641403198,0.244569167494774,10.6572589874268,0,0,1,0,2.02722215652466,0.6931471824646,4.02535152435303,1.3862943649292,0,0,0,0,1,0,0,1,0.0470858067274094,34,1,1.0 +6.1764702796936,0.244948923587799,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,1,0.0163966715335846,34,3,1.0 +8.46897411346436,0.244615197181702,10.9595403671265,0,0,1,0,2.02722215652466,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,1,0.105826884508133,34,2,1.0 +7.56852388381958,0.244570761919022,11.2580327987671,0,1,0,0,2.02722215652466,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,1,0.0319067239761353,34,2,1.0 +7.07605504989624,0.244561985135078,10.3889951705933,0,1,0,0,2.02722215652466,1.0986123085022,3.95124363899231,1.3862943649292,1,0,0,0,0,0,0,1,0.0464964844286442,34,2,1.0 +6.48190450668335,0.244892850518227,10.2219409942627,0,0,1,0,2.02722215652466,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,1,0.0303443744778633,34,3,1.0 +7.52303838729858,0.244566470384598,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,1,0.0196900442242622,34,2,1.0 +8.67523860931396,0.244607537984848,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0623244903981686,34,3,1.0 +6.59306812286377,0.244446977972984,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.0103574451059103,34,2,1.0 +6.49045467376709,0.244464993476868,11.1913414001465,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0116038052365184,34,1,1.0 +7.81245708465576,0.244618743658066,10.7684850692749,0,0,1,0,2.02722215652466,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,1,0.0664430931210518,34,2,1.0 +7.28437948226929,0.244540423154831,11.6952466964722,0,0,1,0,2.02722215652466,1.3862943649292,3.8712010383606,1.60943794250488,0,0,1,0,0,0,0,1,0.0155091192573309,34,4,1.0 +7.46235275268555,0.244547888636589,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.93182563781738,1.0986123085022,0,1,0,0,0,0,0,1,0.0185303334146738,34,2,1.0 +6.600510597229,0.244558349251747,10.9595403671265,0,0,1,0,2.02722215652466,1.0986123085022,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,1,0.0163345728069544,34,1,1.0 +6.66493940353394,0.244509801268578,10.8685684204102,0,0,1,0,2.02722215652466,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0190799087285995,34,2,1.0 +7.07799863815308,0.244570106267929,11.1198825836182,0,0,1,0,2.02722215652466,1.0986123085022,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,1,0.0224309358745813,34,3,1.0 +8.22657585144043,0.244613602757454,10.6572589874268,1,0,0,0,2.02722215652466,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,1,0.112357422709465,34,2,1.0 +7.13812589645386,0.244533702731133,10.6572589874268,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,1,0.037831999361515,34,2,1.0 +7.40839052200317,0.244527354836464,11.1913414001465,0,1,0,0,2.02722215652466,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,0,0,0,0,1,0.0290590859949589,34,2,1.0 +5.45537853240967,0.246041372418404,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0024941004812717,34,2,1.0 +6.57310914993286,0.244445577263832,10.6572589874268,1,0,0,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.021499952301383,34,1,1.0 +6.26660871505737,0.244492247700691,10.9595403671265,0,0,1,0,2.02722215652466,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,0,1,0,0,1,0.0116968061774969,34,1,1.0 +7.64004468917847,0.244577199220657,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,4.11087369918823,1.3862943649292,0,1,0,0,0,0,0,1,0.0221343412995338,34,2,1.0 +6.99110841751099,0.244552373886108,11.2580327987671,1,0,0,0,2.02722215652466,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0179104246199131,34,3,1.0 +5.99837923049927,0.244492724537849,9.76995658874512,0,0,1,0,2.02722215652466,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,0,1,0,1,0.0293904822319746,34,1,1.0 +6.98168897628784,0.244536593556404,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.49650764465332,1.0986123085022,0,0,1,0,0,0,0,1,0.0152780301868916,34,2,1.0 +6.73723077774048,0.244487121701241,10.9595403671265,0,1,0,0,2.02722215652466,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,1,0.0187263749539852,34,1,1.0 +7.25235366821289,0.244568794965744,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0150207234546542,34,2,1.0 +7.76871252059937,0.244593441486359,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,1,0.033565416932106,34,2,1.0 +7.73059558868408,0.244550690054893,11.6952466964722,0,0,1,0,2.02722215652466,1.3862943649292,3.91202306747437,1.60943794250488,0,0,1,0,0,0,0,1,0.024231530725956,34,4,1.0 +7.13456010818481,0.244599789381027,11.4075651168823,0,0,0,1,2.02722215652466,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,0,0,1,1,0.0178027022629976,34,2,1.0 +6.59189653396606,0.244491323828697,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.0077593293972313,34,1,1.0 +6.99697351455688,0.244544997811317,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,1,0.0116351032629609,34,2,1.0 +5.62469053268433,0.244449868798256,10.0212707519531,0,0,0,1,2.02722215652466,0.0,3.78418970108032,1.3862943649292,0,0,0,0,0,1,0,1,0.0157308671623468,34,1,1.0 +6.52453470230103,0.244736894965172,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,1,0.0072556450031697,34,2,1.0 +6.79567813873291,0.244583740830421,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.89182019233704,1.3862943649292,0,1,0,0,0,0,0,1,0.0095140533521771,34,1,1.0 +5.1852388381958,0.24438302218914,8.92265796661377,0,1,0,0,2.02722215652466,0.6931471824646,3.04452252388,1.3862943649292,0,0,0,1,0,0,0,1,0.030408401042223,34,2,1.0 +7.12633180618286,0.244542568922043,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,1,0.0176558028906584,34,2,1.0 +7.13968801498413,0.244562447071075,11.2580327987671,1,0,0,0,2.02722215652466,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,1,0.0207796171307564,34,2,1.0 +4.79173374176025,0.244268178939819,10.7684850692749,0,0,1,0,2.02722215652466,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,1,0.0032390251290053,34,2,1.0 +7.54381465911865,0.244585409760475,11.4075651168823,0,0,1,0,2.02722215652466,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0268050525337458,34,3,1.0 +7.59758806228638,0.244571417570114,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,1,0.0212141368538141,34,2,1.0 +6.56624460220337,0.244490295648575,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0075628142803907,34,2,1.0 +6.67102575302124,0.244508594274521,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0083984127268195,34,2,1.0 +6.94251298904419,0.244560956954956,10.7684850692749,0,0,0,1,2.02722215652466,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,1,0.0278363879770041,34,2,1.0 +7.65078783035278,0.244565904140472,11.4075651168823,0,1,0,0,2.02722215652466,1.0986123085022,4.07753753662109,1.3862943649292,0,1,0,0,0,0,0,1,0.0298308730125427,34,2,1.0 +7.5328426361084,0.244580835103989,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0198843255639076,34,2,1.0 +7.75600719451904,0.24459083378315,10.9595403671265,0,1,0,0,2.02722215652466,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.0518737696111202,34,2,1.0 +6.08773994445801,0.245097368955612,10.7684850692749,0,0,0,1,2.02722215652466,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,0,1,1,0.0118473879992962,34,2,1.0 +7.1741828918457,0.244582429528236,11.2580327987671,0,0,1,0,2.02722215652466,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,1,0.0215093418955803,34,1,1.0 +7.05047559738159,0.244550034403801,10.2219409942627,1,0,0,0,2.02722215652466,0.6931471824646,3.58351898193359,2.30258512496948,0,0,0,0,0,1,0,1,0.0535619854927063,34,1,1.0 +7.4959511756897,0.244585037231445,10.6572589874268,0,0,1,0,2.02722215652466,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,1,0.0541107058525085,34,1,1.0 +7.06413459777832,0.244546204805374,10.5320959091187,0,1,0,0,2.02722215652466,0.6931471824646,3.55534815788269,1.7917594909668,1,0,0,0,0,0,0,1,0.0398188270628452,34,2,1.0 +6.67982244491577,0.244521751999855,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.0084727276116609,34,1,1.0 +6.7433876991272,0.2444978505373,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0120380939915776,34,2,1.0 +7.40936422348022,0.244549855589867,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0175740346312523,34,2,1.0 +6.68216943740845,0.244506165385246,10.0212707519531,0,1,0,0,2.02722215652466,0.6931471824646,4.09434461593628,1.0986123085022,0,0,0,0,0,0,0,1,0.0452933460474014,34,2,1.0 +6.4677619934082,0.244486659765244,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,1,0.0068534831516444,34,1,1.0 +7.39084577560425,0.244579717516899,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,1,0.0172521006315947,34,2,1.0 +7.02179288864136,0.244518011808395,11.6952466964722,1,0,0,0,2.02722215652466,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,1,0.0119271697476506,34,2,1.0 +8.9678897857666,0.24462004005909,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,0,0,0,1,0.0835143178701401,34,2,1.0 +7.24698734283447,0.244562819600105,11.4075651168823,1,0,0,0,2.02722215652466,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,1,0.019920326769352,34,2,1.0 +7.57731914520264,0.244590640068054,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,1,0.0207888800650835,34,2,1.0 +6.8771390914917,0.244522497057915,11.4075651168823,1,0,0,0,2.02722215652466,0.6931471824646,4.00733327865601,1.0986123085022,0,0,0,1,0,0,0,1,0.0137611823156476,34,2,1.0 +7.11534643173218,0.24453604221344,10.0212707519531,0,0,1,0,2.02722215652466,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0698512047529221,34,1,1.0 +5.63501596450806,0.244452491402626,9.76995658874512,0,0,1,0,2.02722215652466,0.6931471824646,3.13549423217773,1.0986123085022,0,1,0,0,0,0,0,1,0.0204353742301464,34,1,1.0 +7.83937215805054,0.244531095027924,11.6952466964722,0,1,0,0,2.02722215652466,1.3862943649292,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,1,0.027015520259738,34,2,1.0 +6.78253555297852,0.244497954845428,11.2580327987671,0,0,1,0,2.02722215652466,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,1,0.0145378531888127,34,2,1.0 +7.30529451370239,0.244576543569565,10.5320959091187,0,0,1,0,2.02722215652466,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,1,0.050679937005043,34,1,1.0 +7.01009511947632,0.244544342160225,10.3889951705933,1,0,0,0,2.02722215652466,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,1,0.0435277707874775,34,1,1.0 +7.04006910324097,0.24454340338707,10.6572589874268,1,0,0,0,2.02722215652466,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,0,1,0,1,0.0342987366020679,34,1,1.0 +7.73832845687866,0.244555726647377,11.1913414001465,1,0,0,0,2.02722215652466,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,1,0.0404188968241215,34,2,1.0 +7.4299750328064,0.243881732225418,11.6952466964722,1,0,0,0,2.02722215652466,1.0986123085022,3.40119743347168,1.60943794250488,0,0,1,0,0,0,0,1,0.0179280247539282,34,1,1.0 +8.808349609375,0.244623407721519,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.0711991786956787,34,2,1.0 +7.18170547485352,0.244551435112953,11.1913414001465,0,0,1,0,2.02722215652466,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,1,0.0231656450778246,34,2,1.0 +6.21163558959961,0.244660466909409,11.4075651168823,0,1,0,0,2.02722215652466,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0070744259282946,34,2,1.0 +7.57831859588623,0.244550779461861,11.4075651168823,0,0,1,0,2.02722215652466,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0277451165020466,34,2,1.0 +7.6251859664917,0.244586169719696,11.6952466964722,0,1,0,0,2.02722215652466,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,1,0.021808072924614,34,1,1.0 +6.83497953414917,0.244986161589622,10.6572589874268,0,1,0,0,2.02722215652466,0.6931471824646,3.76120018959045,1.7917594909668,0,0,0,1,0,0,0,1,0.0279512479901314,34,1,1.0 +6.9923677444458,0.244600728154182,11.6952466964722,0,0,1,0,2.02722215652466,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0115822851657867,34,3,1.0 +7.55770206451416,0.244549855589867,11.6952466964722,0,0,1,0,2.02722215652466,0.6931471824646,3.63758611679077,1.94591009616852,0,0,0,0,1,0,0,1,0.0203841980546713,34,1,1.0 +7.15752983093262,0.244747072458267,10.6572589874268,0,1,0,0,2.02722215652466,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,1,0.0385815054178238,34,1,1.0 +7.03393936157227,0.297708809375763,10.8685684204102,0,1,0,0,2.13327050209045,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0291028209030628,36,2,1.0 +6.92350721359253,0.297712802886963,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.0986123085022,0,1,0,0,0,0,0,1,0.0288033112883568,36,1,1.0 +8.30099582672119,0.297779619693756,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,1,0.0452084206044674,36,2,1.0 +6.93219804763794,0.297713696956635,10.5320959091187,1,0,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0368026904761791,36,2,1.0 +7.6649603843689,0.2977594435215,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0459499694406986,36,2,1.0 +6.97873973846436,0.297763884067535,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.7917594909668,0,0,1,0,0,0,0,0,0.0160658173263073,36,2,1.0 +7.90801525115967,0.297782987356186,11.4075651168823,0,0,0,1,2.13327050209045,0.0,3.40119743347168,1.0986123085022,0,0,0,0,0,0,1,1,0.0406902581453323,36,1,1.0 +7.33223915100098,0.297738373279572,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0265677943825722,36,1,1.0 +7.28547334671021,0.297707676887512,10.8685684204102,1,0,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,1,0.0374260805547237,36,3,1.0 +7.04079675674438,0.297707766294479,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,0,1,1,0.0128200780600309,36,2,1.0 +7.92949533462524,0.297745823860168,10.9595403671265,0,1,0,0,2.13327050209045,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0650695264339447,36,2,1.0 +8.05711364746094,0.29777193069458,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,0,0.0548503138124943,36,2,1.0 +7.0483226776123,0.297720581293106,10.8685684204102,0,1,0,0,2.13327050209045,1.0986123085022,2.94443893432617,1.3862943649292,0,1,0,0,0,0,0,0,0.0295247826725245,36,3,1.0 +6.95772647857666,0.297710835933685,9.43348407745361,1,0,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,0,0,1,0,0,0.113262578845024,36,2,1.0 +6.80132341384888,0.297708362340927,10.3889951705933,0,0,1,0,2.13327050209045,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,1,0,0,0,0,0.0372552126646042,36,2,1.0 +7.28840684890747,0.297732800245285,10.3889951705933,1,0,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0606366619467735,36,2,1.0 +6.36273908615112,0.297706425189972,11.4075651168823,0,0,0,1,2.13327050209045,0.6931471824646,3.97029185295105,1.3862943649292,0,0,0,0,0,1,0,1,0.0086766527965664,36,2,1.0 +6.65049409866333,0.297684282064438,10.9595403671265,0,0,0,1,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,1,0,0,0.0181087143719196,36,2,1.0 +6.20826768875122,0.297653943300247,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0055757667869329,36,1,1.0 +7.39485359191895,0.297729343175888,11.4075651168823,0,0,1,0,2.13327050209045,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0243558771908283,36,3,1.0 +7.35876750946045,0.297743767499924,11.6952466964722,0,0,1,0,2.13327050209045,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0176197364926338,36,2,1.0 +7.28988218307495,0.297701478004456,10.5320959091187,0,0,1,0,2.13327050209045,1.0986123085022,3.93182563781738,1.3862943649292,0,0,0,0,0,1,0,1,0.0526276975870132,36,2,1.0 +7.92686653137207,0.297765374183655,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0597079619765282,36,2,1.0 +7.76750755310059,0.297748208045959,11.1913414001465,0,1,0,0,2.13327050209045,1.0986123085022,3.89182019233704,1.3862943649292,0,0,1,0,0,0,0,0,0.0438892431557178,36,3,1.0 +7.23188924789429,0.297897785902023,11.6952466964722,1,0,0,0,2.13327050209045,1.0986123085022,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,1,0.0155225694179535,36,3,1.0 +7.67279052734375,0.297751307487488,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.60943794250488,0,1,0,0,0,0,0,1,0.0241202060133219,36,3,1.0 +7.59588623046875,0.298408269882202,10.7684850692749,1,0,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,0,0,1,1,0.0564618296921253,36,1,1.0 +4.96314239501953,0.297521859407425,11.4075651168823,0,0,0,1,2.13327050209045,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,0,0,1,1,0.0021401043049991,36,2,1.0 +7.27324914932251,0.29771900177002,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.016175152733922,36,2,1.0 +7.44034147262573,0.297749787569046,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.0986123085022,0,1,0,0,0,0,0,0,0.0296011511236429,36,1,1.0 +6.79683351516724,0.297657459974289,10.9595403671265,0,0,0,1,2.13327050209045,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0209618881344795,36,2,1.0 +6.25090217590332,0.2976955473423,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,0,0,1,1,0.0058188703842461,36,2,1.0 +6.84235620498657,0.297692984342575,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,0,1,0,1,0.0201838426291943,36,1,1.0 +7.58685207366943,0.297745734453201,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,1,0.0295117422938347,36,2,1.0 +5.73914909362793,0.297988474369049,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,1,0.0034891066607087,36,1,1.0 +7.28218412399292,0.297725558280945,10.8685684204102,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,0,0.0373038463294506,36,1,1.0 +5.50180625915527,0.297681212425232,11.1913414001465,0,0,0,1,2.13327050209045,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,0,0,1,1,0.0045535224489867,36,2,1.0 +7.65578269958496,0.297743946313858,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,1,0.0237132776528597,36,1,1.0 +7.49579620361328,0.297752887010574,11.4075651168823,0,1,0,0,2.13327050209045,1.3862943649292,4.29045963287354,1.60943794250488,0,1,0,0,0,0,0,0,0.0269434247165918,36,3,1.0 +6.61291837692261,0.297686517238617,9.76995658874512,0,1,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,0,0.0573059357702732,36,1,1.0 +7.06234216690063,0.297719866037369,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,1,0.0130994478240609,36,3,1.0 +6.7284631729126,0.297678351402283,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,4.04305124282837,1.0986123085022,0,0,0,0,0,0,0,1,0.0093806553632021,36,1,1.0 +7.03251171112061,0.297718644142151,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.0127144437283278,36,2,1.0 +7.32089805603027,0.29773423075676,10.9595403671265,0,1,0,0,2.13327050209045,0.6931471824646,4.17438745498657,1.94591009616852,0,0,0,1,0,0,0,1,0.0354047976434231,36,0,1.0 +4.84070253372192,0.297486960887909,11.2580327987671,1,0,0,0,2.13327050209045,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,1,0.0021987992804497,36,2,1.0 +6.05349397659302,0.297643393278122,10.6572589874268,1,0,0,0,2.13327050209045,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0134857473894954,36,2,1.0 +5.74561643600464,0.297651022672653,10.9595403671265,0,0,0,1,2.13327050209045,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,0,0,1,1,0.0073263859376311,36,2,1.0 +7.24399709701538,0.297699779272079,11.4075651168823,1,0,0,0,2.13327050209045,1.0986123085022,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,1,0.02094473131001,36,3,1.0 +7.42914962768555,0.29774934053421,10.3889951705933,0,1,0,0,2.13327050209045,1.0986123085022,3.93182563781738,1.60943794250488,0,0,0,1,0,0,0,0,0.0698017403483391,36,2,1.0 +6.75349521636963,0.297669351100922,11.4075651168823,0,0,0,1,2.13327050209045,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,1,0.01282446552068,36,2,1.0 +7.01990795135498,0.297712355852127,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0125551195815206,36,2,1.0 +6.20401525497437,0.297662436962128,10.6572589874268,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,0,0.0156766697764397,36,2,1.0 +6.77416467666626,0.297704130411148,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0248073227703571,36,2,1.0 +7.57234048843384,0.297733157873154,11.6952466964722,0,1,0,0,2.13327050209045,1.0986123085022,3.7376697063446,1.60943794250488,1,0,0,0,0,0,0,0,0.0218146573752165,36,2,1.0 +6.50298547744751,0.29765659570694,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,0,0,1,1,0.0074868663214147,36,2,1.0 +7.33259773254395,0.297740489244461,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,1,0.0265773739665747,36,2,1.0 +7.12466955184937,0.297724932432175,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,1,0.0215875487774611,36,2,1.0 +7.23999357223511,0.297739177942276,11.1198825836182,1,0,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0278158243745565,36,1,1.0 +7.23435306549072,0.297720044851303,11.1913414001465,0,0,0,1,2.13327050209045,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,1,0.0257513374090195,36,1,1.0 +7.53738689422607,0.297755718231201,11.6952466964722,0,1,0,0,2.13327050209045,1.0986123085022,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0210657957941294,36,3,1.0 +7.3759503364563,0.29774934053421,11.0429220199585,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0344164036214352,36,1,1.0 +4.99370050430298,0.297474563121796,10.0212707519531,1,0,0,0,2.13327050209045,0.0,3.33220458030701,1.7917594909668,0,0,0,0,1,0,0,0,0.0088256262242794,36,2,1.0 +7.38885164260864,0.297752261161804,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0300546456128359,36,2,1.0 +7.03283071517944,0.297725975513458,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0169581267982721,36,2,1.0 +7.33029508590698,0.297747939825058,10.6572589874268,0,1,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0483535267412663,36,2,1.0 +6.73029661178589,0.297695904970169,10.6572589874268,0,0,0,1,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0265356283634901,36,2,1.0 +5.36043357849121,0.297653406858444,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,4.04305124282837,1.0986123085022,0,0,0,0,0,0,1,1,0.0023883318062871,36,2,1.0 +6.82533597946167,0.297676503658295,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.0160023365169764,36,2,1.0 +6.70029306411743,0.29770827293396,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0121604846790433,36,2,1.0 +7.42704248428345,0.297744572162628,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.58351898193359,1.7917594909668,1,0,0,0,0,0,0,1,0.0188647527247667,36,1,1.0 +7.10741853713989,0.297687649726868,11.6952466964722,0,1,0,0,2.13327050209045,1.0986123085022,3.55534815788269,1.7917594909668,0,0,1,0,0,0,0,1,0.0137029942125082,36,2,1.0 +6.4426965713501,0.297670483589172,10.0212707519531,0,1,0,0,2.13327050209045,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0375942774116993,36,1,1.0 +7.15632915496826,0.297724932432175,10.8685684204102,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.7917594909668,0,1,0,0,0,0,0,0,0.0328923761844635,36,2,1.0 +6.87372970581055,0.297720581293106,10.5320959091187,0,1,0,0,2.13327050209045,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0347128324210644,36,2,1.0 +6.86194705963135,0.297664284706116,10.6572589874268,0,0,0,1,2.13327050209045,1.0986123085022,3.85014748573303,1.60943794250488,0,0,0,0,0,1,0,0,0.0302684865891933,36,3,1.0 +7.56064367294312,0.297751754522324,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,1,0.0215613804757595,36,2,1.0 +6.63761186599731,0.297699153423309,10.3889951705933,0,1,0,0,2.13327050209045,0.6931471824646,3.71357202529907,1.7917594909668,0,1,0,0,0,0,0,0,0.0316288955509663,36,1,1.0 +6.60532999038696,0.2976955473423,10.8685684204102,0,0,1,0,2.13327050209045,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0189577434211969,36,2,1.0 +7.76137542724609,0.297750949859619,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.026354381814599,36,2,1.0 +6.65197420120239,0.298132449388504,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.0086938422173261,36,2,1.0 +6.98234081268311,0.297738373279572,10.8685684204102,0,1,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.0986123085022,0,1,0,0,0,0,0,1,0.0276400595903397,36,1,1.0 +6.742356300354,0.2976955473423,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.009512054733932,36,3,1.0 +6.64215993881226,0.297662615776062,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,1,0.0114731872454286,36,2,1.0 +7.54520034790039,0.297825485467911,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0212325267493725,36,2,1.0 +7.75064706802368,0.297750949859619,11.1198825836182,1,0,0,0,2.13327050209045,1.0986123085022,3.93182563781738,1.3862943649292,0,0,1,0,0,0,0,0,0.0463522784411907,36,3,1.0 +5.29988479614258,0.297594279050827,9.43348407745361,0,0,0,1,2.13327050209045,0.0,3.58351898193359,1.0986123085022,0,0,0,0,0,0,1,1,0.0215796437114477,36,1,1.0 +7.75799036026001,0.297756254673004,10.9595403671265,0,1,0,0,2.13327050209045,1.0986123085022,3.61091780662537,1.7917594909668,1,0,0,0,0,0,0,1,0.0548148714005947,36,3,1.0 +7.14098453521729,0.29769766330719,11.1913414001465,0,0,1,0,2.13327050209045,1.0986123085022,3.85014748573303,1.60943794250488,0,1,0,0,0,0,0,0,0.0234552752226591,36,3,1.0 +6.42198514938354,0.297704309225082,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,0,1,1,0.0069046672433614,36,2,1.0 +7.31435871124268,0.297735452651978,11.1198825836182,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0299631021916866,36,2,1.0 +5.65717458724976,0.297642081975937,11.1913414001465,1,0,0,0,2.13327050209045,0.0,3.36729574203491,1.7917594909668,0,0,1,0,0,0,0,1,0.0053187063895165,36,2,1.0 +7.2640438079834,0.297735095024109,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.0213695988059044,36,2,1.0 +7.43292236328125,0.297737240791321,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0189758632332087,36,1,1.0 +6.78265523910522,0.297704666852951,10.8685684204102,0,0,0,1,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,1,0,1,0.0226361192762852,36,2,1.0 +8.02339553833008,0.297737658023834,11.4075651168823,0,0,1,0,2.13327050209045,1.0986123085022,4.07753753662109,1.60943794250488,0,0,0,1,0,0,0,1,0.0456645935773849,36,3,1.0 +6.93302059173584,0.297753065824509,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,0,0,0,0,0.0153476744890213,36,2,1.0 +7.0938777923584,0.297720223665237,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,1,0.0135191353037953,36,2,1.0 +7.05393743515015,0.297724485397339,11.2580327987671,0,0,0,1,2.13327050209045,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,0,0,1,1,0.0201133564114571,36,1,1.0 +7.09873294830322,0.297745645046234,10.6572589874268,1,0,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0383584424853325,36,2,1.0 +7.57691097259521,0.297732353210449,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0339322425425053,36,2,1.0 +8.63789844512939,0.297733068466187,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.0986123085022,0,0,1,0,0,0,0,0,0.121566981077194,36,3,1.0 +6.70742130279541,0.297697395086288,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,1,0.0142227197065949,36,2,1.0 +7.20299339294434,0.297725975513458,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0150778638198972,36,2,1.0 +5.5055513381958,0.300073266029358,11.0429220199585,1,0,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,1,0.0053146025165915,36,2,1.0 +6.63999843597412,0.297687739133835,10.6572589874268,1,0,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0242443159222603,36,1,1.0 +6.29211711883545,0.297720491886139,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,0,0,1,1,0.0060638557188212,36,2,1.0 +8.75946807861328,0.297778487205505,10.9595403671265,0,0,1,0,2.13327050209045,1.60943794250488,4.33073329925537,1.94591009616852,0,0,0,0,1,0,0,1,0.149226009845734,36,5,1.0 +8.0681037902832,0.297727584838867,11.4075651168823,0,1,0,0,2.13327050209045,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0477520264685154,36,4,1.0 +8.16968536376953,0.297754138708115,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.93182563781738,1.0986123085022,1,0,0,0,0,0,0,0,0.0528591014444828,36,2,1.0 +7.81781768798828,0.297568142414093,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,1,0.037172757089138,36,2,1.0 +6.6641845703125,0.297730326652527,10.9595403671265,0,1,0,0,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.018359187990427,36,2,1.0 +6.90873193740845,0.297725707292557,10.2219409942627,0,1,0,0,2.13327050209045,0.6931471824646,3.66356158256531,1.0986123085022,0,1,0,0,0,0,0,0,0.0490221157670021,36,2,1.0 +7.19033527374268,0.297694653272629,10.2219409942627,1,0,0,0,2.13327050209045,0.6931471824646,4.09434461593628,1.3862943649292,0,0,0,1,0,0,0,0,0.0649647042155266,36,1,1.0 +6.52733325958252,0.297677844762802,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.0076715545728802,36,2,1.0 +7.08891439437866,0.297723680734634,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,1,0.0222657881677151,36,2,1.0 +6.45712518692017,0.297700762748718,10.6572589874268,0,1,0,0,2.13327050209045,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,0,0.0201927162706852,36,2,1.0 +7.60997724533081,0.297752797603607,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0350737161934376,36,2,1.0 +7.53978109359741,0.297777146100998,10.3889951705933,0,0,0,1,2.13327050209045,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,0,1,0,0,0,0.0779695138335228,36,2,1.0 +6.8122410774231,0.297704041004181,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.0136008942499757,36,1,1.0 +7.43190002441406,0.297900348901749,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.97029185295105,1.3862943649292,1,0,0,0,0,0,0,1,0.0252794250845909,36,2,1.0 +7.58925867080688,0.297711730003357,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.034353107213974,36,2,1.0 +7.19493722915649,0.297749608755112,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.0986123085022,0,1,0,0,0,0,0,0,0.0199429765343666,36,2,1.0 +6.51300430297852,0.297681450843811,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0075624412856996,36,2,1.0 +7.53904867172241,0.297719269990921,11.0429220199585,0,1,0,0,2.13327050209045,1.0986123085022,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0405121259391308,36,2,1.0 +6.25353384017944,0.29763463139534,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0121749844402075,36,2,1.0 +7.16237258911133,0.297733515501022,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,1,0.0144777726382017,36,2,1.0 +5.61608743667603,0.297644466161728,10.3889951705933,1,0,0,0,2.13327050209045,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0113872196525335,36,1,1.0 +6.36955070495605,0.29771676659584,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0136738102883101,36,2,1.0 +7.16306495666504,0.297717750072479,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0144875720143318,36,1,1.0 +7.33731985092163,0.297729969024658,11.4075651168823,0,1,0,0,2.13327050209045,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0229941569268703,36,3,1.0 +7.28536319732666,0.29773023724556,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.33220458030701,1.3862943649292,0,0,1,0,0,0,0,1,0.0163724794983864,36,1,1.0 +7.69662523269653,0.297747939825058,11.0429220199585,0,1,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0474277138710022,36,2,1.0 +7.41435623168945,0.297732263803482,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,1,0.0248356219381094,36,1,1.0 +6.78434085845947,0.297745823860168,11.6952466964722,0,0,0,1,2.13327050209045,0.0,4.14313459396362,0.0,0,0,0,0,0,0,1,1,0.0099204145371913,36,1,1.0 +7.48673868179321,0.297728210687637,11.0429220199585,0,1,0,0,2.13327050209045,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,0,0.0384477525949478,36,2,1.0 +7.16028022766113,0.297737240791321,10.7684850692749,1,0,0,0,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.036499097943306,36,2,1.0 +7.03328466415405,0.297761023044586,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.89182019233704,1.3862943649292,0,0,0,0,0,0,1,1,0.0127248130738735,36,2,1.0 +7.66354894638062,0.297753065824509,10.3889951705933,0,0,1,0,2.13327050209045,0.6931471824646,3.80666255950928,1.60943794250488,0,0,1,0,0,0,0,0,0.0882401391863823,36,3,1.0 +6.7700834274292,0.297866344451904,10.2219409942627,1,0,0,0,2.13327050209045,0.6931471824646,4.17438745498657,1.3862943649292,0,0,0,0,1,0,0,0,0.0426814220845699,36,1,1.0 +7.66877269744873,0.297762632369995,11.2580327987671,0,0,1,0,2.13327050209045,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0371980927884579,36,2,1.0 +7.47540903091431,0.297735273838043,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0197994168847799,36,2,1.0 +8.37916660308838,0.297774314880371,11.0429220199585,0,0,1,0,2.13327050209045,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,1,0.0938571766018867,36,2,1.0 +7.46431684494019,0.29771962761879,11.4075651168823,0,1,0,0,2.13327050209045,1.0986123085022,3.82864141464233,1.60943794250488,1,0,0,0,0,0,0,1,0.0261076055467129,36,2,1.0 +6.79849910736084,0.297722965478897,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.68887948989868,1.0986123085022,0,0,1,0,0,0,0,1,0.0100616430863738,36,2,1.0 +7.018310546875,0.297712624073029,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,1,0.0167134460061789,36,2,1.0 +6.85563278198242,0.297707915306091,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.01649509370327,36,2,1.0 +7.55658674240112,0.297745376825333,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0542499721050262,36,2,1.0 +7.12205743789673,0.297730326652527,10.8685684204102,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.031784363090992,36,2,1.0 +7.2627739906311,0.297726601362228,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,0,0.0404380299150944,36,2,1.0 +6.72825050354004,0.297699779272079,10.7684850692749,1,0,0,0,2.13327050209045,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,1,0.0236939750611782,36,0,1.0 +7.92396306991577,0.297957956790924,10.9595403671265,1,0,0,0,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,1,0.0647242516279221,36,2,1.0 +7.03358507156372,0.297714561223984,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0265628751367331,36,1,1.0 +7.13135433197021,0.297732979059219,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,1,0.0140355788171291,36,2,1.0 +7.02142667770386,0.297717839479446,10.5320959091187,0,1,0,0,2.13327050209045,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0402376651763916,36,1,1.0 +6.81100797653198,0.297702878713608,10.7684850692749,0,0,0,1,2.13327050209045,0.6931471824646,4.02535152435303,1.3862943649292,0,0,0,0,0,0,1,1,0.0257383231073618,36,2,1.0 +6.09598255157471,0.297694206237793,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,1,0.004983760882169,36,2,1.0 +7.25005102157593,0.297722458839417,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.015804298222065,36,2,1.0 +7.15732097625732,0.297698199748993,11.2580327987671,0,0,1,0,2.13327050209045,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0223034508526325,36,2,1.0 +7.68429136276245,0.297712981700897,11.6952466964722,0,0,1,0,2.13327050209045,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,1,0.0243982747197151,36,3,1.0 +7.48308849334717,0.297747939825058,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0266030672937632,36,2,1.0 +8.03709602355957,0.297732442617416,11.1198825836182,0,1,0,0,2.13327050209045,1.0986123085022,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.061725739389658,36,2,1.0 +7.05388069152832,0.297735810279846,11.0429220199585,0,1,0,0,2.13327050209045,1.0986123085022,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0249394215643406,36,1,1.0 +6.56880903244019,0.297730952501297,11.1198825836182,0,0,0,1,2.13327050209045,1.0986123085022,3.80666255950928,2.19722461700439,0,0,0,0,0,0,1,1,0.014216628856957,36,2,1.0 +7.28094434738159,0.297749012708664,10.6572589874268,0,1,0,0,2.13327050209045,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0460252165794373,36,2,1.0 +5.22909355163574,0.297570735216141,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,1,0.0020942015107721,36,1,1.0 +4.88026332855225,0.297496885061264,9.76995658874512,0,0,0,1,2.13327050209045,0.0,3.76120018959045,1.3862943649292,0,0,0,0,0,0,1,1,0.0101305898278952,36,2,1.0 +7.03328037261963,0.297724664211273,10.8685684204102,1,0,0,0,2.13327050209045,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,1,0.0290841069072485,36,1,1.0 +6.53757238388062,0.297680854797363,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0103340409696102,36,2,1.0 +7.62654447555542,0.297749698162079,11.1198825836182,1,0,0,0,2.13327050209045,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,1,0.0409424230456352,36,2,1.0 +6.76829195022583,0.297689884901047,11.1198825836182,0,0,1,0,2.13327050209045,0.6931471824646,3.8712010383606,1.60943794250488,0,0,1,0,0,0,0,0,0.0173545386642218,36,1,1.0 +7.2311372756958,0.297699153423309,11.6952466964722,1,0,0,0,2.13327050209045,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,1,0.0155078256502748,36,4,1.0 +7.58989953994751,0.297740668058395,11.4075651168823,0,0,1,0,2.13327050209045,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0296016614884138,36,2,1.0 +7.27406406402588,0.297730594873428,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0337847508490086,36,2,1.0 +6.66163396835327,0.297735184431076,10.7684850692749,1,0,0,0,2.13327050209045,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,1,0.0221677664667368,36,2,1.0 +6.53720855712891,0.297723770141602,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0077480468899011,36,2,1.0 +7.19787359237671,0.297738373279572,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0200014021247625,36,2,1.0 +8.03571033477783,0.297758728265762,10.9595403671265,0,1,0,0,2.13327050209045,1.60943794250488,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.0723622068762779,36,3,1.0 +7.05242252349854,0.297999620437622,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,1,0.0129737807437778,36,1,1.0 +6.46729278564453,0.297919631004333,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,0,1,0,1,0.00722625432536,36,2,1.0 +6.43399333953857,0.297699600458145,10.3889951705933,0,0,0,1,2.13327050209045,0.0,3.76120018959045,1.3862943649292,0,0,0,0,0,0,1,1,0.0258020237088203,36,2,1.0 +7.31294393539429,0.297734409570694,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0168303940445185,36,2,1.0 +5.7002534866333,0.29766109585762,10.0212707519531,0,0,0,1,2.13327050209045,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,0,0,1,1,0.0178928170353174,36,0,1.0 +6.53960990905762,0.297669857740402,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,1,0.01035500690341,36,2,1.0 +7.59878349304199,0.297740161418915,10.9595403671265,0,1,0,0,2.13327050209045,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0467464774847031,36,1,1.0 +7.31950616836548,0.297755360603333,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,1,0.0225887447595596,36,2,1.0 +7.10112953186035,0.297733157873154,11.4075651168823,1,0,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.7917594909668,0,0,1,0,0,0,0,1,0.0181569438427687,36,1,1.0 +6.75523900985718,0.29769641160965,10.9595403671265,0,1,0,0,2.13327050209045,1.0986123085022,3.93182563781738,1.3862943649292,1,0,0,0,0,0,0,0,0.0201086532324553,36,3,1.0 +5.9320330619812,0.297675013542175,10.5320959091187,0,0,0,1,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,0,0,1,1,0.0135361952707171,36,2,1.0 +7.15061283111572,0.297737240791321,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0143085643649101,36,2,1.0 +7.08566379547119,0.297729879617691,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,1,0.0279833264648914,36,1,1.0 +7.39625358581543,0.297706872224808,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0243894495069981,36,2,1.0 +6.84406805038452,0.298063695430756,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.010534337721765,36,2,1.0 +6.38405418395996,0.297725021839142,11.6952466964722,0,0,0,1,2.13327050209045,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,0,1,0,1,0.0066478103399276,36,2,1.0 +6.82580757141113,0.297714203596115,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.010340103879571,36,1,1.0 +6.53334283828735,0.298042446374893,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0077206110581755,36,2,1.0 +8.89392280578613,0.297785460948944,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,1,0.13538484275341,36,2,1.0 +6.19698047637939,0.29763463139534,10.7684850692749,0,0,0,1,2.13327050209045,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,0,1,0,0,0.0139277782291174,36,2,1.0 +8.59693241119385,0.297771036624908,10.3889951705933,0,1,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.60943794250488,1,0,0,0,0,0,0,0,0.224407523870468,36,1,1.0 +7.11741161346436,0.297729164361954,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,1,0,0,0,0,0.0138411931693554,36,2,1.0 +6.79913139343262,0.297700047492981,11.1198825836182,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0178982689976692,36,2,1.0 +7.65301275253296,0.297762632369995,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0366164445877075,36,2,1.0 +6.73989820480347,0.297685265541077,10.6572589874268,0,1,0,0,2.13327050209045,0.6931471824646,3.29583692550659,1.0986123085022,0,1,0,0,0,0,0,0,0.0267913527786732,36,2,1.0 +7.86209106445312,0.297743499279022,11.4075651168823,0,0,1,0,2.13327050209045,1.0986123085022,3.78418970108032,1.7917594909668,0,0,0,0,1,0,0,1,0.0388623140752316,36,3,1.0 +7.36715936660767,0.297722697257996,10.9595403671265,0,0,0,1,2.13327050209045,1.3862943649292,4.02535152435303,1.60943794250488,0,0,0,0,1,0,0,1,0.0370807237923145,36,3,1.0 +7.07492208480835,0.297735452651978,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,1,0.0132654886692762,36,2,1.0 +5.93508672714233,0.297621190547943,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,1,0.0070225140079855,36,2,1.0 +7.87683773040771,0.297727763652802,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0295792743563652,36,2,1.0 +7.13975143432617,0.297738641500473,10.9595403671265,0,0,1,0,2.13327050209045,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,0,1,0,1,0.0295388102531433,36,2,1.0 +7.62176084518433,0.297760516405106,9.76995658874512,0,0,0,1,2.13327050209045,1.0986123085022,3.98898410797119,1.3862943649292,0,0,0,0,0,1,0,0,0.157168850302696,36,2,1.0 +7.33875226974487,0.297729343175888,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,1,0.0230271089822054,36,1,1.0 +7.78719568252563,0.297755897045135,11.1198825836182,0,1,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0480779632925987,36,2,1.0 +6.70761585235596,0.297638356685638,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,1,0.0232086386531591,36,1,1.0 +7.37052869796753,0.297695189714432,11.4075651168823,0,0,1,0,2.13327050209045,1.3862943649292,4.23410654067993,1.60943794250488,0,0,0,1,0,0,0,1,0.0237697642296553,36,2,1.0 +6.93082284927368,0.297716081142426,11.1913414001465,0,0,1,0,2.13327050209045,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0190097596496344,36,1,1.0 +7.79002237319946,0.297732442617416,11.6952466964722,0,1,0,0,2.13327050209045,1.3862943649292,4.12713432312012,1.60943794250488,1,0,0,0,0,0,0,0,0.0271197780966759,36,4,1.0 +4.75025320053101,0.297507256269455,11.4075651168823,0,0,1,0,2.13327050209045,0.0,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,1,0.0017297046724706,36,2,1.0 +7.67981243133545,0.297753781080246,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,1,0.0242902375757694,36,2,1.0 +7.0610990524292,0.297885209321976,10.3889951705933,0,0,0,1,2.13327050209045,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0483151078224182,36,2,1.0 +7.36111307144165,0.297743320465088,10.3889951705933,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.7917594909668,1,0,0,0,0,0,0,1,0.0652102157473564,36,2,1.0 +5.83218860626221,0.297682970762253,11.4075651168823,0,0,0,1,2.13327050209045,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,0,0,1,1,0.0051041897386312,36,2,1.0 +6.91833543777466,0.297601878643036,10.2219409942627,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.7917594909668,1,0,0,0,0,0,0,0,0.0494890473783016,36,2,1.0 +6.95193910598755,0.297756522893906,10.8685684204102,0,0,1,0,2.13327050209045,0.0,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.026812881231308,36,1,1.0 +7.71281290054321,0.297754496335983,11.1913414001465,0,1,0,0,2.13327050209045,1.0986123085022,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0415534526109695,36,3,1.0 +7.5501012802124,0.297751754522324,11.4075651168823,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0284470152109861,36,2,1.0 +7.7323579788208,0.29770827293396,11.1198825836182,0,0,0,1,2.13327050209045,1.3862943649292,4.14313459396362,1.7917594909668,0,0,0,0,0,1,0,1,0.0455103032290936,36,3,1.0 +7.67665767669678,0.297745287418365,10.7684850692749,0,1,0,0,2.13327050209045,0.6931471824646,3.7376697063446,1.60943794250488,0,0,1,0,0,0,0,0,0.0611710026860237,36,2,1.0 +6.89318037033081,0.297712177038193,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,1,0.0110607258975506,36,2,1.0 +7.55051422119141,0.297737151384354,11.6952466964722,1,0,0,0,2.13327050209045,0.6931471824646,3.78418970108032,1.7917594909668,0,0,1,0,0,0,0,0,0.0213437620550394,36,3,1.0 +6.30574941635132,0.297723144292831,10.6572589874268,0,1,0,0,2.13327050209045,1.0986123085022,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0173565205186605,36,1,1.0 +6.52221918106079,0.297695457935333,10.5320959091187,0,0,1,0,2.13327050209045,1.0986123085022,3.97029185295105,1.3862943649292,0,0,0,0,1,0,0,0,0.0244241766631603,36,2,1.0 +8.06593894958496,0.297759979963303,11.4075651168823,0,1,0,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,1,0.0476502925157547,36,2,1.0 +7.3034930229187,0.297753602266312,11.2580327987671,0,1,0,0,2.13327050209045,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0258153397589922,36,2,1.0 +7.22795915603638,0.297700673341751,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.015458638779819,36,1,1.0 +6.72616672515869,0.297742277383804,10.0212707519531,0,0,0,1,2.13327050209045,0.0,3.66356158256531,1.0986123085022,0,0,0,0,0,0,1,1,0.0499186031520367,36,2,1.0 +6.88547086715698,0.297702342271805,9.76995658874512,1,0,0,0,2.13327050209045,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,1,0.075261764228344,36,1,1.0 +6.92244386672974,0.297717750072479,11.0429220199585,0,0,1,0,2.13327050209045,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.021867360919714,36,2,1.0 +6.2383770942688,0.297648280858994,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,0,1,0,1,0.005746170412749,36,2,1.0 +4.99300527572632,0.297449886798859,10.5320959091187,0,1,0,0,2.13327050209045,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.0052915648557245,36,2,1.0 +7.09412717819214,0.297746509313583,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0135228671133518,36,1,1.0 +6.32437515258789,0.297590732574463,11.6952466964722,0,1,0,0,2.13327050209045,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.006261839531362,36,1,1.0 +7.30574083328247,0.2977414727211,11.6952466964722,0,0,1,0,2.13327050209045,0.6931471824646,3.91202306747437,1.0986123085022,0,1,0,0,0,0,0,1,0.0167097207158804,36,2,1.0 +6.86027812957764,0.25472229719162,10.8685684204102,0,0,1,0,1.31111037731171,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.0234339851886034,37,1,4.0 +6.81098079681396,0.254840761423111,10.5320959091187,0,1,0,0,1.31111037731171,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0312331635504961,37,2,4.0 +8.14861106872559,0.254933893680573,11.4075651168823,0,1,0,0,1.31111037731171,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.0495873317122459,37,2,4.0 +7.28117179870605,0.254770904779434,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.0986123085022,0,0,1,0,0,0,0,0,0.0576679967343807,37,2,4.0 +7.54369688034058,0.254783749580383,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0203074757009745,37,2,4.0 +7.98199272155762,0.254922717809677,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0657020732760429,37,2,4.0 +7.49927473068237,0.254887223243713,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.60943794250488,0,0,1,0,0,0,0,0,0.0194271206855774,37,1,4.0 +6.34167098999023,0.254592567682266,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.0986123085022,0,0,1,0,0,0,0,0,0.0172318536788225,37,2,4.0 +6.86378812789917,0.25465714931488,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.0329207852482796,37,2,4.0 +7.48563861846924,0.254902184009552,10.2219409942627,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0836260244250298,37,1,4.0 +7.42182588577271,0.254818677902222,11.4075651168823,1,0,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0239707659929991,37,1,4.0 +8.49000644683838,0.254976183176041,10.5320959091187,0,1,0,0,1.31111037731171,0.0,3.36729574203491,1.3862943649292,0,1,0,0,0,0,0,0,0.167442858219147,37,1,4.0 +7.75805568695068,0.254868745803833,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.0251644626259804,37,1,4.0 +7.33264827728271,0.254867374897003,11.2580327987671,1,0,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.0986123085022,1,0,0,0,0,0,0,0,0.0254632923752069,37,2,4.0 +6.88811111450195,0.254786252975464,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.0297667868435383,37,1,4.0 +6.98124265670776,0.254706859588623,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0241471119225025,37,2,4.0 +7.1473274230957,0.254848718643188,10.6572589874268,1,0,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0385776162147522,37,2,4.0 +4.71663808822632,0.256091624498367,11.1198825836182,1,0,0,0,1.31111037731171,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0021395639050751,37,2,4.0 +8.03952789306641,0.254863113164902,11.4075651168823,0,1,0,0,1.31111037731171,1.0986123085022,2.89037179946899,1.3862943649292,1,0,0,0,0,0,0,0,0.0444596111774445,37,3,4.0 +7.34500694274902,0.254732191562653,10.6572589874268,0,1,0,0,1.31111037731171,1.0986123085022,3.33220458030701,1.60943794250488,1,0,0,0,0,0,0,0,0.0470041073858738,37,2,4.0 +6.83350467681885,0.254757314920425,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0099818678572773,37,2,4.0 +7.2864933013916,0.254740506410599,9.76995658874512,0,1,0,0,1.31111037731171,0.6931471824646,3.33220458030701,1.0986123085022,1,0,0,0,0,0,0,0,0.107665903866291,37,2,4.0 +7.31222677230835,0.254888713359833,11.2580327987671,0,1,0,0,1.31111037731171,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.0249490942806005,37,2,4.0 +7.54676628112793,0.254839926958084,10.2219409942627,0,1,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0888918191194534,37,1,4.0 +7.80370235443115,0.254968255758286,10.3889951705933,0,0,1,0,1.31111037731171,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,1,0,0,0,0,0.0972641482949257,37,2,4.0 +6.08293056488037,0.254653364419937,9.43348407745361,0,0,1,0,1.31111037731171,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,0,1,0,0,0.0452342741191387,37,1,4.0 +6.88569974899292,0.254797428846359,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0336548201739788,37,2,4.0 +7.65766429901123,0.254840493202209,10.2219409942627,0,1,0,0,1.31111037731171,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0993171855807304,37,1,4.0 +7.60059642791748,0.254909962415695,10.8685684204102,0,0,1,0,1.31111037731171,0.6931471824646,3.49650764465332,1.0986123085022,0,0,1,0,0,0,0,0,0.0491409786045551,37,2,4.0 +6.84536743164062,0.25471693277359,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.95124363899231,1.3862943649292,1,0,0,0,0,0,0,0,0.028519282117486,37,3,4.0 +6.5511417388916,0.254794925451279,10.8685684204102,0,1,0,0,1.31111037731171,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0172036830335855,37,2,4.0 +6.13653326034546,0.254720628261566,11.2580327987671,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0076981191523373,37,2,4.0 +7.29800796508789,0.25484111905098,11.4075651168823,0,0,1,0,1.31111037731171,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,0,0.0211796201765537,37,1,4.0 +7.74182176589966,0.254943311214447,11.1198825836182,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0440197102725506,37,2,4.0 +7.45186948776245,0.254863858222961,10.2219409942627,0,1,0,0,1.31111037731171,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,0,0,0,0,0.0808461159467697,37,1,4.0 +7.12683296203613,0.254855901002884,10.7684850692749,0,1,0,0,1.31111037731171,1.0986123085022,3.7376697063446,1.60943794250488,0,1,0,0,0,0,0,0,0.0338168404996395,37,2,4.0 +7.0016074180603,0.254878371953964,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.29583692550659,1.0986123085022,0,1,0,0,0,0,0,0,0.0436082296073437,37,2,4.0 +7.101975440979,0.254656970500946,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0130545990541577,37,1,4.0 +7.40407085418701,0.254862278699875,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.0652152225375175,37,2,4.0 +7.14378118515015,0.254862278699875,10.9595403671265,1,0,0,0,1.31111037731171,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0284133311361074,37,1,4.0 +7.32886409759521,0.254820704460144,11.1198825836182,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.3862943649292,0,1,0,0,0,0,0,0,0.0291238408535719,37,1,4.0 +7.46517276763916,0.254873663187027,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,0,0.0187755357474089,37,2,4.0 +6.70425081253052,0.255034476518631,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,0,0.0183109696954489,37,2,4.0 +6.92541360855103,0.254881501197815,11.4075651168823,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.0986123085022,0,1,0,0,0,0,0,0,0.0145921744406223,37,2,4.0 +6.69972610473633,0.25467711687088,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.032238557934761,37,2,4.0 +6.86659717559814,0.254778861999512,10.9595403671265,0,0,1,0,1.31111037731171,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,0,0.0215330924838781,37,3,4.0 +8.04467105865479,0.254888713359833,11.6952466964722,0,1,0,0,1.31111037731171,1.0986123085022,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.033517524600029,37,3,4.0 +7.44006252288818,0.254806667566299,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0183087177574635,37,2,4.0 +7.50346422195435,0.254876226186752,11.4075651168823,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0260112956166267,37,2,4.0 +7.43367338180542,0.254717409610748,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0181904938071966,37,2,4.0 +7.67084646224976,0.254736721515656,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.49650764465332,1.0986123085022,0,1,0,0,0,0,0,0,0.0230598170310259,37,2,4.0 +7.8460578918457,0.254959553480148,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.0879419147968292,37,2,4.0 +7.48055791854858,0.254885673522949,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.66356158256531,1.60943794250488,0,0,1,0,0,0,0,0,0.0190668627619743,37,2,4.0 +6.69742298126221,0.254763066768646,11.1198825836182,1,0,0,0,1.31111037731171,0.6931471824646,4.07753753662109,1.3862943649292,0,0,1,0,0,0,0,0,0.01548788882792,37,2,4.0 +8.1060037612915,0.254964292049408,11.6952466964722,1,0,0,0,1.31111037731171,1.0986123085022,4.02535152435303,1.60943794250488,0,0,1,0,0,0,0,0,0.0356402657926083,37,3,4.0 +7.36688137054443,0.254893064498901,11.4075651168823,1,0,0,0,1.31111037731171,1.0986123085022,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0226909127086401,37,1,4.0 +7.02782583236694,0.254733681678772,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0121225547045469,37,1,4.0 +7.32429075241089,0.254659473896027,11.4075651168823,0,0,1,0,1.31111037731171,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0217397063970566,37,2,4.0 +7.13339900970459,0.254879087209702,11.4075651168823,0,0,1,0,1.31111037731171,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,1,0,0,0,0,0.0179657712578773,37,1,4.0 +6.06184768676758,0.254702627658844,8.92265796661377,0,1,0,0,1.31111037731171,0.0,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,0,0.0738212987780571,37,2,4.0 +6.8049430847168,0.254766285419464,10.2219409942627,1,0,0,0,1.31111037731171,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0423311553895473,37,1,4.0 +7.76609420776367,0.254941195249557,10.8685684204102,0,1,0,0,1.31111037731171,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0579872019588947,37,1,4.0 +7.72478008270264,0.254986464977264,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.0243437457829714,37,2,4.0 +7.58923149108887,0.254941463470459,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0443622060120106,37,1,4.0 +7.76420879364014,0.254860520362854,11.6952466964722,1,0,0,0,1.31111037731171,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0253195725381374,37,2,4.0 +7.22922325134277,0.254608750343323,11.0429220199585,1,0,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.0986123085022,0,0,1,0,0,0,0,0,0.0284647233784199,37,2,4.0 +7.795166015625,0.254936933517456,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.66356158256531,1.60943794250488,1,0,0,0,0,0,0,0,0.0261176507920027,37,2,4.0 +7.30565309524536,0.254759073257446,11.1913414001465,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0264915395528078,37,2,4.0 +7.26440525054932,0.254833102226257,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0491510182619095,37,1,4.0 +8.00478363037109,0.254919022321701,11.4075651168823,0,1,0,0,1.31111037731171,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.0429438166320324,37,2,4.0 +6.83118772506714,0.254784315824509,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0318689085543156,37,1,4.0 +7.08962106704712,0.254855453968048,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0128968730568886,37,2,4.0 +7.21974849700928,0.254788637161255,10.6572589874268,0,1,0,0,1.31111037731171,1.0986123085022,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.0414726063609123,37,3,4.0 +8.06640243530273,0.254904419183731,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0342543981969357,37,2,4.0 +6.44210529327393,0.254534900188446,10.8685684204102,1,0,0,0,1.31111037731171,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0154224950820208,37,2,4.0 +8.85368347167969,0.254991799592972,11.6952466964722,0,1,0,0,1.31111037731171,1.3862943649292,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0752776637673378,37,2,4.0 +6.80199670791626,0.254697531461716,10.8685684204102,1,0,0,0,1.31111037731171,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,0,0.0221067108213902,37,2,4.0 +6.18886232376099,0.254374891519547,10.6572589874268,0,1,0,0,1.31111037731171,1.0986123085022,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.014786777086556,37,3,4.0 +7.40960836410522,0.254844546318054,11.1198825836182,0,1,0,0,1.31111037731171,1.3862943649292,3.63758611679077,1.7917594909668,0,1,0,0,0,0,0,0,0.0315737314522266,37,4,4.0 +6.96402025222778,0.254685997962952,10.3889951705933,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0419914536178112,37,2,4.0 +6.23566341400146,0.254460960626602,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.29583692550659,1.60943794250488,1,0,0,0,0,0,0,0,0.01549659576267,37,2,4.0 +7.314621925354,0.254895001649857,11.1198825836182,0,1,0,0,1.31111037731171,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0287141241133213,37,2,4.0 +7.36798810958862,0.254780143499374,11.6952466964722,0,0,1,0,1.31111037731171,1.0986123085022,3.97029185295105,1.3862943649292,0,1,0,0,0,0,0,0,0.0170351099222898,37,3,4.0 +8.70285606384277,0.2548888027668,11.6952466964722,0,0,1,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0647318586707115,37,2,4.0 +7.07964086532593,0.254726469516754,11.4075651168823,0,1,0,0,1.31111037731171,1.0986123085022,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,0,0.0170228686183691,37,1,4.0 +6.37886047363281,0.25452047586441,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,0,0.0063337287865579,37,2,4.0 +5.87310171127319,0.254723966121674,9.76995658874512,0,1,0,0,1.31111037731171,0.6931471824646,3.25809645652771,1.0986123085022,1,0,0,0,0,0,0,0,0.0261964779347181,37,1,4.0 +7.32072639465332,0.254826724529266,11.2580327987671,1,0,0,0,1.31111037731171,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0251604914665222,37,2,4.0 +7.80792570114136,0.255048900842667,11.1198825836182,1,0,0,0,1.31111037731171,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0470328815281391,37,2,4.0 +5.74175310134888,0.254290401935577,11.4075651168823,0,0,1,0,1.31111037731171,1.0986123085022,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0044648433104157,37,2,4.0 +7.00242805480957,0.254872262477875,10.0212707519531,0,0,1,0,1.31111037731171,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0630409941077232,37,2,4.0 +7.48473262786865,0.254817932844162,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,0,0.0191453322768211,37,1,4.0 +7.131103515625,0.254621386528015,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.60943794250488,1,0,0,0,0,0,0,0,0.0379481464624405,37,2,4.0 +6.59210634231567,0.254633218050003,11.4075651168823,0,0,1,0,1.31111037731171,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.010453425347805,37,1,4.0 +7.66243410110474,0.254903107881546,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.022870447486639,37,1,4.0 +6.83688640594482,0.254833936691284,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.71357202529907,1.0986123085022,1,0,0,0,0,0,0,0,0.0209038965404034,37,1,4.0 +6.89617252349854,0.254712134599686,10.9595403671265,0,1,0,0,1.31111037731171,0.6931471824646,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,0,0.0221779718995094,37,2,4.0 +7.28468418121338,0.254900068044662,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,4.00733327865601,1.3862943649292,0,1,0,0,0,0,0,0,0.0156753994524479,37,3,4.0 +7.90432119369507,0.254959374666214,10.7684850692749,1,0,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0735930576920509,37,2,4.0 +7.27359104156494,0.254788100719452,10.8685684204102,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0354302525520325,37,1,4.0 +7.58555221557617,0.254760295152664,11.6952466964722,0,1,0,0,1.31111037731171,1.0986123085022,3.93182563781738,1.3862943649292,0,1,0,0,0,0,0,0,0.0211749877780676,37,3,4.0 +6.94924545288086,0.254775077104568,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0112068904563785,37,2,4.0 +6.88334608078003,0.254836797714233,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0296267829835415,37,1,4.0 +7.73690414428711,0.25481054186821,11.1913414001465,0,1,0,0,1.31111037731171,1.0986123085022,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0407774150371552,37,3,4.0 +7.3081488609314,0.254890918731689,10.8685684204102,0,0,1,0,1.31111037731171,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0366798080503941,37,3,4.0 +7.10760498046875,0.254835963249207,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0131306517869234,37,1,4.0 +8.03143692016602,0.254843264818192,10.6572589874268,0,1,0,0,1.31111037731171,1.3862943649292,3.80666255950928,1.7917594909668,0,0,1,0,0,0,0,0,0.0933892428874969,37,3,4.0 +5.94295167922974,0.254680275917053,9.76995658874512,1,0,0,0,1.31111037731171,0.6931471824646,3.04452252388,1.60943794250488,0,0,1,0,0,0,0,0,0.0280904937535524,37,1,4.0 +7.62382078170776,0.254945814609528,11.0429220199585,0,1,0,0,1.31111037731171,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.0422498136758804,37,1,4.0 +7.89148426055908,0.255082249641418,11.1198825836182,0,0,1,0,1.31111037731171,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0511334501206875,37,1,4.0 +7.23143672943115,0.254860997200012,11.4075651168823,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0198159664869308,37,1,4.0 +7.61670637130737,0.254958361387253,11.2580327987671,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0338313207030296,37,2,4.0 +6.55096006393433,0.254870146512985,11.6952466964722,0,1,0,0,1.31111037731171,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0075258095748722,37,2,4.0 +5.67858409881592,0.254486739635468,10.7684850692749,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0079434001818299,37,2,4.0 +7.45033311843872,0.254627764225006,10.7684850692749,0,1,0,0,1.31111037731171,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0467227473855019,37,2,4.0 +6.92224502563477,0.254705488681793,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0109075885266066,37,2,4.0 +6.89265727996826,0.254946172237396,11.6952466964722,1,0,0,0,1.31111037731171,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.010592132806778,37,1,4.0 +6.40068674087524,0.254598200321198,10.6572589874268,0,1,0,0,1.31111037731171,0.6931471824646,4.14313459396362,1.0986123085022,0,0,0,1,0,0,0,0,0.0182795077562332,37,0,4.0 +7.24747514724731,0.25489342212677,10.6572589874268,1,0,0,0,1.31111037731171,0.6931471824646,3.52636051177979,1.60943794250488,0,0,1,0,0,0,0,0,0.0426430590450764,37,2,4.0 +6.83459281921387,0.254767686128616,11.0429220199585,1,0,0,0,1.31111037731171,0.6931471824646,3.95124363899231,1.0986123085022,1,0,0,0,0,0,0,0,0.0191862490028143,37,2,4.0 +7.49465847015381,0.254894614219666,10.5320959091187,0,1,0,0,1.31111037731171,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0618809424340725,37,2,4.0 +7.53356218338013,0.293256253004074,11.0429220199585,0,1,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0401110500097275,39,1,2.0 +6.47163438796997,0.293201833963394,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.40119743347168,1.3862943649292,0,1,0,0,0,0,0,0,0.0150752011686563,39,2,2.0 +7.11746501922607,0.293245762586594,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.85014748573303,1.3862943649292,1,0,0,0,0,0,0,0,0.0137800080701709,39,2,2.0 +6.81978893280029,0.293276011943817,10.7684850692749,0,1,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.025850635021925,39,2,2.0 +7.03784656524658,0.293209135532379,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0265564005821943,39,2,2.0 +7.03761386871338,0.293277502059937,10.3889951705933,1,0,0,0,1.56035327911377,0.0,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0469766706228256,39,1,2.0 +8.2440767288208,0.293262481689453,11.6952466964722,0,0,1,0,1.56035327911377,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0425145924091339,39,4,2.0 +7.7065577507019,0.293272167444229,10.6572589874268,0,0,1,0,1.56035327911377,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0701282694935799,39,1,2.0 +7.65945100784302,0.293238669633865,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0236934311687946,39,2,2.0 +6.87372541427612,0.293223887681961,11.2580327987671,0,0,1,0,1.56035327911377,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0167210977524519,39,1,2.0 +7.55912351608276,0.293249428272247,10.5320959091187,0,0,1,0,1.56035327911377,1.3862943649292,2.99573230743408,1.60943794250488,0,0,0,1,0,0,0,0,0.0685821399092674,39,3,2.0 +7.13585376739502,0.293241858482361,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.78418970108032,1.60943794250488,1,0,0,0,0,0,0,0,0.0140356980264187,39,2,2.0 +7.26162528991699,0.293255984783173,11.2580327987671,0,0,1,0,1.56035327911377,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0246457196772099,39,2,2.0 +6.28092193603516,0.293181121349335,10.7684850692749,0,1,0,0,1.56035327911377,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0150800598785281,39,2,2.0 +7.56641292572021,0.293268620967865,11.1198825836182,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0383806638419628,39,2,2.0 +6.82418155670166,0.293224424123764,10.2219409942627,1,0,0,0,1.56035327911377,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,0,0.0448453426361084,39,2,2.0 +7.27762699127197,0.293290138244629,10.8685684204102,0,0,1,0,1.56035327911377,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0369698889553547,39,2,2.0 +7.87338399887085,0.293245494365692,10.8685684204102,1,0,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0670753195881844,39,2,2.0 +7.5417947769165,0.2932388484478,8.92265796661377,0,1,0,0,1.56035327911377,1.0986123085022,4.30406522750854,1.60943794250488,1,0,0,0,0,0,0,0,0.337016135454178,39,2,2.0 +7.33695268630981,0.29324746131897,11.2580327987671,0,0,1,0,1.56035327911377,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,0,0.026573708280921,39,2,2.0 +7.69308233261108,0.293262839317322,11.1198825836182,0,0,1,0,1.56035327911377,1.60943794250488,4.1588830947876,1.94591009616852,0,1,0,0,0,0,0,0,0.0435634031891823,39,3,2.0 +8.9584789276123,0.293284893035889,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.181268334388733,39,2,2.0 +7.71911573410034,0.293265759944916,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0574875324964523,39,2,2.0 +7.0681619644165,0.293200433254242,10.7684850692749,0,0,1,0,1.56035327911377,1.0986123085022,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.0331364087760448,39,2,2.0 +6.24429178237915,0.293157577514648,9.43348407745361,1,0,0,0,1.56035327911377,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0552418306469917,39,2,2.0 +7.01953792572021,0.293242663145065,10.7684850692749,0,0,1,0,1.56035327911377,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0315650552511215,39,2,2.0 +6.4765682220459,0.293199896812439,10.2219409942627,1,0,0,0,1.56035327911377,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0316767282783985,39,1,2.0 +7.30571222305298,0.293243736028671,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0347149707376957,39,1,2.0 +6.55129098892212,0.29317632317543,10.3889951705933,0,1,0,0,1.56035327911377,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.0288822446018457,39,1,2.0 +7.32768058776855,0.293251901865005,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0302291009575129,39,2,2.0 +7.16510438919067,0.293244510889053,9.76995658874512,1,0,0,0,1.56035327911377,1.0986123085022,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.0991018563508987,39,2,2.0 +7.95483922958374,0.293261408805847,10.8685684204102,0,0,1,0,1.56035327911377,1.7917594909668,3.85014748573303,1.94591009616852,0,0,1,0,0,0,0,0,0.072768822312355,39,6,2.0 +6.72478866577148,0.293195009231567,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,1,0,0,0,0,0.0194179639220238,39,2,2.0 +6.73227834701538,0.293220967054367,10.6572589874268,0,1,0,0,1.56035327911377,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0264695603400469,39,1,2.0 +7.51313161849976,0.293257147073746,10.0212707519531,1,0,0,0,1.56035327911377,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.109166406095028,39,1,2.0 +6.98347759246826,0.293229848146439,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0251516215503216,39,2,2.0 +7.40755176544189,0.293254762887955,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0184177495539188,39,1,2.0 +7.12638425827026,0.293246746063232,10.7684850692749,1,0,0,0,1.56035327911377,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0351245924830437,39,2,2.0 +8.03649806976318,0.293257772922516,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,0,0.034545049071312,39,1,2.0 +7.55049800872803,0.293282747268677,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.78418970108032,1.60943794250488,0,1,0,0,0,0,0,0,0.0283314138650894,39,2,2.0 +6.85887956619263,0.29322275519371,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.98898410797119,1.0986123085022,0,1,0,0,0,0,0,0,0.0106398919597268,39,2,2.0 +7.42770195007324,0.293248534202576,10.8685684204102,1,0,0,0,1.56035327911377,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,0,1,0,0,0.0429543294012547,39,1,2.0 +6.74697494506836,0.293267279863358,9.76995658874512,1,0,0,0,1.56035327911377,0.6931471824646,3.09104251861572,1.0986123085022,1,0,0,0,0,0,0,0,0.0652379468083382,39,2,2.0 +7.35946655273438,0.293247550725937,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0175529588013887,39,2,2.0 +7.1147632598877,0.293249428272247,10.2219409942627,0,0,0,1,1.56035327911377,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0599689297378063,39,2,2.0 +7.40382862091064,0.293242305517197,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,4.00733327865601,1.3862943649292,0,0,0,1,0,0,0,0,0.0183490738272667,39,3,2.0 +7.39178848266602,0.293246120214462,11.4075651168823,0,0,0,1,1.56035327911377,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,0,1,0,0,0.0241727214306593,39,2,2.0 +8.24385356903076,0.293263286352158,10.2219409942627,0,1,0,0,1.56035327911377,1.0986123085022,3.09104251861572,1.60943794250488,0,1,0,0,0,0,0,0,0.185476988554001,39,2,2.0 +7.41752529144287,0.293233603239059,10.7684850692749,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0469944439828396,39,2,2.0 +6.13808441162109,0.293168157339096,11.0429220199585,0,0,1,0,1.56035327911377,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,0,1,0,0,0.00993521977216,39,2,2.0 +7.21009922027588,0.293240159749985,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0315493941307068,39,2,2.0 +6.27981758117676,0.293239176273346,10.0212707519531,1,0,0,0,1.56035327911377,0.6931471824646,3.21887588500977,1.60943794250488,0,0,0,1,0,0,0,0,0.0318023972213268,39,1,2.0 +6.96133852005005,0.293209403753281,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0117876976728439,39,2,2.0 +6.4074854850769,0.293341249227524,10.0212707519531,0,1,0,0,1.56035327911377,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0361367911100388,39,1,2.0 +7.67905521392822,0.293242305517197,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0241625960916281,39,1,2.0 +7.24497222900391,0.293250292539597,10.5320959091187,0,0,0,1,1.56035327911377,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.050093024969101,39,2,2.0 +6.9730544090271,0.29323822259903,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0212034750729799,39,2,2.0 +6.41498947143555,0.293176859617233,10.7684850692749,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0172435250133276,39,2,2.0 +7.77716398239136,0.293249249458313,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,0,0.026653528213501,39,3,2.0 +7.42682409286499,0.293243914842606,10.6572589874268,0,1,0,0,1.56035327911377,0.6931471824646,3.25809645652771,1.0986123085022,1,0,0,0,0,0,0,0,0.053014412522316,39,2,2.0 +7.40787696838379,0.293227821588516,10.5320959091187,1,0,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,0,0.0589543879032135,39,2,2.0 +8.03305912017822,0.293276607990265,11.1913414001465,0,0,1,0,1.56035327911377,1.0986123085022,3.82864141464233,1.7917594909668,0,0,0,0,1,0,0,0,0.0569827742874622,39,4,2.0 +6.9702525138855,0.293233931064606,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0248212832957506,39,2,2.0 +6.69047117233276,0.293247103691101,10.6572589874268,0,1,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.3862943649292,0,1,0,0,0,0,0,0,0.0253864098340273,39,1,2.0 +6.69115257263184,0.293205946683884,11.2580327987671,0,0,0,1,1.56035327911377,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,0,1,0,0,0.013930500485003,39,2,2.0 +7.26592063903809,0.29323011636734,10.9595403671265,0,0,1,0,1.56035327911377,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0333602726459503,39,3,2.0 +6.83794164657593,0.293232083320618,10.3889951705933,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0384721122682095,39,1,2.0 +7.06165885925293,0.293244183063507,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0130320470780134,39,2,2.0 +7.70223569869995,0.293297171592712,11.2580327987671,0,1,0,0,1.56035327911377,1.0986123085022,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0382925346493721,39,3,2.0 +7.59771251678467,0.293270319700241,10.0212707519531,1,0,0,0,1.56035327911377,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,1,0,0,0,0.118803083896637,39,1,2.0 +7.49285650253296,0.293246120214462,11.6952466964722,0,1,0,0,1.56035327911377,1.3862943649292,3.89182019233704,1.60943794250488,0,0,1,0,0,0,0,0,0.0200576595962048,39,3,2.0 +6.74483776092529,0.293217331171036,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.0094930808991193,39,1,2.0 +5.39859342575073,0.293019384145737,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0079032341018319,39,1,2.0 +7.47630453109741,0.293231189250946,10.7684850692749,0,1,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,0,1,0,0,0,0.0498394034802914,39,2,2.0 +6.59949016571045,0.293253868818283,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0082091744989156,39,2,2.0 +7.60279560089111,0.293430685997009,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0467325747013092,39,2,2.0 +7.45772981643677,0.293247908353806,11.1198825836182,1,0,0,0,1.56035327911377,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0344273038208485,39,3,2.0 +6.34270429611206,0.293251544237137,8.92265796661377,0,0,0,1,1.56035327911377,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.101600922644138,39,1,2.0 +6.66157484054565,0.293205678462982,10.2219409942627,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,1,0,0,0,0,0.038114495575428,39,2,2.0 +5.47520875930786,0.293176412582397,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,0,0.005565573927015,39,2,2.0 +6.79205083847046,0.293214023113251,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.71357202529907,2.0794415473938,0,0,1,0,0,0,0,0,0.0318463891744614,39,1,2.0 +7.05364084243774,0.293236523866653,11.1198825836182,0,1,0,0,1.56035327911377,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0229828823357821,39,2,2.0 +6.89683961868286,0.293204784393311,11.6952466964722,0,0,1,0,1.56035327911377,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0110513521358371,39,2,2.0 +6.97906494140625,0.294050812721252,11.0429220199585,0,1,0,0,1.56035327911377,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0230565387755632,39,3,2.0 +7.83755207061768,0.293280810117722,10.3889951705933,0,1,0,0,1.56035327911377,1.0986123085022,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.104542389512062,39,2,2.0 +6.49026679992676,0.293201059103012,10.0212707519531,0,0,0,1,1.56035327911377,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,0,1,0,0,0.0392500422894955,39,1,2.0 +7.90323543548584,0.293262034654617,10.9595403671265,0,0,1,0,1.56035327911377,1.0986123085022,3.80666255950928,1.7917594909668,0,0,0,0,1,0,0,0,0.0630994886159897,39,3,2.0 +6.33788633346558,0.293168246746063,10.6572589874268,1,0,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0178419128060341,39,2,2.0 +6.97526884078979,0.293240070343018,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,0,0.0119534153491259,39,2,2.0 +6.18072938919067,0.293166011571884,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.25809645652771,1.60943794250488,0,0,1,0,0,0,0,0,0.0172800850123167,39,2,2.0 +6.48331260681152,0.293171435594559,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.91202306747437,1.0986123085022,1,0,0,0,0,0,0,0,0.0233861282467842,39,1,2.0 +6.93487167358398,0.293228328227997,10.5320959091187,0,1,0,0,1.56035327911377,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.036736074835062,39,2,2.0 +7.12171983718872,0.293236523866653,8.92265796661377,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.22141820192337,39,1,2.0 +7.65875673294067,0.293235003948212,11.4075651168823,1,0,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.031569205224514,39,2,2.0 +7.93748331069946,0.293268889188766,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0312888026237488,39,2,2.0 +6.70307683944702,0.293252348899841,9.43348407745361,0,1,0,0,1.56035327911377,0.6931471824646,3.04452252388,1.0986123085022,0,0,1,0,0,0,0,0,0.0874092057347298,39,2,2.0 +6.86888122558594,0.293219894170761,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0191054530441761,39,2,2.0 +5.63717746734619,0.293695211410522,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.8712010383606,1.0986123085022,0,1,0,0,0,0,0,0,0.0065475283190608,39,1,2.0 +7.56372451782227,0.2934949696064,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0449447743594646,39,1,2.0 +7.12124872207642,0.293242037296295,8.92265796661377,0,1,0,0,1.56035327911377,0.6931471824646,2.94443893432617,1.0986123085022,0,0,0,1,0,0,0,0,0.221315175294876,39,1,2.0 +7.16872644424438,0.293249070644379,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0464155487716198,39,2,2.0 +6.77798891067505,0.293221592903137,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0204795189201832,39,2,2.0 +6.98194026947021,0.293232083320618,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0160444471985102,39,2,2.0 +7.81222295761108,0.293268620967865,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,0,0.0368067733943462,39,2,2.0 +7.93349027633667,0.293253421783447,11.4075651168823,1,0,0,0,1.56035327911377,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0415515191853046,39,2,2.0 +7.00175285339355,0.293242663145065,11.0429220199585,0,0,1,0,1.56035327911377,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0235665664076805,39,1,2.0 +6.32562923431396,0.293168157339096,11.1198825836182,0,1,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0110969450324774,39,2,2.0 +7.6671314239502,0.29326543211937,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.0238767508417368,39,2,2.0 +7.08230876922607,0.29323822259903,11.1198825836182,1,0,0,0,1.56035327911377,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.0236513298004866,39,2,2.0 +6.77511978149414,0.293234914541245,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0204211194068193,39,1,2.0 +7.18503713607788,0.293242573738098,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0262102950364351,39,1,2.0 +7.56671953201294,0.293259918689728,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0691057965159416,39,1,2.0 +7.87955522537231,0.293259739875793,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,0,0,0,0,0.029527535662055,39,3,2.0 +6.77650928497314,0.293223083019257,10.7684850692749,1,0,0,0,1.56035327911377,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.0247543901205063,39,2,2.0 +6.74183082580566,0.293220609426498,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0094646094366908,39,1,2.0 +7.29595756530762,0.293243378400803,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0343779772520065,39,2,2.0 +7.18804121017456,0.293224334716797,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0147873749956489,39,3,2.0 +7.67376136779785,0.293241769075394,11.4075651168823,0,0,1,0,1.56035327911377,1.0986123085022,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0320466831326485,39,2,2.0 +7.35593223571777,0.293254852294922,10.7684850692749,0,0,1,0,1.56035327911377,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,1,0,0,0,0,0.0441881753504276,39,2,2.0 +8.03581809997559,0.293273329734802,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.0789076536893845,39,2,2.0 +6.70100116729736,0.293203622102737,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0189616717398167,39,1,2.0 +7.9181866645813,0.293265253305435,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,1,0,0,0,0,0,0,0.0409209504723549,39,2,2.0 +7.5608229637146,0.29325270652771,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0214684382081032,39,1,2.0 +7.35924863815308,0.293266832828522,11.4075651168823,0,0,0,1,1.56035327911377,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0233992878347635,39,2,2.0 +6.69207668304443,0.293231189250946,10.8685684204102,1,0,0,0,1.56035327911377,0.6931471824646,3.33220458030701,1.0986123085022,0,0,0,0,1,0,0,0,0.0205836053937674,39,2,2.0 +6.88468027114868,0.29320016503334,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,0,0.0109177390113473,39,2,2.0 +7.41339921951294,0.29324409365654,11.4075651168823,1,0,0,0,1.56035327911377,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0247007552534342,39,2,2.0 +7.80692481994629,0.293245851993561,10.6572589874268,0,1,0,0,1.56035327911377,0.6931471824646,3.95124363899231,1.0986123085022,0,0,0,0,0,0,0,0,0.077530138194561,39,2,2.0 +6.20636940002441,0.29318380355835,10.2219409942627,0,0,1,0,1.56035327911377,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0241761673241854,39,2,2.0 +7.33250331878662,0.292896747589111,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0227733328938484,39,2,2.0 +6.33636903762817,0.293232977390289,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.7917594909668,0,1,0,0,0,0,0,0,0.0201914831995964,39,3,2.0 +8.01293277740479,0.293231636285782,10.3889951705933,0,1,0,0,1.56035327911377,1.0986123085022,4.14313459396362,1.3862943649292,0,0,0,1,0,0,0,0,0.124577090144157,39,2,2.0 +7.30051231384277,0.293244689702988,10.9595403671265,1,0,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0345349572598934,39,2,2.0 +6.89522743225098,0.293276607990265,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,1,0,0,0,0,0.0230281855911016,39,2,2.0 +6.96196365356445,0.293263643980026,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.66356158256531,1.60943794250488,1,0,0,0,0,0,0,0,0.0157276056706905,39,2,2.0 +7.04184579849243,0.293236345052719,11.4075651168823,0,0,0,1,1.56035327911377,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.0170350410044193,39,2,2.0 +7.72668123245239,0.293272167444229,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0253419615328312,39,2,2.0 +7.18214321136475,0.293248623609543,11.4075651168823,1,0,0,0,1.56035327911377,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,0,1,0,0,0.0196010265499353,39,2,2.0 +7.50908517837524,0.293249607086182,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.065234862267971,39,2,2.0 +7.58824110031128,0.293261766433716,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0220654085278511,39,2,2.0 +7.25363159179688,0.293251365423203,11.2580327987671,1,0,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0244493801146746,39,2,2.0 +7.5173544883728,0.293260872364044,10.5320959091187,1,0,0,0,1.56035327911377,0.0,3.21887588500977,1.60943794250488,0,0,0,1,0,0,0,0,0.0657772719860077,39,2,2.0 +6.77641773223877,0.293216973543167,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.022394634783268,39,3,2.0 +6.96645545959473,0.293230652809143,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,1,0,0,0,0.0157978925853968,39,2,2.0 +7.08085298538208,0.293236792087555,9.43348407745361,0,1,0,0,1.56035327911377,0.6931471824646,3.21887588500977,1.0986123085022,1,0,0,0,0,0,0,0,0.127531245350838,39,1,2.0 +6.15214157104492,0.293150633573532,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0167928151786327,39,2,2.0 +6.85066413879395,0.293207705020905,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0140702407807112,39,2,2.0 +7.30938959121704,0.293251812458038,10.9595403671265,0,0,0,1,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0348431468009949,39,1,2.0 +7.78991794586182,0.293267726898193,11.2580327987671,0,1,0,0,1.56035327911377,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0418004803359509,39,2,2.0 +7.66728401184082,0.29326131939888,11.4075651168823,0,1,0,0,1.56035327911377,1.3862943649292,3.93182563781738,1.60943794250488,0,0,1,0,0,0,0,0,0.0318403877317905,39,4,2.0 +6.89246702194214,0.293228089809418,10.9595403671265,1,0,0,0,1.56035327911377,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0229635927826166,39,3,2.0 +7.05639219284058,0.293244600296021,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,4.14313459396362,1.0986123085022,0,0,0,1,0,0,0,0,0.0270544607192278,39,2,2.0 +7.11097240447998,0.293221592903137,11.0429220199585,0,0,1,0,1.56035327911377,1.0986123085022,2.99573230743408,1.3862943649292,0,0,0,0,1,0,0,0,0.0262857601046562,39,2,2.0 +8.58560466766357,0.293284982442856,10.6572589874268,0,0,1,0,1.56035327911377,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,0,0.168913349509239,39,2,2.0 +7.12273454666138,0.293408095836639,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,0,0.0316687189042568,39,1,2.0 +7.81685066223145,0.293267101049423,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0887458845973015,39,2,2.0 +7.67815494537354,0.293249934911728,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.80666255950928,1.3862943649292,0,1,0,0,0,0,0,0,0.0241410359740257,39,3,2.0 +7.08053779602051,0.293232172727585,10.9595403671265,1,0,0,0,1.56035327911377,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0277153085917234,39,2,2.0 +7.50707674026489,0.293242037296295,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.33220458030701,1.3862943649292,0,0,1,0,0,0,0,0,0.0651034712791443,39,2,2.0 +7.69685554504395,0.293242573738098,11.1913414001465,0,1,0,0,1.56035327911377,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,0,0.0407115370035172,39,3,2.0 +7.3997974395752,0.293267458677292,10.3889951705933,0,1,0,0,1.56035327911377,0.6931471824646,3.25809645652771,1.60943794250488,0,1,0,0,0,0,0,0,0.0674795731902122,39,1,2.0 +8.14083957672119,0.293270945549011,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.122703388333321,39,2,2.0 +7.24939441680908,0.293487131595612,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.0157271716743708,39,2,2.0 +6.5616307258606,0.293168872594833,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0105380238965154,39,2,2.0 +7.00815582275391,0.293235003948212,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0123530030250549,39,2,2.0 +7.00918531417847,0.293232887983322,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.36729574203491,1.7917594909668,0,0,0,0,1,0,0,0,0.0282644517719746,39,2,2.0 +7.03739070892334,0.29323998093605,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.04452252388,1.60943794250488,1,0,0,0,0,0,0,0,0.040702510625124,39,2,2.0 +6.33323287963867,0.293201237916946,10.8685684204102,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0143768759444356,39,2,2.0 +7.3734769821167,0.293217837810516,11.2580327987671,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0275614224374294,39,2,2.0 +7.85788488388062,0.293273776769638,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0288949478417635,39,2,2.0 +7.34605073928833,0.293239712715149,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0554204881191254,39,1,2.0 +7.38014507293701,0.293258845806122,11.4075651168823,0,0,1,0,1.56035327911377,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0238932054489851,39,3,2.0 +7.31460380554199,0.293238490819931,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.0223769787698984,39,1,2.0 +7.05569267272949,0.293242216110229,11.4075651168823,0,0,1,0,1.56035327911377,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0172726660966873,39,3,2.0 +6.68899488449097,0.293218731880188,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.018735658377409,39,1,2.0 +7.84230661392212,0.293269872665405,10.2219409942627,0,1,0,0,1.56035327911377,1.0986123085022,3.55534815788269,1.7917594909668,0,0,1,0,0,0,0,0,0.124137587845325,39,2,2.0 +7.95754480361938,0.29325544834137,11.1913414001465,0,1,0,0,1.56035327911377,0.6931471824646,3.66356158256531,1.60943794250488,0,0,0,0,0,0,0,0,0.0528370998799801,39,1,2.0 +6.97029876708984,0.293239265680313,11.6952466964722,0,0,0,1,1.56035327911377,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,0,0.0118941431865096,39,2,2.0 +7.14421653747559,0.29324746131897,11.1198825836182,0,0,0,1,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0251620355993509,39,2,2.0 +7.30000448226929,0.293229311704636,11.1198825836182,0,0,1,0,1.56035327911377,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0294032767415047,39,3,2.0 +6.92039585113525,0.293226212263107,11.2580327987671,0,0,1,0,1.56035327911377,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0175200197845697,39,2,2.0 +7.17581176757812,0.293222218751907,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0259690787643194,39,3,2.0 +6.89034366607666,0.293232887983322,11.4075651168823,0,1,0,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,0,0.0146401347592473,39,2,2.0 +7.30686712265015,0.293255269527435,11.1913414001465,0,0,1,0,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,1,0,0,0,0,0,0,0.0275646913796663,39,2,2.0 +7.8367018699646,0.293304800987244,10.5320959091187,0,1,0,0,1.56035327911377,0.6931471824646,3.97029185295105,1.0986123085022,1,0,0,0,0,0,0,0,0.0905285850167274,39,1,2.0 +6.77914190292358,0.293221414089203,10.2219409942627,0,0,0,1,1.56035327911377,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.042870219796896,39,1,2.0 +5.25656175613403,0.29339611530304,10.5320959091187,0,0,1,0,1.56035327911377,0.6931471824646,3.82864141464233,1.0986123085022,0,0,1,0,0,0,0,0,0.0068593784235417,39,2,2.0 +7.03168535232544,0.293243914842606,11.4075651168823,0,0,1,0,1.56035327911377,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,0,0.0168629605323076,39,4,2.0 +7.84961938858032,0.293271988630295,11.2580327987671,0,1,0,0,1.56035327911377,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0443722233176231,39,2,2.0 +8.24625205993652,0.293265610933304,11.1198825836182,0,1,0,0,1.56035327911377,0.6931471824646,3.8712010383606,1.0986123085022,1,0,0,0,0,0,0,0,0.0757463201880455,39,2,2.0 +7.12937450408936,0.293241053819656,11.0429220199585,1,0,0,0,1.56035327911377,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,0,0.026774475350976,39,2,2.0 +6.84933805465698,0.293229579925537,11.4075651168823,0,0,0,1,1.56035327911377,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,0,0.0140519058331847,39,2,2.0 +6.70633697509766,0.293194115161896,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0091343261301517,39,2,2.0 +8.73572826385498,0.293276011943817,11.6952466964722,0,1,0,0,1.56035327911377,1.0986123085022,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,0,0.0695128813385963,39,2,2.0 +6.95030975341797,0.293243825435638,10.8685684204102,0,0,1,0,1.56035327911377,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.026648698374629,39,2,2.0 +8.8799295425415,0.293300271034241,11.4075651168823,0,0,0,1,1.56035327911377,1.7917594909668,3.09104251861572,2.0794415473938,0,0,0,0,0,1,0,0,0.107063330709934,39,5,2.0 +7.58287668228149,0.293267369270325,11.6952466964722,0,1,0,0,1.56035327911377,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0219474844634533,39,2,2.0 +6.42485237121582,0.293199807405472,11.1198825836182,0,0,1,0,1.56035327911377,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0122548835352063,39,2,2.0 +6.55815696716309,0.293250560760498,7.82404613494873,0,0,0,1,1.56035327911377,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,0,1,0,0,0.378084242343903,39,1,2.0 +6.78211069107056,0.293689966201782,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.0205737445503473,39,2,2.0 +6.7650146484375,0.293200343847275,9.76995658874512,1,0,0,0,1.56035327911377,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0664210543036461,39,1,2.0 +7.31781196594238,0.293248355388641,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,0,1,0,0,0.0351377315819263,39,2,2.0 +7.97795581817627,0.293247193098068,10.9595403671265,0,0,1,0,1.56035327911377,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0679939165711403,39,2,2.0 +8.09410667419434,0.293268173933029,10.8685684204102,0,1,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.083643339574337,39,2,2.0 +7.36410522460938,0.293222934007645,10.0212707519531,0,1,0,0,1.56035327911377,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0940487086772919,39,2,2.0 +6.78484869003296,0.293219894170761,10.9595403671265,0,1,0,0,1.56035327911377,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0206204559653997,39,2,2.0 +7.1864595413208,0.293255269527435,11.6952466964722,0,0,1,0,1.56035327911377,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.014764460735023,39,2,2.0 +6.92636775970459,0.293229132890701,11.4075651168823,0,0,1,0,1.56035327911377,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0151770897209644,39,2,2.0 +6.6505880355835,0.293221861124039,10.9595403671265,0,0,1,0,1.56035327911377,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0180297829210758,39,2,2.0 +6.74052810668945,0.213927730917931,11.1913414001465,1,0,0,0,1.12939393520355,0.6931471824646,3.43398714065552,2.0794415473938,0,0,0,0,1,0,0,0,0.0144525254145265,40,3,6.0 +7.56366443634033,0.214112028479576,11.6952466964722,0,1,0,0,1.12939393520355,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0198913421481848,40,2,6.0 +6.72617673873901,0.213824346661568,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.0317775793373585,40,1,6.0 +6.92295837402344,0.213853612542152,10.0212707519531,1,0,0,0,1.12939393520355,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0558850355446339,40,1,6.0 +7.02361536026001,0.213981822133064,10.2219409942627,0,1,0,0,1.12939393520355,0.6931471824646,3.04452252388,1.0986123085022,0,0,0,1,0,0,0,0,0.0505726635456085,40,1,6.0 +6.46311807632446,0.213730484247208,10.6572589874268,1,0,0,0,1.12939393520355,0.6931471824646,3.61091780662537,1.0986123085022,0,0,1,0,0,0,0,0,0.0186779629439116,40,1,6.0 +7.77988004684448,0.214151009917259,11.4075651168823,0,1,0,0,1.12939393520355,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,0,0,0,0,0.0329246371984482,40,2,6.0 +6.81795692443848,0.213837832212448,10.3889951705933,0,0,1,0,1.12939393520355,1.0986123085022,4.38202667236328,1.3862943649292,0,0,0,1,0,0,0,0,0.0348326377570629,40,1,6.0 +7.33624839782715,0.213955253362656,11.6952466964722,1,0,0,0,1.12939393520355,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0158427506685257,40,2,6.0 +6.85664129257202,0.213888064026833,10.8685684204102,0,1,0,0,1.12939393520355,0.6931471824646,3.29583692550659,1.94591009616852,1,0,0,0,0,0,0,0,0.0224146861582994,40,1,6.0 +7.11389112472534,0.213883742690086,11.6952466964722,0,0,1,0,1.12939393520355,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0126832639798522,40,2,6.0 +8.03046798706055,0.214079216122627,11.6952466964722,0,1,0,0,1.12939393520355,1.3862943649292,3.58351898193359,1.94591009616852,0,0,0,1,0,0,0,0,0.0317234173417091,40,3,6.0 +7.47915887832642,0.213896259665489,10.9595403671265,0,0,1,0,1.12939393520355,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0381402522325516,40,2,6.0 +7.22675657272339,0.213983163237572,10.9595403671265,0,0,1,0,1.12939393520355,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0296349637210369,40,2,6.0 +6.71668338775635,0.213795378804207,10.7684850692749,0,0,1,0,1.12939393520355,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0215364973992109,40,1,6.0 +5.98296976089478,0.214006841182709,11.4075651168823,0,1,0,0,1.12939393520355,0.6931471824646,3.66356158256531,1.0986123085022,1,0,0,0,0,0,0,0,0.0054584606550633,40,2,6.0 +8.06384468078613,0.214230582118034,10.9595403671265,0,1,0,0,1.12939393520355,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0684627890586853,40,2,6.0 +6.61737728118896,0.213803365826607,10.6572589874268,0,0,1,0,1.12939393520355,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0217949170619249,40,2,6.0 +7.74068164825439,0.214295044541359,10.0212707519531,0,0,1,0,1.12939393520355,0.6931471824646,2.99573230743408,1.0986123085022,0,0,1,0,0,0,0,0,0.12665431201458,40,1,6.0 +7.57460498809814,0.214180931448936,11.6952466964722,0,1,0,0,1.12939393520355,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.020111545920372,40,2,6.0 +6.40565395355225,0.21402445435524,10.5320959091187,1,0,0,0,1.12939393520355,0.0,3.21887588500977,1.60943794250488,0,0,1,0,0,0,0,0,0.0199921019375324,40,1,6.0 +7.29358005523682,0.214028298854828,10.9595403671265,0,0,1,0,1.12939393520355,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0316843651235104,40,2,6.0 +6.82558012008667,0.213887006044388,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.49650764465332,1.7917594909668,0,0,0,0,0,1,0,0,0.0351009108126163,40,2,6.0 +8.11746597290039,0.214018493890762,11.2580327987671,1,0,0,0,1.12939393520355,1.60943794250488,3.85014748573303,1.60943794250488,1,0,0,0,0,0,0,0,0.0535816662013531,40,3,6.0 +5.67765808105469,0.213955536484718,8.92265796661377,0,0,1,0,1.12939393520355,0.0,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0482651889324188,40,1,6.0 +7.31008243560791,0.214105486869812,11.6952466964722,0,1,0,0,1.12939393520355,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0154359033331275,40,2,6.0 +6.97989463806152,0.213898941874504,10.6572589874268,1,0,0,0,1.12939393520355,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0313210189342499,40,2,6.0 +7.09994649887085,0.214161396026611,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0461948290467262,40,1,6.0 +6.14380216598511,0.213769376277924,9.76995658874512,0,0,1,0,1.12939393520355,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0329624973237514,40,1,6.0 +6.13829946517944,0.213919550180435,8.92265796661377,1,0,0,0,1.12939393520355,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0765019208192825,40,2,6.0 +7.40256595611572,0.21406814455986,11.4075651168823,1,0,0,0,1.12939393520355,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0225745756179094,40,2,6.0 +7.04251527786255,0.214063242077827,11.4075651168823,0,1,0,0,1.12939393520355,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0157488752156496,40,2,6.0 +7.10912752151489,0.214053228497505,11.4075651168823,0,1,0,0,1.12939393520355,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0168335027992725,40,2,6.0 +7.36033010482788,0.214031770825386,11.6952466964722,0,0,1,0,1.12939393520355,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0162301436066628,40,1,6.0 +6.07972955703735,0.213425949215889,11.6952466964722,0,0,1,0,1.12939393520355,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0045071453787386,40,2,6.0 +6.05295848846436,0.213357284665108,10.0212707519531,1,0,0,0,1.12939393520355,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0234015136957169,40,1,6.0 +6.98089075088501,0.214181125164032,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,0,0.0410106554627419,40,2,6.0 +7.00302839279175,0.21395505964756,10.3889951705933,1,0,0,0,1.12939393520355,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0419191643595695,40,1,6.0 +7.38570928573608,0.214056596159935,11.4075651168823,1,0,0,0,1.12939393520355,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0221969820559025,40,2,6.0 +7.35983180999756,0.378583759069443,11.4075651168823,1,0,0,0,3.21185278892517,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,0,1,0,0,0,0.02549815364182,41,1,8.0 +7.92123317718506,0.378605872392654,10.7684850692749,0,1,0,0,3.21185278892517,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0846994742751122,41,1,8.0 +6.40366888046265,0.378531247377396,10.8685684204102,0,0,1,0,3.21185278892517,0.6931471824646,3.25809645652771,1.7917594909668,0,0,0,0,1,0,0,0,0.0168001353740692,41,2,8.0 +6.69578313827515,0.378543168306351,11.4075651168823,1,0,0,0,3.21185278892517,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0131249707192183,41,2,8.0 +6.4621410369873,0.378499656915665,10.2219409942627,0,1,0,0,3.21185278892517,1.0986123085022,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.034003209322691,41,2,8.0 +6.2669506072998,0.378560811281204,10.7684850692749,0,1,0,0,3.21185278892517,0.6931471824646,3.61091780662537,1.60943794250488,1,0,0,0,0,0,0,0,0.0161962807178497,41,2,8.0 +6.8298225402832,0.378551095724106,11.4075651168823,1,0,0,0,3.21185278892517,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.015007708221674,41,1,8.0 +7.67700624465942,0.37857574224472,11.6952466964722,0,1,0,0,3.21185278892517,0.6931471824646,3.85014748573303,1.0986123085022,0,1,0,0,0,0,0,0,0.0262611359357834,41,2,8.0 +7.90221548080444,0.378635436296463,10.7684850692749,0,1,0,0,3.21185278892517,1.3862943649292,4.00733327865601,2.4849066734314,0,0,0,0,1,0,0,0,0.0831063464283943,41,2,8.0 +7.04920244216919,0.378570437431335,10.5320959091187,1,0,0,0,3.21185278892517,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,1,0,0,0,0.0448548533022404,41,2,8.0 +7.44586420059204,0.378576576709747,11.0429220199585,0,1,0,0,3.21185278892517,1.0986123085022,3.49650764465332,1.7917594909668,0,0,0,1,0,0,0,0,0.0400157868862152,41,2,8.0 +6.93474245071411,0.378567814826965,10.8685684204102,0,1,0,0,3.21185278892517,1.0986123085022,3.66356158256531,1.7917594909668,0,0,0,1,0,0,0,0,0.0285740029066801,41,2,8.0 +7.66199731826782,0.378592967987061,10.5320959091187,1,0,0,0,3.21185278892517,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0827852040529251,41,2,8.0 +8.02194881439209,0.378462016582489,11.4075651168823,0,1,0,0,3.21185278892517,1.0986123085022,3.58351898193359,1.60943794250488,0,0,0,0,0,0,0,0,0.0494321770966053,41,3,8.0 +6.03508710861206,0.378567427396774,10.9595403671265,1,0,0,0,3.21185278892517,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.010610768571496,41,2,8.0 +6.84345006942749,0.379312843084335,11.1198825836182,0,1,0,0,3.21185278892517,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0203002970665693,41,2,8.0 +6.07100248336792,0.378515660762787,10.0212707519531,1,0,0,0,3.21185278892517,1.0986123085022,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.028106551617384,41,3,8.0 +6.65820121765137,0.37855052947998,11.2580327987671,0,0,1,0,3.21185278892517,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0146798240020871,41,2,8.0 +7.02861881256104,0.378527909517288,11.6952466964722,0,1,0,0,3.21185278892517,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,0,0.0137309832498431,41,2,8.0 +7.49004507064819,0.378687024116516,11.1198825836182,0,1,0,0,3.21185278892517,1.3862943649292,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0387296080589294,41,3,8.0 +8.46683597564697,0.378606021404266,8.92265796661377,0,1,0,0,3.21185278892517,0.6931471824646,3.29583692550659,1.0986123085022,1,0,0,0,0,0,0,0,0.925689280033112,41,1,8.0 +7.3919038772583,0.378793358802795,11.4075651168823,1,0,0,0,3.21185278892517,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0263346992433071,41,2,8.0 +7.45585966110229,0.378639191389084,11.0429220199585,0,1,0,0,3.21185278892517,1.3862943649292,3.95124363899231,1.3862943649292,0,0,1,0,0,0,0,0,0.0404202975332737,41,4,8.0 +6.60715484619141,0.378527492284775,11.2580327987671,0,0,1,0,3.21185278892517,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0139489518478513,41,1,8.0 +6.64922904968262,0.378546684980392,10.3889951705933,0,0,0,1,3.21185278892517,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,0,0.0346929244697094,41,2,8.0 +6.86753845214844,0.378531664609909,11.6952466964722,1,0,0,0,3.21185278892517,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,0,0.011688182130456,41,2,8.0 +7.52903175354004,0.378583252429962,11.6952466964722,1,0,0,0,3.21185278892517,0.6931471824646,3.95124363899231,1.3862943649292,1,0,0,0,0,0,0,0,0.0226491764187813,41,2,8.0 +6.89901638031006,0.378572314977646,10.5320959091187,0,0,1,0,3.21185278892517,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,1,0,0,0,0.038599818944931,41,1,8.0 +6.88439035415649,0.3785540163517,10.7684850692749,0,1,0,0,3.21185278892517,0.6931471824646,3.89182019233704,1.3862943649292,0,1,0,0,0,0,0,0,0.0300305336713791,41,1,8.0 +7.37634420394897,0.378547102212906,11.0429220199585,0,1,0,0,3.21185278892517,0.6931471824646,3.93182563781738,1.0986123085022,1,0,0,0,0,0,0,0,0.0373272933065891,41,2,8.0 +5.69836902618408,0.378981500864029,10.5320959091187,1,0,0,0,3.21185278892517,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,1,0,0,0,0,0.0116232773289084,41,2,8.0 +7.03199100494385,0.378563165664673,11.1198825836182,0,0,1,0,3.21185278892517,1.0986123085022,3.66356158256531,1.94591009616852,0,0,0,1,0,0,0,0,0.0244939625263214,41,3,8.0 +6.75813674926758,0.378561705350876,10.5320959091187,0,0,1,0,3.21185278892517,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,0,1,0,0,0,0.0335272178053856,41,2,8.0 +7.0353832244873,0.378584653139114,10.7684850692749,0,1,0,0,3.21185278892517,1.0986123085022,3.91202306747437,1.7917594909668,1,0,0,0,0,0,0,0,0.0349262319505215,41,3,8.0 +7.04811763763428,0.378348588943481,11.1913414001465,0,1,0,0,3.21185278892517,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0231704991310835,41,2,8.0 +7.09928035736084,0.378582358360291,11.1198825836182,0,0,1,0,3.21185278892517,1.3862943649292,3.7376697063446,1.94591009616852,0,0,1,0,0,0,0,0,0.0261993631720543,41,3,8.0 +6.61665725708008,0.378554850816727,10.2219409942627,0,0,0,1,3.21185278892517,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0396870896220207,41,1,8.0 +7.49676513671875,0.378596305847168,10.9595403671265,0,0,1,0,3.21185278892517,0.6931471824646,3.178053855896,1.3862943649292,0,0,0,0,1,0,0,0,0.0457675941288471,41,1,8.0 +7.07299089431763,0.378578513860703,11.6952466964722,0,0,1,0,3.21185278892517,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,1,0,0,0,0,0.0143547002226114,41,2,8.0 +6.72775220870972,0.378541797399521,10.3889951705933,1,0,0,0,3.21185278892517,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0375267378985882,41,2,8.0 +7.1067590713501,0.378574043512344,11.6952466964722,0,0,1,0,3.21185278892517,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0148476455360651,41,1,8.0 +7.71689128875732,0.378586113452911,11.6952466964722,1,0,0,0,3.21185278892517,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0273300129920244,41,1,8.0 +6.69847249984741,0.378365010023117,10.2219409942627,1,0,0,0,3.21185278892517,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,1,0,0,0,0.0430624634027481,41,1,8.0 +7.33517074584961,0.378558278083801,11.1913414001465,0,0,0,1,3.21185278892517,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,0,1,0,0,0,0.0308810416609049,41,2,8.0 +7.11452770233154,0.378555595874786,11.6952466964722,0,0,1,0,3.21185278892517,0.6931471824646,3.97029185295105,1.0986123085022,0,0,0,1,0,0,0,0,0.0149631649255753,41,2,8.0 +7.08322477340698,0.378158718347549,10.6572589874268,1,0,0,0,3.21185278892517,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,0,0.0409306585788727,41,2,8.0 +7.57781600952148,0.378590762615204,11.1198825836182,0,1,0,0,3.21185278892517,1.0986123085022,3.71357202529907,2.19722461700439,1,0,0,0,0,0,0,0,0.0422785133123398,41,1,8.0 +7.33467769622803,0.378580957651138,10.9595403671265,0,0,1,0,3.21185278892517,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0389186628162861,41,2,8.0 +6.64110708236694,0.37854865193367,9.43348407745361,0,1,0,0,3.21185278892517,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0894721373915672,41,2,8.0 +4.78025722503662,0.379222363233566,10.5320959091187,0,0,1,0,3.21185278892517,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.0046419687569141,41,2,8.0 +7.97505331039429,0.378595262765884,11.2580327987671,0,1,0,0,3.21185278892517,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0547824911773205,41,3,8.0 +7.21913290023804,0.378570854663849,11.4075651168823,1,0,0,0,3.21185278892517,0.6931471824646,4.06044292449951,1.3862943649292,1,0,0,0,0,0,0,0,0.0221512578427792,41,2,8.0 +7.40461254119873,0.378571897745132,10.6572589874268,0,1,0,0,3.21185278892517,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0564683601260185,41,1,8.0 +7.35153388977051,0.378575325012207,10.3889951705933,0,1,0,0,3.21185278892517,0.6931471824646,2.94443893432617,1.0986123085022,0,0,0,0,1,0,0,0,0.0700261816382408,41,1,8.0 +5.71694087982178,0.378960430622101,10.9595403671265,1,0,0,0,3.21185278892517,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0077223307453095,41,2,8.0 +5.58693265914917,0.378525286912918,10.7684850692749,1,0,0,0,3.21185278892517,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0082048736512661,41,2,8.0 +7.20174503326416,0.378581613302231,10.9595403671265,0,1,0,0,3.21185278892517,0.6931471824646,3.52636051177979,1.60943794250488,0,1,0,0,0,0,0,0,0.0340742394328117,41,2,8.0 +7.01348638534546,0.378558933734894,11.6952466964722,1,0,0,0,3.21185278892517,0.6931471824646,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,0,0.0135251833125949,41,2,8.0 +5.92465257644653,0.275955468416214,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0085747614502906,42,2,1.0 +7.10980987548828,0.275982618331909,10.9595403671265,0,1,0,0,1.88862872123718,1.0986123085022,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0280505362898111,42,3,1.0 +7.50850820541382,0.27599972486496,11.6952466964722,0,0,1,0,1.88862872123718,1.3862943649292,3.95124363899231,1.3862943649292,0,1,0,0,0,0,0,1,0.0200256910175085,42,3,1.0 +7.16190958023071,0.276012390851974,11.1198825836182,0,0,1,0,1.88862872123718,0.6931471824646,3.91202306747437,1.0986123085022,0,0,1,0,0,0,0,1,0.0251735635101795,42,2,1.0 +7.8995623588562,0.276026397943497,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.60943794250488,1,0,0,0,0,0,0,0,0.0526392012834549,42,2,1.0 +7.75045108795166,0.276099860668182,11.2580327987671,1,0,0,0,1.88862872123718,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0394989028573036,42,4,1.0 +7.24291372299194,0.276004880666733,10.5320959091187,0,0,1,0,1.88862872123718,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0491352900862694,42,2,1.0 +7.09101343154907,0.2760069668293,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0422109365463257,42,2,1.0 +7.030930519104,0.275965064764023,10.3889951705933,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.0986123085022,0,1,0,0,0,0,0,0,0.0458628498017788,42,2,1.0 +6.28757905960083,0.27600234746933,10.3889951705933,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0218094065785408,42,1,1.0 +6.68136739730835,0.275956302881241,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,1,0,0,1,0.0116757471114397,42,1,1.0 +6.5228157043457,0.275945246219635,10.0212707519531,0,1,0,0,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0398549102246761,42,1,1.0 +7.78902959823608,0.276026844978333,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.36729574203491,1.94591009616852,0,0,0,1,0,0,0,0,0.0748549774289131,42,2,1.0 +6.52571630477905,0.275952577590942,10.8685684204102,0,0,1,0,1.88862872123718,0.6931471824646,3.63758611679077,1.3862943649292,0,0,1,0,0,0,0,0,0.0171304158866405,42,2,1.0 +6.52777862548828,0.275982439517975,10.0212707519531,1,0,0,0,1.88862872123718,1.0986123085022,3.36729574203491,1.60943794250488,1,0,0,0,0,0,0,0,0.0400546826422215,42,2,1.0 +7.20851373672485,0.276010125875473,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,0,0,0,0,0.0309613272547722,42,2,1.0 +5.85496282577515,0.275950223207474,9.43348407745361,1,0,0,0,1.88862872123718,0.0,3.36729574203491,1.60943794250488,0,0,0,1,0,0,0,0,0.036788459867239,42,1,1.0 +6.54498100280762,0.275976836681366,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0159454420208931,42,2,1.0 +7.42564249038696,0.2760289311409,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,1,0,1,0.0245782416313887,42,2,1.0 +7.06226015090942,0.275982797145844,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.60943794250488,1,0,0,0,0,0,0,0,0.0227852892130613,42,2,1.0 +7.0705189704895,0.275982350111008,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.7917594909668,1,0,0,0,0,0,0,1,0.0269697662442923,42,2,1.0 +7.22698450088501,0.276023954153061,11.1198825836182,0,1,0,0,1.88862872123718,1.0986123085022,3.71357202529907,1.7917594909668,0,0,1,0,0,0,0,0,0.0268665160983801,42,2,1.0 +7.21150970458984,0.276014357805252,11.1913414001465,1,0,0,0,1.88862872123718,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0246293228119612,42,2,1.0 +7.15390682220459,0.275740534067154,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0396520756185055,42,2,1.0 +7.39611482620239,0.276022523641586,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.0373507365584373,42,2,1.0 +6.86973285675049,0.275994479656219,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.0105722807347775,42,2,1.0 +5.81101083755493,0.275975465774536,7.82404613494873,1,0,0,0,1.88862872123718,0.0,3.33220458030701,2.39789533615112,0,0,0,0,1,0,0,0,0.17603725194931,42,0,1.0 +7.641028881073,0.276028662919998,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.85014748573303,1.0986123085022,0,1,0,0,0,0,0,0,0.0304853934794664,42,2,1.0 +8.42403793334961,0.276053905487061,10.6572589874268,0,0,1,0,1.88862872123718,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,0,1,0,0,0,0.141257956624031,42,1,1.0 +7.36717653274536,0.276104182004929,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0231842044740915,42,2,1.0 +7.30940055847168,0.276002258062363,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0342476442456245,42,2,1.0 +6.54484510421753,0.275954306125641,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,1,0.0076393117196857,42,1,1.0 +6.75469636917114,0.276012748479843,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0196666438132524,42,2,1.0 +7.6101975440979,0.276007235050201,11.6952466964722,0,1,0,0,1.88862872123718,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,0,0,0,0,0.0221694055944681,42,2,1.0 +6.83919906616211,0.275986969470978,11.2580327987671,0,1,0,0,1.88862872123718,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0158775839954615,42,2,1.0 +7.97929525375366,0.276044130325317,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0427568629384041,42,2,1.0 +6.34816217422485,0.275970220565796,11.1913414001465,0,0,1,0,1.88862872123718,1.3862943649292,4.04305124282837,1.7917594909668,0,0,1,0,0,0,0,1,0.0103869047015905,42,5,1.0 +7.69000101089478,0.276015639305115,11.0429220199585,0,1,0,0,1.88862872123718,0.6931471824646,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0461017154157162,42,2,1.0 +5.99271583557129,0.276610106229782,10.6572589874268,0,0,1,0,1.88862872123718,1.0986123085022,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,1,0.0124263809993863,42,2,1.0 +7.83318567276001,0.276238054037094,10.5320959091187,0,1,0,0,1.88862872123718,1.0986123085022,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0886842980980873,42,3,1.0 +7.93968868255615,0.276045769453049,11.6952466964722,0,0,0,1,1.88862872123718,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,1,0.0308224279433489,42,2,1.0 +6.37896013259888,0.276245087385178,11.2580327987671,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0100234495475888,42,2,1.0 +7.14899063110352,0.276013016700745,11.1913414001465,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0231366343796253,42,1,1.0 +7.24237442016602,0.276015102863312,10.9595403671265,0,0,0,1,1.88862872123718,1.0986123085022,3.8712010383606,1.60943794250488,0,0,0,0,0,1,0,1,0.0320278108119965,42,4,1.0 +7.48006772994995,0.276017725467682,10.7684850692749,1,0,0,0,1.88862872123718,1.0986123085022,3.71357202529907,1.60943794250488,0,0,0,0,0,1,0,0,0.0491735450923443,42,3,1.0 +6.98968553543091,0.276001811027527,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0301130227744579,42,2,1.0 +6.86509370803833,0.276205658912659,10.7684850692749,0,1,0,0,1.88862872123718,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0265909172594547,42,3,1.0 +7.64600467681885,0.276045501232147,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.0986123085022,1,0,0,0,0,0,0,0,0.058050911873579,42,2,1.0 +7.197021484375,0.27601021528244,11.6952466964722,1,0,0,0,1.88862872123718,0.6931471824646,3.82864141464233,1.0986123085022,0,1,0,0,0,0,0,1,0.0146661167964339,42,2,1.0 +7.07760715484619,0.276014447212219,10.6572589874268,0,0,0,1,1.88862872123718,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,0,1,0,1,0.0367492437362671,42,2,1.0 +6.51218271255493,0.276028752326965,11.6952466964722,0,0,0,1,1.88862872123718,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.007394375745207,42,2,1.0 +7.28246450424194,0.276088178157806,11.4075651168823,0,0,1,0,1.88862872123718,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0213007666170597,42,3,1.0 +5.20637607574463,0.275899857282639,10.2219409942627,0,0,1,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0087415724992752,42,2,1.0 +6.72216463088989,0.275986313819885,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0230443608015776,42,1,1.0 +6.03228855133057,0.275985419750214,10.3889951705933,0,0,1,0,1.88862872123718,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0168952718377113,42,2,1.0 +6.74058628082275,0.27602431178093,11.6952466964722,1,0,0,0,1.88862872123718,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0092916749417781,42,2,1.0 +6.97090816497803,0.276001989841461,10.6572589874268,0,0,1,0,1.88862872123718,0.6931471824646,3.49650764465332,1.60943794250488,0,1,0,0,0,0,0,0,0.0330296605825424,42,1,1.0 +7.21800947189331,0.276011377573013,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.014977203682065,42,2,1.0 +7.33947896957397,0.27599573135376,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.3862943649292,1,0,0,0,0,0,0,1,0.0169113166630268,42,3,1.0 +6.5234169960022,0.276031285524368,10.5320959091187,0,0,1,0,1.88862872123718,0.0,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0239293873310089,42,2,1.0 +7.40713739395142,0.276006489992142,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.89182019233704,1.0986123085022,0,0,1,0,0,0,0,0,0.0510926023125648,42,2,1.0 +6.8008828163147,0.275998532772064,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,0,0.0131585467606783,42,2,1.0 +6.29292297363281,0.275955766439438,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,1,0,0,0,0.0150014823302627,42,2,1.0 +6.66747617721558,0.27597764134407,10.9595403671265,0,1,0,0,1.88862872123718,1.0986123085022,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,0,0.0180233661085367,42,3,1.0 +6.48624563217163,0.275973856449127,10.5320959091187,0,0,0,1,1.88862872123718,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,0,1,0,1,0.0230549052357674,42,1,1.0 +7.0204291343689,0.276004701852798,11.2580327987671,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,1,0.0190326515585184,42,2,1.0 +6.90116596221924,0.2759989798069,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,0,0.0349117778241634,42,2,1.0 +7.41938591003418,0.276015013456345,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.25809645652771,1.3862943649292,0,0,1,0,0,0,0,0,0.0462782047688961,42,2,1.0 +6.760986328125,0.275986969470978,11.2580327987671,0,0,0,1,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,0,1,0,0,0.0146830761805177,42,2,1.0 +7.25820970535278,0.276020437479019,9.43348407745361,1,0,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.94591009616852,0,0,0,1,0,0,0,0,0.149680286645889,42,1,1.0 +6.1917986869812,0.276007235050201,8.92265796661377,1,0,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,0,0.0858758762478828,42,0,1.0 +7.19392728805542,0.275994390249252,11.1913414001465,0,1,0,0,1.88862872123718,1.0986123085022,3.97029185295105,1.60943794250488,0,1,0,0,0,0,0,0,0.0241995751857758,42,1,1.0 +7.33054971694946,0.276017069816589,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0167613420635462,42,2,1.0 +7.08782625198364,0.276003867387772,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,1,0.0131489038467407,42,2,1.0 +6.74514579772949,0.275978624820709,11.4075651168823,0,0,1,0,1.88862872123718,1.3862943649292,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,0,0.0124449487775564,42,3,1.0 +8.13144779205322,0.276046931743622,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.7917594909668,1,0,0,0,0,0,0,0,0.0373376905918121,42,2,1.0 +6.67803955078125,0.276025950908661,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,0,1,0,0,0.0116377715021372,42,2,1.0 +7.00113391876221,0.275996088981628,11.1913414001465,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,1,0.0199562702327967,42,2,1.0 +7.09120750427246,0.276017546653748,10.5320959091187,1,0,0,0,1.88862872123718,0.6931471824646,3.13549423217773,1.0986123085022,0,0,1,0,0,0,0,0,0.0422195754945278,42,2,1.0 +7.22837448120117,0.276018887758255,11.2580327987671,0,0,1,0,1.88862872123718,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0234323013573885,42,2,1.0 +6.82482576370239,0.275978624820709,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0179695133119822,42,2,1.0 +7.05653667449951,0.276140004396439,11.1198825836182,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0226588137447834,42,1,1.0 +7.1148247718811,0.276026755571365,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0341281294822693,42,1,1.0 +6.88212394714355,0.275991857051849,10.6572589874268,1,0,0,0,1.88862872123718,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.0302232559770346,42,2,1.0 +6.97613859176636,0.275993645191193,9.43348407745361,0,0,1,0,1.88862872123718,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.112888850271702,42,1,1.0 +6.67237281799316,0.276305228471756,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0086814295500516,42,1,1.0 +7.36393165588379,0.276022225618362,11.1913414001465,0,1,0,0,1.88862872123718,1.0986123085022,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,0,0.0286847930401564,42,3,1.0 +6.85314893722534,0.27599972486496,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0262697692960501,42,2,1.0 +7.04190635681152,0.275995641946793,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,1,0.0125586586073041,42,1,1.0 +6.48736238479614,0.275963991880417,10.9595403671265,0,0,0,1,1.88862872123718,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,1,0.0150524592027068,42,3,1.0 +7.65310859680176,0.276040881872177,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0231422036886215,42,2,1.0 +6.99250745773315,0.276011377573013,11.0429220199585,0,1,0,0,1.88862872123718,1.0986123085022,3.82864141464233,1.3862943649292,1,0,0,0,0,0,0,0,0.0229507926851511,42,2,1.0 +7.89855480194092,0.276038616895676,11.4075651168823,0,0,1,0,1.88862872123718,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,0,0,1,0,1,0.0394401177763939,42,2,1.0 +7.68273067474365,0.276005506515503,10.6572589874268,0,0,0,1,1.88862872123718,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,0,0,1,0,1,0.0673048496246338,42,2,1.0 +6.39779329299927,0.276014745235443,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,1.0986123085022,0,1,0,0,0,0,0,0,0.0150743527337909,42,2,1.0 +7.11540126800537,0.276009768247604,11.6952466964722,1,0,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,1,0.013516609556973,42,2,1.0 +6.31659317016602,0.275996446609497,10.5320959091187,0,1,0,0,1.88862872123718,1.0986123085022,3.76120018959045,1.60943794250488,1,0,0,0,0,0,0,0,0.0194578170776367,42,2,1.0 +7.00482654571533,0.276006877422333,10.5320959091187,0,1,0,0,1.88862872123718,1.0986123085022,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0387252680957317,42,3,1.0 +7.33280324935913,0.276025950908661,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,4.12713432312012,1.3862943649292,0,0,0,0,1,0,0,1,0.0350594185292721,42,2,1.0 +7.32613515853882,0.275962352752686,10.5320959091187,0,0,1,0,1.88862872123718,1.60943794250488,3.85014748573303,1.7917594909668,0,0,0,1,0,0,0,0,0.0533970966935158,42,4,1.0 +6.30924797058105,0.275949239730835,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0170422066003084,42,1,1.0 +6.67769622802734,0.276020437479019,9.76995658874512,1,0,0,0,1.88862872123718,0.6931471824646,3.21887588500977,1.0986123085022,0,0,0,0,1,0,0,0,0.0598304979503155,42,1,1.0 +6.92070293426514,0.276020258665085,10.8685684204102,1,0,0,0,1.88862872123718,0.6931471824646,3.13549423217773,1.3862943649292,0,0,0,1,0,0,0,1,0.025429505854845,42,3,1.0 +7.58226346969604,0.276084214448929,11.1913414001465,0,0,0,1,1.88862872123718,1.0986123085022,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,1,0.0356860868632793,42,3,1.0 +6.62919664382935,0.275989770889282,11.0429220199585,0,1,0,0,1.88862872123718,1.0986123085022,3.98898410797119,1.3862943649292,1,0,0,0,0,0,0,0,0.0159589480608702,42,2,1.0 +7.00238037109375,0.275996446609497,11.2580327987671,0,0,1,0,1.88862872123718,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0186920613050461,42,2,1.0 +7.45230484008789,0.276029914617538,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.0986123085022,0,0,1,0,0,0,0,0,0.0252424031496048,42,2,1.0 +7.67838859558105,0.27601346373558,11.6952466964722,1,0,0,0,1.88862872123718,1.0986123085022,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0237340424209833,42,3,1.0 +5.42495155334473,0.275916755199432,8.92265796661377,0,0,0,1,1.88862872123718,0.0,4.26268005371094,1.0986123085022,0,0,0,0,0,1,0,1,0.0398836135864258,42,1,1.0 +6.80225992202759,0.275996267795563,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,0,0.020624328404665,42,1,1.0 +6.91631031036377,0.276257753372192,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.98898410797119,1.94591009616852,1,0,0,0,0,0,0,0,0.0231219679117203,42,2,1.0 +6.64978790283203,0.275984525680542,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,1,0,0,0,0,0.0214353818446398,42,3,1.0 +6.56056690216064,0.275935500860214,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0196047630161047,42,1,1.0 +7.37757015228271,0.276012927293777,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,1,0.0175682120025158,42,1,1.0 +7.19843196868896,0.276008665561676,10.2219409942627,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,0,1,0,0,0.064087837934494,42,1,1.0 +7.38319826126099,0.276013106107712,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.0986123085022,0,0,1,0,0,0,0,1,0.0368710495531559,42,2,1.0 +6.0667462348938,0.276002079248428,10.3889951705933,1,0,0,0,1.88862872123718,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,1,0,0,0,0.0174878817051649,42,2,1.0 +5.95859479904175,0.275977373123169,10.7684850692749,0,0,0,1,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,1,0.0107385758310556,42,1,1.0 +7.16032838821411,0.276017189025879,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.98898410797119,1.0986123085022,0,0,1,0,0,0,0,0,0.0357166044414043,42,2,1.0 +6.77578210830688,0.275971055030823,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,1,0.0096240127459168,42,2,1.0 +7.25290870666504,0.276005506515503,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.7917594909668,0,0,1,0,0,0,0,0,0.0155090326443315,42,1,1.0 +6.53792953491211,0.276006877422333,10.3889951705933,0,0,1,0,1.88862872123718,0.0,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0280137695372105,42,2,1.0 +6.70025014877319,0.276389241218567,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0252073425799608,42,1,1.0 +6.10038280487061,0.275918841362,10.9595403671265,0,0,0,1,1.88862872123718,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,1,0.0102217392995954,42,2,1.0 +6.79969835281372,0.27599111199379,10.0212707519531,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,2.30258512496948,1,0,0,0,0,0,0,0,0.0525715090334415,42,2,1.0 +6.59888172149658,0.275957733392715,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0184308607131243,42,2,1.0 +7.09124994277954,0.276478201150894,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.01760034263134,42,1,1.0 +7.19070243835449,0.276036709547043,11.4075651168823,1,0,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0194321628659964,42,2,1.0 +7.53530502319336,0.276010125875473,11.2580327987671,1,0,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,1,0.0318500027060509,42,2,1.0 +7.32042121887207,0.276018708944321,11.1913414001465,0,0,1,0,1.88862872123718,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0274633727967739,42,1,1.0 +6.43378639221191,0.2760049700737,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.7376697063446,2.0794415473938,0,1,0,0,0,0,0,0,0.0156266521662474,42,1,1.0 +7.32566976547241,0.276066392660141,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.7917594909668,0,0,0,1,0,0,0,1,0.034811619669199,42,2,1.0 +7.95967864990234,0.276048123836517,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,4.09434461593628,1.0986123085022,0,0,1,0,0,0,0,0,0.065624013543129,42,2,1.0 +6.77325010299683,0.276013195514679,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,1,0,0,0,0,0.0200349502265453,42,2,1.0 +6.85937929153442,0.275982797145844,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0139510156586766,42,2,1.0 +7.67634153366089,0.275986880064011,11.1913414001465,0,0,1,0,1.88862872123718,1.60943794250488,3.49650764465332,2.0794415473938,0,0,0,0,1,0,0,0,0.0392025485634804,42,3,1.0 +6.98721933364868,0.276000797748566,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0158538185060024,42,2,1.0 +7.28163766860962,0.276036083698273,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0364835187792778,42,2,1.0 +7.27902889251709,0.276008576154709,10.3889951705933,0,1,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0587797351181507,42,1,1.0 +6.33675193786621,0.275959372520447,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.0062041571363806,42,1,1.0 +7.66230297088623,0.276033639907837,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,0,0.041521392762661,42,2,1.0 +5.93065881729126,0.277038067579269,11.4075651168823,1,0,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0055172936990857,42,1,1.0 +7.14526271820068,0.276014178991318,11.4075651168823,0,0,1,0,1.88862872123718,1.3862943649292,3.78418970108032,1.7917594909668,0,0,0,1,0,0,0,1,0.0185685083270073,42,3,1.0 +7.99931192398071,0.275680631399155,11.1198825836182,1,0,0,0,1.88862872123718,0.6931471824646,3.04452252388,1.0986123085022,0,0,0,1,0,0,0,0,0.0581406317651272,42,1,1.0 +6.42042446136475,0.275975912809372,11.2580327987671,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,1,0.0104449903592467,42,1,1.0 +7.27714681625366,0.27630016207695,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0282563790678978,42,2,1.0 +7.05995893478394,0.276041954755783,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.25809645652771,1.3862943649292,1,0,0,0,0,0,0,0,0.0323065966367722,42,2,1.0 +8.11399269104004,0.276045382022858,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0838663652539253,42,2,1.0 +7.54227113723755,0.276028841733932,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0207139663398266,42,2,1.0 +7.77700996398926,0.276034533977509,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0349261127412319,42,1,1.0 +5.54919290542603,0.276228547096252,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.0028233653865754,42,1,1.0 +7.69931125640869,0.276034981012344,11.6952466964722,1,0,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,1,0.0242363680154085,42,3,1.0 +6.74123907089233,0.275963991880417,10.2219409942627,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0405695177614689,42,2,1.0 +7.0342116355896,0.276013374328613,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0260089300572872,42,3,1.0 +6.38443803787231,0.275950789451599,9.76995658874512,1,0,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0446202605962753,42,1,1.0 +7.07697534561157,0.276003509759903,10.8685684204102,1,0,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0297302752733231,42,2,1.0 +7.26837539672852,0.276011288166046,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.94591009616852,1,0,0,0,0,0,0,0,0.044473011046648,42,2,1.0 +7.2007303237915,0.276007145643234,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,1,0,0,1,0.030721191316843,42,2,1.0 +6.78700971603394,0.275986045598984,10.6572589874268,1,0,0,0,1.88862872123718,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0274809114634991,42,3,1.0 +6.44721508026123,0.275959193706512,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,1,0.0092383632436394,42,2,1.0 +7.3966760635376,0.275996088981628,11.6952466964722,1,0,0,0,1.88862872123718,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,1,0,0,0,0,0.0179068017750978,42,1,1.0 +6.1775369644165,0.27599573135376,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,1,0,0,0,0,0.0110424589365721,42,2,1.0 +7.87604904174805,0.276023507118225,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.60943794250488,1,0,0,0,0,0,0,0,0.0603576302528381,42,1,1.0 +6.66401052474976,0.275971233844757,9.76995658874512,0,1,0,0,1.88862872123718,0.6931471824646,4.33073329925537,1.3862943649292,0,0,0,0,1,0,0,0,0.0590143725275993,42,0,1.0 +7.15970849990845,0.276002705097198,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,0,0.01412885915488,42,2,1.0 +6.46977853775024,0.276000708341599,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0200108624994755,42,2,1.0 +7.26477813720703,0.276021867990494,10.3889951705933,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,0,1,0,0,0,0.0579488016664982,42,2,1.0 +6.96775102615356,0.275975465774536,11.0429220199585,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0223887749016285,42,2,1.0 +6.8829140663147,0.275970220565796,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.85014748573303,1.60943794250488,1,0,0,0,0,0,0,0,0.0342793539166451,42,2,1.0 +6.17842197418213,0.275993645191193,10.5320959091187,0,0,0,1,1.88862872123718,0.0,3.178053855896,1.3862943649292,0,0,0,0,0,1,0,1,0.0169467274099588,42,2,1.0 +6.64120769500732,0.275962710380554,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,0,0.0269189197570086,42,2,1.0 +7.81580209732056,0.276031374931335,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0622413940727711,42,2,1.0 +7.50059270858765,0.276032656431198,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0198684576898813,42,2,1.0 +7.19376707077026,0.276017278432846,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0334138683974743,42,2,1.0 +7.59650564193726,0.276045680046082,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0456391796469688,42,2,1.0 +7.4734411239624,0.276032358407974,11.4075651168823,1,0,0,0,1.88862872123718,0.6931471824646,3.82864141464233,1.60943794250488,0,1,0,0,0,0,0,1,0.0257816761732101,42,2,1.0 +8.73928833007812,0.276061862707138,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.143103137612343,42,2,1.0 +6.65422296524048,0.275991857051849,10.9595403671265,1,0,0,0,1.88862872123718,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0177863277494907,42,2,1.0 +7.8761568069458,0.276040703058243,11.2580327987671,0,1,0,0,1.88862872123718,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0447870790958405,42,2,1.0 +6.40111207962036,0.276013553142548,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0138092804700136,42,1,1.0 +6.94841861724854,0.276012122631073,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0238705556839705,42,2,1.0 +7.34682130813599,0.275964796543121,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.80666255950928,1.60943794250488,0,0,1,0,0,0,0,1,0.0170354172587395,42,2,1.0 +6.87192583084106,0.275976210832596,10.2219409942627,0,0,0,1,1.88862872123718,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,0,1,0,0,1,0.0462340228259563,42,2,1.0 +6.89927768707275,0.276093155145645,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,1,0,0,0,0,0.0227277334779501,42,1,1.0 +7.23325824737549,0.275981277227402,11.6952466964722,0,1,0,0,1.88862872123718,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0152068780735135,42,1,1.0 +6.80372428894043,0.275978624820709,10.2219409942627,1,0,0,0,1.88862872123718,0.6931471824646,3.29583692550659,1.60943794250488,0,0,0,1,0,0,0,1,0.0431860312819481,42,2,1.0 +7.03899383544922,0.276041597127914,11.6952466964722,0,0,0,1,1.88862872123718,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,0,0,1,1,0.0125227058306336,42,2,1.0 +7.11817932128906,0.276009768247604,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0180722810328007,42,2,1.0 +7.20206785202026,0.275995820760727,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.43398714065552,1.0986123085022,1,0,0,0,0,0,0,0,0.0262046344578266,42,1,1.0 +5.47075223922729,0.275935411453247,9.76995658874512,1,0,0,0,1.88862872123718,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,0,1,0,0,0,0.0178943779319525,42,1,1.0 +6.91646766662598,0.275992840528488,10.7684850692749,1,0,0,0,1.88862872123718,1.0986123085022,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,1,0.0279867444187403,42,3,1.0 +7.07948112487793,0.275994837284088,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0173860136419535,42,1,1.0 +7.48229646682739,0.276102930307388,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,1,0,0,0,0.0407157242298126,42,2,1.0 +6.71763038635254,0.276028484106064,11.0429220199585,1,0,0,0,1.88862872123718,1.0986123085022,3.89182019233704,1.3862943649292,0,0,0,0,1,0,0,0,0.017435222864151,42,3,1.0 +7.64738512039185,0.276033192873001,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.85014748573303,1.3862943649292,0,0,1,0,0,0,0,1,0.0230099465698004,42,2,1.0 +7.36406373977661,0.276023328304291,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0554646700620651,42,1,1.0 +8.29425430297852,0.276006042957306,10.7684850692749,0,1,0,0,1.88862872123718,1.3862943649292,3.85014748573303,1.7917594909668,1,0,0,0,0,0,0,0,0.111000061035156,42,2,1.0 +6.87900543212891,0.275973290205002,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,1,0.0269571673125029,42,1,1.0 +6.71923017501831,0.276020795106888,10.3889951705933,1,0,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0335826873779297,42,1,1.0 +7.44517278671265,0.2759989798069,11.1198825836182,0,1,0,0,1.88862872123718,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,1,0.0334163196384907,42,1,1.0 +7.31331920623779,0.276013642549515,11.6952466964722,0,0,1,0,1.88862872123718,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,1,0,0,0,0,0.0164749529212713,42,2,1.0 +6.7941370010376,0.275994122028351,10.2219409942627,0,0,1,0,1.88862872123718,1.0986123085022,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0427746213972569,42,2,1.0 +6.29350614547729,0.275944888591766,10.3889951705933,0,0,0,1,1.88862872123718,1.0986123085022,3.40119743347168,1.60943794250488,0,0,0,0,0,1,0,1,0.0219377931207418,42,1,1.0 +6.02597379684448,0.27587416768074,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,0,1,0,0,0,0.0114858765155077,42,2,1.0 +5.49381589889526,0.27596914768219,11.4075651168823,0,0,0,1,1.88862872123718,0.6931471824646,3.98898410797119,1.3862943649292,0,0,0,0,1,0,0,1,0.003560765646398,42,2,1.0 +7.47598218917847,0.276055157184601,11.6952466964722,0,1,0,0,1.88862872123718,1.0986123085022,3.93182563781738,1.3862943649292,0,0,1,0,0,0,0,0,0.0193858966231346,42,2,1.0 +6.58809900283813,0.276024222373962,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0255281664431095,42,2,1.0 +7.41417789459229,0.276013374328613,11.1198825836182,0,0,0,1,1.88862872123718,0.6931471824646,3.98898410797119,1.60943794250488,0,0,0,0,1,0,0,1,0.0323969349265099,42,2,1.0 +6.71677589416504,0.276311486959457,10.5320959091187,0,0,1,0,1.88862872123718,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0290420949459076,42,1,1.0 +8.25414848327637,0.276051998138428,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.106641292572021,42,2,1.0 +7.65394878387451,0.27604004740715,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.465735912323,1.60943794250488,1,0,0,0,0,0,0,0,0.0653975531458855,42,1,1.0 +6.4225640296936,0.276026397943497,10.2219409942627,1,0,0,0,1.88862872123718,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.0295004155486822,42,1,1.0 +7.17026376724243,0.276017367839813,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,0,0.0326376892626286,42,2,1.0 +7.85889339447021,0.276035279035568,10.6572589874268,1,0,0,0,1.88862872123718,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,1,0,0,0,1,0.0802722945809364,42,1,1.0 +6.10030031204224,0.27589151263237,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0123723261058331,42,1,1.0 +7.57735872268677,0.276026397943497,11.4075651168823,0,1,0,0,1.88862872123718,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0286048278212547,42,2,1.0 +6.71926212310791,0.275979548692703,10.6572589874268,0,1,0,0,1.88862872123718,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0256806407123804,42,2,1.0 +6.52130603790283,0.276027947664261,10.7684850692749,0,1,0,0,1.88862872123718,0.6931471824646,3.66356158256531,1.7917594909668,0,0,0,0,1,0,0,0,0.0188517216593027,42,2,1.0 +7.10864639282227,0.275994747877121,10.9595403671265,0,0,1,0,1.88862872123718,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.028018256649375,42,2,1.0 +6.74165964126587,0.276242941617966,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.33220458030701,1.60943794250488,1,0,0,0,0,0,0,0,0.0297717973589897,42,2,1.0 +7.6422233581543,0.27604004740715,10.8685684204102,0,1,0,0,1.88862872123718,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0523237399756908,42,2,1.0 +6.73353099822998,0.275983601808548,10.5320959091187,0,1,0,0,1.88862872123718,0.6931471824646,3.49650764465332,1.60943794250488,0,1,0,0,0,0,0,0,0.0295231137424707,42,2,1.0 +6.52053213119507,0.276010751724243,10.7684850692749,0,0,0,1,1.88862872123718,1.0986123085022,3.63758611679077,1.60943794250488,0,0,0,0,0,0,1,1,0.0188368186354637,42,2,1.0 +6.90011548995972,0.276004046201706,11.6952466964722,0,0,0,1,1.88862872123718,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,1,0.0108985276892781,42,2,1.0 +6.63732004165649,0.275959998369217,10.5320959091187,0,0,0,1,1.88862872123718,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,0,0,1,0,1,0.0268144067376852,42,1,1.0 +7.10755777359009,0.27600234746933,10.9595403671265,0,1,0,0,1.88862872123718,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0279879849404097,42,2,1.0 +7.30183458328247,0.276023060083389,11.4075651168823,0,0,1,0,1.88862872123718,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.0217159651219845,42,1,1.0 +7.18934297561646,0.275967329740524,10.7684850692749,0,0,1,0,1.88862872123718,0.6931471824646,3.82864141464233,1.60943794250488,0,0,1,0,0,0,0,0,0.0367662534117699,42,2,1.0 +7.66052913665771,0.276040345430374,9.76995658874512,0,1,0,0,1.88862872123718,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.159871250391006,42,1,1.0 +7.20583248138428,0.276042878627777,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0373803712427616,42,2,1.0 +6.96081733703613,0.276033371686935,10.7684850692749,1,0,0,0,1.88862872123718,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,0,0.0292570628225803,42,2,1.0 +6.29263019561768,0.202553778886795,9.43348407745361,0,1,0,0,1.13114905357361,1.0986123085022,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.052955687046051,45,1,4.0 +6.86299467086792,0.202493607997894,11.1198825836182,0,1,0,0,1.13114905357361,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0173459779471159,45,1,4.0 +7.48544120788574,0.202774152159691,10.7684850692749,0,1,0,0,1.13114905357361,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0459468699991703,45,1,4.0 +7.19823217391968,0.202581807971001,11.0429220199585,0,1,0,0,1.13114905357361,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0261970702558756,45,2,4.0 +7.13117790222168,0.202615395188332,11.1198825836182,1,0,0,0,1.13114905357361,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0226841326802969,45,2,4.0 +8.04251098632812,0.20270037651062,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.52636051177979,1.3862943649292,0,1,0,0,0,0,0,0,0.0423260182142258,45,2,4.0 +6.25772666931152,0.202612370252609,9.43348407745361,0,1,0,0,1.13114905357361,0.6931471824646,3.33220458030701,1.60943794250488,0,0,0,0,0,0,0,0,0.0511422194540501,45,0,4.0 +7.96453905105591,0.202928900718689,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0391600988805294,45,2,4.0 +7.03302049636841,0.202425062656403,11.4075651168823,0,1,0,0,1.13114905357361,1.0986123085022,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0154195483773947,45,3,4.0 +6.30857229232788,0.202317953109741,9.43348407745361,0,1,0,0,1.13114905357361,0.6931471824646,4.20469284057617,1.7917594909668,0,0,0,1,0,0,0,0,0.0537939742207527,45,1,4.0 +7.56573247909546,0.202630281448364,10.9595403671265,0,1,0,0,1.13114905357361,1.0986123085022,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0411234200000763,45,3,4.0 +6.94437646865845,0.202527195215225,11.6952466964722,0,1,0,0,1.13114905357361,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,0,0.0105847232043743,45,1,4.0 +7.11944484710693,0.202526614069939,8.92265796661377,0,1,0,0,1.13114905357361,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.20175789296627,45,1,4.0 +7.2056770324707,0.202598944306374,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0183286629617214,45,1,4.0 +6.61747312545776,0.202377066016197,10.2219409942627,0,1,0,0,1.13114905357361,0.6931471824646,3.66356158256531,1.0986123085022,0,0,1,0,0,0,0,0,0.0333035588264465,45,2,4.0 +8.07725429534912,0.202786028385162,11.4075651168823,0,1,0,0,1.13114905357361,1.3862943649292,3.85014748573303,1.60943794250488,0,1,0,0,0,0,0,0,0.0438261479139328,45,4,4.0 +7.63015460968018,0.202710002660751,11.6952466964722,0,1,0,0,1.13114905357361,1.3862943649292,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,0,0.0210178699344397,45,3,4.0 +7.39642524719238,0.202664747834206,11.6952466964722,0,1,0,0,1.13114905357361,1.0986123085022,4.00733327865601,1.60943794250488,0,0,1,0,0,0,0,0,0.0166364852339029,45,3,4.0 +7.49326229095459,0.202706605195999,11.4075651168823,1,0,0,0,1.13114905357361,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0244384836405516,45,1,4.0 +6.57029581069946,0.202506840229034,11.0429220199585,0,1,0,0,1.13114905357361,0.6931471824646,4.29045963287354,1.0986123085022,1,0,0,0,0,0,0,0,0.0139801204204559,45,0,4.0 +7.71221590042114,0.202812895178795,10.7684850692749,0,1,0,0,1.13114905357361,1.0986123085022,3.25809645652771,1.3862943649292,1,0,0,0,0,0,0,0,0.0576447509229183,45,1,4.0 +7.70835304260254,0.202680125832558,10.7684850692749,0,1,0,0,1.13114905357361,0.6931471824646,3.63758611679077,1.0986123085022,1,0,0,0,0,0,0,0,0.0574148893356323,45,2,4.0 +6.95275163650513,0.20248182117939,11.6952466964722,0,1,0,0,1.13114905357361,1.0986123085022,3.55534815788269,1.94591009616852,1,0,0,0,0,0,0,0,0.0106732603162527,45,1,4.0 +8.11275005340576,0.202796921133995,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0454102382063866,45,2,4.0 +7.39152717590332,0.202652677893639,11.6952466964722,0,0,1,0,1.13114905357361,0.6931471824646,4.14313459396362,1.0986123085022,0,0,0,1,0,0,0,0,0.0165550019592047,45,2,4.0 +7.60608911514282,0.202708452939987,11.6952466964722,1,0,0,0,1.13114905357361,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,0,0.0205180700868368,45,1,4.0 +7.10163068771362,0.202708065509796,11.4075651168823,0,1,0,0,1.13114905357361,0.6931471824646,3.465735912323,1.0986123085022,1,0,0,0,0,0,0,0,0.0165192987769842,45,2,4.0 +6.38443040847778,0.202304422855377,10.7684850692749,1,0,0,0,1.13114905357361,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0152717577293515,45,2,4.0 +7.22984075546265,0.20270699262619,11.6952466964722,0,1,0,0,1.13114905357361,0.6931471824646,3.52636051177979,1.60943794250488,1,0,0,0,0,0,0,0,0.014084231108427,45,1,4.0 +7.36451721191406,0.202737659215927,10.9595403671265,1,0,0,0,1.13114905357361,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.0336317270994186,45,1,4.0 +7.47741937637329,0.202604398131371,11.0429220199585,0,1,0,0,1.13114905357361,1.0986123085022,3.71357202529907,1.60943794250488,0,1,0,0,0,0,0,0,0.0346347317099571,45,3,4.0 +6.63396072387695,0.202810451388359,10.0212707519531,1,0,0,0,1.13114905357361,0.6931471824646,3.52636051177979,1.3862943649292,1,0,0,0,0,0,0,0,0.0413989685475826,45,1,4.0 +7.81783390045166,0.202560290694237,11.6952466964722,1,0,0,0,1.13114905357361,1.3862943649292,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.0253531411290169,45,4,4.0 +7.75670051574707,0.202723830938339,11.6952466964722,0,1,0,0,1.13114905357361,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0238535422831774,45,2,4.0 +7.71984434127808,0.20275205373764,11.6952466964722,0,0,1,0,1.13114905357361,0.6931471824646,3.80666255950928,1.60943794250488,0,1,0,0,0,0,0,0,0.0229910407215357,45,1,4.0 +6.87991857528687,0.202491566538811,10.9595403671265,0,1,0,0,1.13114905357361,0.6931471824646,3.76120018959045,1.0986123085022,1,0,0,0,0,0,0,0,0.0207101758569479,45,2,4.0 +6.43431949615479,0.202285721898079,10.7684850692749,0,1,0,0,1.13114905357361,1.0986123085022,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,0,0.0160526745021343,45,3,4.0 +7.7065224647522,0.228940889239311,10.5320959091187,0,1,0,0,0.996367812156677,0.6931471824646,3.55534815788269,1.60943794250488,1,0,0,0,0,0,0,0,0.0745241045951843,47,2,5.0 +5.8667893409729,0.229111343622208,9.43348407745361,0,1,0,0,0.996367812156677,0.6931471824646,3.21887588500977,1.7917594909668,0,0,0,1,0,0,0,0,0.0355227068066597,47,0,5.0 +7.36908054351807,0.228907600045204,11.4075651168823,0,1,0,0,0.996367812156677,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0221575517207384,47,1,5.0 +7.52497577667236,0.228901445865631,11.4075651168823,0,1,0,0,0.996367812156677,0.6931471824646,3.89182019233704,1.0986123085022,1,0,0,0,0,0,0,0,0.0258954539895058,47,2,5.0 +8.35843944549561,0.229062050580978,11.4075651168823,0,1,0,0,0.996367812156677,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0596021898090839,47,1,5.0 +5.44098472595215,0.228602707386017,10.8685684204102,0,0,1,0,0.996367812156677,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0055221882648766,47,2,5.0 +7.57050943374634,0.22888171672821,11.2580327987671,0,1,0,0,0.996367812156677,0.6931471824646,3.7376697063446,1.0986123085022,1,0,0,0,0,0,0,0,0.0314724743366241,47,2,5.0 +8.0642147064209,0.228817895054817,11.1913414001465,0,1,0,0,0.996367812156677,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,0,0.0551163330674171,47,2,5.0 +7.08652925491333,0.228748202323914,10.2219409942627,0,1,0,0,0.996367812156677,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0546577759087086,47,1,5.0 +7.85340261459351,0.229021191596985,11.1913414001465,0,0,1,0,0.996367812156677,0.6931471824646,3.55534815788269,1.3862943649292,1,0,0,0,0,0,0,0,0.0446492396295071,47,2,5.0 +7.67409133911133,0.228889688849449,11.6952466964722,0,0,1,0,0.996367812156677,0.6931471824646,3.80666255950928,1.0986123085022,0,0,1,0,0,0,0,0,0.0225444603711367,47,1,5.0 +7.97335529327393,0.229019016027451,10.6572589874268,0,1,0,0,0.996367812156677,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0858730673789978,47,2,5.0 +7.49094676971436,0.228791356086731,10.2219409942627,0,1,0,0,0.996367812156677,1.0986123085022,3.85014748573303,1.94591009616852,1,0,0,0,0,0,0,0,0.0819043517112732,47,3,5.0 +6.46727418899536,0.228517532348633,10.5320959091187,0,1,0,0,0.996367812156677,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0215731766074896,47,1,5.0 +6.50121164321899,0.228827282786369,11.6952466964722,0,0,1,0,0.996367812156677,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,1,0,0,0,0,0.0069764996878802,47,1,5.0 +7.33036470413208,0.228635430335999,10.7684850692749,1,0,0,0,0.996367812156677,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0403774082660675,47,2,5.0 +7.59580516815186,0.228934526443481,11.1198825836182,0,1,0,0,0.996367812156677,0.6931471824646,3.76120018959045,1.0986123085022,0,1,0,0,0,0,0,0,0.0370627455413342,47,2,5.0 +6.69586372375488,0.228720039129257,10.7684850692749,0,1,0,0,0.996367812156677,0.6931471824646,3.58351898193359,1.0986123085022,1,0,0,0,0,0,0,0,0.0214099138975143,47,2,5.0 +7.90748929977417,0.229015603661537,11.2580327987671,1,0,0,0,0.996367812156677,0.6931471824646,3.25809645652771,1.0986123085022,0,0,1,0,0,0,0,0,0.0440897308290005,47,1,5.0 +7.36424684524536,0.228770017623901,11.6952466964722,0,1,0,0,0.996367812156677,1.0986123085022,4.04305124282837,1.3862943649292,0,0,1,0,0,0,0,0,0.0165357552468777,47,2,5.0 +6.56989669799805,0.228571504354477,9.76995658874512,0,1,0,0,0.996367812156677,0.6931471824646,3.21887588500977,1.3862943649292,0,1,0,0,0,0,0,0,0.0512270219624043,47,2,5.0 +7.71226119995117,0.228977859020233,11.4075651168823,0,0,1,0,0.996367812156677,1.0986123085022,3.80666255950928,1.7917594909668,0,0,0,1,0,0,0,0,0.0312315635383129,47,3,5.0 +6.52337837219238,0.228600531816483,10.5320959091187,0,0,1,0,0.996367812156677,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0228200182318687,47,2,5.0 +8.1029748916626,0.22896184027195,11.4075651168823,0,0,1,0,0.996367812156677,1.0986123085022,3.98898410797119,1.60943794250488,0,0,1,0,0,0,0,0,0.0461606048047543,47,3,5.0 +7.4301872253418,0.22890068590641,11.6952466964722,0,0,1,0,0.996367812156677,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0176651906222105,47,1,5.0 +6.58943605422974,0.228839054703712,10.9595403671265,0,1,0,0,0.996367812156677,0.6931471824646,3.58351898193359,1.0986123085022,0,0,1,0,0,0,0,0,0.0159027241170406,47,2,5.0 +8.64607810974121,0.229098841547966,11.6952466964722,1,0,0,0,0.996367812156677,0.6931471824646,3.91202306747437,1.0986123085022,0,0,0,0,1,0,0,0,0.0596017576754093,47,2,5.0 +6.98396015167236,0.229027166962624,10.5320959091187,0,1,0,0,0.996367812156677,0.6931471824646,3.465735912323,1.60943794250488,0,1,0,0,0,0,0,0,0.0361850634217262,47,1,5.0 +6.82706689834595,0.228683233261108,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0096625601872801,47,2,5.0 +7.20517635345459,0.228852614760399,11.2580327987671,0,1,0,0,0.996367812156677,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.0218401700258255,47,2,5.0 +7.29631853103638,0.228837251663208,10.9595403671265,0,1,0,0,0.996367812156677,0.6931471824646,3.29583692550659,1.0986123085022,0,1,0,0,0,0,0,0,0.0322452448308468,47,1,5.0 +8.08409881591797,0.228993594646454,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.36729574203491,1.0986123085022,0,1,0,0,0,0,0,0,0.0339741781353951,47,2,5.0 +7.88764953613281,0.228954344987869,10.7684850692749,0,1,0,0,0.996367812156677,0.6931471824646,3.71357202529907,1.3862943649292,1,0,0,0,0,0,0,0,0.070518434047699,47,1,5.0 +7.01485395431519,0.228652223944664,11.2580327987671,0,0,1,0,0.996367812156677,0.6931471824646,3.33220458030701,1.0986123085022,0,0,1,0,0,0,0,0,0.0180514920502901,47,2,5.0 +6.90240526199341,0.228700026869774,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0104188192635775,47,1,5.0 +7.6537561416626,0.228931501507759,11.2580327987671,0,1,0,0,0.996367812156677,0.6931471824646,3.36729574203491,1.3862943649292,1,0,0,0,0,0,0,0,0.0342063009738922,47,2,5.0 +6.9755859375,0.228799313306808,11.2580327987671,0,1,0,0,0.996367812156677,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0173589307814837,47,2,5.0 +7.57990026473999,0.228776559233665,11.4075651168823,0,1,0,0,0.996367812156677,1.0986123085022,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,0,0.0273541212081909,47,3,5.0 +7.95849609375,0.228846922516823,11.6952466964722,0,0,1,0,0.996367812156677,0.6931471824646,3.71357202529907,1.60943794250488,0,0,1,0,0,0,0,0,0.0299596451222897,47,1,5.0 +6.83635902404785,0.228762611746788,10.6572589874268,0,1,0,0,0.996367812156677,0.6931471824646,3.36729574203491,1.3862943649292,0,1,0,0,0,0,0,0,0.0275393966585398,47,1,5.0 +6.55033111572266,0.228445157408714,10.9595403671265,0,1,0,0,0.996367812156677,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0152868237346411,47,1,5.0 +5.97032880783081,0.228766411542892,9.76995658874512,0,1,0,0,0.996367812156677,0.6931471824646,3.09104251861572,1.60943794250488,0,0,1,0,0,0,0,0,0.0281316172331572,47,2,5.0 +7.42117738723755,0.228867873549461,11.4075651168823,0,0,1,0,0.996367812156677,0.6931471824646,3.49650764465332,1.0986123085022,0,0,0,1,0,0,0,0,0.0233415625989437,47,1,5.0 +6.2754602432251,0.228385016322136,10.0212707519531,1,0,0,0,0.996367812156677,0.0,4.07753753662109,1.0986123085022,0,0,0,1,0,0,0,0,0.0296757370233536,47,0,5.0 +8.1896505355835,0.228983923792839,11.4075651168823,1,0,0,0,0.996367812156677,1.60943794250488,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,0,0.0503412522375584,47,3,5.0 +7.15818929672241,0.228798553347588,11.1913414001465,0,0,1,0,0.996367812156677,0.6931471824646,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0222735852003098,47,1,5.0 +6.46298599243164,0.228450939059258,10.5320959091187,0,0,1,0,0.996367812156677,0.6931471824646,3.178053855896,1.0986123085022,0,0,1,0,0,0,0,0,0.0214794408529997,47,2,5.0 +7.01044702529907,0.228821605443954,10.9595403671265,1,0,0,0,0.996367812156677,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,1,0,0,0,0,0.0242273919284344,47,2,5.0 +7.28731298446655,0.228604897856712,10.7684850692749,0,1,0,0,0.996367812156677,1.3862943649292,3.89182019233704,1.60943794250488,0,1,0,0,0,0,0,0,0.0386747978627682,47,4,5.0 +7.54093074798584,0.228953972458839,11.4075651168823,0,1,0,0,0.996367812156677,0.6931471824646,3.76120018959045,1.0986123085022,0,1,0,0,0,0,0,0,0.0263133198022842,47,2,5.0 +8.15817832946777,0.228852897882462,10.7684850692749,0,0,1,0,0.996367812156677,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,1,0,0,0,0,0.0924160927534103,47,2,5.0 +7.55554580688477,0.228919923305511,11.4075651168823,1,0,0,0,0.996367812156677,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,0,0.0266998056322336,47,2,5.0 +6.65144491195679,0.228556528687477,10.3889951705933,0,1,0,0,0.996367812156677,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0299270059913397,47,2,5.0 +8.1882381439209,0.228993982076645,10.6572589874268,1,0,0,0,0.996367812156677,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.106455557048321,47,2,5.0 +7.66170740127563,0.228826433420181,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.61091780662537,1.60943794250488,1,0,0,0,0,0,0,0,0.0222655832767487,47,2,5.0 +7.27249908447266,0.228826627135277,11.6952466964722,0,1,0,0,0.996367812156677,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,0,0.0150870084762573,47,1,5.0 +7.28452396392822,0.228762045502663,11.1198825836182,0,0,1,0,0.996367812156677,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0271440614014864,47,2,5.0 +6.56272506713867,0.228750184178352,10.7684850692749,0,1,0,0,0.996367812156677,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0187415927648544,47,2,5.0 +7.47806787490845,0.228942304849625,11.0429220199585,1,0,0,0,0.996367812156677,0.6931471824646,3.52636051177979,1.60943794250488,0,0,1,0,0,0,0,0,0.0355821326375008,47,1,5.0 +6.83304166793823,0.228746399283409,10.5320959091187,0,1,0,0,0.996367812156677,0.6931471824646,3.36729574203491,1.60943794250488,1,0,0,0,0,0,0,0,0.0311074499040842,47,2,5.0 +6.91079902648926,0.22882017493248,11.2580327987671,0,0,1,0,0.996367812156677,0.6931471824646,3.63758611679077,1.0986123085022,0,0,1,0,0,0,0,0,0.0162702985107899,47,2,5.0 +7.63552188873291,0.23060305416584,9.76995658874512,1,0,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.148996695876122,48,2,6.0 +7.41606712341309,0.230333805084229,11.2580327987671,0,1,0,0,0.98360687494278,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,1,0,0,0,0,0.0270077250897884,48,2,6.0 +7.35671234130859,0.230506971478462,11.1913414001465,0,0,1,0,0.98360687494278,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0272113140672445,48,2,6.0 +7.35633707046509,0.230477809906006,11.1198825836182,0,0,0,1,0.98360687494278,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0292151477187872,48,2,6.0 +8.00265121459961,0.230574086308479,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0485671646893024,48,1,6.0 +7.5875039100647,0.230607882142067,11.2580327987671,0,0,1,0,0.98360687494278,1.0986123085022,3.97029185295105,1.3862943649292,0,0,1,0,0,0,0,0,0.0320671983063221,48,3,6.0 +8.09915447235107,0.230559974908829,11.2580327987671,0,1,0,0,0.98360687494278,1.0986123085022,3.85014748573303,1.3862943649292,1,0,0,0,0,0,0,0,0.0534868687391281,48,3,6.0 +7.24896240234375,0.230201423168182,11.6952466964722,1,0,0,0,0.98360687494278,1.0986123085022,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0147563265636563,48,1,6.0 +6.02201890945435,0.230102464556694,10.6572589874268,0,1,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0122144231572747,48,2,6.0 +7.71265125274658,0.230517953634262,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0234689321368933,48,2,6.0 +6.7806544303894,0.230561882257462,9.76995658874512,0,0,1,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0633715763688087,48,1,6.0 +7.5013484954834,0.230501756072044,11.1198825836182,1,0,0,0,0.98360687494278,0.6931471824646,3.21887588500977,1.0986123085022,0,1,0,0,0,0,0,0,0.0337750613689423,48,2,6.0 +6.90335321426392,0.230268940329552,9.76995658874512,0,1,0,0,0.98360687494278,0.6931471824646,3.13549423217773,1.3862943649292,0,0,0,1,0,0,0,0,0.0716233551502228,48,2,6.0 +7.47572135925293,0.230434641242027,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0592529103159904,48,2,6.0 +7.2608757019043,0.23053565621376,10.3889951705933,1,0,0,0,0.98360687494278,0.6931471824646,3.04452252388,1.3862943649292,0,0,1,0,0,0,0,0,0.0551563240587711,48,1,6.0 +7.27054166793823,0.230552315711975,11.4075651168823,0,0,1,0,0.98360687494278,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0201113540679216,48,2,6.0 +7.90448760986328,0.230610996484756,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0593417808413506,48,2,6.0 +7.35842180252075,0.230399042367935,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0164665151387453,48,2,6.0 +7.9846134185791,0.230468347668648,11.6952466964722,0,1,0,0,0.98360687494278,1.3862943649292,2.89037179946899,1.60943794250488,0,0,0,1,0,0,0,0,0.0308023244142532,48,3,6.0 +7.6251482963562,0.230473548173904,10.9595403671265,0,1,0,0,0.98360687494278,1.0986123085022,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0448730364441872,48,2,6.0 +7.17640399932861,0.230409741401672,10.7684850692749,1,0,0,0,0.98360687494278,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0346772521734238,48,1,6.0 +7.28470611572266,0.230438143014908,11.1198825836182,0,1,0,0,0.98360687494278,1.0986123085022,3.58351898193359,1.3862943649292,0,0,0,1,0,0,0,0,0.0271945521235466,48,3,6.0 +6.90292310714722,0.230584591627121,10.0212707519531,1,0,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.7917594909668,0,1,0,0,0,0,0,0,0.0557006858289242,48,1,6.0 +7.42885780334473,0.230517566204071,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.49650764465332,1.0986123085022,0,1,0,0,0,0,0,0,0.0176702681928873,48,2,6.0 +7.22495412826538,0.230572283267975,11.1198825836182,0,1,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.0986123085022,0,1,0,0,0,0,0,0,0.0256206523627043,48,2,6.0 +7.70132493972778,0.230548903346062,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.63758611679077,1.60943794250488,1,0,0,0,0,0,0,0,0.0232053268700838,48,1,6.0 +5.505690574646,0.229679986834526,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.178053855896,1.0986123085022,0,0,1,0,0,0,0,0,0.008256739936769,48,2,6.0 +8.22772216796875,0.230564624071121,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.97029185295105,1.60943794250488,0,0,1,0,0,0,0,0,0.0392831340432167,48,1,6.0 +7.92044305801392,0.230533376336098,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.60943794250488,0,0,0,1,0,0,0,0,0.060291513800621,48,2,6.0 +6.85431814193726,0.23054975271225,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0099480440840125,48,2,6.0 +7.65566778182983,0.230429902672768,10.5320959091187,1,0,0,0,0.98360687494278,1.0986123085022,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0709344893693924,48,3,6.0 +6.81430006027222,0.230440035462379,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0199445355683565,48,2,6.0 +7.93380165100098,0.230617254972458,10.8685684204102,0,1,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0669272020459175,48,2,6.0 +6.27332305908203,0.229989007115364,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0098866410553455,48,1,6.0 +8.12501811981201,0.230629652738571,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,0,0.0354511700570583,48,2,6.0 +7.23749828338623,0.230318278074265,11.4075651168823,0,0,1,0,0.98360687494278,1.0986123085022,3.82864141464233,1.3862943649292,0,0,0,0,0,1,0,0,0.0194531101733446,48,3,6.0 +8.12675380706787,0.230667695403099,11.4075651168823,0,1,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0473521389067173,48,2,6.0 +6.94909381866455,0.230519369244576,10.7684850692749,0,0,1,0,0.98360687494278,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,0,0.0276294890791178,48,2,6.0 +7.51132011413574,0.230507254600525,10.7684850692749,0,0,1,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0484773963689804,48,2,6.0 +7.40374946594238,0.230442777276039,9.76995658874512,1,0,0,0,0.98360687494278,0.6931471824646,3.36729574203491,1.0986123085022,0,0,1,0,0,0,0,0,0.118154287338257,48,1,6.0 +7.92433786392212,0.230493143200874,11.4075651168823,0,0,1,0,0.98360687494278,1.0986123085022,3.82864141464233,1.94591009616852,0,0,0,0,1,0,0,0,0.0386683493852615,48,1,6.0 +6.52106285095215,0.230437949299812,10.6572589874268,0,1,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.94591009616852,0,0,0,0,0,0,0,0,0.0201256796717644,48,1,6.0 +8.66665363311768,0.230600491166115,10.5320959091187,1,0,0,0,0.98360687494278,1.3862943649292,3.61091780662537,1.94591009616852,0,0,1,0,0,0,0,0,0.194983139634132,48,4,6.0 +7.15489530563354,0.230459064245224,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0134349893778563,48,1,6.0 +6.23729133605957,0.229734942317009,10.7684850692749,1,0,0,0,0.98360687494278,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,0,0,0,0,0.0135487802326679,48,1,6.0 +7.03830480575562,0.230565279722214,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.024955278262496,48,1,6.0 +7.74529314041138,0.23060105741024,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,0,1,0,0,0,0.0431105084717274,48,2,6.0 +7.30559110641479,0.230483591556549,10.7684850692749,0,1,0,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0394622646272182,48,1,6.0 +7.49538469314575,0.230380669236183,11.6952466964722,0,1,0,0,0.98360687494278,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0188832134008408,48,3,6.0 +7.51153135299683,0.230419307947159,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0297156218439341,48,2,6.0 +7.34794807434082,0.23048235476017,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0289712119847536,48,2,6.0 +6.83997106552124,0.230399414896965,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,4.00733327865601,1.3862943649292,0,1,0,0,0,0,0,0,0.0098048653453588,48,2,6.0 +7.12508392333984,0.230394408106804,10.8685684204102,0,1,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,1,0,0,0,0,0,0,0,0.029804665595293,48,2,6.0 +7.14514398574829,0.230460479855537,10.5320959091187,0,1,0,0,0.98360687494278,1.0986123085022,3.43398714065552,1.60943794250488,0,0,1,0,0,0,0,0,0.0425748489797115,48,3,6.0 +7.19790077209473,0.230460301041603,10.8685684204102,1,0,0,0,0.98360687494278,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,0,1,0,0,0,0.0320580415427685,48,1,6.0 +5.64649820327759,0.230134755373001,10.0212707519531,0,0,0,1,0.98360687494278,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,0,1,0,0,0,0.0158491786569357,48,1,6.0 +5.96227359771729,0.230187982320786,10.3889951705933,0,0,1,0,0.98360687494278,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,0,0.0150476470589638,48,1,6.0 +7.83240461349487,0.230506122112274,11.6952466964722,0,1,0,0,0.98360687494278,1.0986123085022,3.98898410797119,1.3862943649292,0,0,1,0,0,0,0,0,0.0264543034136295,48,1,6.0 +7.24286651611328,0.230490773916245,11.0429220199585,0,0,1,0,0.98360687494278,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0281681139022112,48,2,6.0 +7.1189980506897,0.230366572737694,11.4075651168823,0,1,0,0,0.98360687494278,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.017280088737607,48,1,6.0 +5.8852334022522,0.230514913797379,9.43348407745361,0,0,1,0,0.98360687494278,0.6931471824646,4.06044292449951,1.3862943649292,0,0,0,0,1,0,0,0,0.0362347960472107,48,2,6.0 +7.13203573226929,0.230510666966438,10.9595403671265,0,1,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,0,0.0274059846997261,48,2,6.0 +8.10094451904297,0.230641484260559,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0346083119511604,48,2,6.0 +7.42867231369019,0.230364203453064,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0176642797887325,48,2,6.0 +6.07292318344116,0.231670141220093,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0060786558315157,48,1,6.0 +7.21737432479858,0.230468913912773,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.0986123085022,0,0,1,0,0,0,0,0,0.0143013158813119,48,1,6.0 +6.0049524307251,0.229785248637199,10.2219409942627,0,0,0,1,0.98360687494278,0.6931471824646,3.61091780662537,1.60943794250488,0,0,0,0,0,1,0,0,0.0185515210032463,48,2,6.0 +7.15487384796143,0.230182871222496,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.78418970108032,1.60943794250488,0,0,0,0,1,0,0,0,0.0134309949353337,48,2,6.0 +7.624427318573,0.2303706407547,11.4075651168823,0,1,0,0,0.98360687494278,1.3862943649292,3.85014748573303,1.3862943649292,0,0,0,0,0,0,0,0,0.0286452732980251,48,3,6.0 +7.57997226715088,0.230510845780373,9.76995658874512,0,0,1,0,0.98360687494278,1.0986123085022,4.24849510192871,1.94591009616852,0,0,0,1,0,0,0,0,0.140932664275169,48,1,6.0 +7.72586441040039,0.230423852801323,11.1198825836182,0,0,1,0,0.98360687494278,1.3862943649292,3.78418970108032,1.60943794250488,0,0,0,1,0,0,0,0,0.0422735065221786,48,3,6.0 +5.27551031112671,0.229597076773643,10.6572589874268,0,0,1,0,0.98360687494278,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,0,1,0,0,0,0.0057869376614689,48,2,6.0 +6.75703239440918,0.230222448706627,10.3889951705933,1,0,0,0,0.98360687494278,0.6931471824646,4.30406522750854,1.3862943649292,0,0,0,1,0,0,0,0,0.0333152413368225,48,0,6.0 +7.80214834213257,0.23060342669487,11.1198825836182,0,1,0,0,0.98360687494278,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0456326827406883,48,1,6.0 +7.22402048110962,0.230464562773705,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,0,0.0143966181203723,48,1,6.0 +7.61372900009155,0.230464369058609,11.6952466964722,0,0,0,1,0.98360687494278,0.6931471824646,3.98898410797119,1.0986123085022,0,0,0,0,1,0,0,0,0.0212573297321796,48,2,6.0 +8.09040069580078,0.230667129158974,8.92265796661377,0,0,1,0,0.98360687494278,0.6931471824646,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.547939658164978,48,1,6.0 +7.12069320678711,0.230341479182243,10.2219409942627,1,0,0,0,0.98360687494278,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,1,0,0,0,0,0.0566475577652454,48,1,6.0 +7.18703413009644,0.230404064059258,10.9595403671265,0,1,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,0,0,0,0,0.0289524085819721,48,2,6.0 +7.17708492279053,0.230480745434761,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,1,0,0,0,0,0,0,0.0137367369607091,48,2,6.0 +7.58294534683228,0.230548337101936,10.6572589874268,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0582060776650906,48,2,6.0 +7.56715297698975,0.230369970202446,11.1913414001465,0,0,1,0,0.98360687494278,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0335801839828491,48,2,6.0 +7.6389102935791,0.23053365945816,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0218009166419506,48,2,6.0 +7.58403205871582,0.230393260717392,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0206338614225388,48,1,6.0 +7.51070070266724,0.230621606111526,10.7684850692749,1,0,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,0,0.0484529137611389,48,2,6.0 +8.03923797607422,0.230619236826897,11.1198825836182,0,1,0,0,0.98360687494278,0.6931471824646,3.58351898193359,1.0986123085022,0,0,1,0,0,0,0,0,0.0578428134322166,48,2,6.0 +7.50171422958374,0.230455562472343,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0294263865798712,48,2,6.0 +7.4075231552124,0.230554297566414,10.7684850692749,0,1,0,0,0.98360687494278,1.0986123085022,4.02535152435303,1.3862943649292,0,0,1,0,0,0,0,0,0.0436999760568142,48,1,6.0 +7.17863798141479,0.230481028556824,10.5320959091187,0,0,0,1,0.98360687494278,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0440259017050266,48,2,6.0 +7.36615371704102,0.230467960238457,10.0212707519531,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0885091796517372,48,1,6.0 +7.55090427398682,0.230554774403572,10.3889951705933,0,1,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0737159252166748,48,2,6.0 +7.43564462661743,0.230341285467148,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,0,0.0237166248261929,48,2,6.0 +7.32748508453369,0.23066608607769,10.5320959091187,0,0,1,0,0.98360687494278,1.0986123085022,3.98898410797119,1.3862943649292,0,0,0,0,0,1,0,0,0.0511013232171535,48,1,6.0 +7.5,0.230475544929504,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,0,0.0189723744988441,48,2,6.0 +7.19249773025513,0.230299532413483,11.0429220199585,0,1,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.0267793368548155,48,2,6.0 +6.79138469696045,0.230260416865349,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.71357202529907,1.0986123085022,0,0,1,0,0,0,0,0,0.0093385707587003,48,1,6.0 +7.42882394790649,0.230559974908829,10.8685684204102,0,1,0,0,0.98360687494278,0.6931471824646,3.55534815788269,1.0986123085022,1,0,0,0,0,0,0,0,0.040389534085989,48,1,6.0 +7.27847051620483,0.230533570051193,11.6952466964722,0,0,1,0,0.98360687494278,1.3862943649292,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,0,0.0152032971382141,48,2,6.0 +7.32045078277588,0.230432361364365,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0158535167574883,48,2,6.0 +7.87589073181152,0.230380952358246,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0491140075027943,48,2,6.0 +7.30353879928589,0.23030199110508,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.63758611679077,1.60943794250488,0,0,0,1,0,0,0,0,0.0155856218189001,48,2,6.0 +7.4890022277832,0.230555728077888,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0250218231230974,48,2,6.0 +5.61127328872681,0.230093851685524,10.5320959091187,1,0,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,0,1,0,0,0.0091799926012754,48,2,6.0 +7.11139392852783,0.230355963110924,11.2580327987671,1,0,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0199149772524834,48,2,6.0 +6.59390592575073,0.230381146073341,11.6952466964722,0,1,0,0,0.98360687494278,0.6931471824646,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0076660038903355,48,1,6.0 +7.09711122512817,0.230416268110275,10.2219409942627,0,0,1,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0553314574062824,48,2,6.0 +8.43226528167725,0.230690896511078,11.0429220199585,0,1,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0925537347793579,48,2,6.0 +7.66346502304077,0.230405956506729,10.5320959091187,0,1,0,0,0.98360687494278,1.3862943649292,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.071488045156002,48,3,6.0 +7.28665590286255,0.230434447526932,11.1913414001465,0,0,1,0,0.98360687494278,0.6931471824646,3.29583692550659,1.7917594909668,0,0,0,0,1,0,0,0,0.0253683887422085,48,2,6.0 +6.6429615020752,0.230479419231415,10.6572589874268,0,0,1,0,0.98360687494278,0.0,4.06044292449951,1.0986123085022,0,0,1,0,0,0,0,0,0.0227357111871243,48,1,6.0 +6.715989112854,0.230505555868149,11.4075651168823,0,1,0,0,0.98360687494278,0.6931471824646,3.95124363899231,1.0986123085022,0,1,0,0,0,0,0,0,0.0115499952808022,48,1,6.0 +7.6020131111145,0.230496928095818,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0210104193538427,48,2,6.0 +7.02116870880127,0.230408892035484,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,0,1,0,0,0,0.01175273116678,48,2,6.0 +7.8857102394104,0.230527132749557,11.4075651168823,0,1,0,0,0.98360687494278,0.6931471824646,3.8712010383606,1.3862943649292,1,0,0,0,0,0,0,0,0.037204422056675,48,2,6.0 +6.32977247238159,0.229849383234978,9.76995658874512,1,0,0,0,0.98360687494278,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0403431281447411,48,2,6.0 +7.37155246734619,0.230528831481934,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.0348236337304115,48,2,6.0 +6.63732528686523,0.23029337823391,11.6952466964722,0,0,0,1,0.98360687494278,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.0080054840072989,48,1,6.0 +6.29915714263916,0.23051293194294,10.6572589874268,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,0,0,0,0,0.0161216948181391,48,1,6.0 +8.45679569244385,0.230533093214035,11.6952466964722,0,1,0,0,0.98360687494278,1.0986123085022,3.80666255950928,1.3862943649292,1,0,0,0,0,0,0,0,0.0493943877518177,48,3,6.0 +6.93430995941162,0.230019971728325,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0107707940042019,48,2,6.0 +8.24982166290283,0.230546534061432,9.76995658874512,0,1,0,0,0.98360687494278,1.0986123085022,3.29583692550659,1.60943794250488,0,0,0,0,1,0,0,0,0.275384277105331,48,3,6.0 +7.55097436904907,0.2304717451334,11.1913414001465,0,1,0,0,0.98360687494278,1.0986123085022,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0330446437001228,48,1,6.0 +6.94804430007935,0.230217143893242,11.2580327987671,1,0,0,0,0.98360687494278,1.0986123085022,3.85014748573303,1.7917594909668,0,0,0,0,1,0,0,0,0.0169113222509623,48,1,6.0 +6.58079624176025,0.230184674263,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0075646741315722,48,1,6.0 +7.37373495101929,0.230465218424797,11.4075651168823,0,1,0,0,0.98360687494278,1.0986123085022,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0222956277430058,48,2,6.0 +7.18538570404053,0.230379164218903,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.013849831186235,48,1,6.0 +7.69033479690552,0.230410501360893,11.6952466964722,0,1,0,0,0.98360687494278,1.3862943649292,3.71357202529907,1.3862943649292,0,0,0,0,0,0,0,0,0.022948520258069,48,1,6.0 +7.44258737564087,0.230359748005867,10.9595403671265,0,1,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,0,0.0373809859156609,48,2,6.0 +7.11854362487793,0.230417221784592,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,1,0,0,0,0,0,0,0.0200591012835503,48,2,6.0 +7.19157886505127,0.230322062969208,10.7684850692749,0,1,0,0,0.98360687494278,0.6931471824646,3.66356158256531,1.60943794250488,1,0,0,0,0,0,0,0,0.0352044068276882,48,1,6.0 +7.55202198028564,0.23038749396801,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.7376697063446,1.60943794250488,0,1,0,0,0,0,0,0,0.0199837125837803,48,1,6.0 +7.52805137634277,0.230448171496391,11.6952466964722,0,0,1,0,0.98360687494278,1.0986123085022,3.78418970108032,1.3862943649292,0,0,0,1,0,0,0,0,0.0195115711539984,48,3,6.0 +7.99348449707031,0.2305968105793,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.0986123085022,0,1,0,0,0,0,0,0,0.0310807768255472,48,2,6.0 +7.56773042678833,0.230559319257736,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0314378328621387,48,2,6.0 +6.58013248443604,0.230196595191956,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0100796585902572,48,1,6.0 +6.90189123153687,0.230385601520538,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0139080425724387,48,2,6.0 +7.41405630111694,0.230530068278313,10.7684850692749,1,0,0,0,0.98360687494278,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.043985340744257,48,2,6.0 +8.2278356552124,0.230645835399628,10.8685684204102,0,0,0,1,0.98360687494278,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,0,1,0,0,0,0.0898074507713318,48,2,6.0 +7.46901226043701,0.230429247021675,11.1198825836182,0,0,1,0,0.98360687494278,1.3862943649292,3.85014748573303,1.60943794250488,0,0,1,0,0,0,0,0,0.032698005437851,48,2,6.0 +7.01555585861206,0.230371966958046,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.0116865215823054,48,2,6.0 +7.2488260269165,0.230484634637833,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0472271963953972,48,2,6.0 +7.25896072387695,0.230394020676613,10.2219409942627,0,1,0,0,0.98360687494278,1.0986123085022,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,0,0.0650508031249046,48,2,6.0 +7.37838411331177,0.230530723929405,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.022400988265872,48,1,6.0 +6.44328927993774,0.230163261294365,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.82864141464233,1.0986123085022,0,0,0,0,1,0,0,0,0.0102080320939422,48,1,6.0 +7.54050731658936,0.230531200766563,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0263436958193779,48,2,6.0 +8.03393173217773,0.230633348226547,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.89182019233704,1.60943794250488,0,0,1,0,0,0,0,0,0.103567592799664,48,1,6.0 +7.68313837051392,0.230578541755676,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0303837265819311,48,2,6.0 +6.83179759979248,0.230399414896965,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.0129667343571782,48,2,6.0 +7.37030363082886,0.230311274528503,11.2580327987671,0,1,0,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.025799036026001,48,2,6.0 +6.95775079727173,0.230424791574478,10.7684850692749,0,1,0,0,0.98360687494278,1.0986123085022,3.58351898193359,1.60943794250488,0,1,0,0,0,0,0,0,0.0278670806437731,48,2,6.0 +7.08067464828491,0.230407372117043,10.9595403671265,0,1,0,0,0.98360687494278,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,1,0,0,0,0,0.0260312296450138,48,2,6.0 +7.80812549591064,0.230578154325485,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0258216168731451,48,2,6.0 +7.33997440338135,0.230539813637733,10.6572589874268,0,1,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0456502996385098,48,2,6.0 +7.4329948425293,0.230589047074318,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0177447982132435,48,2,6.0 +4.87651348114014,0.229157134890556,9.76995658874512,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0094259781762957,48,1,6.0 +7.68204259872437,0.230600595474243,10.5320959091187,0,1,0,0,0.98360687494278,0.6931471824646,3.85014748573303,1.0986123085022,0,0,1,0,0,0,0,0,0.0728426873683929,48,2,6.0 +7.80420780181885,0.230550035834312,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,0,1,0,0,0,0.0342932343482971,48,1,6.0 +6.81124591827393,0.229772076010704,11.4075651168823,0,0,1,0,0.98360687494278,1.3862943649292,3.7376697063446,1.3862943649292,0,0,0,1,0,0,0,0,0.0126950005069375,48,3,6.0 +7.9698748588562,0.23064886033535,11.1913414001465,0,1,0,0,0.98360687494278,0.6931471824646,3.43398714065552,0.6931471824646,0,0,0,1,0,0,0,0,0.0502463094890118,48,2,6.0 +7.74206733703613,0.230484053492546,11.2580327987671,0,1,0,0,0.98360687494278,1.0986123085022,4.04305124282837,1.3862943649292,0,1,0,0,0,0,0,0,0.0374225564301014,48,2,6.0 +7.34927320480347,0.230545401573181,10.5320959091187,1,0,0,0,0.98360687494278,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,0,0.05222063139081,48,1,6.0 +7.14010715484619,0.230418264865875,10.6572589874268,0,0,1,0,0.98360687494278,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0373757183551788,48,2,6.0 +6.8047981262207,0.229940891265869,10.3889951705933,1,0,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0349353365600109,48,1,6.0 +7.04727077484131,0.230189591646194,11.2580327987671,0,0,1,0,0.98360687494278,1.0986123085022,3.95124363899231,1.60943794250488,0,0,0,0,1,0,0,0,0.0186749380081892,48,2,6.0 +6.88827800750732,0.230232104659081,10.8685684204102,0,0,1,0,0.98360687494278,0.6931471824646,4.18965482711792,1.0986123085022,0,0,0,0,1,0,0,0,0.0235163737088442,48,2,6.0 +6.51279067993164,0.23016819357872,11.2580327987671,0,1,0,0,0.98360687494278,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0109427915886045,48,3,6.0 +5.75422286987305,0.230347156524658,10.6572589874268,0,1,0,0,0.98360687494278,0.6931471824646,3.21887588500977,1.0986123085022,0,0,1,0,0,0,0,0,0.0093470998108387,48,1,6.0 +4.18368721008301,0.232002258300781,9.76995658874512,0,1,0,0,0.98360687494278,1.0986123085022,3.178053855896,1.3862943649292,1,0,0,0,0,0,0,0,0.0047279363498091,48,3,6.0 +6.78671026229858,0.230325847864151,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.3862943649292,0,1,0,0,0,0,0,0,0.0123941758647561,48,1,6.0 +7.11672639846802,0.230386734008789,10.8685684204102,0,0,0,1,0.98360687494278,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0295563898980618,48,1,6.0 +7.85520219802856,0.230612993240356,10.7684850692749,0,0,1,0,0.98360687494278,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,1,0,0,0,0,0.0683803558349609,48,1,6.0 +6.45972013473511,0.230016469955444,11.2580327987671,0,0,1,0,0.98360687494278,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0103756161406636,48,2,6.0 +7.88969850540161,0.23053252696991,11.1198825836182,0,0,1,0,0.98360687494278,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,0,0.0498044043779373,48,2,6.0 +7.64628076553345,0.230562627315521,11.4075651168823,1,0,0,0,0.98360687494278,0.6931471824646,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0292837824672461,48,2,6.0 +7.71670293807983,0.230373188853264,10.0212707519531,0,1,0,0,0.98360687494278,1.3862943649292,3.8712010383606,1.60943794250488,0,0,0,0,0,0,0,0,0.125657618045807,48,5,6.0 +7.22635889053345,0.230344980955124,11.6952466964722,1,0,0,0,0.98360687494278,1.3862943649292,3.04452252388,1.7917594909668,0,0,0,0,0,1,0,0,0.0144285950809717,48,4,6.0 +7.32373285293579,0.23037414252758,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,4.06044292449951,1.3862943649292,0,0,0,0,1,0,0,0,0.0159047115594149,48,2,6.0 +7.06084728240967,0.23041258752346,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.012228487059474,48,2,6.0 +7.56230592727661,0.230446472764015,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,1,0,0,0,0,0.0201914757490158,48,2,6.0 +6.60206890106201,0.229958310723305,11.2580327987671,1,0,0,0,0.98360687494278,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0119621688500047,48,2,6.0 +7.82345151901245,0.230599835515022,11.6952466964722,0,0,1,0,0.98360687494278,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0262209735810757,48,3,6.0 +6.68808841705322,0.230312317609787,10.2219409942627,0,1,0,0,0.98360687494278,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0367528013885021,48,2,6.0 +7.82008504867554,0.230563387274742,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.034842524677515,48,2,6.0 +7.79092597961426,0.230495512485504,11.6952466964722,1,0,0,0,0.98360687494278,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,1,0,0,0,0.0253791976720095,48,2,6.0 +5.83043956756592,0.22989721596241,10.5320959091187,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,2.19722461700439,0,0,0,0,1,0,0,0,0.0114271938800812,48,1,6.0 +7.76551103591919,0.230529502034187,11.1913414001465,0,0,1,0,0.98360687494278,0.6931471824646,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,0,0.0409541912376881,48,2,6.0 +7.42234897613525,0.23049096763134,11.4075651168823,0,0,1,0,0.98360687494278,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,1,0,0,0,0.0234068911522627,48,2,6.0 +7.60503721237183,0.23047411441803,10.9595403671265,1,0,0,0,0.98360687494278,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0439796224236488,48,2,6.0 +6.79800748825073,0.230356812477112,10.7684850692749,0,1,0,0,0.98360687494278,0.6931471824646,3.68887948989868,1.60943794250488,1,0,0,0,0,0,0,0,0.0237512364983559,48,2,6.0 +7.58392095565796,0.330349236726761,11.6952466964722,0,0,0,1,2.3186891078949,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0228004101663828,49,2,7.0 +6.9952540397644,0.330378025770187,10.9595403671265,0,1,0,0,2.3186891078949,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0264127627015114,49,2,7.0 +8.00718021392822,0.330326944589615,11.6952466964722,0,0,1,0,2.3186891078949,1.60943794250488,3.93182563781738,1.94591009616852,0,0,0,0,1,0,0,0,0.0348138548433781,49,4,7.0 +7.26071548461914,0.330151736736298,10.9595403671265,1,0,0,0,2.3186891078949,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0344353057444096,49,2,7.0 +6.59615230560303,0.33020031452179,11.1198825836182,1,0,0,0,2.3186891078949,1.60943794250488,3.89182019233704,2.0794415473938,0,0,0,0,1,0,0,0,0.0150929056107998,49,5,7.0 +6.81738805770874,0.330248653888702,10.9595403671265,0,0,1,0,2.3186891078949,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0221060570329428,49,2,7.0 +5.78234529495239,0.329761952161789,10.3889951705933,0,1,0,0,2.3186891078949,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,1,0,0,0,0,0.0138858035206795,49,2,7.0 +6.23206853866577,0.330263137817383,10.3889951705933,0,0,1,0,2.3186891078949,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0217821709811687,49,1,7.0 +5.82874917984009,0.329948544502258,10.2219409942627,0,0,1,0,2.3186891078949,0.6931471824646,3.25809645652771,1.3862943649292,0,0,1,0,0,0,0,0,0.0171931628137827,49,1,7.0 +7.40877342224121,0.330160468816757,11.6952466964722,1,0,0,0,2.3186891078949,0.6931471824646,3.63758611679077,1.7917594909668,0,0,0,0,1,0,0,0,0.0191335286945105,49,2,7.0 +7.00530004501343,0.330402433872223,8.92265796661377,0,1,0,0,2.3186891078949,0.6931471824646,3.55534815788269,1.7917594909668,0,0,0,0,1,0,0,0,0.204547330737114,49,1,7.0 +7.43835639953613,0.330394208431244,10.6572589874268,0,1,0,0,2.3186891078949,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,0,0,0,0,0,0.0556591488420963,49,1,7.0 +7.32536220550537,0.330418884754181,10.5320959091187,1,0,0,0,2.3186891078949,0.0,3.465735912323,1.60943794250488,0,0,0,0,1,0,0,0,0.0563419871032238,49,2,7.0 +6.60477638244629,0.330122768878937,10.0212707519531,0,0,0,1,2.3186891078949,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0456673577427864,49,2,7.0 +7.20797157287598,0.330478072166443,11.6952466964722,1,0,0,0,2.3186891078949,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,1,0,0,0,0,0.0156576242297888,49,1,7.0 +6.25119543075562,0.330304086208344,10.9595403671265,0,1,0,0,2.3186891078949,0.6931471824646,3.09104251861572,1.0986123085022,0,0,0,0,0,0,0,0,0.0125499209389091,49,1,7.0 +7.7074761390686,0.330312043428421,10.2219409942627,0,0,0,1,2.3186891078949,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.112573012709618,49,1,7.0 +6.72146654129028,0.330171436071396,9.76995658874512,1,0,0,0,2.3186891078949,1.0986123085022,2.94443893432617,1.7917594909668,0,0,0,0,1,0,0,0,0.0659856423735619,49,3,7.0 +7.31247138977051,0.33028644323349,10.7684850692749,1,0,0,0,2.3186891078949,0.6931471824646,3.85014748573303,1.0986123085022,0,0,0,0,1,0,0,0,0.0439049862325191,49,2,7.0 +7.27439880371094,0.330091059207916,11.6952466964722,1,0,0,0,2.3186891078949,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0167265627533197,49,2,7.0 +7.31447649002075,0.330358058214188,11.0429220199585,0,0,1,0,2.3186891078949,0.6931471824646,3.58351898193359,1.60943794250488,0,0,1,0,0,0,0,0,0.0334371589124203,49,2,7.0 +6.94949102401733,0.330223113298416,11.2580327987671,0,0,1,0,2.3186891078949,0.6931471824646,3.36729574203491,1.60943794250488,0,0,0,0,1,0,0,0,0.0187170766294003,49,2,7.0 +7.99370527267456,0.330323606729507,11.6952466964722,0,1,0,0,2.3186891078949,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0343477763235569,49,3,7.0 +6.69879245758057,0.330283761024475,10.2219409942627,1,0,0,0,2.3186891078949,0.6931471824646,3.09104251861572,1.0986123085022,1,0,0,0,0,0,0,0,0.0410540774464607,49,1,7.0 +6.88667821884155,0.330202281475067,11.2580327987671,0,0,1,0,2.3186891078949,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,1,0,0,0,0.017577201128006,49,2,7.0 +6.87972688674927,0.33025711774826,10.8685684204102,0,1,0,0,2.3186891078949,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,0,0,0,0,0,0.0257689636200666,49,2,7.0 +6.85374402999878,0.330008625984192,11.1198825836182,0,0,0,1,2.3186891078949,1.0986123085022,2.89037179946899,1.60943794250488,0,0,0,0,1,0,0,0,0.0195236224681139,49,3,7.0 +6.45711898803711,0.330043256282806,11.6952466964722,0,0,1,0,2.3186891078949,0.6931471824646,3.91202306747437,1.60943794250488,0,0,1,0,0,0,0,0,0.0073866215534508,49,1,7.0 +6.83114767074585,0.330372959375381,10.7684850692749,1,0,0,0,2.3186891078949,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0271340943872929,49,2,7.0 +6.55591726303101,0.330327719449997,10.8685684204102,1,0,0,0,2.3186891078949,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,0,0.0186422765254974,49,1,7.0 +7.46262788772583,0.330335855484009,10.7684850692749,0,0,1,0,2.3186891078949,0.6931471824646,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0510208383202553,49,2,7.0 +7.20973443984985,0.330172121524811,11.6952466964722,1,0,0,0,2.3186891078949,1.0986123085022,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0156804528087378,49,4,7.0 +7.17804145812988,0.330288827419281,10.8685684204102,0,0,0,1,2.3186891078949,1.0986123085022,3.7376697063446,2.0794415473938,0,0,0,0,1,0,0,0,0.0347269922494888,49,4,7.0 +6.78254318237305,0.330047100782394,11.1913414001465,0,0,1,0,2.3186891078949,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0169285871088505,49,1,7.0 +6.7606520652771,0.330191314220428,10.2219409942627,1,0,0,0,2.3186891078949,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.043669831007719,49,1,7.0 +5.98322439193726,0.330174177885056,9.76995658874512,0,0,1,0,2.3186891078949,1.0986123085022,3.68887948989868,1.94591009616852,0,0,0,0,1,0,0,0,0.0315381437540054,49,2,7.0 +6.74160242080688,0.329924464225769,11.1198825836182,1,0,0,0,2.3186891078949,1.0986123085022,4.21950769424438,1.3862943649292,0,0,0,1,0,0,0,0,0.0174510423094034,49,1,7.0 +6.8749418258667,0.330155432224274,10.9595403671265,0,0,0,1,2.3186891078949,0.6931471824646,3.178053855896,1.0986123085022,0,0,0,0,1,0,0,0,0.0234134886413813,49,2,7.0 +6.94492197036743,0.330036044120789,10.7684850692749,0,0,1,0,2.3186891078949,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,1,0,0,0,0,0.0303934924304485,49,1,7.0 +6.05338954925537,0.330029010772705,10.2219409942627,0,0,1,0,2.3186891078949,0.6931471824646,3.8712010383606,1.0986123085022,0,0,0,0,1,0,0,0,0.02152537740767,49,1,7.0 +6.89466714859009,0.330247014760971,10.7684850692749,0,0,1,0,2.3186891078949,0.6931471824646,3.21887588500977,1.3862943649292,0,0,0,0,1,0,0,0,0.0289099123328924,49,2,7.0 +7.28094482421875,0.330180794000626,10.5320959091187,0,0,1,0,2.3186891078949,1.3862943649292,3.71357202529907,2.0794415473938,0,0,0,0,1,0,0,0,0.0538813546299934,49,2,7.0 +6.9343957901001,0.330384016036987,10.7684850692749,0,1,0,0,2.3186891078949,1.0986123085022,3.76120018959045,1.7917594909668,1,0,0,0,0,0,0,0,0.0300857033580542,49,3,7.0 +7.50624847412109,0.330190628767014,10.8685684204102,0,1,0,0,2.3186891078949,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,0,0,0,0,0.0482128635048866,49,3,7.0 +7.4387674331665,0.330208212137222,11.2580327987671,0,0,1,0,2.3186891078949,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,0,1,0,0,0,0.0305296275764704,49,2,7.0 +7.28959274291992,0.33029243350029,9.76995658874512,1,0,0,0,2.3186891078949,1.0986123085022,3.58351898193359,1.7917594909668,0,0,0,1,0,0,0,0,0.116475865244865,49,3,7.0 +6.54956531524658,0.33027657866478,10.7684850692749,1,0,0,0,2.3186891078949,0.6931471824646,3.465735912323,1.60943794250488,0,0,1,0,0,0,0,0,0.0204731021076441,49,1,7.0 +7.39609622955322,0.33029979467392,11.4075651168823,1,0,0,0,2.3186891078949,1.0986123085022,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,0,0.0251935124397278,49,2,7.0 +7.97003078460693,0.330417931079865,11.2580327987671,1,0,0,0,2.3186891078949,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.051944226026535,49,2,7.0 +8.69629669189453,0.330272108316422,10.7684850692749,0,1,0,0,2.3186891078949,2.30258512496948,4.07753753662109,2.63905739784241,0,0,0,0,1,0,0,0,0.175184413790703,49,10,7.0 +8.03287124633789,0.330396443605423,11.4075651168823,0,0,0,1,2.3186891078949,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,0,1,0,0,0,0.0476297922432423,49,2,7.0 +6.8215479850769,0.243259608745575,11.4075651168823,0,0,1,0,1.53954982757568,1.0986123085022,3.80666255950928,1.3862943649292,0,0,0,1,0,0,0,0,0.0130006298422813,51,2,4.0 +7.08869600296021,0.243414759635925,10.8685684204102,0,1,0,0,1.53954982757568,0.6931471824646,3.76120018959045,1.3862943649292,0,1,0,0,0,0,0,0,0.0291162803769112,51,1,4.0 +6.70054483413696,0.243387654423714,10.8685684204102,1,0,0,0,1.53954982757568,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,1,0,0,0,0,0.0197493210434914,51,2,4.0 +8.19921875,0.243732914328575,10.8685684204102,0,0,0,1,1.53954982757568,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,0,1,0,0,0.088423565030098,51,2,4.0 +7.4616117477417,0.243605852127075,10.9595403671265,0,0,1,0,1.53954982757568,0.6931471824646,3.85014748573303,1.3862943649292,0,1,0,0,0,0,0,0,0.0386069640517235,51,1,4.0 +7.74775743484497,0.24356697499752,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0246267318725586,51,2,4.0 +8.03090858459473,0.243591368198395,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.8712010383606,1.60943794250488,0,0,0,0,0,0,0,1,0.0326879918575287,51,2,4.0 +7.83493518829346,0.243813902139664,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,1,0.0358355082571507,51,1,4.0 +8.00533008575439,0.243563145399094,11.1198825836182,0,1,0,0,1.53954982757568,1.0986123085022,4.11087369918823,1.60943794250488,1,0,0,0,0,0,0,0,0.0566428415477276,51,3,4.0 +7.23761367797852,0.243540719151497,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.8712010383606,1.3862943649292,0,0,1,0,0,0,0,1,0.0197143126279116,51,2,4.0 +7.23079538345337,0.243395134806633,10.6572589874268,0,1,0,0,1.53954982757568,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0414582416415215,51,1,4.0 +7.38816213607788,0.243601366877556,10.2219409942627,0,1,0,0,1.53954982757568,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,1,0,0,0,0,0.0750066861510277,51,3,4.0 +7.62596321105957,0.243584737181664,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0290709175169468,51,2,4.0 +5.27352380752563,0.24268339574337,11.1913414001465,0,1,0,0,1.53954982757568,0.6931471824646,3.98898410797119,1.0986123085022,0,1,0,0,0,0,0,0,0.0034302074927836,51,2,4.0 +7.14703464508057,0.243410736322403,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,0,1,0,0,1,0.0135035654529929,51,2,4.0 +6.77481508255005,0.243494555354118,10.7684850692749,0,0,1,0,1.53954982757568,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0235136244446039,51,2,4.0 +6.95370197296143,0.243317559361458,11.2580327987671,1,0,0,0,1.53954982757568,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,1,0.0172315426170826,51,2,4.0 +7.86464405059814,0.243691623210907,11.1913414001465,0,1,0,0,1.53954982757568,0.6931471824646,3.29583692550659,1.0986123085022,0,0,1,0,0,0,0,0,0.0458212941884995,51,2,4.0 +6.88345766067505,0.244578689336777,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,1,0.0103868944570422,51,2,4.0 +7.56365823745728,0.243568941950798,11.2580327987671,0,0,1,0,1.53954982757568,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,1,0.0317200534045696,51,2,4.0 +7.20899820327759,0.243261575698853,11.2580327987671,0,0,1,0,1.53954982757568,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,1,0,0,0,0,0.0222419872879982,51,1,4.0 +5.8115816116333,0.243203148245811,11.6952466964722,0,0,1,0,1.53954982757568,1.0986123085022,3.95124363899231,1.3862943649292,0,0,0,0,1,0,0,1,0.0035512272734195,51,2,4.0 +6.03765726089478,0.243300169706345,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.7376697063446,1.60943794250488,0,0,0,1,0,0,0,1,0.0059366668574512,51,1,4.0 +6.64848852157593,0.243587628006935,10.2219409942627,0,0,1,0,1.53954982757568,0.6931471824646,3.91202306747437,1.3862943649292,0,0,1,0,0,0,0,0,0.0357979349792004,51,2,4.0 +6.97385406494141,0.243508294224739,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,1,0,0,0,0,0.0113574098795652,51,2,4.0 +7.56010770797729,0.243602022528648,11.1198825836182,1,0,0,0,1.53954982757568,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,1,0,0,0,0,0.0362914428114891,51,1,4.0 +7.60321664810181,0.243322506546974,9.76995658874512,0,0,1,0,1.53954982757568,0.6931471824646,4.31748819351196,1.0986123085022,0,0,0,1,0,0,0,0,0.146106824278831,51,1,4.0 +7.26457834243774,0.243545487523079,10.9595403671265,0,0,1,0,1.53954982757568,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.03170071169734,51,2,4.0 +7.08499050140381,0.243448957800865,11.1198825836182,1,0,0,0,1.53954982757568,0.6931471824646,3.55534815788269,1.0986123085022,0,0,0,0,1,0,0,1,0.0225630141794682,51,2,4.0 +7.20635461807251,0.243548482656479,11.1198825836182,0,1,0,0,1.53954982757568,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,1,0.0254769902676344,51,2,4.0 +7.20203018188477,0.243314385414124,11.6952466964722,0,1,0,0,1.53954982757568,1.0986123085022,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,1,0.0142656238749623,51,2,4.0 +5.31564140319824,0.242975801229477,10.0212707519531,1,0,0,0,1.53954982757568,0.0,3.71357202529907,1.3862943649292,0,0,0,1,0,0,0,0,0.011531725525856,51,1,4.0 +6.7808723449707,0.243558093905449,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,4.12713432312012,1.3862943649292,0,0,0,1,0,0,0,1,0.0093646217137575,51,2,4.0 +7.02777624130249,0.243451103568077,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0119859576225281,51,1,4.0 +7.30512523651123,0.243511945009232,11.2580327987671,0,0,1,0,1.53954982757568,0.6931471824646,3.78418970108032,1.3862943649292,0,0,1,0,0,0,0,0,0.0244923066347837,51,2,4.0 +7.13447141647339,0.243421196937561,10.7684850692749,0,1,0,0,1.53954982757568,0.6931471824646,3.465735912323,1.0986123085022,0,0,1,0,0,0,0,0,0.0336887128651142,51,2,4.0 +7.71230602264404,0.243602201342583,11.6952466964722,0,1,0,0,1.53954982757568,1.0986123085022,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0237698145210743,51,1,4.0 +7.25425291061401,0.243540808558464,11.2580327987671,0,1,0,0,1.53954982757568,0.6931471824646,3.76120018959045,1.60943794250488,0,1,0,0,0,0,0,1,0.0232781674712896,51,2,4.0 +7.18044424057007,0.243202120065689,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,0,0.0139594245702028,51,2,4.0 +7.54572057723999,0.243582680821419,10.8685684204102,0,0,1,0,1.53954982757568,0.6931471824646,3.55534815788269,1.3862943649292,0,0,1,0,0,0,0,0,0.04599304869771,51,2,4.0 +6.71377658843994,0.243587911128998,11.2580327987671,0,0,1,0,1.53954982757568,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,1,0.0135594876483083,51,1,4.0 +6.05667018890381,0.243118464946747,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.43398714065552,1.60943794250488,0,1,0,0,0,0,0,0,0.0080660255625844,51,2,4.0 +7.30953788757324,0.243407934904099,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.63758611679077,1.60943794250488,0,1,0,0,0,0,0,0,0.0158862546086311,51,1,4.0 +5.74974489212036,0.243403166532516,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0044519333168864,51,2,4.0 +7.00078725814819,0.243406802415848,10.9595403671265,1,0,0,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,1,0,0,0,0,1,0.024347010999918,51,2,4.0 +7.96757411956787,0.243497461080551,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,0,0,0,1,0.0409053899347782,51,2,4.0 +7.6202220916748,0.243560254573822,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.0216778442263603,51,1,4.0 +7.38717317581177,0.243558570742607,11.6952466964722,0,0,0,1,1.53954982757568,1.0986123085022,4.02535152435303,1.3862943649292,0,0,0,0,1,0,0,1,0.0171713121235371,51,3,4.0 +7.53068542480469,0.243567451834679,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,1,0.0198213811963797,51,2,4.0 +7.74794244766235,0.243689000606537,11.4075651168823,0,1,0,0,1.53954982757568,1.0986123085022,3.89182019233704,1.3862943649292,1,0,0,0,0,0,0,0,0.0328457318246365,51,2,4.0 +7.52044677734375,0.243303164839745,8.92265796661377,0,1,0,0,1.53954982757568,0.6931471824646,3.91202306747437,1.3862943649292,0,0,0,0,0,0,0,0,0.313828527927399,51,2,4.0 +7.24753665924072,0.243562310934067,10.9595403671265,0,1,0,0,1.53954982757568,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0311655774712563,51,2,4.0 +6.99494934082031,0.243402704596519,11.1198825836182,0,1,0,0,1.53954982757568,0.6931471824646,4.26268005371094,1.0986123085022,0,0,0,1,0,0,0,0,0.0206192322075367,51,0,4.0 +7.26897716522217,0.243355974555016,11.6952466964722,0,0,0,1,1.53954982757568,1.0986123085022,3.76120018959045,1.60943794250488,0,0,0,0,1,0,0,1,0.0152539946138859,51,3,4.0 +7.4426703453064,0.243579596281052,11.2580327987671,1,0,0,0,1.53954982757568,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,1,0.0281056892126799,51,2,4.0 +8.00892639160156,0.243650883436203,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,0,0,0,1,0.0426389202475548,51,1,4.0 +7.18930387496948,0.243491843342781,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,1,0.0140877300873399,51,3,4.0 +7.41303014755249,0.243511751294136,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,1,0,0,0,0,0.0176202747970819,51,1,4.0 +7.52365589141846,0.243508294224739,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,1,0.019681366160512,51,1,4.0 +6.98964786529541,0.243495866656303,10.6572589874268,0,1,0,0,1.53954982757568,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0325780771672726,51,2,4.0 +5.91597461700439,0.243494182825089,11.6952466964722,0,0,1,0,1.53954982757568,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,1,0.0039431382901966,51,3,4.0 +7.16047811508179,0.243973165750504,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0136940237134695,51,2,4.0 +7.01098442077637,0.243416711688042,11.1198825836182,1,0,0,0,1.53954982757568,0.6931471824646,3.76120018959045,1.3862943649292,0,0,1,0,0,0,0,1,0.0209528263658285,51,1,4.0 +6.64399099349976,0.243204087018967,10.3889951705933,0,0,1,0,1.53954982757568,0.6931471824646,3.178053855896,1.60943794250488,0,0,0,1,0,0,0,0,0.0301430616527796,51,1,4.0 +7.31364822387695,0.243460446596146,10.7684850692749,0,1,0,0,1.53954982757568,0.6931471824646,3.09104251861572,1.3862943649292,0,1,0,0,0,0,0,0,0.0403011068701744,51,2,4.0 +7.37462043762207,0.243576690554619,11.0429220199585,0,1,0,0,1.53954982757568,0.6931471824646,3.61091780662537,1.0986123085022,1,0,0,0,0,0,0,0,0.0325582474470139,51,2,4.0 +6.67588806152344,0.243221655488014,10.2219409942627,1,0,0,0,1.53954982757568,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,0,1,0,0,0,0.0367788784205914,51,1,4.0 +7.16206789016724,0.243343532085419,10.2219409942627,0,1,0,0,1.53954982757568,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0598131455481052,51,2,4.0 +7.02609062194824,0.243402600288391,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.71357202529907,1.3862943649292,0,0,1,0,0,0,0,1,0.0119651909917593,51,1,4.0 +7.68759727478027,0.243491291999817,11.1913414001465,1,0,0,0,1.53954982757568,1.3862943649292,4.06044292449951,2.0794415473938,0,0,0,1,0,0,0,0,0.0383786782622337,51,3,4.0 +7.75438594818115,0.243648454546928,11.1198825836182,0,1,0,0,1.53954982757568,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0440756119787693,51,2,4.0 +7.4605278968811,0.243452593684196,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,1,0.0246350653469563,51,1,4.0 +7.32040405273438,0.243334844708443,11.6952466964722,0,0,1,0,1.53954982757568,1.0986123085022,3.78418970108032,1.7917594909668,0,0,0,1,0,0,0,0,0.0160586424171925,51,2,4.0 +6.93363857269287,0.243406161665916,10.5320959091187,0,1,0,0,1.53954982757568,1.0986123085022,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,1,0.0349075645208359,51,1,4.0 +8.00658130645752,0.243586599826813,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.0567150637507439,51,2,4.0 +6.43334913253784,0.24327951669693,11.4075651168823,0,0,0,1,1.53954982757568,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0088182110339403,51,2,4.0 +7.3130259513855,0.243407934904099,11.4075651168823,0,0,1,0,1.53954982757568,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,1,0.0212556794285774,51,1,4.0 +6.59342050552368,0.243533715605736,9.76995658874512,0,0,0,1,1.53954982757568,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,0,1,0,0,0,0.053236972540617,51,2,4.0 +7.25180959701538,0.243311673402786,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,4.18965482711792,1.3862943649292,0,0,0,1,0,0,0,0,0.0149936936795712,51,1,4.0 +7.79961776733398,0.243613794445992,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,1,0.0259387940168381,51,2,4.0 +6.84623670578003,0.243442788720131,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,1,0.009996029548347,51,2,4.0 +7.53892469406128,0.243558093905449,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0199851840734482,51,2,4.0 +7.04132127761841,0.243678346276283,8.92265796661377,0,1,0,0,1.53954982757568,0.6931471824646,3.85014748573303,1.3862943649292,1,0,0,0,0,0,0,0,0.194434717297554,51,1,4.0 +6.40990114212036,0.242988973855972,11.6952466964722,0,0,0,1,1.53954982757568,0.6931471824646,3.49650764465332,1.3862943649292,0,0,0,0,0,1,0,1,0.0064585078507661,51,1,4.0 +7.55154180526733,0.243598282337189,11.6952466964722,0,1,0,0,1.53954982757568,1.0986123085022,3.80666255950928,1.60943794250488,1,0,0,0,0,0,0,0,0.0202397424727678,51,2,4.0 +7.17212152481079,0.243307739496231,11.4075651168823,1,0,0,0,1.53954982757568,0.6931471824646,3.8712010383606,1.0986123085022,0,0,1,0,0,0,0,0,0.0184602439403534,51,2,4.0 +7.24958944320679,0.243679374456406,11.6952466964722,0,1,0,0,1.53954982757568,0.6931471824646,3.78418970108032,1.3862943649292,1,0,0,0,0,0,0,0,0.0149659430608153,51,1,4.0 +6.94990539550781,0.243508949875832,10.7684850692749,0,1,0,0,1.53954982757568,0.6931471824646,3.68887948989868,1.3862943649292,0,1,0,0,0,0,0,1,0.0280134454369545,51,1,4.0 +7.2313871383667,0.243162482976913,10.7684850692749,0,1,0,0,1.53954982757568,1.0986123085022,3.78418970108032,1.60943794250488,1,0,0,0,0,0,0,0,0.0371075347065926,51,3,4.0 +8.6537971496582,0.243656679987907,10.9595403671265,0,0,1,0,1.53954982757568,1.3862943649292,3.98898410797119,1.60943794250488,0,0,1,0,0,0,0,0,0.127188339829445,51,3,4.0 +7.13846445083618,0.243461757898331,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,0,1,0,0,0,0.0238026864826679,51,2,4.0 +5.24384927749634,0.242808148264885,10.7684850692749,0,0,1,0,1.53954982757568,1.0986123085022,4.02535152435303,1.3862943649292,0,0,0,1,0,0,0,0,0.0050831330008804,51,1,4.0 +6.67843437194824,0.243200540542603,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.66356158256531,1.3862943649292,0,0,0,1,0,0,0,0,0.0084498012438416,51,2,4.0 +7.44281148910522,0.243563428521156,11.6952466964722,0,0,1,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,1,0.0181538593024015,51,1,4.0 +5.69922876358032,0.243156507611275,9.76995658874512,1,0,0,0,1.53954982757568,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.021762415766716,51,2,4.0 +5.828293800354,0.243211567401886,10.2219409942627,0,0,1,0,1.53954982757568,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,1,0.0157575439661741,51,2,4.0 +8.09705352783203,0.243578001856804,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,1,0.0620849430561066,51,2,4.0 +6.80440187454224,0.243495494127274,11.6952466964722,1,0,0,0,1.53954982757568,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,1,0.0095869796350598,51,2,4.0 +6.72396421432495,0.243360549211502,10.7684850692749,0,1,0,0,1.53954982757568,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,0,1,0,0,1,0.0223448351025581,51,2,4.0 +6.93104696273804,0.243469893932343,11.4075651168823,1,0,0,0,1.53954982757568,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,1,0.0145080992951989,51,2,4.0 +6.59698438644409,0.243368491530418,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.43398714065552,1.3862943649292,0,0,1,0,0,0,0,1,0.0103868767619133,51,2,4.0 +7.06796884536743,0.243434190750122,11.1913414001465,0,0,1,0,1.53954982757568,1.0986123085022,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0206520855426788,51,3,4.0 +8.54252624511719,0.243662565946579,11.1198825836182,0,1,0,0,1.53954982757568,1.3862943649292,3.76120018959045,1.60943794250488,0,0,0,1,0,0,0,0,0.0969370380043983,51,4,4.0 +6.2844557762146,0.243465408682823,10.2219409942627,0,1,0,0,1.53954982757568,0.6931471824646,3.82864141464233,1.3862943649292,0,1,0,0,0,0,0,0,0.0248718112707138,51,1,4.0 +7.76008224487305,0.243584737181664,11.6952466964722,0,1,0,0,1.53954982757568,1.3862943649292,3.33220458030701,2.0794415473938,1,0,0,0,0,0,0,1,0.0249325800687075,51,4,4.0 +6.73594522476196,0.24329100549221,11.6952466964722,0,0,0,1,1.53954982757568,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,0,1,0,1,0.0089508136734366,51,2,4.0 +7.31517505645752,0.243397742509842,11.1198825836182,0,0,1,0,1.53954982757568,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,1,0.0284015983343124,51,2,4.0 +7.13459444046021,0.243508115410805,11.4075651168823,1,0,0,0,1.53954982757568,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,0,1,0,0,0,0.0177838914096355,51,2,4.0 +6.96343469619751,0.243325680494308,11.4075651168823,0,1,0,0,1.53954982757568,0.6931471824646,3.49650764465332,1.3862943649292,0,0,1,0,0,0,0,0,0.0149835143238306,51,2,4.0 +8.36462497711182,0.243612945079803,11.4075651168823,0,0,0,1,1.53954982757568,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0608510039746761,51,2,4.0 +6.58173227310181,0.359497576951981,11.1913414001465,0,0,1,0,3.39123916625977,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0142626333981752,53,1,8.0 +5.71387338638306,0.359497219324112,10.5320959091187,0,0,1,0,3.39123916625977,0.0,3.49650764465332,1.60943794250488,0,0,0,0,1,0,0,0,0.0115771070122719,53,1,8.0 +6.68652725219727,0.359542578458786,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,4.11087369918823,1.0986123085022,0,0,0,0,1,0,0,0,0.0127592943608761,53,1,8.0 +6.9177713394165,0.359532356262207,11.2580327987671,0,0,0,1,3.39123916625977,0.6931471824646,3.58351898193359,1.60943794250488,0,0,0,0,1,0,0,0,0.0186720099300146,53,2,8.0 +7.47474431991577,0.359531432390213,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,1,0,0,0,0,0,0,0,0.028063390403986,53,2,8.0 +8.09837913513184,0.359573781490326,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,1,0,0,0,0,0.0523600243031979,53,2,8.0 +7.43252897262573,0.359543174505234,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,0,1,0,0,0,0.0201777517795563,53,2,8.0 +7.19722461700439,0.359542667865753,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.71357202529907,1.7917594909668,1,0,0,0,0,0,0,0,0.0159470736980438,53,2,8.0 +7.65194129943848,0.359552055597305,11.2580327987671,0,0,1,0,3.39123916625977,1.3862943649292,3.58351898193359,1.7917594909668,0,1,0,0,0,0,0,0,0.0389086045324802,53,3,8.0 +7.20558023452759,0.359532922506332,10.2219409942627,0,1,0,0,3.39123916625977,0.6931471824646,3.29583692550659,1.3862943649292,0,0,0,1,0,0,0,0,0.0701704472303391,53,2,8.0 +6.59142112731934,0.359445124864578,10.5320959091187,1,0,0,0,3.39123916625977,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,1,0,0,0,0,0.0278414357453585,53,2,8.0 +6.56345987319946,0.359496384859085,10.7684850692749,0,0,1,0,3.39123916625977,0.6931471824646,3.7376697063446,1.7917594909668,0,0,0,0,1,0,0,0,0.0213750954717398,53,1,8.0 +6.65747594833374,0.360182493925095,10.9595403671265,0,0,0,1,3.39123916625977,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,0,1,0,0,0.019411651417613,53,1,8.0 +6.78522729873657,0.359518110752106,10.9595403671265,0,1,0,0,3.39123916625977,0.6931471824646,3.49650764465332,1.3862943649292,0,1,0,0,0,0,0,0,0.0220422334969044,53,2,8.0 +6.69683504104614,0.359491318464279,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.68887948989868,1.60943794250488,0,0,1,0,0,0,0,0,0.0096681285649538,53,1,8.0 +4.58712577819824,0.35943591594696,10.0212707519531,0,0,1,0,3.39123916625977,0.6931471824646,3.465735912323,1.3862943649292,0,0,0,1,0,0,0,0,0.0062529067508876,53,2,8.0 +6.30025815963745,0.359748750925064,10.2219409942627,1,0,0,0,3.39123916625977,0.6931471824646,3.25809645652771,1.3862943649292,0,0,0,1,0,0,0,0,0.0283838640898466,53,2,8.0 +6.81155967712402,0.3595090508461,10.6572589874268,0,0,1,0,3.39123916625977,0.6931471824646,3.40119743347168,1.60943794250488,0,0,0,1,0,0,0,0,0.0306172855198383,53,2,8.0 +8.11038970947266,0.359552472829819,10.9595403671265,1,0,0,0,3.39123916625977,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0829433128237724,53,2,8.0 +7.50531101226807,0.359549403190613,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.76120018959045,1.7917594909668,0,0,0,0,1,0,0,0,0.0217012278735638,53,2,8.0 +5.52542400360107,0.359372735023499,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0046390928328037,53,1,8.0 +7.78464984893799,0.359535664319992,10.8685684204102,0,1,0,0,3.39123916625977,1.0986123085022,3.55534815788269,1.7917594909668,0,0,1,0,0,0,0,0,0.0655866637825966,53,2,8.0 +7.80370283126831,0.359568119049072,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.029247060418129,53,2,8.0 +5.93678712844849,0.359528094530106,10.0212707519531,1,0,0,0,3.39123916625977,0.6931471824646,3.78418970108032,1.0986123085022,0,0,1,0,0,0,0,0,0.0241141710430384,53,2,8.0 +6.92417335510254,0.35953226685524,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.80666255950928,1.3862943649292,0,0,1,0,0,0,0,0,0.0121364593505859,53,2,8.0 +7.49398517608643,0.359555810689926,9.76995658874512,0,1,0,0,3.39123916625977,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.147133484482765,53,2,8.0 +7.18503999710083,0.359540909528732,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.66356158256531,1.3862943649292,0,1,0,0,0,0,0,0,0.0243931654840708,53,1,8.0 +7.9146146774292,0.359551161527634,11.4075651168823,1,0,0,0,3.39123916625977,1.0986123085022,3.98898410797119,1.0986123085022,0,0,0,0,0,0,0,0,0.043569453060627,53,1,8.0 +7.5686993598938,0.359556555747986,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.55534815788269,1.3862943649292,0,1,0,0,0,0,0,0,0.0231215264648199,53,1,8.0 +7.14801120758057,0.359524011611938,11.6952466964722,0,1,0,0,3.39123916625977,0.6931471824646,3.89182019233704,1.0986123085022,0,1,0,0,0,0,0,0,0.0151809826493263,53,1,8.0 +7.09042930603027,0.359528362751007,10.9595403671265,0,1,0,0,3.39123916625977,0.6931471824646,3.40119743347168,1.3862943649292,1,0,0,0,0,0,0,0,0.029909398406744,53,2,8.0 +8.11978435516357,0.359548985958099,11.4075651168823,0,0,1,0,3.39123916625977,1.0986123085022,3.93182563781738,1.3862943649292,0,0,1,0,0,0,0,0,0.0534915626049042,53,3,8.0 +7.83888578414917,0.359551727771759,11.1198825836182,0,0,1,0,3.39123916625977,0.6931471824646,3.63758611679077,1.0986123085022,0,0,0,1,0,0,0,0,0.0538557842373848,53,2,8.0 +8.95925998687744,0.359557896852493,10.9595403671265,0,0,1,0,3.39123916625977,0.6931471824646,3.97029185295105,1.0986123085022,0,0,1,0,0,0,0,0,0.193839937448502,53,1,8.0 +7.72988748550415,0.359545171260834,11.2580327987671,1,0,0,0,3.39123916625977,1.0986123085022,3.93182563781738,1.0986123085022,0,0,0,0,1,0,0,0,0.0420624166727066,53,2,8.0 +7.46623849868774,0.359545648097992,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.61091780662537,1.60943794250488,0,0,1,0,0,0,0,0,0.0278261080384254,53,1,8.0 +7.19542551040649,0.35951754450798,11.2580327987671,0,0,0,1,3.39123916625977,0.6931471824646,3.52636051177979,1.0986123085022,0,0,0,0,0,1,0,0,0.0246472451835871,53,2,8.0 +7.03972911834717,0.35954225063324,10.7684850692749,0,0,1,0,3.39123916625977,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0344166979193687,53,2,8.0 +8.06579971313477,0.359558463096619,11.6952466964722,0,1,0,0,3.39123916625977,1.60943794250488,3.61091780662537,1.60943794250488,0,1,0,0,0,0,0,0,0.0380106642842293,53,4,8.0 +7.58213758468628,0.359526187181473,11.4075651168823,0,0,1,0,3.39123916625977,1.0986123085022,3.76120018959045,1.7917594909668,0,0,1,0,0,0,0,0,0.031244833022356,53,3,8.0 +7.99322128295898,0.359567284584045,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0353499464690685,53,1,8.0 +6.77614498138428,0.359556138515472,11.1198825836182,1,0,0,0,3.39123916625977,0.6931471824646,3.71357202529907,1.0986123085022,0,0,0,1,0,0,0,0,0.0186076667159796,53,2,8.0 +4.62356328964233,0.362119674682617,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.61091780662537,1.7917594909668,0,0,0,0,1,0,0,0,0.0012191955465823,53,1,8.0 +7.71436452865601,0.359333276748657,11.6952466964722,1,0,0,0,3.39123916625977,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.026741212233901,53,2,8.0 +7.54544544219971,0.359551399946213,11.0429220199585,0,1,0,0,3.39123916625977,0.6931471824646,3.68887948989868,1.60943794250488,0,1,0,0,0,0,0,0,0.0433727093040943,53,2,8.0 +6.87077188491821,0.359541237354279,10.9595403671265,0,0,1,0,3.39123916625977,0.6931471824646,3.25809645652771,1.0986123085022,0,0,0,1,0,0,0,0,0.024011392146349,53,2,8.0 +7.62246942520142,0.359396785497665,11.6952466964722,0,1,0,0,3.39123916625977,1.0986123085022,4.06044292449951,1.0986123085022,1,0,0,0,0,0,0,0,0.0243949126452208,53,1,8.0 +6.88697528839111,0.359532594680786,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0116932997480035,53,1,8.0 +8.25974369049072,0.359561294317245,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.60943794250488,0,0,0,1,0,0,0,0,0.0615281537175179,53,2,8.0 +6.90351581573486,0.359556138515472,10.7684850692749,0,1,0,0,3.39123916625977,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0300343669950962,53,2,8.0 +7.40295648574829,0.359572619199753,8.92265796661377,0,1,0,0,3.39123916625977,0.0,3.40119743347168,1.7917594909668,0,0,0,1,0,0,0,0,0.313445687294006,53,1,8.0 +7.69584321975708,0.359565883874893,10.6572589874268,0,1,0,0,3.39123916625977,1.3862943649292,3.85014748573303,1.7917594909668,1,0,0,0,0,0,0,0,0.0741362646222115,53,5,8.0 +6.65996217727661,0.359760075807571,11.0429220199585,0,0,1,0,3.39123916625977,1.0986123085022,3.71357202529907,1.3862943649292,0,0,0,0,1,0,0,0,0.0178956165909767,53,3,8.0 +7.66717004776001,0.359556317329407,11.1913414001465,1,0,0,0,3.39123916625977,1.0986123085022,3.8712010383606,1.3862943649292,0,0,0,0,1,0,0,0,0.0422303713858128,53,3,8.0 +6.96573114395142,0.359563559293747,9.43348407745361,1,0,0,0,3.39123916625977,0.0,3.33220458030701,1.0986123085022,0,0,0,1,0,0,0,0,0.121457688510418,53,1,8.0 +7.19637823104858,0.35951754450798,11.6952466964722,0,0,1,0,3.39123916625977,1.0986123085022,3.7376697063446,1.60943794250488,0,0,0,0,1,0,0,0,0.0159331820905209,53,4,8.0 +7.47362804412842,0.359558790922165,11.1198825836182,0,1,0,0,3.39123916625977,0.6931471824646,3.76120018959045,1.3862943649292,0,0,0,1,0,0,0,0,0.0373771414160728,53,2,8.0 +6.32472991943359,0.359477579593658,11.1198825836182,1,0,0,0,3.39123916625977,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0118470592424273,53,2,8.0 +6.54239416122437,0.359504044055939,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,0,1,0,0,0,0.0082846656441688,53,2,8.0 +6.13960123062134,0.359528422355652,11.0429220199585,0,1,0,0,3.39123916625977,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0106330094859004,53,1,8.0 +5.88153505325317,0.359469443559647,9.43348407745361,1,0,0,0,3.39123916625977,0.6931471824646,3.465735912323,1.7917594909668,0,0,0,0,1,0,0,0,0.0410699211061001,53,1,8.0 +7.19234466552734,0.359532356262207,11.1198825836182,1,0,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.0986123085022,0,1,0,0,0,0,0,0,0.0282120555639267,53,2,8.0 +6.68385219573975,0.35951179265976,11.1913414001465,0,1,0,0,3.39123916625977,0.6931471824646,4.00733327865601,1.3862943649292,0,0,1,0,0,0,0,0,0.0157963242381811,53,0,8.0 +8.03682804107666,0.359550893306732,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.78418970108032,1.0986123085022,0,0,0,0,1,0,0,0,0.0492332503199577,53,1,8.0 +7.18414831161499,0.359542161226273,11.4075651168823,0,0,1,0,3.39123916625977,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,1,0,0,0,0,0.0209865272045135,53,1,8.0 +7.10002279281616,0.35952153801918,11.1913414001465,0,1,0,0,3.39123916625977,0.6931471824646,3.58351898193359,1.0986123085022,0,1,0,0,0,0,0,0,0.02394974604249,53,2,8.0 +7.29464626312256,0.359550416469574,11.0429220199585,0,0,1,0,3.39123916625977,0.6931471824646,3.465735912323,1.3862943649292,0,0,1,0,0,0,0,0,0.0337516851723194,53,1,8.0 +7.35594177246094,0.359542399644852,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,0,1,0,0,0,0.0249201003462076,53,2,8.0 +7.04517412185669,0.359542816877365,10.0212707519531,0,0,1,0,3.39123916625977,0.6931471824646,3.36729574203491,1.3862943649292,0,0,0,1,0,0,0,0,0.0730541869997978,53,1,8.0 +6.70943593978882,0.359514385461807,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.78418970108032,1.0986123085022,0,1,0,0,0,0,0,0,0.013054602779448,53,2,8.0 +6.70222902297974,0.359513878822327,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,0,0.009720635600388,53,1,8.0 +6.43510389328003,0.35954225063324,10.7684850692749,0,1,0,0,3.39123916625977,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0188011229038239,53,1,8.0 +7.22230672836304,0.35954475402832,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0253194645047188,53,2,8.0 +7.42642831802368,0.359555393457413,11.1198825836182,0,1,0,0,3.39123916625977,0.6931471824646,3.61091780662537,1.60943794250488,1,0,0,0,0,0,0,0,0.0356538109481335,53,1,8.0 +7.18589639663696,0.359539240598679,10.5320959091187,1,0,0,0,3.39123916625977,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,0,1,0,0,0,0.0504556447267532,53,1,8.0 +6.73414897918701,0.359533935785294,10.0212707519531,0,1,0,0,3.39123916625977,0.6931471824646,3.33220458030701,1.0986123085022,0,1,0,0,0,0,0,0,0.0535259991884232,53,2,8.0 +6.34648847579956,0.359540343284607,10.8685684204102,0,0,1,0,3.39123916625977,0.0,3.95124363899231,1.0986123085022,0,0,0,0,1,0,0,0,0.0155679732561111,53,1,8.0 +6.69970178604126,0.359541743993759,11.0429220199585,1,0,0,0,3.39123916625977,1.3862943649292,3.95124363899231,1.60943794250488,0,0,0,0,1,0,0,0,0.0186170358210802,53,3,8.0 +6.9712176322937,0.3594910800457,11.6952466964722,0,0,1,0,3.39123916625977,1.3862943649292,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,0,0.0127205243334174,53,3,8.0 +7.51785278320312,0.359551399946213,11.4075651168823,1,0,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0293002091348171,53,1,8.0 +7.33874845504761,0.359538674354553,11.1913414001465,0,1,0,0,3.39123916625977,0.6931471824646,3.52636051177979,1.0986123085022,1,0,0,0,0,0,0,0,0.0304078403860331,53,1,8.0 +6.55525827407837,0.359512031078339,10.7684850692749,0,0,1,0,3.39123916625977,0.6931471824646,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0212008338421583,53,1,8.0 +6.84986925125122,0.359529107809067,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.58351898193359,1.3862943649292,0,0,1,0,0,0,0,0,0.0150230955332518,53,2,8.0 +5.48035860061646,0.359536081552505,10.2219409942627,1,0,0,0,3.39123916625977,0.0,3.33220458030701,1.3862943649292,0,0,0,0,1,0,0,0,0.0124997533857822,53,1,8.0 +5.72657871246338,0.359444051980972,10.0212707519531,0,0,1,0,3.39123916625977,0.6931471824646,3.21887588500977,1.3862943649292,1,0,0,0,0,0,0,0,0.0195408537983894,53,2,8.0 +7.44523668289185,0.35955274105072,11.6952466964722,1,0,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0204359963536263,53,2,8.0 +6.12584066390991,0.359482496976852,10.3889951705933,0,0,1,0,3.39123916625977,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0201677158474922,53,2,8.0 +6.14217615127563,0.3595350086689,10.6572589874268,0,0,1,0,3.39123916625977,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0156771931797266,53,1,8.0 +6.57691955566406,0.35954874753952,10.5320959091187,0,1,0,0,3.39123916625977,0.6931471824646,3.52636051177979,1.60943794250488,0,0,1,0,0,0,0,0,0.0274434443563223,53,2,8.0 +6.99898242950439,0.359845727682114,10.2219409942627,0,1,0,0,3.39123916625977,0.6931471824646,3.58351898193359,1.3862943649292,1,0,0,0,0,0,0,0,0.0570907518267632,53,1,8.0 +6.63872194290161,0.359436810016632,10.3889951705933,0,0,1,0,3.39123916625977,1.0986123085022,2.89037179946899,1.3862943649292,0,0,0,0,1,0,0,0,0.0336804911494255,53,2,8.0 +7.21082592010498,0.359534680843353,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0250301863998175,53,2,8.0 +7.85864210128784,0.359561800956726,10.7684850692749,0,0,1,0,3.39123916625977,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,0,1,0,0,0,0.0780597329139709,53,2,8.0 +6.93086099624634,0.359533846378326,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,1,0,0,0,0,0.0122179137542844,53,2,8.0 +7.17652177810669,0.359533429145813,11.0429220199585,1,0,0,0,3.39123916625977,1.3862943649292,2.89037179946899,1.7917594909668,0,0,0,0,1,0,0,0,0.0299907401204109,53,4,8.0 +7.58118867874146,0.359520018100739,10.7684850692749,0,1,0,0,3.39123916625977,1.3862943649292,2.99573230743408,1.60943794250488,0,0,0,1,0,0,0,0,0.0591442137956619,53,3,8.0 +6.89305734634399,0.359526515007019,11.6952466964722,1,0,0,0,3.39123916625977,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0117645654827356,53,2,8.0 +7.36675262451172,0.359545916318893,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,0,1,0,0,0,0.0251910537481308,53,2,8.0 +6.78365516662598,0.359516203403473,11.2580327987671,1,0,0,0,3.39123916625977,0.6931471824646,3.78418970108032,1.3862943649292,0,0,0,0,1,0,0,0,0.0163281913846731,53,2,8.0 +8.45708656311035,0.359566390514374,11.4075651168823,1,0,0,0,3.39123916625977,0.6931471824646,3.80666255950928,1.3862943649292,0,0,0,0,0,0,0,0,0.0749516263604164,53,1,8.0 +6.80963516235352,0.359510958194733,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,4.12713432312012,1.0986123085022,0,0,0,0,1,0,0,0,0.016757870092988,53,2,8.0 +6.81619739532471,0.359549731016159,10.9595403671265,0,0,1,0,3.39123916625977,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,0,1,0,0,0,0.0227362830191851,53,1,8.0 +6.39959573745728,0.359501391649246,9.76995658874512,0,1,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.0986123085022,0,0,1,0,0,0,0,0,0.0492493510246277,53,1,8.0 +6.92183971405029,0.359533667564392,11.2580327987671,0,1,0,0,3.39123916625977,0.6931471824646,3.71357202529907,1.3862943649292,0,1,0,0,0,0,0,0,0.0187481548637152,53,2,8.0 +7.61927556991577,0.35955598950386,10.7684850692749,0,1,0,0,3.39123916625977,0.6931471824646,3.13549423217773,1.3862943649292,0,0,0,0,1,0,0,0,0.0614425130188465,53,2,8.0 +6.94613599777222,0.359544068574905,10.2219409942627,0,1,0,0,3.39123916625977,0.6931471824646,4.17438745498657,1.3862943649292,0,0,0,1,0,0,0,0,0.0541357137262821,53,0,8.0 +7.78434133529663,0.359552562236786,11.4075651168823,1,0,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0382477231323719,53,2,8.0 +6.66939163208008,0.359397619962692,10.9595403671265,0,1,0,0,3.39123916625977,0.6931471824646,3.63758611679077,1.3862943649292,0,1,0,0,0,0,0,0,0.0196289289742708,53,2,8.0 +6.66931915283203,0.3595090508461,10.3889951705933,1,0,0,0,3.39123916625977,0.6931471824646,3.52636051177979,1.60943794250488,0,0,0,0,1,0,0,0,0.0347294472157955,53,2,8.0 +5.93582773208618,0.359536498785019,10.2219409942627,0,0,1,0,3.39123916625977,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0197110269218683,53,1,8.0 +6.56925058364868,0.359489977359772,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0113467471674085,53,2,8.0 +7.00303983688354,0.359534919261932,11.4075651168823,0,1,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.0986123085022,0,0,0,1,0,0,0,0,0.0175098795443773,53,1,8.0 +7.40800905227661,0.359540164470673,10.9595403671265,0,0,1,0,3.39123916625977,0.6931471824646,3.89182019233704,1.3862943649292,0,0,1,0,0,0,0,0,0.0410899817943573,53,2,8.0 +6.49132585525513,0.359488666057587,11.4075651168823,0,0,1,0,3.39123916625977,0.6931471824646,3.85014748573303,1.60943794250488,0,0,0,0,1,0,0,0,0.0104961097240448,53,2,8.0 +6.22434139251709,0.359524935483932,10.5320959091187,1,0,0,0,3.39123916625977,0.6931471824646,4.17438745498657,1.3862943649292,0,0,0,1,0,0,0,0,0.0192888155579567,53,1,8.0 +5.60742807388306,0.359434485435486,9.43348407745361,1,0,0,0,3.39123916625977,0.6931471824646,3.52636051177979,1.7917594909668,0,0,0,0,1,0,0,0,0.0312223378568888,53,2,8.0 +7.364342212677,0.359543919563293,11.6952466964722,0,0,1,0,3.39123916625977,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,0,1,0,0,0,0.0188477635383606,53,2,8.0 +7.53654479980469,0.35954824090004,10.7684850692749,0,0,1,0,3.39123916625977,1.3862943649292,2.89037179946899,1.60943794250488,0,0,0,0,1,0,0,0,0.0565634742379189,53,4,8.0 +6.7469744682312,0.35952228307724,9.76995658874512,1,0,0,0,3.39123916625977,0.6931471824646,3.80666255950928,1.0986123085022,0,0,0,0,0,1,0,0,0.0697066634893417,53,2,8.0 +7.24336338043213,0.359539419412613,10.9595403671265,0,1,0,0,3.39123916625977,0.6931471824646,3.465735912323,1.3862943649292,0,1,0,0,0,0,0,0,0.0348522551357746,53,1,8.0 +6.96746873855591,0.359540581703186,11.2580327987671,0,0,1,0,3.39123916625977,0.6931471824646,3.40119743347168,1.0986123085022,0,0,0,0,1,0,0,0,0.0196235664188862,53,2,8.0 +8.17776107788086,0.359558790922165,10.9595403671265,1,0,0,0,3.39123916625977,0.6931471824646,3.43398714065552,1.3862943649292,0,0,0,1,0,0,0,0,0.0887243896722794,53,2,8.0 +7.14165925979614,0.35952952504158,10.5320959091187,1,0,0,0,3.39123916625977,0.6931471824646,3.58351898193359,1.0986123085022,0,0,0,0,1,0,0,0,0.0482718050479889,53,2,8.0 +6.40015077590942,0.359909027814865,10.7684850692749,1,0,0,0,3.39123916625977,1.0986123085022,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0181619711220264,53,2,8.0 +6.78886699676514,0.357409536838531,11.2580327987671,0,0,0,1,1.88881635665894,0.6931471824646,3.71357202529907,1.7917594909668,0,0,0,0,0,1,0,0,0.016378978267312,55,4,2.0 +7.61570358276367,0.3574238717556,10.7684850692749,1,0,0,0,1.88881635665894,1.0986123085022,3.93182563781738,1.3862943649292,0,0,0,1,0,0,0,0,0.0610930249094963,55,4,2.0 +7.56774759292603,0.357418864965439,10.6572589874268,0,1,0,0,1.88881635665894,1.3862943649292,3.8712010383606,1.94591009616852,0,1,0,0,0,0,0,1,0.0650829374790192,55,2,2.0 +6.54346656799316,0.357401520013809,11.0429220199585,1,0,0,0,1.88881635665894,0.6931471824646,3.29583692550659,1.0986123085022,0,0,0,1,0,0,0,0,0.0158901810646057,55,2,2.0 +6.48506879806519,0.357381671667099,10.9595403671265,0,0,1,0,1.88881635665894,0.6931471824646,3.80666255950928,1.0986123085022,0,0,1,0,0,0,0,0,0.0162918604910374,55,2,2.0 +7.72087287902832,0.357535600662231,11.0429220199585,0,1,0,0,1.88881635665894,0.6931471824646,3.36729574203491,1.0986123085022,1,0,0,0,0,0,0,0,0.0515855737030506,55,2,2.0 +7.52207279205322,0.357432723045349,11.4075651168823,0,1,0,0,1.88881635665894,1.0986123085022,3.80666255950928,1.3862943649292,0,1,0,0,0,0,0,0,0.0293618440628052,55,2,2.0 +7.14586067199707,0.357426524162292,11.6952466964722,1,0,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.3862943649292,1,0,0,0,0,0,0,0,0.0151166282594204,55,1,2.0 +6.69974899291992,0.35740527510643,10.9595403671265,0,1,0,0,1.88881635665894,0.6931471824646,3.95124363899231,1.0986123085022,0,0,1,0,0,0,0,0,0.0201936680823565,55,2,2.0 +6.9095983505249,0.35743236541748,11.4075651168823,1,0,0,0,1.88881635665894,0.6931471824646,3.7376697063446,1.3862943649292,0,0,0,0,1,0,0,0,0.0159143451601267,55,2,2.0 +6.05276012420654,0.357424378395081,10.9595403671265,0,0,0,1,1.88881635665894,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0105740167200565,55,2,2.0 +7.53346633911133,0.357451379299164,10.8685684204102,0,1,0,0,1.88881635665894,0.6931471824646,3.36729574203491,1.0986123085022,0,0,0,1,0,0,0,0,0.0509123057126999,55,1,2.0 +6.59250497817993,0.357399106025696,11.1198825836182,0,1,0,0,1.88881635665894,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0154525898396969,55,2,2.0 +7.2608904838562,0.357428967952728,10.9595403671265,0,1,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,0,0.0353937298059464,55,2,2.0 +7.40489339828491,0.357449293136597,11.1913414001465,1,0,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.0986123085022,0,0,0,0,1,0,0,0,0.0324193760752678,55,1,2.0 +7.01548671722412,0.357407957315445,11.4075651168823,0,0,1,0,1.88881635665894,0.6931471824646,3.52636051177979,1.3862943649292,0,0,0,1,0,0,0,0,0.0176915135234594,55,2,2.0 +7.45068979263306,0.357438802719116,11.1198825836182,1,0,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.3862943649292,0,0,1,0,0,0,0,0,0.0364521667361259,55,2,2.0 +7.06721162796021,0.357436031103134,11.4075651168823,0,0,1,0,1.88881635665894,0.6931471824646,3.98898410797119,1.0986123085022,0,0,1,0,0,0,0,0,0.0186312049627304,55,2,2.0 +6.47922563552856,0.357336968183517,10.3889951705933,0,1,0,0,1.88881635665894,0.6931471824646,3.93182563781738,1.60943794250488,0,0,0,0,1,0,0,0,0.0286548398435116,55,2,2.0 +7.49181413650513,0.35745170712471,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.7917594909668,0,0,0,1,0,0,0,0,0.0213654320687056,55,1,2.0 +7.59190082550049,0.357435971498489,11.1198825836182,0,1,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.0986123085022,0,0,0,1,0,0,0,0,0.0419806651771069,55,2,2.0 +7.96782445907593,0.35744646191597,11.6952466964722,0,0,1,0,1.88881635665894,1.0986123085022,3.85014748573303,1.60943794250488,0,0,0,1,0,0,0,0,0.034390464425087,55,2,2.0 +5.90967273712158,0.357283264398575,10.7684850692749,0,1,0,0,1.88881635665894,0.6931471824646,3.33220458030701,1.3862943649292,1,0,0,0,0,0,0,1,0.0110920239239931,55,1,2.0 +6.90061473846436,0.35738417506218,10.2219409942627,0,1,0,0,1.88881635665894,1.0986123085022,4.02535152435303,1.60943794250488,0,1,0,0,0,0,0,0,0.0516150295734406,55,2,2.0 +7.15713310241699,0.35742512345314,10.8685684204102,0,0,1,0,1.88881635665894,1.0986123085022,3.68887948989868,1.7917594909668,0,0,0,0,1,0,0,0,0.0349439345300198,55,1,2.0 +7.45006036758423,0.357449382543564,11.1913414001465,0,1,0,0,1.88881635665894,0.6931471824646,3.58351898193359,1.3862943649292,0,1,0,0,0,0,0,0,0.0339172370731831,55,2,2.0 +7.2255654335022,0.357461154460907,11.1198825836182,0,0,1,0,1.88881635665894,0.6931471824646,3.40119743347168,1.0986123085022,0,0,1,0,0,0,0,0,0.0291046854108572,55,2,2.0 +7.71203279495239,0.357458472251892,11.1198825836182,0,1,0,0,1.88881635665894,0.6931471824646,4.04305124282837,1.3862943649292,1,0,0,0,0,0,0,0,0.0473403818905354,55,2,2.0 +8.05487728118896,0.35746306180954,11.0429220199585,0,1,0,0,1.88881635665894,0.6931471824646,3.465735912323,1.3862943649292,1,0,0,0,0,0,0,0,0.0720365941524506,55,2,2.0 +8.09217739105225,0.357460558414459,11.1913414001465,1,0,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.0986123085022,0,0,0,0,1,0,0,0,0.0644604340195656,55,2,2.0 +7.3672046661377,0.357426196336746,10.2219409942627,0,1,0,0,1.88881635665894,1.0986123085022,2.99573230743408,1.94591009616852,1,0,0,0,0,0,0,0,0.0823060795664787,55,3,2.0 +7.61061859130859,0.357461482286453,10.7684850692749,0,1,0,0,1.88881635665894,1.0986123085022,3.91202306747437,1.3862943649292,1,0,0,0,0,0,0,0,0.0607854351401329,55,3,2.0 +6.68256759643555,0.357424885034561,10.5320959091187,0,0,0,1,1.88881635665894,0.6931471824646,3.55534815788269,1.3862943649292,0,0,0,1,0,0,0,0,0.0304367672652006,55,1,2.0 +5.62697505950928,0.357389092445374,11.1198825836182,1,0,0,0,1.88881635665894,0.6931471824646,3.71357202529907,1.3862943649292,0,0,0,0,0,1,0,0,0.0058839996345341,55,1,2.0 +6.63425302505493,0.357417047023773,11.0429220199585,0,1,0,0,1.88881635665894,0.6931471824646,3.80666255950928,1.0986123085022,1,0,0,0,0,0,0,0,0.0174005795270205,55,1,2.0 +8.08375930786133,0.357457309961319,11.6952466964722,0,0,1,0,1.88881635665894,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,1,0,0,0,0,0.0386182554066181,55,3,2.0 +7.08373355865479,0.357415795326233,10.5320959091187,0,0,1,0,1.88881635665894,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.0454588830471039,55,1,2.0 +6.86854028701782,0.357419192790985,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.3862943649292,0,1,0,0,0,0,0,1,0.0114554725587368,55,2,2.0 +6.78048419952393,0.357413619756699,11.6952466964722,0,0,1,0,1.88881635665894,0.6931471824646,3.40119743347168,1.3862943649292,0,0,1,0,0,0,0,0,0.0104898307472467,55,1,2.0 +7.38890314102173,0.357396185398102,10.5320959091187,1,0,0,0,1.88881635665894,0.6931471824646,3.76120018959045,1.0986123085022,0,0,0,0,1,0,0,0,0.0616799294948578,55,3,2.0 +7.92096185684204,0.357467383146286,10.9595403671265,0,1,0,0,1.88881635665894,1.0986123085022,3.7376697063446,1.3862943649292,1,0,0,0,0,0,0,0,0.0684870183467865,55,2,2.0 +7.75690650939941,0.357449382543564,10.3889951705933,0,0,1,0,1.88881635665894,1.0986123085022,3.63758611679077,1.3862943649292,0,0,0,0,1,0,0,0,0.102833986282349,55,4,2.0 +6.45052862167358,0.357390761375427,10.5320959091187,0,0,1,0,1.88881635665894,0.6931471824646,3.13549423217773,1.0986123085022,0,0,0,0,1,0,0,0,0.0241329539567232,55,1,2.0 +6.57563018798828,0.357407361268997,10.5320959091187,0,1,0,0,1.88881635665894,1.0986123085022,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0273494552820921,55,3,2.0 +7.80463933944702,0.357459634542465,10.7684850692749,0,1,0,0,1.88881635665894,1.3862943649292,3.76120018959045,1.7917594909668,0,0,0,1,0,0,0,0,0.0738007798790932,55,2,2.0 +7.80301189422607,0.357453316450119,10.5320959091187,0,1,0,0,1.88881635665894,0.6931471824646,3.55534815788269,1.60943794250488,0,0,0,0,1,0,0,0,0.0933283790946007,55,2,2.0 +7.81317520141602,0.357467740774155,11.2580327987671,0,1,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0456208474934101,55,2,2.0 +8.55705261230469,0.357435703277588,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.93182563781738,1.0986123085022,0,0,0,0,0,0,0,0,0.0619914308190346,55,2,2.0 +6.77847385406494,0.357422292232513,10.7684850692749,1,0,0,0,1.88881635665894,0.6931471824646,3.7376697063446,1.0986123085022,0,0,1,0,0,0,0,0,0.0264476221054792,55,3,2.0 +6.9801778793335,0.357425302267075,11.4075651168823,0,1,0,0,1.88881635665894,0.6931471824646,3.49650764465332,1.3862943649292,1,0,0,0,0,0,0,0,0.0170780401676893,55,2,2.0 +6.84990739822388,0.357436031103134,10.5320959091187,0,1,0,0,1.88881635665894,0.6931471824646,3.178053855896,1.0986123085022,0,0,1,0,0,0,0,0,0.0359814129769802,55,2,2.0 +6.86226463317871,0.357404947280884,10.9595403671265,0,0,1,0,1.88881635665894,0.6931471824646,3.85014748573303,1.3862943649292,0,0,0,0,1,0,0,0,0.0237571727484465,55,2,2.0 +6.41467905044556,0.357454895973206,11.1198825836182,0,0,1,0,1.88881635665894,0.6931471824646,3.7376697063446,1.0986123085022,0,0,0,0,1,0,0,0,0.0129359010607004,55,2,2.0 +8.04345417022705,0.357467323541641,11.6952466964722,0,0,1,0,1.88881635665894,0.6931471824646,3.68887948989868,1.3862943649292,0,0,0,1,0,0,0,1,0.0370930582284927,55,2,2.0 +7.46991586685181,0.357465147972107,11.2580327987671,0,1,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.3862943649292,1,0,0,0,0,0,0,0,0.0323658213019371,55,2,2.0 +7.8591570854187,0.357466965913773,11.4075651168823,0,1,0,0,1.88881635665894,0.6931471824646,3.58351898193359,1.60943794250488,1,0,0,0,0,0,0,0,0.0411331504583359,55,2,2.0 +7.31411790847778,0.357384264469147,10.9595403671265,0,1,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.0986123085022,0,1,0,0,0,0,0,0,0.0373270101845264,55,2,2.0 +7.11408662796021,0.357437551021576,11.2580327987671,0,1,0,0,1.88881635665894,0.6931471824646,3.63758611679077,1.3862943649292,0,0,0,1,0,0,0,0,0.0226746238768101,55,2,2.0 +7.92721366882324,0.35746356844902,11.6952466964722,0,0,1,0,1.88881635665894,1.3862943649292,3.78418970108032,1.60943794250488,0,0,1,0,0,0,0,0,0.0330223850905895,55,4,2.0 +8.07803821563721,0.357471078634262,11.4075651168823,0,0,1,0,1.88881635665894,1.0986123085022,3.66356158256531,1.60943794250488,0,0,0,0,1,0,0,0,0.0511979423463345,55,3,2.0 +7.6824197769165,0.357458233833313,11.4075651168823,0,1,0,0,1.88881635665894,1.3862943649292,3.7376697063446,1.3862943649292,0,0,1,0,0,0,0,0,0.0344692803919315,55,2,2.0 +6.74965763092041,0.357417792081833,10.8685684204102,0,1,0,0,1.88881635665894,0.6931471824646,3.21887588500977,1.0986123085022,1,0,0,0,0,0,0,0,0.0232490058988333,55,2,2.0 +6.52447128295898,0.35739067196846,10.5320959091187,1,0,0,0,1.88881635665894,0.6931471824646,3.09104251861572,1.3862943649292,0,0,0,0,1,0,0,0,0.0259850453585386,55,2,2.0 +2.69168210029602,0.36040723323822,8.92265796661377,1,0,0,0,1.88881635665894,0.6931471824646,4.21950769424438,1.3862943649292,0,0,1,0,0,0,0,0,0.0028212678153067,55,1,2.0 +6.45481491088867,0.357374846935272,10.3889951705933,0,0,1,0,1.88881635665894,1.3862943649292,3.80666255950928,1.60943794250488,0,0,1,0,0,0,0,0,0.0279648844152689,55,3,2.0 +6.41782808303833,0.357481151819229,11.4075651168823,1,0,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.3862943649292,0,0,1,0,0,0,0,0,0.0097327819094061,55,1,2.0 +6.81534910202026,0.357424110174179,11.4075651168823,0,0,1,0,1.88881635665894,0.6931471824646,3.61091780662537,1.3862943649292,0,0,0,1,0,0,0,0,0.0144828287884593,55,2,2.0 +6.66207695007324,0.357420951128006,11.1913414001465,0,1,0,0,1.88881635665894,0.6931471824646,3.52636051177979,1.7917594909668,1,0,0,0,0,0,0,0,0.0154237933456898,55,1,2.0 +6.9408016204834,0.357417702674866,10.5320959091187,0,0,1,0,1.88881635665894,0.6931471824646,3.40119743347168,1.3862943649292,0,0,0,1,0,0,0,0,0.0394044294953346,55,1,2.0 +6.6065673828125,0.357418268918991,11.1913414001465,0,0,1,0,1.88881635665894,0.6931471824646,3.82864141464233,1.3862943649292,0,0,0,1,0,0,0,0,0.0145909152925014,55,3,2.0 +6.90600252151489,0.357441037893295,10.0212707519531,1,0,0,0,1.88881635665894,0.6931471824646,3.04452252388,1.0986123085022,0,0,0,0,1,0,0,0,0.0634294524788857,55,1,2.0 +7.44534301757812,0.357435286045074,11.4075651168823,1,0,0,0,1.88881635665894,1.0986123085022,3.80666255950928,1.60943794250488,0,0,0,0,1,0,0,0,0.0271932501345873,55,1,2.0 +6.54723739624023,0.357394427061081,11.1913414001465,1,0,0,0,1.88881635665894,0.6931471824646,3.95124363899231,1.3862943649292,0,0,0,1,0,0,0,0,0.0137500874698162,55,2,2.0 +7.32245445251465,0.357447564601898,11.2580327987671,0,1,0,0,1.88881635665894,0.6931471824646,3.66356158256531,1.60943794250488,0,1,0,0,0,0,0,0,0.0279278364032507,55,2,2.0 +7.59926128387451,0.357429206371307,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.0986123085022,1,0,0,0,0,0,0,0,0.0237884167581797,55,2,2.0 +7.88595724105835,0.357456296682358,10.7684850692749,0,1,0,0,1.88881635665894,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0800525769591331,55,2,2.0 +7.48775959014893,0.357979983091354,10.7684850692749,0,1,0,0,1.88881635665894,0.6931471824646,3.25809645652771,1.0986123085022,0,1,0,0,0,0,0,0,0.05378582701087,55,1,2.0 +6.29718971252441,0.357446372509003,11.6952466964722,0,0,1,0,1.88881635665894,0.6931471824646,3.465735912323,1.0986123085022,0,0,0,1,0,0,0,0,0.0064697936177253,55,2,2.0 +7.44936656951904,0.357438623905182,11.6952466964722,0,1,0,0,1.88881635665894,0.6931471824646,3.68887948989868,1.60943794250488,0,0,0,1,0,0,0,0,0.0204772315919399,55,2,2.0 +6.64495229721069,0.357453465461731,10.2219409942627,0,1,0,0,1.88881635665894,0.6931471824646,3.04452252388,1.0986123085022,0,1,0,0,0,0,0,0,0.0399736277759075,55,2,2.0 +6.50129508972168,0.357805609703064,10.5320959091187,0,0,1,0,1.88881635665894,0.6931471824646,3.76120018959045,1.3862943649292,1,0,0,0,0,0,0,0,0.0254002660512924,55,2,2.0 +7.67110347747803,0.357409358024597,10.9595403671265,0,0,1,0,1.88881635665894,1.0986123085022,3.93182563781738,1.60943794250488,0,0,0,1,0,0,0,0,0.0533421970903873,55,3,2.0 +8.78231620788574,0.357483416795731,9.76995658874512,1,0,0,0,1.88881635665894,1.3862943649292,4.17438745498657,1.7917594909668,0,0,1,0,0,0,0,0,0.532508194446564,55,2,2.0 +7.81445741653442,0.357448309659958,10.7684850692749,0,1,0,0,1.88881635665894,0.6931471824646,3.52636051177979,1.94591009616852,0,0,0,0,1,0,0,0,0.0745280757546425,55,2,2.0 +7.78343391418457,0.357467383146286,11.4075651168823,0,0,1,0,1.88881635665894,0.6931471824646,3.71357202529907,1.60943794250488,0,0,0,1,0,0,0,0,0.038133442401886,55,1,2.0 +6.51406526565552,0.357394427061081,11.2580327987671,0,0,1,0,1.88881635665894,0.6931471824646,3.58351898193359,1.3862943649292,0,0,0,0,1,0,0,0,0.0124432947486639,55,2,2.0 +6.8869800567627,0.357405871152878,11.1913414001465,0,1,0,0,1.88881635665894,0.6931471824646,3.36729574203491,1.60943794250488,0,0,1,0,0,0,0,0,0.0193134061992168,55,2,2.0 +7.09005880355835,0.357427299022675,11.1198825836182,0,1,0,0,1.88881635665894,0.6931471824646,4.09434461593628,1.0986123085022,0,0,0,0,1,0,0,0,0.025415476411581,55,1,2.0 +6.71857690811157,0.35757252573967,11.1198825836182,1,0,0,0,1.88881635665894,0.6931471824646,3.89182019233704,1.0986123085022,0,0,0,0,1,0,0,0,0.0175318997353315,55,2,2.0 +6.72267055511475,0.357398688793182,11.0429220199585,1,0,0,0,1.88881635665894,0.6931471824646,3.58351898193359,1.0986123085022,0,0,1,0,0,0,0,0,0.0190088097006083,55,2,2.0 +9.22201442718506,0.35748091340065,11.2580327987671,0,1,0,0,1.88881635665894,1.0986123085022,3.21887588500977,1.7917594909668,1,0,0,0,0,0,0,1,0.186646729707718,55,3,2.0 +6.87586307525635,0.357973635196686,10.5320959091187,1,0,0,0,1.88881635665894,0.6931471824646,3.76120018959045,1.0986123085022,0,1,0,0,0,0,0,0,0.036947425454855,55,2,2.0 +7.31219053268433,0.357443392276764,11.4075651168823,0,0,1,0,1.88881635665894,1.0986123085022,3.82864141464233,1.60943794250488,0,0,0,1,0,0,0,0,0.0238033048808575,55,2,2.0 +6.51771593093872,0.35738942027092,10.2219409942627,0,1,0,0,1.88881635665894,0.6931471824646,3.61091780662537,1.3862943649292,0,0,1,0,0,0,0,0,0.0351955406367779,55,1,2.0 diff --git a/requirements.txt b/requirements.txt index 0ef9f635..49b528e7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ numpy>=1.25.2 pandas>=2.0.3 -scikit-learn>=1.2.2,<1.3.0 +scikit-learn>=1.4,<1.7 statsmodels>=0.14.2 jupyterlab matplotlib>=3.7.1