From 4cf42b2f3948d59a407ba7f618a301a2c32b1995 Mon Sep 17 00:00:00 2001 From: Mitali Potnis <162364085+mitalipo@users.noreply.github.com> Date: Mon, 28 Oct 2024 16:12:51 -0700 Subject: [PATCH 1/8] Update version references for 1.2.0 (#333) --- docker/README.md | 20 +++++++++---------- docker/docker-compose.yaml | 6 +++--- .../intel_ai_safety/explainer/version.py | 2 +- explainer/pyproject.toml | 2 +- intel_ai_safety/version.py | 2 +- .../intel_ai_safety/model_card_gen/version.py | 2 +- model_card_gen/model_card_ui/requirements.txt | 2 +- model_card_gen/pyproject.toml | 2 +- .../attributions-hugging-face/pyproject.toml | 2 +- .../explainers/attributions/pyproject.toml | 2 +- plugins/explainers/cam-pytorch/pyproject.toml | 2 +- .../explainers/cam-tensorflow/pyproject.toml | 2 +- plugins/explainers/captum/pyproject.toml | 2 +- plugins/explainers/metrics/pyproject.toml | 2 +- pyproject.toml | 2 +- 15 files changed, 26 insertions(+), 26 deletions(-) diff --git a/docker/README.md b/docker/README.md index 4fff644..6d30e86 100644 --- a/docker/README.md +++ b/docker/README.md @@ -21,7 +21,7 @@ docker compose build explainers ### Check existing image: ```bash docker images | grep -i explainers -intel/ai-tools intel-ai-safety-1.1.0-explainers d8219a0cf128 About an hour ago 3.23GB +intel/ai-tools intel-ai-safety-1.2.0-explainers 9842919d01fd 1 minute ago 3.23GB ``` ## Model Card Generator @@ -34,7 +34,7 @@ docker compose build model_card_gen ### Check existing image ```bash docker images | grep -i mcg -intel/ai-tools intel-ai-safety-1.1.0-mcg 82bdf7b239cc About a minute ago 2.71GB +intel/ai-tools intel-ai-safety-1.2.0-mcg 5272f96fc69c 2 minutes ago 2.7GB ``` ## Model Card Generator UI @@ -46,13 +46,13 @@ docker compose build model_card_gen_ui ### Check existing image ```bash docker images | grep -i mcg-ui -intel/ai-tools intel-ai-safety-1.1.0-mcg-ui e9bd59328e37 About a minute ago 2.71GB +intel/ai-tools intel-ai-safety-1.2.0-mcg-ui 9ef60e82aea1 15 minutes ago 2.7GB ``` ### Running the UI To run the Model Card Generator UI, you can use the docker run command. ```bash -docker run --rm -p 8051:8051 --name mcg-ui intel/ai-tools:intel-ai-safety-1.1.0-mcg-ui +docker run --rm -p 8051:8051 --name mcg-ui intel/ai-tools:intel-ai-safety-1.2.0-mcg-ui ``` Once the container is running, you can access the Model Card Generator UI by navigating to `:8051` in your web browser, where HOST_NAME is the name or IP address of the server that the container is running on. @@ -62,31 +62,31 @@ Docker containers can run in either Interactive or Jupyter mode. This mode allows running the container in an interactive shell. This enables the ability to interact with the container's bash shell. Below is the command to start the container in interactive mode: ```bash -docker run --rm -it intel/ai-tools:intel-ai-safety-1.1.0-explainers bash +docker run --rm -it intel/ai-tools:intel-ai-safety-1.2.0-explainers bash ``` or ```bash -docker run --rm -it intel/ai-tools:intel-ai-safety-1.1.0-mcg bash +docker run --rm -it intel/ai-tools:intel-ai-safety-1.2.0-mcg bash ``` ### Jupyter This mode launches a jupyterlab notebook server. The command below will start the jupyterlab server which can be accessed from a web browser. Each container includes jupyter kernel to enable conda environment in jupyter notebook. The port for this server is `8888` and is exposed by default when you run the container, but you can change to any port that's open on the host. In this example we are using `8887` for `explainers` container and `8889` for `mcg` container on the host. ```bash -docker run --rm -p 8887:8888 --name explainers intel/ai-tools:intel-ai-safety-1.1.0-explainers +docker run --rm -p 8887:8888 --name explainers intel/ai-tools:intel-ai-safety-1.2.0-explainers ``` or ```bash -docker run --rm -p 8889:8888 --name model-card-gen intel/ai-tools:intel-ai-safety-1.1.0-mcg +docker run --rm -p 8889:8888 --name model-card-gen intel/ai-tools:intel-ai-safety-1.2.0-mcg ``` You can also run these containers in daemon mode: ```bash -docker run --rm -d -p 8887:8888 --name explainers intel/ai-tools:intel-ai-safety-1.1.0-explainers +docker run --rm -d -p 8887:8888 --name explainers intel/ai-tools:intel-ai-safety-1.2.0-explainers ``` or ```bash -docker run --rm -d -p 8889:8888 --name model-card-gen intel/ai-tools:intel-ai-safety-1.1.0-mcg +docker run --rm -d -p 8889:8888 --name model-card-gen intel/ai-tools:intel-ai-safety-1.2.0-mcg ``` Finally, on your favorite browser, navigate to `:8887` where `HOST_NAME` is the name or IP address of the server that the container is running on. If asked for a token, review the container logs to locate the token for the Jupyter server. diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 674296b..a64458e 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -18,7 +18,7 @@ services: explainers: - image: intel/ai-tools:intel-ai-safety-1.1.0-explainers + image: intel/ai-tools:intel-ai-safety-1.2.0-explainers pull_policy: always build: dockerfile: docker/Dockerfile.explainers @@ -46,7 +46,7 @@ services: retries: 5 model_card_gen: - image: intel/ai-tools:intel-ai-safety-1.1.0-mcg + image: intel/ai-tools:intel-ai-safety-1.2.0-mcg pull_policy: always build: dockerfile: docker/Dockerfile.mcg @@ -74,7 +74,7 @@ services: retries: 5 model_card_gen_ui: - image: intel/ai-tools:intel-ai-safety-1.1.0-mcg-ui + image: intel/ai-tools:intel-ai-safety-1.2.0-mcg-ui pull_policy: always build: dockerfile: docker/Dockerfile.mcg diff --git a/explainer/intel_ai_safety/explainer/version.py b/explainer/intel_ai_safety/explainer/version.py index 9d5388d..0b8cb98 100644 --- a/explainer/intel_ai_safety/explainer/version.py +++ b/explainer/intel_ai_safety/explainer/version.py @@ -18,4 +18,4 @@ # SPDX-License-Identifier: Apache-2.0 # -__version__ = "1.1.0" +__version__ = "1.2.0" diff --git a/explainer/pyproject.toml b/explainer/pyproject.toml index 6101fc7..5a4d6a3 100644 --- a/explainer/pyproject.toml +++ b/explainer/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "intel-ai-safety-explainer" -version = "1.1.0" +version = "1.2.0" description = "" authors = ["IntelAI "] readme = "README.md" diff --git a/intel_ai_safety/version.py b/intel_ai_safety/version.py index 9d956d6..e6ae37a 100644 --- a/intel_ai_safety/version.py +++ b/intel_ai_safety/version.py @@ -16,4 +16,4 @@ # SPDX-License-Identifier: Apache-2.0 # -__version__ = "1.1.0" +__version__ = "1.2.0" diff --git a/model_card_gen/intel_ai_safety/model_card_gen/version.py b/model_card_gen/intel_ai_safety/model_card_gen/version.py index 9d5388d..0b8cb98 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/version.py +++ b/model_card_gen/intel_ai_safety/model_card_gen/version.py @@ -18,4 +18,4 @@ # SPDX-License-Identifier: Apache-2.0 # -__version__ = "1.1.0" +__version__ = "1.2.0" diff --git a/model_card_gen/model_card_ui/requirements.txt b/model_card_gen/model_card_ui/requirements.txt index 8af47d9..444e86a 100644 --- a/model_card_gen/model_card_ui/requirements.txt +++ b/model_card_gen/model_card_ui/requirements.txt @@ -5,4 +5,4 @@ lxml==4.9.1 altair==5.3.0 plotly==5.20.0 requests==2.32.0 -git+https://github.com/intel/intel-xai-tools.git@v1.1.0#subdirectory=model_card_gen +git+https://github.com/intel/intel-xai-tools.git@v1.2.0#subdirectory=model_card_gen diff --git a/model_card_gen/pyproject.toml b/model_card_gen/pyproject.toml index 2a55477..1d2760d 100644 --- a/model_card_gen/pyproject.toml +++ b/model_card_gen/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "intel-ai-safety-model-card-gen" -version = "1.1.0" +version = "1.2.0" description = "" authors = ["IntelAI "] readme = "README.md" diff --git a/plugins/explainers/attributions-hugging-face/pyproject.toml b/plugins/explainers/attributions-hugging-face/pyproject.toml index ceceb7e..950c980 100644 --- a/plugins/explainers/attributions-hugging-face/pyproject.toml +++ b/plugins/explainers/attributions-hugging-face/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "intel-ai-safety-explainer-attributions-hugging-face" -version = "1.1.0" +version = "1.2.0" description = "" authors = ["IntelAI "] readme = "README.md" diff --git a/plugins/explainers/attributions/pyproject.toml b/plugins/explainers/attributions/pyproject.toml index add05ad..12fc459 100644 --- a/plugins/explainers/attributions/pyproject.toml +++ b/plugins/explainers/attributions/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "intel-ai-safety-explainer-attributions" -version = "1.1.0" +version = "1.2.0" description = "" authors = ["IntelAI "] readme = "README.md" diff --git a/plugins/explainers/cam-pytorch/pyproject.toml b/plugins/explainers/cam-pytorch/pyproject.toml index a5c0f6b..c9436f1 100644 --- a/plugins/explainers/cam-pytorch/pyproject.toml +++ b/plugins/explainers/cam-pytorch/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "intel-ai-safety-explainer-cam-pytorch" -version = "1.1.0" +version = "1.2.0" description = "" authors = ["IntelAI "] readme = "README.md" diff --git a/plugins/explainers/cam-tensorflow/pyproject.toml b/plugins/explainers/cam-tensorflow/pyproject.toml index ec40ff4..95c3f78 100644 --- a/plugins/explainers/cam-tensorflow/pyproject.toml +++ b/plugins/explainers/cam-tensorflow/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "intel-ai-safety-explainer-cam-tensorflow" -version = "1.1.0" +version = "1.2.0" description = "" authors = ["IntelAI "] readme = "README.md" diff --git a/plugins/explainers/captum/pyproject.toml b/plugins/explainers/captum/pyproject.toml index 55f5db8..3683431 100644 --- a/plugins/explainers/captum/pyproject.toml +++ b/plugins/explainers/captum/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "intel-ai-safety-explainer-captum" -version = "1.1.0" +version = "1.2.0" description = "" authors = ["IntelAI "] readme = "README.md" diff --git a/plugins/explainers/metrics/pyproject.toml b/plugins/explainers/metrics/pyproject.toml index dd1862e..6a8c470 100644 --- a/plugins/explainers/metrics/pyproject.toml +++ b/plugins/explainers/metrics/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "intel-ai-safety-explainer-metrics" -version = "1.1.0" +version = "1.2.0" description = "" authors = ["IntelAI "] readme = "README.md" diff --git a/pyproject.toml b/pyproject.toml index 6b6de4b..b3f3b03 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "intel-ai-safety" -version = "1.1.0" +version = "1.2.0" description = "" authors = ["IntelAI "] readme = "README.md" From 079435fbea1890cedbf2c5f33d2fc50e19f22a83 Mon Sep 17 00:00:00 2001 From: Mitali Potnis <162364085+mitalipo@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:30:10 -0800 Subject: [PATCH 2/8] Add individual metric plots for each label in multliclass classification (#334) * Add individual metric plots for each label in multilabel classification Signed-off-by: Mitali Potnis * Add tutorial for multiclass model card Signed-off-by: Mitali Potnis * Remove label column from multiclass dfs to avoid empty label plots Signed-off-by: Mitali Potnis * Add example multiclass metric files Signed-off-by: Mitali Potnis * Remove cell outputs containing download statements Signed-off-by: Mitali Potnis --------- Signed-off-by: Mitali Potnis --- .../csv/multiclass_metrics_by_group.csv | 34 + .../csv/multiclass_metrics_by_threshold.csv | 3004 +++++++++++++++++ .../model_card_gen/graphics/add_graphics.py | 263 +- .../multiclass_classification/README.md | 31 + ...multiclass-classification-model-card.ipynb | 1309 +++++++ 5 files changed, 4585 insertions(+), 56 deletions(-) create mode 100644 model_card_gen/intel_ai_safety/model_card_gen/docs/examples/csv/multiclass_metrics_by_group.csv create mode 100644 model_card_gen/intel_ai_safety/model_card_gen/docs/examples/csv/multiclass_metrics_by_threshold.csv create mode 100644 notebooks/model_card_gen/multiclass_classification/README.md create mode 100644 notebooks/model_card_gen/multiclass_classification/multiclass-classification-model-card.ipynb diff --git a/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/csv/multiclass_metrics_by_group.csv b/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/csv/multiclass_metrics_by_group.csv new file mode 100644 index 0000000..0cbafb4 --- /dev/null +++ b/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/csv/multiclass_metrics_by_group.csv @@ -0,0 +1,34 @@ +group,Subgroup,BPSN,BNSP,feature,label +None,0.663978494623656,0.05175469691598725,0.7976406533575318,target,Hate +Islam,0.2520812520812521,0.2253081791188027,0.06895346628679963,target,Hate +Homosexual,0.1665200452431821,0.10495643644336736,0.11497825514795271,target,Hate +Other,0.06432748538011696,0.036618539443398206,0.1179243103368606,target,Hate +African,0.17922839813065528,0.2761131918435289,0.04948755257654906,target,Hate +Caucasian,0.11973392461197341,0.03502420924023711,0.2017069924046668,target,Hate +Women,0.0915915915915916,0.052774564447716214,0.134178633262043,target,Hate +Jewish,0.15855072463768116,0.2847087378640777,0.042195048309178744,target,Hate +Arab,0.19393939393939397,0.20405040504050406,0.07246704331450093,target,Hate +Refugee,0.21724709784411278,0.050078554595443844,0.26558981889378364,target,Hate +Overall generalized mean,0.09752439987057404,0.047228721846868965,0.06072769397983537,target,Hate +None,0.19501844198551305,0.2783760683760684,0.10728397072576173,target,Offensive +Islam,0.13459950454170108,0.09323060800078603,0.17756539235412475,target,Offensive +Homosexual,0.15458579881656803,0.1293481839130912,0.14503850579799946,target,Offensive +Other,0.16952380952380952,0.13625925925925925,0.1718796992481203,target,Offensive +African,0.2011661807580175,0.06384055038445974,0.4060973226499902,target,Offensive +Caucasian,0.2236842105263158,0.33749169557835684,0.05688232739904473,target,Offensive +Women,0.2237339380196523,0.19960429875444044,0.11690237830393559,target,Offensive +Jewish,0.14197802197802198,0.04984393757503001,0.32289592760180996,target,Offensive +Arab,0.2738095238095237,0.07928240740740741,0.33589933382679493,target,Offensive +Refugee,0.17570754716981132,0.23485815121487713,0.08339763374485597,target,Offensive +Overall generalized mean,0.16778173692851533,0.07335262227529309,0.08644312885987962,target,Offensive +None,0.14334558310461926,0.2737090148982106,0.11224370922646786,target,Normal +Islam,0.3830227743271222,0.17038497457715057,0.4388404615577574,target,Normal +Homosexual,0.31410490446635025,0.3454184704184704,0.18315707652341112,target,Normal +Other,0.1304945054945055,0.32237929135303833,0.08765844467283318,target,Normal +African,0.23356751607525597,0.11845338161127635,0.4037692747001713,target,Normal +Caucasian,0.2518518518518518,0.21071428571428572,0.2659744408945687,target,Normal +Women,0.28479532163742693,0.33588516746411484,0.1762568306010929,target,Normal +Jewish,0.2369787005548595,0.14436481296682693,0.3628726417358744,target,Normal +Arab,0.2205128205128205,0.20050167224080268,0.256,target,Normal +Refugee,0.3554285714285714,0.35463636363636364,0.2079171032716265,target,Normal +Overall generalized mean,0.18221056323099738,0.168860094009674,0.13045961001359177,target,Normal diff --git a/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/csv/multiclass_metrics_by_threshold.csv b/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/csv/multiclass_metrics_by_threshold.csv new file mode 100644 index 0000000..1d859b8 --- /dev/null +++ b/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/csv/multiclass_metrics_by_threshold.csv @@ -0,0 +1,3004 @@ +threshold,precision,recall,f1,accuracy,label +0.0,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.001,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.002,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.003,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.004,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.005,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.006,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.007,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.008,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.009000000000000001,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.01,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.011,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.012,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.013000000000000001,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.014,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.015,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.016,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.017,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.018000000000000002,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.019,0.3087318087318087,1.0,0.47180301826846704,0.3087318087318087,Hate +0.02,0.3088923556942278,1.0,0.4719904648390942,0.3092515592515592,Hate +0.021,0.3090530697190427,1.0,0.47217806041335453,0.3097713097713098,Hate +0.022,0.30985915492957744,1.0,0.4731182795698925,0.3123700623700624,Hate +0.023,0.31002087682672236,1.0,0.47330677290836654,0.3128898128898129,Hate +0.024,0.3105070569785677,1.0,0.4738731551655365,0.31444906444906445,Hate +0.025,0.31099476439790574,1.0,0.4744408945686901,0.316008316008316,Hate +0.026000000000000002,0.3119747899159664,1.0,0.4755804643714972,0.3191268191268191,Hate +0.027,0.3129610115911486,1.0,0.4767255216693419,0.32224532224532226,Hate +0.028,0.314785373608903,1.0,0.4788391777509069,0.32796257796257794,Hate +0.029,0.3165775401069519,0.9966329966329966,0.4805194805194805,0.33471933471933474,Hate +0.03,0.31945945945945947,0.9949494949494949,0.483633387888707,0.34407484407484407,Hate +0.031,0.321720195971693,0.9949494949494949,0.4862196626902509,0.3508316008316008,Hate +0.032,0.32346491228070173,0.9932659932659933,0.4880066170388751,0.35654885654885654,Hate +0.033,0.3270509977827051,0.9932659932659933,0.4920767306088407,0.36694386694386694,Hate +0.034,0.3294249022892239,0.9932659932659933,0.4947589098532495,0.3737006237006237,Hate +0.035,0.33164414414414417,0.9915824915824916,0.4970464135021097,0.3804573804573805,Hate +0.036000000000000004,0.3354249857387336,0.98989898989899,0.5010651896037495,0.3913721413721414,Hate +0.037,0.3385146804835924,0.98989898989899,0.5045045045045045,0.3996881496881497,Hate +0.038,0.34305717619603265,0.98989898989899,0.5095320623916811,0.41164241164241167,Hate +0.039,0.3475429248075784,0.9882154882154882,0.5142356548401227,0.4235966735966736,Hate +0.04,0.35005973715651134,0.9865319865319865,0.5167548500881834,0.4303534303534304,Hate +0.041,0.35472154963680386,0.9865319865319865,0.5218165627782725,0.4417879417879418,Hate +0.042,0.3584097859327217,0.9865319865319865,0.5257963212202782,0.4506237006237006,Hate +0.043000000000000003,0.36133415688696724,0.9848484848484849,0.5286940804338003,0.4579002079002079,Hate +0.044,0.36585365853658536,0.9848484848484849,0.533515731874145,0.4682952182952183,Hate +0.045,0.3686868686868687,0.9831649831649831,0.5362718089990818,0.47505197505197505,Hate +0.046,0.37244897959183676,0.9831649831649831,0.5402405180388529,0.48336798336798337,Hate +0.047,0.3763718528082634,0.9814814814814815,0.5440970601959869,0.4922037422037422,Hate +0.048,0.3807968647942521,0.9814814814814815,0.5487058823529412,0.5015592515592515,Hate +0.049,0.3838051349572087,0.9814814814814815,0.5518220539517275,0.5077962577962578,Hate +0.05,0.387375415282392,0.9814814814814815,0.5555026202953788,0.5150727650727651,Hate +0.051000000000000004,0.3911290322580645,0.9797979797979798,0.5590778097982709,0.5228690228690228,Hate +0.052000000000000005,0.39443312966734556,0.9781144781144782,0.5621673923560716,0.5296257796257796,Hate +0.053,0.39794520547945206,0.9781144781144782,0.5657254138266796,0.5363825363825364,Hate +0.054,0.40124309392265195,0.9781144781144782,0.5690499510284035,0.5426195426195426,Hate +0.055,0.4057262569832402,0.9781144781144782,0.5735439289239882,0.5509355509355509,Hate +0.056,0.4097320169252468,0.9781144781144782,0.5775347912524851,0.5582120582120582,Hate +0.057,0.41163946061036194,0.9764309764309764,0.5791313030454318,0.5618503118503119,Hate +0.058,0.41487839771101576,0.9764309764309764,0.5823293172690763,0.5675675675675675,Hate +0.059000000000000004,0.4184704184704185,0.9764309764309764,0.5858585858585859,0.5738045738045738,Hate +0.06,0.42151162790697677,0.9764309764309764,0.5888324873096447,0.579002079002079,Hate +0.061,0.42741341193809873,0.9764309764309764,0.5945668887749872,0.5888773388773388,Hate +0.062,0.43283582089552236,0.9764309764309764,0.5997931747673216,0.5977130977130977,Hate +0.063,0.43478260869565216,0.9764309764309764,0.6016597510373444,0.6008316008316008,Hate +0.064,0.4397270659590599,0.9764309764309764,0.6063774176685833,0.6086278586278586,Hate +0.065,0.444104134762634,0.9764309764309764,0.6105263157894737,0.6153846153846154,Hate +0.066,0.4471858134155744,0.9764309764309764,0.6134320465362242,0.6200623700623701,Hate +0.067,0.4499612102404965,0.9764309764309764,0.6160382368560807,0.6242203742203742,Hate +0.068,0.45347928068803756,0.9764309764309764,0.6193272824345969,0.6294178794178794,Hate +0.069,0.4559748427672956,0.9764309764309764,0.6216505894962486,0.6330561330561331,Hate +0.07,0.4592240696753761,0.9764309764309764,0.624663435648896,0.6377338877338877,Hate +0.07100000000000001,0.46288906624102155,0.9764309764309764,0.6280454791553871,0.6429313929313929,Hate +0.07200000000000001,0.46618357487922707,0.9747474747474747,0.630718954248366,0.6476091476091476,Hate +0.073,0.46806790622473726,0.9747474747474747,0.6324412889131622,0.6502079002079002,Hate +0.074,0.4730392156862745,0.9747474747474747,0.636963696369637,0.656964656964657,Hate +0.075,0.4753694581280788,0.9747474747474747,0.6390728476821192,0.66008316008316,Hate +0.076,0.4772914946325351,0.9730639730639731,0.6404432132963989,0.6626819126819127,Hate +0.077,0.47966804979253114,0.9730639730639731,0.6425792106725959,0.6658004158004158,Hate +0.078,0.48327759197324416,0.9730639730639731,0.6458100558659218,0.6704781704781705,Hate +0.079,0.4844928751047779,0.9730639730639731,0.646894236149972,0.672037422037422,Hate +0.08,0.4873524451939292,0.9730639730639731,0.6494382022471911,0.6756756756756757,Hate +0.081,0.489415749364945,0.9730639730639731,0.6512676056338028,0.6782744282744283,Hate +0.082,0.4914965986394558,0.9730639730639731,0.6531073446327683,0.6808731808731808,Hate +0.083,0.4927536231884058,0.9730639730639731,0.6542161856253537,0.6824324324324325,Hate +0.084,0.4948630136986301,0.9730639730639731,0.656072644721907,0.685031185031185,Hate +0.085,0.4957044673539519,0.9713804713804713,0.6564277588168373,0.6860706860706861,Hate +0.08600000000000001,0.49870354364736386,0.9713804713804713,0.6590519703026841,0.6897089397089398,Hate +0.08700000000000001,0.5021758050478677,0.9713804713804713,0.6620768789443489,0.6938669438669439,Hate +0.088,0.5048118985126859,0.9713804713804713,0.6643638457109959,0.696985446985447,Hate +0.089,0.5065847234416154,0.9713804713804713,0.6658972879399885,0.6990644490644491,Hate +0.09,0.5088183421516755,0.9713804713804713,0.6678240740740741,0.7016632016632016,Hate +0.091,0.5092674315975286,0.9713804713804713,0.6682107701215981,0.7021829521829522,Hate +0.092,0.5110913930789707,0.9696969696969697,0.6693782684485764,0.7042619542619543,Hate +0.093,0.5124555160142349,0.9696969696969697,0.670547147846333,0.7058212058212058,Hate +0.094,0.5133928571428571,0.968013468013468,0.6709451575262544,0.7068607068607069,Hate +0.095,0.5134408602150538,0.9646464646464646,0.6701754385964912,0.7068607068607069,Hate +0.096,0.5148782687105501,0.9612794612794613,0.6705813270698767,0.7084199584199584,Hate +0.097,0.5167420814479639,0.9612794612794613,0.672160094173043,0.7104989604989606,Hate +0.098,0.5186194368755677,0.9612794612794613,0.6737463126843658,0.7125779625779626,Hate +0.099,0.5219378427787934,0.9612794612794613,0.6765402843601895,0.7162162162162162,Hate +0.1,0.5238532110091743,0.9612794612794613,0.6781472684085511,0.7182952182952183,Hate +0.101,0.5249077490774908,0.9579124579124579,0.6781883194278904,0.7193347193347194,Hate +0.10200000000000001,0.5293023255813953,0.9579124579124579,0.6818454164170161,0.724012474012474,Hate +0.10300000000000001,0.5317757009345795,0.9579124579124579,0.6838942307692307,0.7266112266112266,Hate +0.10400000000000001,0.5342723004694836,0.9579124579124579,0.6859553948161543,0.7292099792099792,Hate +0.105,0.5349056603773585,0.9545454545454546,0.6856106408706167,0.7297297297297297,Hate +0.106,0.5384615384615384,0.9545454545454546,0.6885245901639344,0.7333679833679834,Hate +0.107,0.5400763358778626,0.9528619528619529,0.6894031668696712,0.7349272349272349,Hate +0.108,0.5405921680993314,0.9528619528619529,0.6898232784887264,0.7354469854469855,Hate +0.109,0.5417066155321189,0.9511784511784511,0.6902871105681124,0.7364864864864865,Hate +0.11,0.5428296438883542,0.9494949494949495,0.6907532149418248,0.7375259875259875,Hate +0.111,0.5454545454545454,0.9494949494949495,0.6928746928746928,0.7401247401247402,Hate +0.112,0.5481049562682215,0.9494949494949495,0.6950092421441775,0.7427234927234927,Hate +0.113,0.5486381322957199,0.9494949494949495,0.6954377311960542,0.7432432432432432,Hate +0.114,0.5518590998043053,0.9494949494949495,0.698019801980198,0.7463617463617463,Hate +0.115,0.5529411764705883,0.9494949494949495,0.6988847583643123,0.7474012474012474,Hate +0.116,0.5556650246305419,0.9494949494949495,0.7010565568676196,0.75,Hate +0.117,0.5562130177514792,0.9494949494949495,0.7014925373134329,0.7505197505197505,Hate +0.11800000000000001,0.5567620927936822,0.9494949494949495,0.701929060360921,0.751039501039501,Hate +0.11900000000000001,0.5584158415841585,0.9494949494949495,0.7032418952618454,0.7525987525987526,Hate +0.12,0.5600794438927508,0.9494949494949495,0.7045596502186133,0.7541580041580042,Hate +0.121,0.5597609561752988,0.9461279461279462,0.7033792240300375,0.7536382536382537,Hate +0.122,0.5603190428713859,0.9461279461279462,0.7038196618659988,0.7541580041580042,Hate +0.123,0.5608782435129741,0.9461279461279462,0.7042606516290727,0.7546777546777547,Hate +0.124,0.5614385614385614,0.9461279461279462,0.7047021943573668,0.7551975051975052,Hate +0.125,0.5625625625625625,0.9461279461279462,0.7055869428750785,0.7562370062370062,Hate +0.126,0.5639476334340383,0.9427609427609428,0.7057340894770007,0.7572765072765073,Hate +0.127,0.5650857719475277,0.9427609427609428,0.7066246056782335,0.7583160083160083,Hate +0.128,0.5650857719475277,0.9427609427609428,0.7066246056782335,0.7583160083160083,Hate +0.129,0.5662285136501517,0.9427609427609428,0.7075173720783323,0.7593555093555093,Hate +0.13,0.5663627152988855,0.9410774410774411,0.7071473750790639,0.7593555093555093,Hate +0.131,0.568089430894309,0.9410774410774411,0.7084917617237009,0.760914760914761,Hate +0.132,0.5709908069458631,0.9410774410774411,0.7107438016528925,0.7635135135135135,Hate +0.133,0.5709908069458631,0.9410774410774411,0.7107438016528925,0.7635135135135135,Hate +0.134,0.5734840698869476,0.9393939393939394,0.7121888959795788,0.7655925155925156,Hate +0.135,0.5752577319587628,0.9393939393939394,0.7135549872122762,0.7671517671517671,Hate +0.136,0.5758513931888545,0.9393939393939394,0.7140115163147792,0.7676715176715176,Hate +0.137,0.5782383419689119,0.9393939393939394,0.7158434894162925,0.7697505197505198,Hate +0.138,0.5784008307372793,0.9377104377104377,0.7154784842646115,0.7697505197505198,Hate +0.139,0.5796045785639958,0.9377104377104377,0.7163987138263666,0.7707900207900208,Hate +0.14,0.5832460732984294,0.9377104377104377,0.7191736604260813,0.7739085239085239,Hate +0.14100000000000001,0.5844700944386149,0.9377104377104377,0.7201034259857789,0.774948024948025,Hate +0.14200000000000002,0.5863157894736842,0.9377104377104377,0.7215025906735751,0.7765072765072765,Hate +0.14300000000000002,0.5864978902953587,0.936026936026936,0.7211413748378729,0.7765072765072765,Hate +0.14400000000000002,0.587737843551797,0.936026936026936,0.7220779220779221,0.7775467775467776,Hate +0.145,0.5874867444326617,0.9326599326599326,0.7208848405985686,0.777027027027027,Hate +0.146,0.5881104033970276,0.9326599326599326,0.7213541666666666,0.7775467775467776,Hate +0.147,0.5881104033970276,0.9326599326599326,0.7213541666666666,0.7775467775467776,Hate +0.148,0.5882978723404255,0.930976430976431,0.7209908735332464,0.7775467775467776,Hate +0.149,0.5905680600214362,0.9276094276094277,0.7216764898493778,0.7791060291060291,Hate +0.15,0.5905680600214362,0.9276094276094277,0.7216764898493778,0.7791060291060291,Hate +0.151,0.5912017167381974,0.9276094276094277,0.7221494102228048,0.7796257796257796,Hate +0.152,0.5924731182795699,0.9276094276094277,0.7230971128608924,0.7806652806652806,Hate +0.153,0.59375,0.9276094276094277,0.7240473061760841,0.7817047817047817,Hate +0.154,0.5943905070118662,0.9276094276094277,0.7245233399079553,0.7822245322245323,Hate +0.155,0.5969664138678223,0.9276094276094277,0.7264337508239948,0.7843035343035343,Hate +0.156,0.5989130434782609,0.9276094276094277,0.7278731836195509,0.7858627858627859,Hate +0.157,0.599128540305011,0.9259259259259259,0.7275132275132276,0.7858627858627859,Hate +0.158,0.599128540305011,0.9259259259259259,0.7275132275132276,0.7858627858627859,Hate +0.159,0.599128540305011,0.9259259259259259,0.7275132275132276,0.7858627858627859,Hate +0.16,0.6,0.9242424242424242,0.7276341948310139,0.7863825363825364,Hate +0.161,0.6019736842105263,0.9242424242424242,0.7290836653386454,0.7879417879417879,Hate +0.162,0.6028602860286029,0.9225589225589226,0.729208250166334,0.7884615384615384,Hate +0.163,0.6024229074889867,0.9208754208754208,0.7283621837549934,0.7879417879417879,Hate +0.164,0.6030871003307607,0.9208754208754208,0.7288474350433045,0.7884615384615384,Hate +0.165,0.6037527593818984,0.9208754208754208,0.7293333333333333,0.7889812889812889,Hate +0.166,0.6044198895027625,0.9208754208754208,0.7298198799199467,0.7895010395010394,Hate +0.167,0.6057585825027686,0.9208754208754208,0.7307949231796927,0.7905405405405406,Hate +0.168,0.6057585825027686,0.9208754208754208,0.7307949231796927,0.7905405405405406,Hate +0.169,0.60913140311804,0.9208754208754208,0.7332439678284183,0.7931392931392931,Hate +0.17,0.6098104793756968,0.9208754208754208,0.7337357478202549,0.7936590436590436,Hate +0.171,0.6100558659217877,0.9191919191919192,0.7333781061114842,0.7936590436590436,Hate +0.17200000000000001,0.6114221724524076,0.9191919191919192,0.734364492266308,0.7946985446985447,Hate +0.17300000000000001,0.6126126126126126,0.9158249158249159,0.7341430499325237,0.7952182952182952,Hate +0.17400000000000002,0.6126126126126126,0.9158249158249159,0.7341430499325237,0.7952182952182952,Hate +0.17500000000000002,0.6126126126126126,0.9158249158249159,0.7341430499325237,0.7952182952182952,Hate +0.176,0.6133032694475761,0.9158249158249159,0.7346387575962188,0.7957380457380457,Hate +0.177,0.6153846153846154,0.9158249158249159,0.7361299052774019,0.7972972972972973,Hate +0.178,0.6153846153846154,0.9158249158249159,0.7361299052774019,0.7972972972972973,Hate +0.179,0.6181818181818182,0.9158249158249159,0.7381275440976933,0.7993762993762994,Hate +0.18,0.6202964652223489,0.9158249158249159,0.7396329027872196,0.8009355509355509,Hate +0.181,0.6217142857142857,0.9158249158249159,0.7406398910823689,0.8019750519750519,Hate +0.182,0.6219931271477663,0.9141414141414141,0.7402862985685071,0.8019750519750519,Hate +0.183,0.6215596330275229,0.9124579124579124,0.7394270122783083,0.8014553014553014,Hate +0.184,0.622554660529344,0.9107744107744108,0.7395762132604238,0.8019750519750519,Hate +0.185,0.6247113163972287,0.9107744107744108,0.7410958904109589,0.8035343035343036,Hate +0.186,0.6257242178447276,0.9090909090909091,0.7412491420727523,0.8040540540540541,Hate +0.187,0.6260162601626016,0.9074074074074074,0.740893470790378,0.8040540540540541,Hate +0.188,0.6263096623981373,0.9057239057239057,0.7405368203716449,0.8040540540540541,Hate +0.189,0.6292397660818714,0.9057239057239057,0.7425810904071773,0.8061330561330561,Hate +0.19,0.6292397660818714,0.9057239057239057,0.7425810904071773,0.8061330561330561,Hate +0.191,0.6288056206088993,0.9040404040404041,0.7417127071823204,0.8056133056133056,Hate +0.192,0.6291079812206573,0.9023569023569024,0.7413554633471646,0.8056133056133056,Hate +0.193,0.6286721504112809,0.9006734006734006,0.740484429065744,0.8050935550935551,Hate +0.194,0.6301531213191991,0.9006734006734006,0.7415107415107415,0.8061330561330561,Hate +0.195,0.6316410861865407,0.9006734006734006,0.7425399028452464,0.8071725571725572,Hate +0.196,0.6323877068557919,0.9006734006734006,0.7430555555555556,0.8076923076923077,Hate +0.197,0.6338862559241706,0.9006734006734006,0.7440890125173852,0.8087318087318087,Hate +0.198,0.6342042755344418,0.898989898989899,0.7437325905292479,0.8087318087318087,Hate +0.199,0.636038186157518,0.8973063973063973,0.744413407821229,0.8097713097713097,Hate +0.2,0.6351674641148325,0.8939393939393939,0.7426573426573426,0.8087318087318087,Hate +0.201,0.6374549819927972,0.8939393939393939,0.744218640504555,0.8102910602910602,Hate +0.202,0.6382211538461539,0.8939393939393939,0.7447405329593267,0.8108108108108109,Hate +0.203,0.6389891696750902,0.8939393939393939,0.7452631578947368,0.8113305613305614,Hate +0.20400000000000001,0.6397590361445783,0.8939393939393939,0.7457865168539326,0.8118503118503119,Hate +0.20500000000000002,0.6413043478260869,0.8939393939393939,0.7468354430379747,0.8128898128898129,Hate +0.20600000000000002,0.6413043478260869,0.8939393939393939,0.7468354430379747,0.8128898128898129,Hate +0.20700000000000002,0.6424242424242425,0.8922558922558923,0.7470049330514447,0.8134095634095634,Hate +0.20800000000000002,0.6419902912621359,0.8905723905723906,0.7461212976022567,0.8128898128898129,Hate +0.209,0.6423357664233577,0.8888888888888888,0.7457627118644068,0.8128898128898129,Hate +0.21,0.6439024390243903,0.8888888888888888,0.7468175388967468,0.8139293139293139,Hate +0.211,0.6462668298653611,0.8888888888888888,0.7484053862508859,0.8154885654885655,Hate +0.212,0.6462668298653611,0.8888888888888888,0.7484053862508859,0.8154885654885655,Hate +0.213,0.6462668298653611,0.8888888888888888,0.7484053862508859,0.8154885654885655,Hate +0.214,0.6462668298653611,0.8888888888888888,0.7484053862508859,0.8154885654885655,Hate +0.215,0.646551724137931,0.8838383838383839,0.7467994310099573,0.814968814968815,Hate +0.216,0.6485148514851485,0.8821548821548821,0.7475035663338089,0.816008316008316,Hate +0.217,0.650497512437811,0.8804713804713805,0.748211731044349,0.817047817047817,Hate +0.218,0.6521197007481296,0.8804713804713805,0.7492836676217765,0.818087318087318,Hate +0.219,0.65125,0.877104377104377,0.7474892395982783,0.817047817047817,Hate +0.22,0.65125,0.877104377104377,0.7474892395982783,0.817047817047817,Hate +0.221,0.6520650813516896,0.877104377104377,0.7480258435032304,0.8175675675675675,Hate +0.222,0.6524466750313677,0.8754208754208754,0.7476635514018691,0.8175675675675675,Hate +0.223,0.6532663316582915,0.8754208754208754,0.7482014388489209,0.818087318087318,Hate +0.224,0.6532663316582915,0.8754208754208754,0.7482014388489209,0.818087318087318,Hate +0.225,0.6536523929471033,0.8737373737373737,0.7478386167146974,0.818087318087318,Hate +0.226,0.6540404040404041,0.8720538720538721,0.7474747474747475,0.818087318087318,Hate +0.227,0.6573604060913706,0.8720538720538721,0.7496382054992764,0.8201663201663202,Hate +0.228,0.6590330788804071,0.8720538720538721,0.7507246376811594,0.8212058212058212,Hate +0.229,0.6594387755102041,0.8703703703703703,0.7503628447024674,0.8212058212058212,Hate +0.23,0.6590038314176245,0.8686868686868687,0.7494553376906318,0.8206860706860707,Hate +0.231,0.6615384615384615,0.8686868686868687,0.7510917030567685,0.8222453222453222,Hate +0.232,0.6615384615384615,0.8686868686868687,0.7510917030567685,0.8222453222453222,Hate +0.233,0.6623876765083441,0.8686868686868687,0.7516387472687546,0.8227650727650727,Hate +0.234,0.6640826873385013,0.8653198653198653,0.7514619883040936,0.8232848232848233,Hate +0.23500000000000001,0.6658031088082902,0.8653198653198653,0.7525622254758418,0.8243243243243243,Hate +0.23600000000000002,0.6666666666666666,0.8653198653198653,0.7531135531135531,0.8248440748440748,Hate +0.23700000000000002,0.6657997399219766,0.8619528619528619,0.7512839325018342,0.8238045738045738,Hate +0.23800000000000002,0.6666666666666666,0.8619528619528619,0.7518355359765051,0.8243243243243243,Hate +0.23900000000000002,0.6671018276762402,0.8602693602693603,0.7514705882352941,0.8243243243243243,Hate +0.24,0.6671018276762402,0.8602693602693603,0.7514705882352941,0.8243243243243243,Hate +0.241,0.6666666666666666,0.8585858585858586,0.7505518763796909,0.8238045738045738,Hate +0.242,0.6684141546526867,0.8585858585858586,0.7516580692704495,0.8248440748440748,Hate +0.243,0.6692913385826772,0.8585858585858586,0.7522123893805309,0.8253638253638254,Hate +0.244,0.6697368421052632,0.8569023569023569,0.7518463810930576,0.8253638253638254,Hate +0.245,0.6693017127799736,0.8552188552188552,0.7509238728750924,0.8248440748440748,Hate +0.246,0.6684280052840158,0.8518518518518519,0.7490747594374537,0.8238045738045738,Hate +0.247,0.6684280052840158,0.8518518518518519,0.7490747594374537,0.8238045738045738,Hate +0.248,0.6701986754966888,0.8518518518518519,0.7501853224610823,0.8248440748440748,Hate +0.249,0.6706507304116865,0.8501683501683501,0.7498144023756496,0.8248440748440748,Hate +0.25,0.6697736351531292,0.8468013468013468,0.7479553903345725,0.8238045738045738,Hate +0.251,0.6706666666666666,0.8468013468013468,0.7485119047619048,0.8243243243243243,Hate +0.252,0.6724598930481284,0.8468013468013468,0.7496274217585693,0.8253638253638254,Hate +0.253,0.6724598930481284,0.8468013468013468,0.7496274217585693,0.8253638253638254,Hate +0.254,0.6738255033557047,0.8451178451178452,0.7498132935026139,0.8258835758835759,Hate +0.255,0.6756393001345895,0.8451178451178452,0.7509349289454001,0.8269230769230769,Hate +0.256,0.6765498652291105,0.8451178451178452,0.7514970059880239,0.8274428274428275,Hate +0.257,0.6774628879892037,0.8451178451178452,0.752059925093633,0.827962577962578,Hate +0.258,0.6783783783783783,0.8451178451178452,0.7526236881559221,0.8284823284823285,Hate +0.259,0.6802168021680217,0.8451178451178452,0.7537537537537538,0.8295218295218295,Hate +0.26,0.6802721088435374,0.8417508417508418,0.7524454477050414,0.829002079002079,Hate +0.261,0.6821282401091405,0.8417508417508418,0.7535795026375283,0.83004158004158,Hate +0.262,0.6826265389876881,0.8400673400673401,0.7532075471698113,0.83004158004158,Hate +0.263,0.6835616438356165,0.8400673400673401,0.7537764350453172,0.8305613305613305,Hate +0.264,0.6844993141289437,0.8400673400673401,0.7543461829176115,0.831081081081081,Hate +0.265,0.6844993141289437,0.8400673400673401,0.7543461829176115,0.831081081081081,Hate +0.266,0.6854395604395604,0.8400673400673401,0.7549167927382754,0.8316008316008316,Hate +0.267,0.6873278236914601,0.8400673400673401,0.7560606060606061,0.8326403326403327,Hate +0.268,0.6878453038674033,0.8383838383838383,0.7556904400606981,0.8326403326403327,Hate +0.269,0.6878453038674033,0.8383838383838383,0.7556904400606981,0.8326403326403327,Hate +0.27,0.6878453038674033,0.8383838383838383,0.7556904400606981,0.8326403326403327,Hate +0.271,0.6887966804979253,0.8383838383838383,0.7562642369020501,0.8331600831600832,Hate +0.272,0.6893203883495146,0.8367003367003367,0.755893536121673,0.8331600831600832,Hate +0.273,0.6898470097357441,0.835016835016835,0.7555217060167555,0.8331600831600832,Hate +0.274,0.6894150417827298,0.8333333333333334,0.7545731707317073,0.8326403326403327,Hate +0.275,0.6894150417827298,0.8333333333333334,0.7545731707317073,0.8326403326403327,Hate +0.276,0.6899441340782123,0.8316498316498316,0.7541984732824427,0.8326403326403327,Hate +0.277,0.6914446002805049,0.82996632996633,0.7543993879112472,0.8331600831600832,Hate +0.278,0.6933895921237694,0.82996632996633,0.7555555555555555,0.8341995841995842,Hate +0.279,0.6933895921237694,0.82996632996633,0.7555555555555555,0.8341995841995842,Hate +0.28,0.6929577464788732,0.8282828282828283,0.754601226993865,0.8336798336798337,Hate +0.281,0.693935119887165,0.8282828282828283,0.7551803530314658,0.8341995841995842,Hate +0.28200000000000003,0.693935119887165,0.8282828282828283,0.7551803530314658,0.8341995841995842,Hate +0.28300000000000003,0.695898161244696,0.8282828282828283,0.7563412759415834,0.8352390852390852,Hate +0.28400000000000003,0.695898161244696,0.8282828282828283,0.7563412759415834,0.8352390852390852,Hate +0.28500000000000003,0.6968838526912181,0.8282828282828283,0.7569230769230769,0.8357588357588358,Hate +0.28600000000000003,0.6978723404255319,0.8282828282828283,0.7575057736720554,0.8362785862785863,Hate +0.28700000000000003,0.6978723404255319,0.8282828282828283,0.7575057736720554,0.8362785862785863,Hate +0.28800000000000003,0.6978723404255319,0.8282828282828283,0.7575057736720554,0.8362785862785863,Hate +0.289,0.6974431818181818,0.8265993265993266,0.7565485362095532,0.8357588357588358,Hate +0.29,0.698005698005698,0.8249158249158249,0.7561728395061729,0.8357588357588358,Hate +0.291,0.698005698005698,0.8249158249158249,0.7561728395061729,0.8357588357588358,Hate +0.292,0.6990014265335235,0.8249158249158249,0.7567567567567568,0.8362785862785863,Hate +0.293,0.7,0.8249158249158249,0.7573415765069552,0.8367983367983368,Hate +0.294,0.7015781922525107,0.8232323232323232,0.7575522850503486,0.8373180873180873,Hate +0.295,0.7015781922525107,0.8232323232323232,0.7575522850503486,0.8373180873180873,Hate +0.296,0.7025862068965517,0.8232323232323232,0.7581395348837209,0.8378378378378378,Hate +0.297,0.7046109510086456,0.8232323232323232,0.7593167701863354,0.8388773388773388,Hate +0.298,0.7056277056277056,0.8232323232323232,0.7599067599067599,0.8393970893970893,Hate +0.299,0.7052023121387283,0.8215488215488216,0.7589424572317263,0.8388773388773388,Hate +0.3,0.706821480406386,0.8198653198653199,0.7591582229150429,0.8393970893970893,Hate +0.301,0.7063953488372093,0.8181818181818182,0.7581903276131046,0.8388773388773388,Hate +0.302,0.7059679767103348,0.8164983164983165,0.7572209211553473,0.8383575883575883,Hate +0.303,0.708029197080292,0.8164983164983165,0.7584050039093041,0.8393970893970893,Hate +0.304,0.708029197080292,0.8164983164983165,0.7584050039093041,0.8393970893970893,Hate +0.305,0.708029197080292,0.8164983164983165,0.7584050039093041,0.8393970893970893,Hate +0.306,0.7101024890190337,0.8164983164983165,0.759592795614722,0.8404365904365905,Hate +0.307,0.7096774193548387,0.8148148148148148,0.7586206896551724,0.83991683991684,Hate +0.308,0.7096774193548387,0.8148148148148148,0.7586206896551724,0.83991683991684,Hate +0.309,0.7096774193548387,0.8148148148148148,0.7586206896551724,0.83991683991684,Hate +0.31,0.7096774193548387,0.8148148148148148,0.7586206896551724,0.83991683991684,Hate +0.311,0.71071953010279,0.8148148148148148,0.7592156862745097,0.8404365904365905,Hate +0.312,0.711340206185567,0.8131313131313131,0.7588373919874313,0.8404365904365905,Hate +0.313,0.7123893805309734,0.8131313131313131,0.7594339622641509,0.840956340956341,Hate +0.314,0.7130177514792899,0.8114478114478114,0.7590551181102362,0.840956340956341,Hate +0.315,0.7140740740740741,0.8114478114478114,0.7596532702915682,0.8414760914760915,Hate +0.316,0.7151335311572701,0.8114478114478114,0.7602523659305994,0.841995841995842,Hate +0.317,0.7157738095238095,0.8097643097643098,0.7598736176935229,0.841995841995842,Hate +0.318,0.7153502235469449,0.8080808080808081,0.758893280632411,0.8414760914760915,Hate +0.319,0.7174887892376681,0.8080808080808081,0.7600950118764845,0.8425155925155925,Hate +0.32,0.718562874251497,0.8080808080808081,0.7606973058637084,0.843035343035343,Hate +0.321,0.7207207207207207,0.8080808080808081,0.7619047619047619,0.8440748440748441,Hate +0.322,0.7203007518796992,0.8063973063973064,0.7609213661636219,0.8435550935550935,Hate +0.323,0.7213855421686747,0.8063973063973064,0.7615262321144675,0.8440748440748441,Hate +0.324,0.7213855421686747,0.8063973063973064,0.7615262321144675,0.8440748440748441,Hate +0.325,0.7213855421686747,0.8063973063973064,0.7615262321144675,0.8440748440748441,Hate +0.326,0.7213855421686747,0.8063973063973064,0.7615262321144675,0.8440748440748441,Hate +0.327,0.7213855421686747,0.8063973063973064,0.7615262321144675,0.8440748440748441,Hate +0.328,0.7213855421686747,0.8063973063973064,0.7615262321144675,0.8440748440748441,Hate +0.329,0.7213855421686747,0.8063973063973064,0.7615262321144675,0.8440748440748441,Hate +0.33,0.722473604826546,0.8063973063973064,0.762132060461416,0.8445945945945946,Hate +0.331,0.7235649546827795,0.8063973063973064,0.7627388535031847,0.8451143451143451,Hate +0.332,0.7227272727272728,0.803030303030303,0.7607655502392344,0.8440748440748441,Hate +0.333,0.7227272727272728,0.803030303030303,0.7607655502392344,0.8440748440748441,Hate +0.334,0.7227272727272728,0.803030303030303,0.7607655502392344,0.8440748440748441,Hate +0.335,0.7227272727272728,0.803030303030303,0.7607655502392344,0.8440748440748441,Hate +0.336,0.723823975720789,0.803030303030303,0.7613727055067837,0.8445945945945946,Hate +0.337,0.723823975720789,0.803030303030303,0.7613727055067837,0.8445945945945946,Hate +0.338,0.7249240121580547,0.803030303030303,0.7619808306709265,0.8451143451143451,Hate +0.339,0.725609756097561,0.8013468013468014,0.7616,0.8451143451143451,Hate +0.34,0.7247706422018348,0.797979797979798,0.7596153846153846,0.8440748440748441,Hate +0.341,0.7247706422018348,0.797979797979798,0.7596153846153846,0.8440748440748441,Hate +0.342,0.7247706422018348,0.797979797979798,0.7596153846153846,0.8440748440748441,Hate +0.343,0.7247706422018348,0.797979797979798,0.7596153846153846,0.8440748440748441,Hate +0.34400000000000003,0.7265745007680492,0.7962962962962963,0.7598393574297189,0.8445945945945946,Hate +0.34500000000000003,0.7261538461538461,0.7946127946127947,0.7588424437299035,0.8440748440748441,Hate +0.34600000000000003,0.7261538461538461,0.7946127946127947,0.7588424437299035,0.8440748440748441,Hate +0.34700000000000003,0.7283950617283951,0.7946127946127947,0.7600644122383253,0.8451143451143451,Hate +0.34800000000000003,0.7279752704791345,0.7929292929292929,0.7590652699435939,0.8445945945945946,Hate +0.34900000000000003,0.7275541795665634,0.7912457912457912,0.7580645161290323,0.8440748440748441,Hate +0.35000000000000003,0.7275541795665634,0.7912457912457912,0.7580645161290323,0.8440748440748441,Hate +0.35100000000000003,0.7286821705426356,0.7912457912457912,0.7586763518966909,0.8445945945945946,Hate +0.352,0.7286821705426356,0.7912457912457912,0.7586763518966909,0.8445945945945946,Hate +0.353,0.7286821705426356,0.7912457912457912,0.7586763518966909,0.8445945945945946,Hate +0.354,0.7298136645962733,0.7912457912457912,0.7592891760904685,0.8451143451143451,Hate +0.355,0.7309486780715396,0.7912457912457912,0.7599029911075182,0.8456340956340956,Hate +0.356,0.7305295950155763,0.7895622895622896,0.7588996763754046,0.8451143451143451,Hate +0.357,0.7316692667706708,0.7895622895622896,0.7595141700404858,0.8456340956340956,Hate +0.358,0.7316692667706708,0.7895622895622896,0.7595141700404858,0.8456340956340956,Hate +0.359,0.7316692667706708,0.7895622895622896,0.7595141700404858,0.8456340956340956,Hate +0.36,0.7316692667706708,0.7895622895622896,0.7595141700404858,0.8456340956340956,Hate +0.361,0.73125,0.7878787878787878,0.7585089141004863,0.8451143451143451,Hate +0.362,0.73125,0.7878787878787878,0.7585089141004863,0.8451143451143451,Hate +0.363,0.73125,0.7878787878787878,0.7585089141004863,0.8451143451143451,Hate +0.364,0.730829420970266,0.7861952861952862,0.7575020275750203,0.8445945945945946,Hate +0.365,0.731974921630094,0.7861952861952862,0.7581168831168831,0.8451143451143451,Hate +0.366,0.7338582677165354,0.7845117845117845,0.758340113913751,0.8456340956340956,Hate +0.367,0.7350157728706624,0.7845117845117845,0.758957654723127,0.8461538461538461,Hate +0.368,0.7361769352290679,0.7845117845117845,0.7595762021189894,0.8466735966735967,Hate +0.369,0.7357594936708861,0.7828282828282829,0.7585644371941273,0.8461538461538461,Hate +0.37,0.7357594936708861,0.7828282828282829,0.7585644371941273,0.8461538461538461,Hate +0.371,0.7365079365079366,0.7811447811447811,0.7581699346405228,0.8461538461538461,Hate +0.372,0.7384370015948963,0.7794612794612794,0.7583947583947583,0.8466735966735967,Hate +0.373,0.7384370015948963,0.7794612794612794,0.7583947583947583,0.8466735966735967,Hate +0.374,0.7408,0.7794612794612794,0.7596390484003281,0.8477130977130977,Hate +0.375,0.7427652733118971,0.7777777777777778,0.7598684210526315,0.8482328482328483,Hate +0.376,0.7423510466988728,0.7760942760942761,0.7588477366255144,0.8477130977130977,Hate +0.377,0.7431340872374798,0.7744107744107744,0.7584501236603463,0.8477130977130977,Hate +0.378,0.7427184466019418,0.7727272727272727,0.7574257425742574,0.8471933471933472,Hate +0.379,0.7423014586709886,0.7710437710437711,0.7563996696944674,0.8466735966735967,Hate +0.38,0.7423014586709886,0.7710437710437711,0.7563996696944674,0.8466735966735967,Hate +0.381,0.7423014586709886,0.7710437710437711,0.7563996696944674,0.8466735966735967,Hate +0.382,0.7447154471544716,0.7710437710437711,0.7576509511993383,0.8477130977130977,Hate +0.383,0.7447154471544716,0.7710437710437711,0.7576509511993383,0.8477130977130977,Hate +0.384,0.744299674267101,0.7693602693602694,0.7566225165562914,0.8471933471933472,Hate +0.385,0.744299674267101,0.7693602693602694,0.7566225165562914,0.8471933471933472,Hate +0.386,0.7455138662316476,0.7693602693602694,0.7572493786246893,0.8477130977130977,Hate +0.387,0.7455138662316476,0.7693602693602694,0.7572493786246893,0.8477130977130977,Hate +0.388,0.7455138662316476,0.7693602693602694,0.7572493786246893,0.8477130977130977,Hate +0.389,0.7455138662316476,0.7693602693602694,0.7572493786246893,0.8477130977130977,Hate +0.39,0.7455138662316476,0.7693602693602694,0.7572493786246893,0.8477130977130977,Hate +0.391,0.7467320261437909,0.7693602693602694,0.75787728026534,0.8482328482328483,Hate +0.392,0.7467320261437909,0.7693602693602694,0.75787728026534,0.8482328482328483,Hate +0.393,0.7467320261437909,0.7693602693602694,0.75787728026534,0.8482328482328483,Hate +0.394,0.7463175122749591,0.7676767676767676,0.7568464730290456,0.8477130977130977,Hate +0.395,0.7459016393442623,0.765993265993266,0.7558139534883721,0.8471933471933472,Hate +0.396,0.7471264367816092,0.765993265993266,0.7564422277639236,0.8477130977130977,Hate +0.397,0.7479406919275123,0.7643097643097643,0.7560366361365529,0.8477130977130977,Hate +0.398,0.7475247524752475,0.7626262626262627,0.755,0.8471933471933472,Hate +0.399,0.7475247524752475,0.7626262626262627,0.755,0.8471933471933472,Hate +0.4,0.7487603305785124,0.7626262626262627,0.755629691409508,0.8477130977130977,Hate +0.401,0.75,0.7626262626262627,0.7562604340567612,0.8482328482328483,Hate +0.402,0.7512437810945274,0.7626262626262627,0.7568922305764411,0.8487525987525988,Hate +0.403,0.7512437810945274,0.7626262626262627,0.7568922305764411,0.8487525987525988,Hate +0.404,0.7512437810945274,0.7626262626262627,0.7568922305764411,0.8487525987525988,Hate +0.405,0.7524916943521595,0.7626262626262627,0.7575250836120402,0.8492723492723493,Hate +0.406,0.7524916943521595,0.7626262626262627,0.7575250836120402,0.8492723492723493,Hate +0.40700000000000003,0.7524916943521595,0.7626262626262627,0.7575250836120402,0.8492723492723493,Hate +0.40800000000000003,0.7524916943521595,0.7626262626262627,0.7575250836120402,0.8492723492723493,Hate +0.40900000000000003,0.7516666666666667,0.7592592592592593,0.7554438860971524,0.8482328482328483,Hate +0.41000000000000003,0.7516666666666667,0.7592592592592593,0.7554438860971524,0.8482328482328483,Hate +0.41100000000000003,0.7516666666666667,0.7592592592592593,0.7554438860971524,0.8482328482328483,Hate +0.41200000000000003,0.7529215358931552,0.7592592592592593,0.7560771165129925,0.8487525987525988,Hate +0.41300000000000003,0.7529215358931552,0.7592592592592593,0.7560771165129925,0.8487525987525988,Hate +0.41400000000000003,0.7537688442211056,0.7575757575757576,0.7556675062972292,0.8487525987525988,Hate +0.41500000000000004,0.7533557046979866,0.7558922558922558,0.7546218487394958,0.8482328482328483,Hate +0.41600000000000004,0.7533557046979866,0.7558922558922558,0.7546218487394958,0.8482328482328483,Hate +0.417,0.7533557046979866,0.7558922558922558,0.7546218487394958,0.8482328482328483,Hate +0.418,0.7546218487394958,0.7558922558922558,0.7552565180824222,0.8487525987525988,Hate +0.419,0.7542087542087542,0.7542087542087542,0.7542087542087542,0.8482328482328483,Hate +0.42,0.7542087542087542,0.7542087542087542,0.7542087542087542,0.8482328482328483,Hate +0.421,0.7537942664418212,0.7525252525252525,0.7531592249368155,0.8477130977130977,Hate +0.422,0.7537942664418212,0.7525252525252525,0.7531592249368155,0.8477130977130977,Hate +0.423,0.7537942664418212,0.7525252525252525,0.7531592249368155,0.8477130977130977,Hate +0.424,0.7550675675675675,0.7525252525252525,0.7537942664418212,0.8482328482328483,Hate +0.425,0.7563451776649747,0.7525252525252525,0.7544303797468355,0.8487525987525988,Hate +0.426,0.7559322033898305,0.7508417508417509,0.7533783783783784,0.8482328482328483,Hate +0.427,0.7559322033898305,0.7508417508417509,0.7533783783783784,0.8482328482328483,Hate +0.428,0.7555178268251274,0.7491582491582491,0.7523245984784447,0.8477130977130977,Hate +0.429,0.7555178268251274,0.7491582491582491,0.7523245984784447,0.8477130977130977,Hate +0.43,0.7568027210884354,0.7491582491582491,0.7529610829103215,0.8482328482328483,Hate +0.431,0.7589743589743589,0.7474747474747475,0.7531806615776081,0.8487525987525988,Hate +0.432,0.7602739726027398,0.7474747474747475,0.7538200339558574,0.8492723492723493,Hate +0.433,0.7615780445969125,0.7474747474747475,0.7544604927782498,0.8497920997920998,Hate +0.434,0.7615780445969125,0.7474747474747475,0.7544604927782498,0.8497920997920998,Hate +0.435,0.7615780445969125,0.7474747474747475,0.7544604927782498,0.8497920997920998,Hate +0.436,0.7628865979381443,0.7474747474747475,0.7551020408163265,0.8503118503118503,Hate +0.437,0.7641996557659209,0.7474747474747475,0.7557446808510638,0.8508316008316008,Hate +0.438,0.7641996557659209,0.7474747474747475,0.7557446808510638,0.8508316008316008,Hate +0.439,0.7651122625215889,0.7457912457912458,0.7553282182438192,0.8508316008316008,Hate +0.44,0.7651122625215889,0.7457912457912458,0.7553282182438192,0.8508316008316008,Hate +0.441,0.7651122625215889,0.7457912457912458,0.7553282182438192,0.8508316008316008,Hate +0.442,0.7651122625215889,0.7457912457912458,0.7553282182438192,0.8508316008316008,Hate +0.443,0.7651122625215889,0.7457912457912458,0.7553282182438192,0.8508316008316008,Hate +0.444,0.7651122625215889,0.7457912457912458,0.7553282182438192,0.8508316008316008,Hate +0.445,0.7647058823529411,0.7441077441077442,0.7542662116040956,0.8503118503118503,Hate +0.446,0.7647058823529411,0.7441077441077442,0.7542662116040956,0.8503118503118503,Hate +0.447,0.7647058823529411,0.7441077441077442,0.7542662116040956,0.8503118503118503,Hate +0.448,0.7647058823529411,0.7441077441077442,0.7542662116040956,0.8503118503118503,Hate +0.449,0.7647058823529411,0.7441077441077442,0.7542662116040956,0.8503118503118503,Hate +0.45,0.7647058823529411,0.7441077441077442,0.7542662116040956,0.8503118503118503,Hate +0.451,0.7647058823529411,0.7441077441077442,0.7542662116040956,0.8503118503118503,Hate +0.452,0.7647058823529411,0.7441077441077442,0.7542662116040956,0.8503118503118503,Hate +0.453,0.7660311958405546,0.7441077441077442,0.7549103330486764,0.8508316008316008,Hate +0.454,0.7652173913043478,0.7407407407407407,0.7527801539777588,0.8497920997920998,Hate +0.455,0.7652173913043478,0.7407407407407407,0.7527801539777588,0.8497920997920998,Hate +0.456,0.7643979057591623,0.7373737373737373,0.7506426735218509,0.8487525987525988,Hate +0.457,0.7643979057591623,0.7373737373737373,0.7506426735218509,0.8487525987525988,Hate +0.458,0.763986013986014,0.7356902356902357,0.7495711835334476,0.8482328482328483,Hate +0.459,0.763986013986014,0.7356902356902357,0.7495711835334476,0.8482328482328483,Hate +0.46,0.763986013986014,0.7356902356902357,0.7495711835334476,0.8482328482328483,Hate +0.461,0.7653239929947461,0.7356902356902357,0.7502145922746781,0.8487525987525988,Hate +0.462,0.7666666666666667,0.7356902356902357,0.7508591065292096,0.8492723492723493,Hate +0.463,0.7680140597539543,0.7356902356902357,0.7515047291487532,0.8497920997920998,Hate +0.464,0.7680140597539543,0.7356902356902357,0.7515047291487532,0.8497920997920998,Hate +0.465,0.7680140597539543,0.7356902356902357,0.7515047291487532,0.8497920997920998,Hate +0.466,0.7680140597539543,0.7356902356902357,0.7515047291487532,0.8497920997920998,Hate +0.467,0.7680140597539543,0.7356902356902357,0.7515047291487532,0.8497920997920998,Hate +0.468,0.7680140597539543,0.7356902356902357,0.7515047291487532,0.8497920997920998,Hate +0.46900000000000003,0.7689594356261023,0.734006734006734,0.7510766580534023,0.8497920997920998,Hate +0.47000000000000003,0.7689594356261023,0.734006734006734,0.7510766580534023,0.8497920997920998,Hate +0.47100000000000003,0.7689594356261023,0.734006734006734,0.7510766580534023,0.8497920997920998,Hate +0.47200000000000003,0.7689594356261023,0.734006734006734,0.7510766580534023,0.8497920997920998,Hate +0.47300000000000003,0.7689594356261023,0.734006734006734,0.7510766580534023,0.8497920997920998,Hate +0.47400000000000003,0.7689594356261023,0.734006734006734,0.7510766580534023,0.8497920997920998,Hate +0.47500000000000003,0.7689594356261023,0.734006734006734,0.7510766580534023,0.8497920997920998,Hate +0.47600000000000003,0.7703180212014135,0.734006734006734,0.7517241379310344,0.8503118503118503,Hate +0.47700000000000004,0.7703180212014135,0.734006734006734,0.7517241379310344,0.8503118503118503,Hate +0.47800000000000004,0.7703180212014135,0.734006734006734,0.7517241379310344,0.8503118503118503,Hate +0.47900000000000004,0.7703180212014135,0.734006734006734,0.7517241379310344,0.8503118503118503,Hate +0.48,0.7712765957446809,0.7323232323232324,0.7512953367875648,0.8503118503118503,Hate +0.481,0.7740213523131673,0.7323232323232324,0.7525951557093425,0.8513513513513513,Hate +0.482,0.7740213523131673,0.7323232323232324,0.7525951557093425,0.8513513513513513,Hate +0.483,0.7740213523131673,0.7323232323232324,0.7525951557093425,0.8513513513513513,Hate +0.484,0.7736185383244206,0.7306397306397306,0.7515151515151515,0.8508316008316008,Hate +0.485,0.7736185383244206,0.7306397306397306,0.7515151515151515,0.8508316008316008,Hate +0.486,0.7732142857142857,0.7289562289562289,0.7504332755632582,0.8503118503118503,Hate +0.487,0.7732142857142857,0.7289562289562289,0.7504332755632582,0.8503118503118503,Hate +0.488,0.774597495527728,0.7289562289562289,0.751084128360798,0.8508316008316008,Hate +0.489,0.7741935483870968,0.7272727272727273,0.75,0.8503118503118503,Hate +0.49,0.7741935483870968,0.7272727272727273,0.75,0.8503118503118503,Hate +0.491,0.7741935483870968,0.7272727272727273,0.75,0.8503118503118503,Hate +0.492,0.7741935483870968,0.7272727272727273,0.75,0.8503118503118503,Hate +0.493,0.7741935483870968,0.7272727272727273,0.75,0.8503118503118503,Hate +0.494,0.7755834829443446,0.7272727272727273,0.7506516072980017,0.8508316008316008,Hate +0.495,0.7769784172661871,0.7272727272727273,0.7513043478260869,0.8513513513513513,Hate +0.496,0.7769784172661871,0.7272727272727273,0.7513043478260869,0.8513513513513513,Hate +0.497,0.7769784172661871,0.7272727272727273,0.7513043478260869,0.8513513513513513,Hate +0.498,0.7783783783783784,0.7272727272727273,0.7519582245430809,0.8518711018711018,Hate +0.499,0.779783393501805,0.7272727272727273,0.7526132404181185,0.8523908523908524,Hate +0.5,0.779783393501805,0.7272727272727273,0.7526132404181185,0.8523908523908524,Hate +0.501,0.7811934900542495,0.7272727272727273,0.7532693984306887,0.8529106029106029,Hate +0.502,0.7811934900542495,0.7272727272727273,0.7532693984306887,0.8529106029106029,Hate +0.503,0.7811934900542495,0.7272727272727273,0.7532693984306887,0.8529106029106029,Hate +0.504,0.7807971014492754,0.7255892255892256,0.7521815008726004,0.8523908523908524,Hate +0.505,0.7807971014492754,0.7255892255892256,0.7521815008726004,0.8523908523908524,Hate +0.506,0.7807971014492754,0.7255892255892256,0.7521815008726004,0.8523908523908524,Hate +0.507,0.7807971014492754,0.7255892255892256,0.7521815008726004,0.8523908523908524,Hate +0.508,0.7803992740471869,0.7239057239057239,0.7510917030567685,0.8518711018711018,Hate +0.509,0.7814207650273224,0.7222222222222222,0.7506561679790026,0.8518711018711018,Hate +0.51,0.7828467153284672,0.7222222222222222,0.7513134851138353,0.8523908523908524,Hate +0.511,0.7828467153284672,0.7222222222222222,0.7513134851138353,0.8523908523908524,Hate +0.512,0.7828467153284672,0.7222222222222222,0.7513134851138353,0.8523908523908524,Hate +0.513,0.7828467153284672,0.7222222222222222,0.7513134851138353,0.8523908523908524,Hate +0.514,0.7828467153284672,0.7222222222222222,0.7513134851138353,0.8523908523908524,Hate +0.515,0.7828467153284672,0.7222222222222222,0.7513134851138353,0.8523908523908524,Hate +0.516,0.7838827838827839,0.7205387205387206,0.7508771929824561,0.8523908523908524,Hate +0.517,0.7838827838827839,0.7205387205387206,0.7508771929824561,0.8523908523908524,Hate +0.518,0.7838827838827839,0.7205387205387206,0.7508771929824561,0.8523908523908524,Hate +0.519,0.7830882352941176,0.7171717171717171,0.7486818980667839,0.8513513513513513,Hate +0.52,0.7845303867403315,0.7171717171717171,0.7493403693931399,0.8518711018711018,Hate +0.521,0.7841328413284133,0.7154882154882155,0.7482394366197183,0.8513513513513513,Hate +0.522,0.7855822550831792,0.7154882154882155,0.748898678414097,0.8518711018711018,Hate +0.523,0.7851851851851852,0.7138047138047138,0.7477954144620811,0.8513513513513513,Hate +0.524,0.7851851851851852,0.7138047138047138,0.7477954144620811,0.8513513513513513,Hate +0.525,0.7851851851851852,0.7138047138047138,0.7477954144620811,0.8513513513513513,Hate +0.526,0.7851851851851852,0.7138047138047138,0.7477954144620811,0.8513513513513513,Hate +0.527,0.7866419294990723,0.7138047138047138,0.7484554280670785,0.8518711018711018,Hate +0.528,0.7858472998137802,0.7104377104377104,0.7462422634836428,0.8508316008316008,Hate +0.529,0.7854477611940298,0.7087542087542088,0.7451327433628319,0.8503118503118503,Hate +0.53,0.7850467289719626,0.7070707070707071,0.7440212577502214,0.8497920997920998,Hate +0.531,0.7850467289719626,0.7070707070707071,0.7440212577502214,0.8497920997920998,Hate +0.532,0.7850467289719626,0.7070707070707071,0.7440212577502214,0.8497920997920998,Hate +0.533,0.7865168539325843,0.7070707070707071,0.7446808510638298,0.8503118503118503,Hate +0.534,0.7879924953095685,0.7070707070707071,0.7453416149068323,0.8508316008316008,Hate +0.535,0.7871939736346516,0.7037037037037037,0.7431111111111111,0.8497920997920998,Hate +0.536,0.7871939736346516,0.7037037037037037,0.7431111111111111,0.8497920997920998,Hate +0.537,0.7871939736346516,0.7037037037037037,0.7431111111111111,0.8497920997920998,Hate +0.538,0.7871939736346516,0.7037037037037037,0.7431111111111111,0.8497920997920998,Hate +0.539,0.7871939736346516,0.7037037037037037,0.7431111111111111,0.8497920997920998,Hate +0.54,0.7871939736346516,0.7037037037037037,0.7431111111111111,0.8497920997920998,Hate +0.541,0.7871939736346516,0.7037037037037037,0.7431111111111111,0.8497920997920998,Hate +0.542,0.7871939736346516,0.7037037037037037,0.7431111111111111,0.8497920997920998,Hate +0.543,0.7871939736346516,0.7037037037037037,0.7431111111111111,0.8497920997920998,Hate +0.544,0.7886792452830189,0.7037037037037037,0.7437722419928826,0.8503118503118503,Hate +0.545,0.7882797731568998,0.702020202020202,0.742653606411398,0.8497920997920998,Hate +0.546,0.7882797731568998,0.702020202020202,0.742653606411398,0.8497920997920998,Hate +0.547,0.7897727272727273,0.702020202020202,0.7433155080213903,0.8503118503118503,Hate +0.548,0.7893738140417458,0.7003367003367004,0.7421944692239072,0.8497920997920998,Hate +0.549,0.7908745247148289,0.7003367003367004,0.7428571428571429,0.8503118503118503,Hate +0.55,0.7908745247148289,0.7003367003367004,0.7428571428571429,0.8503118503118503,Hate +0.551,0.7908745247148289,0.7003367003367004,0.7428571428571429,0.8503118503118503,Hate +0.552,0.7908745247148289,0.7003367003367004,0.7428571428571429,0.8503118503118503,Hate +0.553,0.7908745247148289,0.7003367003367004,0.7428571428571429,0.8503118503118503,Hate +0.554,0.7908745247148289,0.7003367003367004,0.7428571428571429,0.8503118503118503,Hate +0.555,0.7908745247148289,0.7003367003367004,0.7428571428571429,0.8503118503118503,Hate +0.556,0.7908745247148289,0.7003367003367004,0.7428571428571429,0.8503118503118503,Hate +0.557,0.7908745247148289,0.7003367003367004,0.7428571428571429,0.8503118503118503,Hate +0.558,0.7938931297709924,0.7003367003367004,0.7441860465116279,0.8513513513513513,Hate +0.559,0.7934990439770554,0.6986531986531986,0.7430617726051925,0.8508316008316008,Hate +0.56,0.7950191570881227,0.6986531986531986,0.7437275985663082,0.8513513513513513,Hate +0.561,0.7957610789980732,0.6952861952861953,0.7421383647798742,0.8508316008316008,Hate +0.562,0.7957610789980732,0.6952861952861953,0.7421383647798742,0.8508316008316008,Hate +0.5630000000000001,0.7957610789980732,0.6952861952861953,0.7421383647798742,0.8508316008316008,Hate +0.5640000000000001,0.7957610789980732,0.6952861952861953,0.7421383647798742,0.8508316008316008,Hate +0.5650000000000001,0.7957610789980732,0.6952861952861953,0.7421383647798742,0.8508316008316008,Hate +0.5660000000000001,0.7957610789980732,0.6952861952861953,0.7421383647798742,0.8508316008316008,Hate +0.5670000000000001,0.7957610789980732,0.6952861952861953,0.7421383647798742,0.8508316008316008,Hate +0.5680000000000001,0.7957610789980732,0.6952861952861953,0.7421383647798742,0.8508316008316008,Hate +0.5690000000000001,0.7957610789980732,0.6952861952861953,0.7421383647798742,0.8508316008316008,Hate +0.5700000000000001,0.7953667953667953,0.6936026936026936,0.7410071942446043,0.8503118503118503,Hate +0.5710000000000001,0.7969052224371374,0.6936026936026936,0.7416741674167416,0.8508316008316008,Hate +0.5720000000000001,0.7969052224371374,0.6936026936026936,0.7416741674167416,0.8508316008316008,Hate +0.5730000000000001,0.7969052224371374,0.6936026936026936,0.7416741674167416,0.8508316008316008,Hate +0.5740000000000001,0.7984496124031008,0.6936026936026936,0.7423423423423423,0.8513513513513513,Hate +0.5750000000000001,0.7980582524271844,0.6919191919191919,0.7412082957619477,0.8508316008316008,Hate +0.5760000000000001,0.7976653696498055,0.6902356902356902,0.740072202166065,0.8503118503118503,Hate +0.577,0.7976653696498055,0.6902356902356902,0.740072202166065,0.8503118503118503,Hate +0.578,0.7992202729044834,0.6902356902356902,0.7407407407407407,0.8508316008316008,Hate +0.579,0.7992202729044834,0.6902356902356902,0.7407407407407407,0.8508316008316008,Hate +0.58,0.7992202729044834,0.6902356902356902,0.7407407407407407,0.8508316008316008,Hate +0.581,0.7984344422700587,0.6868686868686869,0.7384615384615385,0.8497920997920998,Hate +0.582,0.7984344422700587,0.6868686868686869,0.7384615384615385,0.8497920997920998,Hate +0.583,0.7984344422700587,0.6868686868686869,0.7384615384615385,0.8497920997920998,Hate +0.584,0.7984344422700587,0.6868686868686869,0.7384615384615385,0.8497920997920998,Hate +0.585,0.7984344422700587,0.6868686868686869,0.7384615384615385,0.8497920997920998,Hate +0.586,0.8015717092337917,0.6868686868686869,0.7398005439709883,0.8508316008316008,Hate +0.587,0.8015717092337917,0.6868686868686869,0.7398005439709883,0.8508316008316008,Hate +0.588,0.8015717092337917,0.6868686868686869,0.7398005439709883,0.8508316008316008,Hate +0.589,0.8015717092337917,0.6868686868686869,0.7398005439709883,0.8508316008316008,Hate +0.59,0.8011811023622047,0.6851851851851852,0.7386569872958257,0.8503118503118503,Hate +0.591,0.8011811023622047,0.6851851851851852,0.7386569872958257,0.8503118503118503,Hate +0.592,0.8011811023622047,0.6851851851851852,0.7386569872958257,0.8503118503118503,Hate +0.593,0.8011811023622047,0.6851851851851852,0.7386569872958257,0.8503118503118503,Hate +0.594,0.8007889546351085,0.6835016835016835,0.737511353315168,0.8497920997920998,Hate +0.595,0.8023715415019763,0.6835016835016835,0.7381818181818182,0.8503118503118503,Hate +0.596,0.8023715415019763,0.6835016835016835,0.7381818181818182,0.8503118503118503,Hate +0.597,0.801980198019802,0.6818181818181818,0.7370336669699727,0.8497920997920998,Hate +0.598,0.801980198019802,0.6818181818181818,0.7370336669699727,0.8497920997920998,Hate +0.599,0.8035714285714286,0.6818181818181818,0.7377049180327869,0.8503118503118503,Hate +0.6,0.8035714285714286,0.6818181818181818,0.7377049180327869,0.8503118503118503,Hate +0.601,0.8031809145129225,0.6801346801346801,0.7365542388331814,0.8497920997920998,Hate +0.602,0.8027888446215139,0.6784511784511784,0.7354014598540146,0.8492723492723493,Hate +0.603,0.8056112224448898,0.6767676767676768,0.7355901189387009,0.8497920997920998,Hate +0.604,0.8052208835341366,0.6750841750841751,0.7344322344322345,0.8492723492723493,Hate +0.605,0.8052208835341366,0.6750841750841751,0.7344322344322345,0.8492723492723493,Hate +0.606,0.806841046277666,0.6750841750841751,0.7351054078826764,0.8497920997920998,Hate +0.607,0.806841046277666,0.6750841750841751,0.7351054078826764,0.8497920997920998,Hate +0.608,0.806841046277666,0.6750841750841751,0.7351054078826764,0.8497920997920998,Hate +0.609,0.8084677419354839,0.6750841750841751,0.7357798165137615,0.8503118503118503,Hate +0.61,0.8084677419354839,0.6750841750841751,0.7357798165137615,0.8503118503118503,Hate +0.611,0.8084677419354839,0.6750841750841751,0.7357798165137615,0.8503118503118503,Hate +0.612,0.8080808080808081,0.6734006734006734,0.7346189164370982,0.8497920997920998,Hate +0.613,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.614,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.615,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.616,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.617,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.618,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.619,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.62,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.621,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.622,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.623,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.624,0.8076923076923077,0.6717171717171717,0.7334558823529411,0.8492723492723493,Hate +0.625,0.8073022312373225,0.67003367003367,0.7322907083716651,0.8487525987525988,Hate +0.626,0.806910569105691,0.6683501683501684,0.7311233885819521,0.8482328482328483,Hate +0.627,0.806910569105691,0.6683501683501684,0.7311233885819521,0.8482328482328483,Hate +0.628,0.8065173116089613,0.6666666666666666,0.7299539170506912,0.8477130977130977,Hate +0.629,0.8061224489795918,0.664983164983165,0.7287822878228782,0.8471933471933472,Hate +0.63,0.8073770491803278,0.6632996632996633,0.7282809611829945,0.8471933471933472,Hate +0.631,0.8069815195071869,0.6616161616161617,0.727104532839963,0.8466735966735967,Hate +0.632,0.8069815195071869,0.6616161616161617,0.727104532839963,0.8466735966735967,Hate +0.633,0.8069815195071869,0.6616161616161617,0.727104532839963,0.8466735966735967,Hate +0.634,0.8069815195071869,0.6616161616161617,0.727104532839963,0.8466735966735967,Hate +0.635,0.8069815195071869,0.6616161616161617,0.727104532839963,0.8466735966735967,Hate +0.636,0.8065843621399177,0.6599326599326599,0.725925925925926,0.8461538461538461,Hate +0.637,0.8065843621399177,0.6599326599326599,0.725925925925926,0.8461538461538461,Hate +0.638,0.8078512396694215,0.6582491582491582,0.725417439703154,0.8461538461538461,Hate +0.639,0.8074534161490683,0.6565656565656566,0.724233983286908,0.8456340956340956,Hate +0.64,0.8074534161490683,0.6565656565656566,0.724233983286908,0.8456340956340956,Hate +0.641,0.8074534161490683,0.6565656565656566,0.724233983286908,0.8456340956340956,Hate +0.642,0.8074534161490683,0.6565656565656566,0.724233983286908,0.8456340956340956,Hate +0.643,0.8074534161490683,0.6565656565656566,0.724233983286908,0.8456340956340956,Hate +0.644,0.8074534161490683,0.6565656565656566,0.724233983286908,0.8456340956340956,Hate +0.645,0.8074534161490683,0.6565656565656566,0.724233983286908,0.8456340956340956,Hate +0.646,0.8070539419087137,0.6548821548821548,0.7230483271375465,0.8451143451143451,Hate +0.647,0.8070539419087137,0.6548821548821548,0.7230483271375465,0.8451143451143451,Hate +0.648,0.8066528066528067,0.6531986531986532,0.7218604651162791,0.8445945945945946,Hate +0.649,0.8079331941544885,0.6515151515151515,0.7213420316868593,0.8445945945945946,Hate +0.65,0.8079331941544885,0.6515151515151515,0.7213420316868593,0.8445945945945946,Hate +0.651,0.8079331941544885,0.6515151515151515,0.7213420316868593,0.8445945945945946,Hate +0.652,0.8092243186582809,0.6498316498316499,0.7208216619981326,0.8445945945945946,Hate +0.653,0.8092243186582809,0.6498316498316499,0.7208216619981326,0.8445945945945946,Hate +0.654,0.8092243186582809,0.6498316498316499,0.7208216619981326,0.8445945945945946,Hate +0.655,0.8088235294117647,0.6481481481481481,0.719626168224299,0.8440748440748441,Hate +0.656,0.8088235294117647,0.6481481481481481,0.719626168224299,0.8440748440748441,Hate +0.657,0.8084210526315789,0.6464646464646465,0.7184284377923292,0.8435550935550935,Hate +0.658,0.809322033898305,0.6430976430976431,0.7166979362101313,0.843035343035343,Hate +0.659,0.809322033898305,0.6430976430976431,0.7166979362101313,0.843035343035343,Hate +0.66,0.809322033898305,0.6430976430976431,0.7166979362101313,0.843035343035343,Hate +0.661,0.8085106382978723,0.6397306397306397,0.7142857142857143,0.841995841995842,Hate +0.662,0.8094218415417559,0.6363636363636364,0.7125353440150801,0.8414760914760915,Hate +0.663,0.8111587982832618,0.6363636363636364,0.7132075471698113,0.841995841995842,Hate +0.664,0.8111587982832618,0.6363636363636364,0.7132075471698113,0.841995841995842,Hate +0.665,0.8111587982832618,0.6363636363636364,0.7132075471698113,0.841995841995842,Hate +0.666,0.8111587982832618,0.6363636363636364,0.7132075471698113,0.841995841995842,Hate +0.667,0.8111587982832618,0.6363636363636364,0.7132075471698113,0.841995841995842,Hate +0.668,0.8129032258064516,0.6363636363636364,0.7138810198300283,0.8425155925155925,Hate +0.669,0.8125,0.6346801346801347,0.7126654064272212,0.841995841995842,Hate +0.67,0.8125,0.6346801346801347,0.7126654064272212,0.841995841995842,Hate +0.671,0.8125,0.6346801346801347,0.7126654064272212,0.841995841995842,Hate +0.672,0.8125,0.6346801346801347,0.7126654064272212,0.841995841995842,Hate +0.673,0.8125,0.6346801346801347,0.7126654064272212,0.841995841995842,Hate +0.674,0.8125,0.6346801346801347,0.7126654064272212,0.841995841995842,Hate +0.675,0.8125,0.6346801346801347,0.7126654064272212,0.841995841995842,Hate +0.676,0.8125,0.6346801346801347,0.7126654064272212,0.841995841995842,Hate +0.677,0.8125,0.6346801346801347,0.7126654064272212,0.841995841995842,Hate +0.678,0.8142548596112311,0.6346801346801347,0.7133396404919584,0.8425155925155925,Hate +0.679,0.8142548596112311,0.6346801346801347,0.7133396404919584,0.8425155925155925,Hate +0.68,0.8138528138528138,0.632996632996633,0.7121212121212122,0.841995841995842,Hate +0.681,0.8138528138528138,0.632996632996633,0.7121212121212122,0.841995841995842,Hate +0.682,0.8138528138528138,0.632996632996633,0.7121212121212122,0.841995841995842,Hate +0.683,0.8138528138528138,0.632996632996633,0.7121212121212122,0.841995841995842,Hate +0.684,0.8156182212581344,0.632996632996633,0.7127962085308057,0.8425155925155925,Hate +0.685,0.8169934640522876,0.6313131313131313,0.7122507122507122,0.8425155925155925,Hate +0.686,0.8169934640522876,0.6313131313131313,0.7122507122507122,0.8425155925155925,Hate +0.687,0.8169934640522876,0.6313131313131313,0.7122507122507122,0.8425155925155925,Hate +0.6880000000000001,0.8183807439824945,0.6296296296296297,0.7117031398667936,0.8425155925155925,Hate +0.6890000000000001,0.8201754385964912,0.6296296296296297,0.7123809523809523,0.843035343035343,Hate +0.6900000000000001,0.8219780219780219,0.6296296296296297,0.7130600571973308,0.8435550935550935,Hate +0.6910000000000001,0.8219780219780219,0.6296296296296297,0.7130600571973308,0.8435550935550935,Hate +0.6920000000000001,0.8219780219780219,0.6296296296296297,0.7130600571973308,0.8435550935550935,Hate +0.6930000000000001,0.8219780219780219,0.6296296296296297,0.7130600571973308,0.8435550935550935,Hate +0.6940000000000001,0.8219780219780219,0.6296296296296297,0.7130600571973308,0.8435550935550935,Hate +0.6950000000000001,0.8219780219780219,0.6296296296296297,0.7130600571973308,0.8435550935550935,Hate +0.6960000000000001,0.8219780219780219,0.6296296296296297,0.7130600571973308,0.8435550935550935,Hate +0.6970000000000001,0.8219780219780219,0.6296296296296297,0.7130600571973308,0.8435550935550935,Hate +0.6980000000000001,0.8215859030837004,0.6279461279461279,0.7118320610687023,0.843035343035343,Hate +0.6990000000000001,0.8211920529801324,0.6262626262626263,0.7106017191977078,0.8425155925155925,Hate +0.7000000000000001,0.8211920529801324,0.6262626262626263,0.7106017191977078,0.8425155925155925,Hate +0.7010000000000001,0.8230088495575221,0.6262626262626263,0.7112810707456979,0.843035343035343,Hate +0.7020000000000001,0.8230088495575221,0.6262626262626263,0.7112810707456979,0.843035343035343,Hate +0.7030000000000001,0.8230088495575221,0.6262626262626263,0.7112810707456979,0.843035343035343,Hate +0.704,0.8230088495575221,0.6262626262626263,0.7112810707456979,0.843035343035343,Hate +0.705,0.8226164079822617,0.6245791245791246,0.7100478468899522,0.8425155925155925,Hate +0.706,0.821826280623608,0.6212121212121212,0.7075743048897412,0.8414760914760915,Hate +0.707,0.8236607142857143,0.6212121212121212,0.708253358925144,0.841995841995842,Hate +0.708,0.8232662192393736,0.6195286195286195,0.7070124879923151,0.8414760914760915,Hate +0.709,0.8269662921348314,0.6195286195286195,0.7083734359961501,0.8425155925155925,Hate +0.71,0.8269662921348314,0.6195286195286195,0.7083734359961501,0.8425155925155925,Hate +0.711,0.8269662921348314,0.6195286195286195,0.7083734359961501,0.8425155925155925,Hate +0.712,0.8261851015801355,0.6161616161616161,0.7058823529411765,0.8414760914760915,Hate +0.713,0.8261851015801355,0.6161616161616161,0.7058823529411765,0.8414760914760915,Hate +0.714,0.8261851015801355,0.6161616161616161,0.7058823529411765,0.8414760914760915,Hate +0.715,0.8280542986425339,0.6161616161616161,0.7065637065637066,0.841995841995842,Hate +0.716,0.8276643990929705,0.6144781144781145,0.7053140096618358,0.8414760914760915,Hate +0.717,0.8276643990929705,0.6144781144781145,0.7053140096618358,0.8414760914760915,Hate +0.718,0.8272727272727273,0.6127946127946128,0.7040618955512572,0.840956340956341,Hate +0.719,0.8272727272727273,0.6127946127946128,0.7040618955512572,0.840956340956341,Hate +0.72,0.8291571753986332,0.6127946127946128,0.7047434656340755,0.8414760914760915,Hate +0.721,0.8283752860411899,0.6094276094276094,0.7022308438409312,0.8404365904365905,Hate +0.722,0.8271889400921659,0.6043771043771043,0.6984435797665369,0.8388773388773388,Hate +0.723,0.8271889400921659,0.6043771043771043,0.6984435797665369,0.8388773388773388,Hate +0.724,0.8271889400921659,0.6043771043771043,0.6984435797665369,0.8388773388773388,Hate +0.725,0.8271889400921659,0.6043771043771043,0.6984435797665369,0.8388773388773388,Hate +0.726,0.8287037037037037,0.6026936026936027,0.6978557504873294,0.8388773388773388,Hate +0.727,0.8298368298368298,0.5993265993265994,0.6959921798631477,0.8383575883575883,Hate +0.728,0.8298368298368298,0.5993265993265994,0.6959921798631477,0.8383575883575883,Hate +0.729,0.8294392523364486,0.5976430976430976,0.6947162426614482,0.8378378378378378,Hate +0.73,0.8294392523364486,0.5976430976430976,0.6947162426614482,0.8378378378378378,Hate +0.731,0.8294392523364486,0.5976430976430976,0.6947162426614482,0.8378378378378378,Hate +0.732,0.8294392523364486,0.5976430976430976,0.6947162426614482,0.8378378378378378,Hate +0.733,0.8309859154929577,0.5959595959595959,0.6941176470588235,0.8378378378378378,Hate +0.734,0.8329411764705882,0.5959595959595959,0.6947988223748773,0.8383575883575883,Hate +0.735,0.8329411764705882,0.5959595959595959,0.6947988223748773,0.8383575883575883,Hate +0.736,0.8368794326241135,0.5959595959595959,0.696165191740413,0.8393970893970893,Hate +0.737,0.8388625592417062,0.5959595959595959,0.6968503937007874,0.83991683991684,Hate +0.738,0.838479809976247,0.5942760942760943,0.6955665024630542,0.8393970893970893,Hate +0.739,0.837708830548926,0.5909090909090909,0.6929911154985192,0.8383575883575883,Hate +0.74,0.837708830548926,0.5909090909090909,0.6929911154985192,0.8383575883575883,Hate +0.741,0.8393285371702638,0.5892255892255892,0.6923837784371909,0.8383575883575883,Hate +0.742,0.8393285371702638,0.5892255892255892,0.6923837784371909,0.8383575883575883,Hate +0.743,0.8393285371702638,0.5892255892255892,0.6923837784371909,0.8383575883575883,Hate +0.744,0.8389423076923077,0.5875420875420876,0.691089108910891,0.8378378378378378,Hate +0.745,0.8385542168674699,0.5858585858585859,0.6897918731417245,0.8373180873180873,Hate +0.746,0.8385542168674699,0.5858585858585859,0.6897918731417245,0.8373180873180873,Hate +0.747,0.8381642512077294,0.5841750841750841,0.6884920634920635,0.8367983367983368,Hate +0.748,0.8410757946210269,0.5791245791245792,0.6859421734795613,0.8362785862785863,Hate +0.749,0.8410757946210269,0.5791245791245792,0.6859421734795613,0.8362785862785863,Hate +0.75,0.8406862745098039,0.5774410774410774,0.6846307385229541,0.8357588357588358,Hate +0.751,0.8419753086419753,0.5740740740740741,0.6826826826826827,0.8352390852390852,Hate +0.752,0.8411910669975186,0.5707070707070707,0.6800401203610833,0.8341995841995842,Hate +0.753,0.8428927680798005,0.569023569023569,0.6793969849246231,0.8341995841995842,Hate +0.754,0.8446115288220551,0.5673400673400674,0.6787512588116817,0.8341995841995842,Hate +0.755,0.8438287153652393,0.563973063973064,0.6760847628657921,0.8331600831600832,Hate +0.756,0.8434343434343434,0.5622895622895623,0.6747474747474748,0.8326403326403327,Hate +0.757,0.8494897959183674,0.5606060606060606,0.6754563894523327,0.8336798336798337,Hate +0.758,0.8487179487179487,0.5572390572390572,0.6727642276422764,0.8326403326403327,Hate +0.759,0.8487179487179487,0.5572390572390572,0.6727642276422764,0.8326403326403327,Hate +0.76,0.8508997429305912,0.5572390572390572,0.6734486266531028,0.8331600831600832,Hate +0.761,0.8505154639175257,0.5555555555555556,0.6720977596741344,0.8326403326403327,Hate +0.762,0.8497409326424871,0.5521885521885522,0.6693877551020408,0.8316008316008316,Hate +0.763,0.8515625,0.5505050505050505,0.6687116564417178,0.8316008316008316,Hate +0.764,0.8556430446194225,0.5488215488215489,0.6687179487179488,0.8321205821205822,Hate +0.765,0.8578947368421053,0.5488215488215489,0.6694045174537988,0.8326403326403327,Hate +0.766,0.8571428571428571,0.5454545454545454,0.6666666666666666,0.8316008316008316,Hate +0.767,0.8571428571428571,0.5454545454545454,0.6666666666666666,0.8316008316008316,Hate +0.768,0.8594164456233422,0.5454545454545454,0.6673532440782698,0.8321205821205822,Hate +0.769,0.8594164456233422,0.5454545454545454,0.6673532440782698,0.8321205821205822,Hate +0.77,0.8590425531914894,0.5437710437710438,0.6659793814432989,0.8316008316008316,Hate +0.771,0.8590425531914894,0.5437710437710438,0.6659793814432989,0.8316008316008316,Hate +0.772,0.8586666666666667,0.5420875420875421,0.6646026831785345,0.831081081081081,Hate +0.773,0.8586666666666667,0.5420875420875421,0.6646026831785345,0.831081081081081,Hate +0.774,0.8602150537634409,0.5387205387205387,0.6625258799171843,0.8305613305613305,Hate +0.775,0.8602150537634409,0.5387205387205387,0.6625258799171843,0.8305613305613305,Hate +0.776,0.8621621621621621,0.5370370370370371,0.6618257261410788,0.8305613305613305,Hate +0.777,0.8617886178861789,0.5353535353535354,0.660436137071651,0.83004158004158,Hate +0.778,0.8617886178861789,0.5353535353535354,0.660436137071651,0.83004158004158,Hate +0.779,0.8617886178861789,0.5353535353535354,0.660436137071651,0.83004158004158,Hate +0.78,0.8614130434782609,0.5336700336700336,0.659043659043659,0.8295218295218295,Hate +0.781,0.8610354223433242,0.531986531986532,0.6576482830385015,0.829002079002079,Hate +0.782,0.860655737704918,0.5303030303030303,0.65625,0.8284823284823285,Hate +0.783,0.860655737704918,0.5303030303030303,0.65625,0.8284823284823285,Hate +0.784,0.8602739726027397,0.5286195286195287,0.6548488008342023,0.827962577962578,Hate +0.785,0.8602739726027397,0.5286195286195287,0.6548488008342023,0.827962577962578,Hate +0.786,0.8622589531680441,0.5269360269360269,0.6541274817136886,0.827962577962578,Hate +0.787,0.8635097493036211,0.5218855218855218,0.6505771248688352,0.8269230769230769,Hate +0.788,0.8631284916201117,0.5202020202020202,0.6491596638655462,0.8264033264033264,Hate +0.789,0.8631284916201117,0.5202020202020202,0.6491596638655462,0.8264033264033264,Hate +0.79,0.8627450980392157,0.5185185185185185,0.647739221871714,0.8258835758835759,Hate +0.791,0.8615819209039548,0.5134680134680135,0.6434599156118144,0.8243243243243243,Hate +0.792,0.8607954545454546,0.51010101010101,0.6405919661733616,0.8232848232848233,Hate +0.793,0.8603988603988604,0.5084175084175084,0.6391534391534391,0.8227650727650727,Hate +0.794,0.8624641833810889,0.5067340067340067,0.6383881230116649,0.8227650727650727,Hate +0.795,0.861671469740634,0.5033670033670034,0.6354941551540914,0.8217255717255717,Hate +0.796,0.863768115942029,0.5016835016835017,0.6347177848775293,0.8217255717255717,Hate +0.797,0.863768115942029,0.5016835016835017,0.6347177848775293,0.8217255717255717,Hate +0.798,0.863768115942029,0.5016835016835017,0.6347177848775293,0.8217255717255717,Hate +0.799,0.863768115942029,0.5016835016835017,0.6347177848775293,0.8217255717255717,Hate +0.8,0.8633720930232558,0.5,0.6332622601279317,0.8212058212058212,Hate +0.801,0.8625730994152047,0.49663299663299665,0.6303418803418803,0.8201663201663202,Hate +0.802,0.8613569321533924,0.49158249158249157,0.6259378349410504,0.8186070686070686,Hate +0.803,0.8609467455621301,0.4898989898989899,0.6244635193133047,0.818087318087318,Hate +0.804,0.8630952380952381,0.4882154882154882,0.6236559139784946,0.818087318087318,Hate +0.805,0.8656716417910447,0.4882154882154882,0.6243272335844995,0.8186070686070686,Hate +0.806,0.8652694610778443,0.48653198653198654,0.6228448275862069,0.818087318087318,Hate +0.807,0.8636363636363636,0.4797979797979798,0.6168831168831169,0.816008316008316,Hate +0.808,0.8628048780487805,0.4764309764309764,0.613882863340564,0.814968814968815,Hate +0.809,0.8619631901840491,0.4730639730639731,0.6108695652173913,0.8139293139293139,Hate +0.81,0.8615384615384616,0.4713804713804714,0.6093579978237215,0.8134095634095634,Hate +0.811,0.8637770897832817,0.4696969696969697,0.608505997818975,0.8134095634095634,Hate +0.812,0.8625,0.46464646464646464,0.6039387308533917,0.8118503118503119,Hate +0.8130000000000001,0.8620689655172413,0.46296296296296297,0.6024096385542169,0.8113305613305614,Hate +0.8140000000000001,0.8603174603174604,0.4562289562289562,0.5962596259625963,0.8092515592515592,Hate +0.8150000000000001,0.8617363344051447,0.4511784511784512,0.5922651933701657,0.8082120582120582,Hate +0.8160000000000001,0.8603896103896104,0.44612794612794615,0.5875831485587583,0.8066528066528067,Hate +0.8170000000000001,0.8599348534201955,0.4444444444444444,0.586015538290788,0.8061330561330561,Hate +0.8180000000000001,0.8594771241830066,0.44276094276094274,0.5844444444444444,0.8056133056133056,Hate +0.8190000000000001,0.858085808580858,0.4377104377104377,0.5797101449275363,0.8040540540540541,Hate +0.8200000000000001,0.8609271523178808,0.4377104377104377,0.5803571428571429,0.8045738045738046,Hate +0.8210000000000001,0.864406779661017,0.4292929292929293,0.5736782902137233,0.803014553014553,Hate +0.8220000000000001,0.865979381443299,0.42424242424242425,0.5694915254237288,0.8019750519750519,Hate +0.8230000000000001,0.8645833333333334,0.41919191919191917,0.564625850340136,0.8004158004158004,Hate +0.8240000000000001,0.8636363636363636,0.4158249158249158,0.5613636363636364,0.7993762993762994,Hate +0.8250000000000001,0.8626760563380281,0.41245791245791247,0.5580865603644647,0.7983367983367984,Hate +0.8260000000000001,0.8687943262411347,0.41245791245791247,0.5593607305936074,0.7993762993762994,Hate +0.8270000000000001,0.8683274021352313,0.4107744107744108,0.5577142857142857,0.7988565488565489,Hate +0.8280000000000001,0.8683274021352313,0.4107744107744108,0.5577142857142857,0.7988565488565489,Hate +0.8290000000000001,0.8664259927797834,0.40404040404040403,0.5510907003444316,0.7967775467775468,Hate +0.8300000000000001,0.8690909090909091,0.40235690235690236,0.5500575373993095,0.7967775467775468,Hate +0.8310000000000001,0.8708487084870848,0.39730639730639733,0.545664739884393,0.7957380457380457,Hate +0.8320000000000001,0.8726591760299626,0.39225589225589225,0.5412311265969802,0.7946985446985447,Hate +0.833,0.8759398496240601,0.39225589225589225,0.541860465116279,0.7952182952182952,Hate +0.834,0.8783269961977186,0.3888888888888889,0.5390898483080513,0.7946985446985447,Hate +0.835,0.8764478764478765,0.38215488215488214,0.5322391559202814,0.7926195426195426,Hate +0.836,0.8798449612403101,0.38215488215488214,0.5328638497652582,0.7931392931392931,Hate +0.837,0.8818897637795275,0.3771043771043771,0.5283018867924528,0.7920997920997921,Hate +0.838,0.8818897637795275,0.3771043771043771,0.5283018867924528,0.7920997920997921,Hate +0.839,0.8814229249011858,0.37542087542087543,0.526564344746163,0.7915800415800416,Hate +0.84,0.8844621513944223,0.37373737373737376,0.5254437869822485,0.7915800415800416,Hate +0.841,0.884,0.3720538720538721,0.523696682464455,0.7910602910602911,Hate +0.842,0.884,0.3720538720538721,0.523696682464455,0.7910602910602911,Hate +0.843,0.8821138211382114,0.3653198653198653,0.5166666666666667,0.7889812889812889,Hate +0.844,0.8806584362139918,0.3602693602693603,0.5113500597371565,0.7874220374220374,Hate +0.845,0.8818565400843882,0.35185185185185186,0.5030084235860409,0.7853430353430353,Hate +0.846,0.8813559322033898,0.3501683501683502,0.5012048192771085,0.7848232848232848,Hate +0.847,0.8798283261802575,0.3451178451178451,0.4957678355501814,0.7832640332640333,Hate +0.848,0.8874458874458875,0.3451178451178451,0.49696969696969695,0.7843035343035343,Hate +0.849,0.8874458874458875,0.3451178451178451,0.49696969696969695,0.7843035343035343,Hate +0.85,0.8854625550660793,0.3383838383838384,0.48964677222898906,0.7822245322245323,Hate +0.851,0.8849557522123894,0.3367003367003367,0.4878048780487805,0.7817047817047817,Hate +0.852,0.8878923766816144,0.3333333333333333,0.4847001223990208,0.7811850311850311,Hate +0.853,0.8873873873873874,0.33164983164983164,0.48284313725490197,0.7806652806652806,Hate +0.854,0.8863636363636364,0.3282828282828283,0.47911547911547914,0.7796257796257796,Hate +0.855,0.8842592592592593,0.32154882154882153,0.47160493827160493,0.7775467775467776,Hate +0.856,0.8862559241706162,0.3148148148148148,0.4645962732919255,0.775987525987526,Hate +0.857,0.8857142857142857,0.31313131313131315,0.4626865671641791,0.7754677754677755,Hate +0.858,0.8883495145631068,0.30808080808080807,0.4575,0.7744282744282744,Hate +0.859,0.8878048780487805,0.3063973063973064,0.4555694618272841,0.7739085239085239,Hate +0.86,0.8872549019607843,0.3047138047138047,0.45363408521303256,0.7733887733887734,Hate +0.861,0.89,0.2996632996632997,0.44836272040302266,0.7723492723492723,Hate +0.862,0.8894472361809045,0.29797979797979796,0.44640605296343,0.7718295218295218,Hate +0.863,0.8939393939393939,0.29797979797979796,0.44696969696969696,0.7723492723492723,Hate +0.864,0.8923076923076924,0.29292929292929293,0.44106463878326996,0.7707900207900208,Hate +0.865,0.8900523560209425,0.28619528619528617,0.43312101910828027,0.7687110187110187,Hate +0.866,0.8918918918918919,0.2777777777777778,0.42362002567394097,0.7666320166320166,Hate +0.867,0.9005524861878453,0.27441077441077444,0.4206451612903226,0.7666320166320166,Hate +0.868,0.9,0.2727272727272727,0.4186046511627907,0.7661122661122661,Hate +0.869,0.8983050847457628,0.2676767676767677,0.41245136186770426,0.7645530145530145,Hate +0.87,0.8983050847457628,0.2676767676767677,0.41245136186770426,0.7645530145530145,Hate +0.871,0.9011627906976745,0.2609427609427609,0.4046997389033943,0.762993762993763,Hate +0.872,0.9005847953216374,0.25925925925925924,0.40261437908496733,0.7624740124740125,Hate +0.873,0.8988095238095238,0.2542087542087542,0.3963254593175853,0.760914760914761,Hate +0.874,0.9090909090909091,0.25252525252525254,0.3952569169960474,0.7614345114345115,Hate +0.875,0.9141104294478528,0.25084175084175087,0.39365918097754293,0.7614345114345115,Hate +0.876,0.9135802469135802,0.24915824915824916,0.3915343915343915,0.760914760914761,Hate +0.877,0.9125,0.24579124579124578,0.38726790450928383,0.7598752598752598,Hate +0.878,0.9119496855345912,0.2441077441077441,0.3851261620185923,0.7593555093555093,Hate +0.879,0.9171974522292994,0.24242424242424243,0.38348868175765644,0.7593555093555093,Hate +0.88,0.9155844155844156,0.23737373737373738,0.3770053475935829,0.7577962577962578,Hate +0.881,0.912751677852349,0.22895622895622897,0.36608344549125166,0.7551975051975052,Hate +0.882,0.9178082191780822,0.2255892255892256,0.3621621621621622,0.7546777546777547,Hate +0.883,0.9219858156028369,0.21885521885521886,0.35374149659863946,0.7531185031185031,Hate +0.884,0.9214285714285714,0.21717171717171718,0.35149863760217986,0.7525987525987526,Hate +0.885,0.920863309352518,0.21548821548821548,0.34924965893587995,0.752079002079002,Hate +0.886,0.9333333333333333,0.21212121212121213,0.345679012345679,0.752079002079002,Hate +0.887,0.9328358208955224,0.21043771043771045,0.3434065934065934,0.7515592515592515,Hate +0.888,0.9393939393939394,0.20875420875420875,0.3415977961432507,0.7515592515592515,Hate +0.889,0.9389312977099237,0.20707070707070707,0.3393103448275862,0.751039501039501,Hate +0.89,0.937984496124031,0.2037037037037037,0.334716459197787,0.75,Hate +0.891,0.9375,0.20202020202020202,0.33240997229916897,0.7494802494802495,Hate +0.892,0.936,0.19696969696969696,0.325452016689847,0.747920997920998,Hate +0.893,0.940677966101695,0.18686868686868688,0.31179775280898875,0.7453222453222453,Hate +0.894,0.9401709401709402,0.18518518518518517,0.30942334739803096,0.7448024948024948,Hate +0.895,0.9401709401709402,0.18518518518518517,0.30942334739803096,0.7448024948024948,Hate +0.896,0.9401709401709402,0.18518518518518517,0.30942334739803096,0.7448024948024948,Hate +0.897,0.9482758620689655,0.18518518518518517,0.30985915492957744,0.7453222453222453,Hate +0.898,0.9464285714285714,0.17845117845117844,0.3002832861189802,0.7432432432432432,Hate +0.899,0.944954128440367,0.1734006734006734,0.2930298719772404,0.7416839916839917,Hate +0.9,0.9433962264150944,0.16835016835016836,0.2857142857142857,0.7401247401247402,Hate +0.901,0.941747572815534,0.1632996632996633,0.2783357245337159,0.7385654885654885,Hate +0.902,0.9387755102040817,0.15488215488215487,0.2658959537572254,0.735966735966736,Hate +0.903,0.9479166666666666,0.1531986531986532,0.263768115942029,0.735966735966736,Hate +0.904,0.9479166666666666,0.1531986531986532,0.263768115942029,0.735966735966736,Hate +0.905,0.9468085106382979,0.14983164983164984,0.25872093023255816,0.7349272349272349,Hate +0.906,0.9555555555555556,0.1447811447811448,0.25146198830409355,0.7338877338877339,Hate +0.907,0.9534883720930233,0.13804713804713806,0.2411764705882353,0.7318087318087318,Hate +0.908,0.9523809523809523,0.13468013468013468,0.2359882005899705,0.7307692307692307,Hate +0.909,0.9506172839506173,0.12962962962962962,0.22814814814814816,0.7292099792099792,Hate +0.91,0.9487179487179487,0.12457912457912458,0.22023809523809523,0.7276507276507277,Hate +0.911,0.9605263157894737,0.12289562289562289,0.21791044776119403,0.7276507276507277,Hate +0.912,0.958904109589041,0.11784511784511785,0.2098950524737631,0.7260914760914761,Hate +0.913,0.9577464788732394,0.11447811447811448,0.20451127819548873,0.725051975051975,Hate +0.914,0.9577464788732394,0.11447811447811448,0.20451127819548873,0.725051975051975,Hate +0.915,0.9565217391304348,0.1111111111111111,0.19909502262443438,0.724012474012474,Hate +0.916,0.9545454545454546,0.10606060606060606,0.19090909090909092,0.7224532224532224,Hate +0.917,0.9523809523809523,0.10101010101010101,0.182648401826484,0.7208939708939709,Hate +0.918,0.9516129032258065,0.09932659932659933,0.1798780487804878,0.7203742203742204,Hate +0.919,0.9508196721311475,0.09764309764309764,0.17709923664122137,0.7198544698544699,Hate +0.92,0.9473684210526315,0.09090909090909091,0.16589861751152074,0.7177754677754677,Hate +0.921,0.9454545454545454,0.08754208754208755,0.16024653312788906,0.7167359667359667,Hate +0.922,0.9433962264150944,0.08417508417508418,0.1545595054095827,0.7156964656964657,Hate +0.923,0.96,0.08080808080808081,0.14906832298136646,0.7151767151767152,Hate +0.924,1.0,0.07407407407407407,0.13793103448275862,0.7141372141372141,Hate +0.925,1.0,0.06565656565656566,0.12322274881516587,0.7115384615384616,Hate +0.926,1.0,0.06228956228956229,0.11727416798732171,0.7104989604989606,Hate +0.927,1.0,0.05555555555555555,0.10526315789473684,0.7084199584199584,Hate +0.928,1.0,0.04882154882154882,0.09309791332263243,0.7063409563409564,Hate +0.929,1.0,0.03872053872053872,0.07455429497568881,0.7032224532224532,Hate +0.93,1.0,0.03535353535353535,0.06829268292682927,0.7021829521829522,Hate +0.931,1.0,0.030303030303030304,0.058823529411764705,0.7006237006237006,Hate +0.932,1.0,0.025252525252525252,0.04926108374384237,0.6990644490644491,Hate +0.933,1.0,0.018518518518518517,0.03636363636363636,0.696985446985447,Hate +0.934,1.0,0.015151515151515152,0.029850746268656716,0.6959459459459459,Hate +0.935,1.0,0.010101010101010102,0.02,0.6943866943866944,Hate +0.936,1.0,0.006734006734006734,0.013377926421404682,0.6933471933471933,Hate +0.937,1.0,0.005050505050505051,0.010050251256281407,0.6928274428274428,Hate +0.9380000000000001,1.0,0.003367003367003367,0.006711409395973154,0.6923076923076923,Hate +0.9390000000000001,1.0,0.0016835016835016834,0.0033613445378151263,0.6917879417879418,Hate +0.9400000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9410000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9420000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9430000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9440000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9450000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9460000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9470000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9480000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9490000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9500000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9510000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9520000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9530000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9540000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9550000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9560000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9570000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9580000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.9590000000000001,0.0,0.0,0.0,0.6912681912681913,Hate +0.96,0.0,0.0,0.0,0.6912681912681913,Hate +0.961,0.0,0.0,0.0,0.6912681912681913,Hate +0.962,0.0,0.0,0.0,0.6912681912681913,Hate +0.963,0.0,0.0,0.0,0.6912681912681913,Hate +0.964,0.0,0.0,0.0,0.6912681912681913,Hate +0.965,0.0,0.0,0.0,0.6912681912681913,Hate +0.966,0.0,0.0,0.0,0.6912681912681913,Hate +0.967,0.0,0.0,0.0,0.6912681912681913,Hate +0.968,0.0,0.0,0.0,0.6912681912681913,Hate +0.969,0.0,0.0,0.0,0.6912681912681913,Hate +0.97,0.0,0.0,0.0,0.6912681912681913,Hate +0.971,0.0,0.0,0.0,0.6912681912681913,Hate +0.972,0.0,0.0,0.0,0.6912681912681913,Hate +0.973,0.0,0.0,0.0,0.6912681912681913,Hate +0.974,0.0,0.0,0.0,0.6912681912681913,Hate +0.975,0.0,0.0,0.0,0.6912681912681913,Hate +0.976,0.0,0.0,0.0,0.6912681912681913,Hate +0.977,0.0,0.0,0.0,0.6912681912681913,Hate +0.978,0.0,0.0,0.0,0.6912681912681913,Hate +0.979,0.0,0.0,0.0,0.6912681912681913,Hate +0.98,0.0,0.0,0.0,0.6912681912681913,Hate +0.981,0.0,0.0,0.0,0.6912681912681913,Hate +0.982,0.0,0.0,0.0,0.6912681912681913,Hate +0.983,0.0,0.0,0.0,0.6912681912681913,Hate +0.984,0.0,0.0,0.0,0.6912681912681913,Hate +0.985,0.0,0.0,0.0,0.6912681912681913,Hate +0.986,0.0,0.0,0.0,0.6912681912681913,Hate +0.987,0.0,0.0,0.0,0.6912681912681913,Hate +0.988,0.0,0.0,0.0,0.6912681912681913,Hate +0.989,0.0,0.0,0.0,0.6912681912681913,Hate +0.99,0.0,0.0,0.0,0.6912681912681913,Hate +0.991,0.0,0.0,0.0,0.6912681912681913,Hate +0.992,0.0,0.0,0.0,0.6912681912681913,Hate +0.993,0.0,0.0,0.0,0.6912681912681913,Hate +0.994,0.0,0.0,0.0,0.6912681912681913,Hate +0.995,0.0,0.0,0.0,0.6912681912681913,Hate +0.996,0.0,0.0,0.0,0.6912681912681913,Hate +0.997,0.0,0.0,0.0,0.6912681912681913,Hate +0.998,0.0,0.0,0.0,0.6912681912681913,Hate +0.999,0.0,0.0,0.0,0.6912681912681913,Hate +1.0,0.0,0.0,0.0,0.6912681912681913,Hate +0.0,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.001,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.002,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.003,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.004,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.005,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.006,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.007,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.008,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.009000000000000001,0.40644490644490644,1.0,0.5779748706577975,0.40644490644490644,Offensive +0.01,0.40707964601769914,1.0,0.5786163522012578,0.408004158004158,Offensive +0.011,0.4094240837696335,1.0,0.5809806835066865,0.41372141372141374,Offensive +0.012,0.41179568193786203,1.0,0.5833644162625886,0.4194386694386694,Offensive +0.013000000000000001,0.4152947424322889,1.0,0.5868667917448406,0.42775467775467774,Offensive +0.014,0.4190782422293676,1.0,0.5906344410876133,0.4365904365904366,Offensive +0.015,0.4231601731601732,1.0,0.5946768060836501,0.44594594594594594,Offensive +0.016,0.4266230223677032,1.0,0.5980879541108987,0.45374220374220375,Offensive +0.017,0.42935678944474986,0.9987212276214834,0.6005382545174933,0.45997920997921,Offensive +0.018000000000000002,0.4324473975636766,0.9987212276214834,0.6035548686244204,0.46673596673596673,Offensive +0.019,0.43534002229654406,0.9987212276214834,0.6063664596273292,0.47297297297297297,Offensive +0.02,0.436241610738255,0.9974424552429667,0.6070038910505836,0.47505197505197505,Offensive +0.021,0.43795620437956206,0.9974424552429667,0.6086617245415529,0.4786902286902287,Offensive +0.022,0.4406779661016949,0.9974424552429667,0.6112852664576802,0.48440748440748443,Offensive +0.023,0.44368600682593856,0.9974424552429667,0.6141732283464567,0.49064449064449067,Offensive +0.024,0.4475043029259897,0.9974424552429667,0.6178217821782178,0.4984407484407484,Offensive +0.025,0.4497690531177829,0.9961636828644501,0.6197295147175815,0.5031185031185031,Offensive +0.026000000000000002,0.45159420289855073,0.9961636828644501,0.621459912245712,0.5067567567567568,Offensive +0.027,0.4544924154025671,0.9961636828644501,0.624198717948718,0.5124740124740125,Offensive +0.028,0.45689149560117304,0.9961636828644501,0.6264575794129473,0.5171517671517671,Offensive +0.029,0.457428068115091,0.9961636828644501,0.6269617706237425,0.5181912681912682,Offensive +0.03,0.45931603773584906,0.9961636828644501,0.6287328490718321,0.5218295218295218,Offensive +0.031,0.46149289099526064,0.9961636828644501,0.6307692307692307,0.525987525987526,Offensive +0.032,0.4636904761904762,0.9961636828644501,0.6328188464662876,0.5301455301455301,Offensive +0.033,0.46507462686567164,0.9961636828644501,0.6341066341066341,0.5327442827442828,Offensive +0.034,0.46610677864427114,0.9936061381074168,0.6345447121273989,0.5348232848232848,Offensive +0.035,0.4686369119420989,0.9936061381074168,0.6368852459016393,0.5395010395010394,Offensive +0.036000000000000004,0.47176684881602915,0.9936061381074168,0.6397694524495677,0.5452182952182952,Offensive +0.037,0.47317073170731705,0.9923273657289002,0.6407927332782825,0.5478170478170478,Offensive +0.038,0.47665847665847666,0.9923273657289002,0.6439834024896266,0.5540540540540541,Offensive +0.039,0.479282622139765,0.9910485933503836,0.6461025427261359,0.5587318087318087,Offensive +0.04,0.48166563082660035,0.9910485933503836,0.6482643245503973,0.5628898128898129,Offensive +0.041,0.48196517412935325,0.9910485933503836,0.6485355648535565,0.5634095634095634,Offensive +0.042,0.4834478450968145,0.989769820971867,0.6496013428451531,0.566008316008316,Offensive +0.043000000000000003,0.48465873512836566,0.989769820971867,0.6506935687263556,0.568087318087318,Offensive +0.044,0.4858757062146893,0.989769820971867,0.6517894736842105,0.5701663201663202,Offensive +0.045,0.48677581863979846,0.9884910485933504,0.6523206751054852,0.5717255717255717,Offensive +0.046,0.4879898862199747,0.9872122762148338,0.6531302876480541,0.5738045738045738,Offensive +0.047,0.49047013977128334,0.9872122762148338,0.6553480475382003,0.577962577962578,Offensive +0.048,0.49203314212874444,0.9872122762148338,0.6567418119948958,0.5805613305613305,Offensive +0.049,0.49266113592852584,0.9872122762148338,0.6573009791400596,0.5816008316008316,Offensive +0.05,0.4936061381074169,0.9872122762148338,0.6581415174765558,0.5831600831600832,Offensive +0.051000000000000004,0.4948717948717949,0.9872122762148338,0.659265584970111,0.5852390852390852,Offensive +0.052000000000000005,0.4964630225080386,0.9872122762148338,0.660676080445015,0.5878378378378378,Offensive +0.053,0.4987063389391979,0.9859335038363172,0.6623711340206185,0.5914760914760915,Offensive +0.054,0.5006493506493507,0.9859335038363172,0.6640826873385013,0.5945945945945946,Offensive +0.055,0.5026075619295959,0.9859335038363172,0.6658031088082902,0.5977130977130977,Offensive +0.056,0.5042511445389143,0.9859335038363172,0.6672436174816097,0.6003118503118503,Offensive +0.057,0.5049115913555993,0.9859335038363172,0.667821567778259,0.6013513513513513,Offensive +0.058,0.5062376887721602,0.9859335038363172,0.6689804772234273,0.6034303534303534,Offensive +0.059000000000000004,0.5072463768115942,0.9846547314578005,0.6695652173913044,0.604989604989605,Offensive +0.06,0.5075807514831905,0.9846547314578005,0.6698564593301436,0.6055093555093555,Offensive +0.061,0.509271523178808,0.9833759590792839,0.6710296684118674,0.6081081081081081,Offensive +0.062,0.5123251165889408,0.9833759590792839,0.6736749890494963,0.6127858627858628,Offensive +0.063,0.5140374331550802,0.9833759590792839,0.675153643546971,0.6153846153846154,Offensive +0.064,0.5154362416107383,0.9820971867007673,0.676056338028169,0.6174636174636174,Offensive +0.065,0.5154362416107383,0.9820971867007673,0.676056338028169,0.6174636174636174,Offensive +0.066,0.5175438596491229,0.9808184143222506,0.6775618374558304,0.6205821205821206,Offensive +0.067,0.5189445196211097,0.9808184143222506,0.6787610619469027,0.6226611226611226,Offensive +0.068,0.5200543847722637,0.9782608695652174,0.6790945406125166,0.6242203742203742,Offensive +0.069,0.5221843003412969,0.9782608695652174,0.6809078771695594,0.6273388773388774,Offensive +0.07,0.5218878248974008,0.9757033248081841,0.6800356506238859,0.6268191268191268,Offensive +0.07100000000000001,0.5222755311857437,0.9744245524296675,0.6800535475234271,0.6273388773388774,Offensive +0.07200000000000001,0.5233516483516484,0.9744245524296675,0.6809651474530831,0.6288981288981289,Offensive +0.073,0.5240715268225584,0.9744245524296675,0.6815742397137746,0.6299376299376299,Offensive +0.074,0.5251897860593513,0.9731457800511509,0.6822052891080234,0.6314968814968815,Offensive +0.075,0.5262793914246197,0.9731457800511509,0.6831238779174147,0.6330561330561331,Offensive +0.076,0.5270457697642164,0.9718670076726342,0.6834532374100719,0.6340956340956341,Offensive +0.077,0.5277777777777778,0.9718670076726342,0.684068406840684,0.6351351351351351,Offensive +0.078,0.5303558967201675,0.9718670076726342,0.6862302483069977,0.6387733887733887,Offensive +0.079,0.5314685314685315,0.9718670076726342,0.6871609403254972,0.6403326403326404,Offensive +0.08,0.5329593267882188,0.9718670076726342,0.6884057971014492,0.6424116424116424,Offensive +0.081,0.5333333333333333,0.9718670076726342,0.6887177163570458,0.6429313929313929,Offensive +0.082,0.5341308937368051,0.9705882352941176,0.6890603722197004,0.643970893970894,Offensive +0.083,0.5353107344632768,0.969309462915601,0.6897179253867152,0.6455301455301455,Offensive +0.084,0.536067892503536,0.969309462915601,0.6903460837887068,0.6465696465696466,Offensive +0.085,0.5368271954674221,0.969309462915601,0.690975387420237,0.6476091476091476,Offensive +0.08600000000000001,0.5387348969438521,0.969309462915601,0.6925536774783005,0.6502079002079002,Offensive +0.08700000000000001,0.5391180654338549,0.969309462915601,0.6928702010968921,0.6507276507276507,Offensive +0.088,0.5395017793594306,0.969309462915601,0.6931870141746685,0.6512474012474012,Offensive +0.089,0.5410421127765882,0.969309462915601,0.6944571690334402,0.6533264033264033,Offensive +0.09,0.5418155825589707,0.969309462915601,0.6950939935809262,0.6543659043659044,Offensive +0.091,0.5418155825589707,0.969309462915601,0.6950939935809262,0.6543659043659044,Offensive +0.092,0.542203147353362,0.969309462915601,0.6954128440366972,0.6548856548856549,Offensive +0.093,0.5437589670014347,0.969309462915601,0.6966911764705882,0.656964656964657,Offensive +0.094,0.5449317038102085,0.969309462915601,0.6976530142659917,0.6585239085239085,Offensive +0.095,0.5461095100864554,0.969309462915601,0.6986175115207374,0.66008316008316,Offensive +0.096,0.5461760461760462,0.9680306905370843,0.698339483394834,0.66008316008316,Offensive +0.097,0.5469653179190751,0.9680306905370843,0.6989843028624192,0.6611226611226612,Offensive +0.098,0.5482233502538071,0.9667519181585678,0.6996760758907913,0.6626819126819127,Offensive +0.099,0.5486918604651163,0.9654731457800512,0.6997219647822057,0.6632016632016632,Offensive +0.1,0.5491624180626365,0.9641943734015346,0.699767981438515,0.6637214137214137,Offensive +0.101,0.5507669831994156,0.9641943734015346,0.701069270106927,0.6658004158004158,Offensive +0.10200000000000001,0.5515727871250914,0.9641943734015346,0.701721731037692,0.6668399168399168,Offensive +0.10300000000000001,0.5519765739385066,0.9641943734015346,0.702048417132216,0.6673596673596673,Offensive +0.10400000000000001,0.5520527859237536,0.9629156010230179,0.7017707362534948,0.6673596673596673,Offensive +0.105,0.5524578136463683,0.9629156010230179,0.7020979020979021,0.6678794178794178,Offensive +0.106,0.553269654665687,0.9629156010230179,0.702753149790014,0.668918918918919,Offensive +0.107,0.554900515843773,0.9629156010230179,0.7040673211781207,0.670997920997921,Offensive +0.108,0.5549815498154982,0.9616368286445013,0.7037903603182031,0.670997920997921,Offensive +0.109,0.5562130177514792,0.9616368286445013,0.7047797563261481,0.6725571725571725,Offensive +0.11,0.5562130177514792,0.9616368286445013,0.7047797563261481,0.6725571725571725,Offensive +0.111,0.5567086730911787,0.9603580562659847,0.7048334115438761,0.6730769230769231,Offensive +0.112,0.5579494799405647,0.9603580562659847,0.7058270676691729,0.6746361746361746,Offensive +0.113,0.5591958302308265,0.9603580562659847,0.7068235294117647,0.6761954261954262,Offensive +0.114,0.5601194921583271,0.959079283887468,0.7072135785007072,0.6772349272349273,Offensive +0.115,0.5601194921583271,0.959079283887468,0.7072135785007072,0.6772349272349273,Offensive +0.116,0.5606287425149701,0.9578005115089514,0.7072710103871577,0.6777546777546778,Offensive +0.117,0.5614692653673163,0.9578005115089514,0.7079395085066162,0.6787941787941788,Offensive +0.11800000000000001,0.562406015037594,0.9565217391304348,0.7083333333333334,0.6798336798336798,Offensive +0.11900000000000001,0.5625,0.9552429667519181,0.7080568720379147,0.6798336798336798,Offensive +0.12,0.5633484162895928,0.9552429667519181,0.7087286527514232,0.6808731808731808,Offensive +0.121,0.5641993957703928,0.9552429667519181,0.7094017094017094,0.681912681912682,Offensive +0.122,0.5654806964420893,0.9552429667519181,0.7104136947218259,0.6834719334719335,Offensive +0.123,0.5659090909090909,0.9552429667519181,0.7107516650808754,0.683991683991684,Offensive +0.124,0.5663381349507203,0.9552429667519181,0.7110899571632556,0.6845114345114345,Offensive +0.125,0.567629179331307,0.9552429667519181,0.7121067683508103,0.6860706860706861,Offensive +0.126,0.5680608365019011,0.9552429667519181,0.7124463519313304,0.6865904365904366,Offensive +0.127,0.569359756097561,0.9552429667519181,0.7134670487106017,0.6881496881496881,Offensive +0.128,0.5697940503432495,0.9552429667519181,0.7138079311992356,0.6886694386694386,Offensive +0.129,0.5715378729915838,0.9552429667519181,0.7151747247486836,0.6907484407484408,Offensive +0.13,0.5719754977029097,0.9552429667519181,0.7155172413793104,0.6912681912681913,Offensive +0.131,0.5728527607361963,0.9552429667519181,0.716203259827421,0.6923076923076923,Offensive +0.132,0.5728527607361963,0.9552429667519181,0.716203259827421,0.6923076923076923,Offensive +0.133,0.5732924021488872,0.9552429667519181,0.7165467625899281,0.6928274428274428,Offensive +0.134,0.5732924021488872,0.9552429667519181,0.7165467625899281,0.6928274428274428,Offensive +0.135,0.5732924021488872,0.9552429667519181,0.7165467625899281,0.6928274428274428,Offensive +0.136,0.5750577367205543,0.9552429667519181,0.7179240749639596,0.6949064449064449,Offensive +0.137,0.5760617760617761,0.9539641943734015,0.718343765045739,0.6959459459459459,Offensive +0.138,0.5765069551777434,0.9539641943734015,0.7186897880539499,0.6964656964656964,Offensive +0.139,0.5775193798449613,0.9526854219948849,0.7191119691119691,0.6975051975051975,Offensive +0.14,0.5777604976671851,0.9501278772378516,0.718568665377176,0.6975051975051975,Offensive +0.14100000000000001,0.578332034294622,0.948849104859335,0.7186440677966102,0.6980249480249481,Offensive +0.14200000000000002,0.5787831513260531,0.948849104859335,0.7189922480620154,0.6985446985446986,Offensive +0.14300000000000002,0.5796875,0.948849104859335,0.7196896217264791,0.6995841995841996,Offensive +0.14400000000000002,0.5805946791862285,0.948849104859335,0.7203883495145631,0.7006237006237006,Offensive +0.145,0.582089552238806,0.9475703324808185,0.7211678832116788,0.7021829521829522,Offensive +0.146,0.5825471698113207,0.9475703324808185,0.7215189873417721,0.7027027027027027,Offensive +0.147,0.5834645669291338,0.9475703324808185,0.7222222222222222,0.7037422037422038,Offensive +0.148,0.583596214511041,0.9462915601023018,0.7219512195121951,0.7037422037422038,Offensive +0.149,0.5840568271507498,0.9462915601023018,0.7223035627135188,0.7042619542619543,Offensive +0.15,0.5854430379746836,0.9462915601023018,0.7233626588465298,0.7058212058212058,Offensive +0.151,0.5868358445678034,0.9462915601023018,0.7244248653940284,0.7073804573804574,Offensive +0.152,0.5879077167859984,0.9450127877237852,0.7248651299656694,0.7084199584199584,Offensive +0.153,0.5883757961783439,0.9450127877237852,0.7252208047105005,0.7089397089397089,Offensive +0.154,0.5893141945773525,0.9450127877237852,0.7259332023575639,0.7099792099792099,Offensive +0.155,0.5907274180655475,0.9450127877237852,0.7270044269552386,0.7115384615384616,Offensive +0.156,0.5916733386709367,0.9450127877237852,0.7277203348104382,0.7125779625779626,Offensive +0.157,0.5922953451043339,0.9437340153452686,0.727810650887574,0.7130977130977131,Offensive +0.158,0.5927710843373494,0.9437340153452686,0.7281697089294524,0.7136174636174636,Offensive +0.159,0.5933977455716586,0.9424552429667519,0.7282608695652174,0.7141372141372141,Offensive +0.16,0.5938759065269944,0.9424552429667519,0.7286208601087494,0.7146569646569647,Offensive +0.161,0.5943548387096774,0.9424552429667519,0.7289812067260139,0.7151767151767152,Offensive +0.162,0.5953150242326333,0.9424552429667519,0.7297029702970297,0.7162162162162162,Offensive +0.163,0.5957962813257882,0.9424552429667519,0.730064388311045,0.7167359667359667,Offensive +0.164,0.5957962813257882,0.9424552429667519,0.730064388311045,0.7167359667359667,Offensive +0.165,0.5977291159772912,0.9424552429667519,0.7315136476426799,0.7188149688149689,Offensive +0.166,0.5991869918699188,0.9424552429667519,0.7326043737574552,0.7203742203742204,Offensive +0.167,0.5991869918699188,0.9424552429667519,0.7326043737574552,0.7203742203742204,Offensive +0.168,0.5995106035889071,0.9398976982097187,0.7320717131474104,0.7203742203742204,Offensive +0.169,0.6,0.9398976982097187,0.7324364723467862,0.7208939708939709,Offensive +0.17,0.6009811937857726,0.9398976982097187,0.7331670822942643,0.7219334719334719,Offensive +0.171,0.6014729950900164,0.9398976982097187,0.7335329341317365,0.7224532224532224,Offensive +0.17200000000000001,0.6029532403609515,0.9398976982097187,0.7346326836581709,0.724012474012474,Offensive +0.17300000000000001,0.6039441248972884,0.9398976982097187,0.735367683841921,0.725051975051975,Offensive +0.17400000000000002,0.6039441248972884,0.9398976982097187,0.735367683841921,0.725051975051975,Offensive +0.17500000000000002,0.6049382716049383,0.9398976982097187,0.7361041562343515,0.7260914760914761,Offensive +0.176,0.6047854785478548,0.9373401534526854,0.7352056168505516,0.7255717255717256,Offensive +0.177,0.6052848885218828,0.9373401534526854,0.7355745107877572,0.7260914760914761,Offensive +0.178,0.6052848885218828,0.9373401534526854,0.7355745107877572,0.7260914760914761,Offensive +0.179,0.6062861869313482,0.9373401534526854,0.7363134103465595,0.7271309771309772,Offensive +0.18,0.6077943615257048,0.9373401534526854,0.7374245472837022,0.7286902286902287,Offensive +0.181,0.6088039867109635,0.9373401534526854,0.7381671701913394,0.7297297297297297,Offensive +0.182,0.6093100581878637,0.9373401534526854,0.7385390428211587,0.7302494802494802,Offensive +0.183,0.6098169717138103,0.9373401534526854,0.7389112903225806,0.7307692307692307,Offensive +0.184,0.6103247293921732,0.9373401534526854,0.7392839132627332,0.7312889812889813,Offensive +0.185,0.6103247293921732,0.9373401534526854,0.7392839132627332,0.7312889812889813,Offensive +0.186,0.6115288220551378,0.9360613810741688,0.7397675593734209,0.7323284823284824,Offensive +0.187,0.6125523012552301,0.9360613810741688,0.7405159332321699,0.7333679833679834,Offensive +0.188,0.6140939597315436,0.9360613810741688,0.7416413373860182,0.7349272349272349,Offensive +0.189,0.6137699412258606,0.9347826086956522,0.7410035478966042,0.7344074844074844,Offensive +0.19,0.6142857142857143,0.9347826086956522,0.7413793103448276,0.7349272349272349,Offensive +0.191,0.6155143338954469,0.9335038363171355,0.741869918699187,0.735966735966736,Offensive +0.192,0.6160337552742616,0.9335038363171355,0.7422470767666497,0.7364864864864865,Offensive +0.193,0.6165540540540541,0.9335038363171355,0.7426246185147508,0.737006237006237,Offensive +0.194,0.6165540540540541,0.9335038363171355,0.7426246185147508,0.737006237006237,Offensive +0.195,0.6177966101694915,0.9322250639386189,0.7431192660550459,0.738045738045738,Offensive +0.196,0.6188455008488964,0.9322250639386189,0.7438775510204082,0.739085239085239,Offensive +0.197,0.6201022146507666,0.9309462915601023,0.7443762781186094,0.7401247401247402,Offensive +0.198,0.6206308610400681,0.9309462915601023,0.7447570332480818,0.7406444906444907,Offensive +0.199,0.6216908625106746,0.9309462915601023,0.7455197132616488,0.7416839916839917,Offensive +0.2,0.6216908625106746,0.9309462915601023,0.7455197132616488,0.7416839916839917,Offensive +0.201,0.6218990590248076,0.9296675191815856,0.7452588416196823,0.7416839916839917,Offensive +0.202,0.6234991423670669,0.9296675191815856,0.7464065708418891,0.7432432432432432,Offensive +0.203,0.6245704467353952,0.9296675191815856,0.7471736896197327,0.7442827442827443,Offensive +0.20400000000000001,0.6247848537005164,0.928388746803069,0.7469135802469136,0.7442827442827443,Offensive +0.20500000000000002,0.6244616709732989,0.9271099744245525,0.746268656716418,0.7437629937629938,Offensive +0.20600000000000002,0.6246764452113891,0.9258312020460358,0.7460072127769191,0.7437629937629938,Offensive +0.20700000000000002,0.6252158894645942,0.9258312020460358,0.7463917525773196,0.7442827442827443,Offensive +0.20800000000000002,0.627059843885516,0.9245524296675192,0.7472868217054264,0.7458419958419958,Offensive +0.209,0.628695652173913,0.9245524296675192,0.7484472049689441,0.7474012474012474,Offensive +0.21,0.6292428198433421,0.9245524296675192,0.7488348006214397,0.747920997920998,Offensive +0.211,0.6297909407665505,0.9245524296675192,0.7492227979274612,0.7484407484407485,Offensive +0.212,0.6311188811188811,0.9232736572890026,0.7497403946002077,0.7494802494802495,Offensive +0.213,0.6322241681260946,0.9232736572890026,0.7505197505197505,0.7505197505197505,Offensive +0.214,0.6338893766461808,0.9232736572890026,0.7516918271733473,0.752079002079002,Offensive +0.215,0.6338893766461808,0.9232736572890026,0.7516918271733473,0.752079002079002,Offensive +0.216,0.6338893766461808,0.9232736572890026,0.7516918271733473,0.752079002079002,Offensive +0.217,0.6338893766461808,0.9232736572890026,0.7516918271733473,0.752079002079002,Offensive +0.218,0.6344463971880492,0.9232736572890026,0.7520833333333333,0.7525987525987526,Offensive +0.219,0.6361233480176212,0.9232736572890026,0.7532603025560772,0.7541580041580042,Offensive +0.22,0.6361233480176212,0.9232736572890026,0.7532603025560772,0.7541580041580042,Offensive +0.221,0.63668430335097,0.9232736572890026,0.7536534446764092,0.7546777546777547,Offensive +0.222,0.6372462488967343,0.9232736572890026,0.7540469973890339,0.7551975051975052,Offensive +0.223,0.6383731211317418,0.9232736572890026,0.7548353371667538,0.7562370062370062,Offensive +0.224,0.6389380530973451,0.9232736572890026,0.7552301255230126,0.7567567567567568,Offensive +0.225,0.6391843971631206,0.921994884910486,0.7549738219895288,0.7567567567567568,Offensive +0.226,0.6403197158081705,0.921994884910486,0.7557651991614256,0.7577962577962578,Offensive +0.227,0.641139804096171,0.9207161125319693,0.7559055118110236,0.7583160083160083,Offensive +0.228,0.6422836752899197,0.9207161125319693,0.7566999474513926,0.7593555093555093,Offensive +0.229,0.6416443252904379,0.9181585677749361,0.7553918990005261,0.7583160083160083,Offensive +0.23,0.6424731182795699,0.9168797953964194,0.7555321390937829,0.7588357588357588,Offensive +0.231,0.6433063791554358,0.9156010230179028,0.7556728232189973,0.7593555093555093,Offensive +0.232,0.6444644464446445,0.9156010230179028,0.7564712097200211,0.7603950103950103,Offensive +0.233,0.6456266907123535,0.9156010230179028,0.7572712850343734,0.7614345114345115,Offensive +0.234,0.6458897922312556,0.9143222506393862,0.7570142932768661,0.7614345114345115,Offensive +0.23500000000000001,0.6461538461538462,0.9130434782608695,0.7567567567567568,0.7614345114345115,Offensive +0.23600000000000002,0.6458333333333334,0.9117647058823529,0.7560975609756098,0.760914760914761,Offensive +0.23700000000000002,0.6464188576609248,0.9117647058823529,0.7564986737400531,0.7614345114345115,Offensive +0.23800000000000002,0.6464188576609248,0.9117647058823529,0.7564986737400531,0.7614345114345115,Offensive +0.23900000000000002,0.6478616924476797,0.9104859335038363,0.7570441254651781,0.7624740124740125,Offensive +0.24,0.6468978102189781,0.9066496163682864,0.7550585729499467,0.760914760914761,Offensive +0.241,0.6474885844748859,0.9066496163682864,0.7554608417687799,0.7614345114345115,Offensive +0.242,0.6477584629460201,0.9053708439897699,0.7552,0.7614345114345115,Offensive +0.243,0.6489459211732356,0.9053708439897699,0.7560064068339563,0.7624740124740125,Offensive +0.244,0.6486238532110091,0.9040920716112532,0.7553418803418803,0.761954261954262,Offensive +0.245,0.6494940202391905,0.9028132992327366,0.7554842161583735,0.7624740124740125,Offensive +0.246,0.6503690036900369,0.90153452685422,0.7556270096463023,0.762993762993763,Offensive +0.247,0.6503690036900369,0.90153452685422,0.7556270096463023,0.762993762993763,Offensive +0.248,0.6512488436632747,0.9002557544757033,0.7557702630166399,0.7635135135135135,Offensive +0.249,0.6509259259259259,0.8989769820971867,0.7551020408163265,0.762993762993763,Offensive +0.25,0.6508820798514392,0.8964194373401535,0.7541689080150619,0.7624740124740125,Offensive +0.251,0.6514445479962722,0.8938618925831202,0.7536388140161725,0.7624740124740125,Offensive +0.252,0.6517273576097106,0.8925831202046036,0.7533729087965462,0.7624740124740125,Offensive +0.253,0.6526217228464419,0.8913043478260869,0.7535135135135135,0.762993762993763,Offensive +0.254,0.6538461538461539,0.8913043478260869,0.7543290043290043,0.764033264033264,Offensive +0.255,0.6544600938967137,0.8913043478260869,0.7547374120194911,0.7645530145530145,Offensive +0.256,0.6544600938967137,0.8913043478260869,0.7547374120194911,0.7645530145530145,Offensive +0.257,0.6550751879699248,0.8913043478260869,0.7551462621885157,0.7650727650727651,Offensive +0.258,0.6563088512241054,0.8913043478260869,0.7559652928416486,0.7661122661122661,Offensive +0.259,0.6569274269557022,0.8913043478260869,0.7563754747693977,0.7666320166320166,Offensive +0.26,0.6575471698113208,0.8913043478260869,0.756786102062975,0.7671517671517671,Offensive +0.261,0.6575471698113208,0.8913043478260869,0.756786102062975,0.7671517671517671,Offensive +0.262,0.6587901701323251,0.8913043478260869,0.7576086956521739,0.7681912681912682,Offensive +0.263,0.6584440227703985,0.887468030690537,0.7559912854030502,0.7671517671517671,Offensive +0.264,0.658745247148289,0.8861892583120204,0.7557251908396947,0.7671517671517671,Offensive +0.265,0.6580952380952381,0.8836317135549873,0.7543668122270742,0.7661122661122661,Offensive +0.266,0.6580952380952381,0.8836317135549873,0.7543668122270742,0.7661122661122661,Offensive +0.267,0.6596558317399618,0.8823529411764706,0.7549234135667396,0.7671517671517671,Offensive +0.268,0.6602870813397129,0.8823529411764706,0.7553366174055829,0.7676715176715176,Offensive +0.269,0.6612284069097889,0.881074168797954,0.7554824561403509,0.7681912681912682,Offensive +0.27,0.6609029779058597,0.8797953964194374,0.7547997805814591,0.7676715176715176,Offensive +0.271,0.6612127045235804,0.8785166240409207,0.7545304777594728,0.7676715176715176,Offensive +0.272,0.6612127045235804,0.8785166240409207,0.7545304777594728,0.7676715176715176,Offensive +0.273,0.661849710982659,0.8785166240409207,0.7549450549450549,0.7681912681912682,Offensive +0.274,0.6621621621621622,0.8772378516624041,0.7546754675467546,0.7681912681912682,Offensive +0.275,0.6628019323671498,0.8772378516624041,0.7550908090258668,0.7687110187110187,Offensive +0.276,0.6624758220502901,0.8759590792838875,0.7544052863436124,0.7681912681912682,Offensive +0.277,0.6627906976744186,0.8746803069053708,0.7541345093715546,0.7681912681912682,Offensive +0.278,0.6618075801749271,0.870843989769821,0.7520706791827719,0.7666320166320166,Offensive +0.279,0.6624513618677043,0.870843989769821,0.7524861878453039,0.7671517671517671,Offensive +0.28,0.6624513618677043,0.870843989769821,0.7524861878453039,0.7671517671517671,Offensive +0.281,0.6630859375,0.8682864450127877,0.751937984496124,0.7671517671517671,Offensive +0.28200000000000003,0.6650342801175319,0.8682864450127877,0.7531891292290627,0.7687110187110187,Offensive +0.28300000000000003,0.6660117878192534,0.8670076726342711,0.7533333333333333,0.7692307692307693,Offensive +0.28400000000000003,0.6660117878192534,0.8670076726342711,0.7533333333333333,0.7692307692307693,Offensive +0.28500000000000003,0.6666666666666666,0.8670076726342711,0.7537520844913841,0.7697505197505198,Offensive +0.28600000000000003,0.6679802955665025,0.8670076726342711,0.7545909849749582,0.7707900207900208,Offensive +0.28700000000000003,0.6676528599605522,0.8657289002557544,0.7538975501113586,0.7702702702702703,Offensive +0.28800000000000003,0.6679841897233202,0.8644501278772379,0.7536231884057971,0.7702702702702703,Offensive +0.289,0.6693069306930693,0.8644501278772379,0.7544642857142857,0.7713097713097713,Offensive +0.29,0.6693069306930693,0.8644501278772379,0.7544642857142857,0.7713097713097713,Offensive +0.291,0.6713147410358565,0.8618925831202046,0.7547592385218365,0.7723492723492723,Offensive +0.292,0.6716566866267465,0.860613810741688,0.7544843049327354,0.7723492723492723,Offensive +0.293,0.672,0.8593350383631714,0.7542087542087542,0.7723492723492723,Offensive +0.294,0.672,0.8593350383631714,0.7542087542087542,0.7723492723492723,Offensive +0.295,0.6726726726726727,0.8593350383631714,0.7546322290847838,0.7728690228690228,Offensive +0.296,0.6730190571715146,0.8580562659846548,0.7543563799887577,0.7728690228690228,Offensive +0.297,0.6736947791164659,0.8580562659846548,0.7547806524184477,0.7733887733887734,Offensive +0.298,0.67472306143001,0.8567774936061381,0.7549295774647887,0.7739085239085239,Offensive +0.299,0.6754032258064516,0.8567774936061381,0.7553551296505073,0.7744282744282744,Offensive +0.3,0.6754032258064516,0.8567774936061381,0.7553551296505073,0.7744282744282744,Offensive +0.301,0.6754032258064516,0.8567774936061381,0.7553551296505073,0.7744282744282744,Offensive +0.302,0.6747474747474748,0.8542199488491049,0.7539503386004515,0.7733887733887734,Offensive +0.303,0.6761133603238867,0.8542199488491049,0.7548022598870057,0.7744282744282744,Offensive +0.304,0.6764705882352942,0.8529411764705882,0.754524886877828,0.7744282744282744,Offensive +0.305,0.676829268292683,0.8516624040920716,0.7542468856172141,0.7744282744282744,Offensive +0.306,0.6771894093686355,0.850383631713555,0.753968253968254,0.7744282744282744,Offensive +0.307,0.6768603465851172,0.8491048593350383,0.7532614861032332,0.7739085239085239,Offensive +0.308,0.676530612244898,0.8478260869565217,0.7525539160045402,0.7733887733887734,Offensive +0.309,0.676560900716479,0.8452685421994884,0.7515633882888004,0.7728690228690228,Offensive +0.31,0.6762295081967213,0.8439897698209718,0.7508532423208191,0.7723492723492723,Offensive +0.311,0.6776180698151951,0.8439897698209718,0.7517084282460137,0.7733887733887734,Offensive +0.312,0.6800825593395253,0.8427109974424553,0.7527127355796688,0.774948024948025,Offensive +0.313,0.6829015544041451,0.8427109974424553,0.7544361763022324,0.777027027027027,Offensive +0.314,0.6832814122533749,0.8414322250639387,0.7541547277936963,0.777027027027027,Offensive +0.315,0.683991683991684,0.8414322250639387,0.7545871559633027,0.7775467775467776,Offensive +0.316,0.6854166666666667,0.8414322250639387,0.7554535017221584,0.7785862785862786,Offensive +0.317,0.6854166666666667,0.8414322250639387,0.7554535017221584,0.7785862785862786,Offensive +0.318,0.6875653082549634,0.8414322250639387,0.7567567567567568,0.7801455301455301,Offensive +0.319,0.6883525708289612,0.8388746803069054,0.7561959654178675,0.7801455301455301,Offensive +0.32,0.6894736842105263,0.8375959079283888,0.75635103926097,0.7806652806652806,Offensive +0.321,0.6894736842105263,0.8375959079283888,0.75635103926097,0.7806652806652806,Offensive +0.322,0.6909282700421941,0.8375959079283888,0.7572254335260116,0.7817047817047817,Offensive +0.323,0.692063492063492,0.8363171355498721,0.7573827446438911,0.7822245322245323,Offensive +0.324,0.6935312831389183,0.8363171355498721,0.7582608695652174,0.7832640332640333,Offensive +0.325,0.69394261424017,0.8350383631713555,0.7579802669762042,0.7832640332640333,Offensive +0.326,0.6954206602768903,0.8350383631713555,0.7588611272515979,0.7843035343035343,Offensive +0.327,0.6955128205128205,0.8324808184143222,0.7578579743888242,0.7837837837837838,Offensive +0.328,0.6956055734190782,0.829923273657289,0.7568513119533528,0.7832640332640333,Offensive +0.329,0.6956055734190782,0.829923273657289,0.7568513119533528,0.7832640332640333,Offensive +0.33,0.6956055734190782,0.829923273657289,0.7568513119533528,0.7832640332640333,Offensive +0.331,0.6967741935483871,0.8286445012787724,0.7570093457943925,0.7837837837837838,Offensive +0.332,0.697198275862069,0.8273657289002557,0.7567251461988304,0.7837837837837838,Offensive +0.333,0.697950377562028,0.8273657289002557,0.7571679344645992,0.7843035343035343,Offensive +0.334,0.6972972972972973,0.8248081841432225,0.7557117750439367,0.7832640332640333,Offensive +0.335,0.6984815618221258,0.8235294117647058,0.755868544600939,0.7837837837837838,Offensive +0.336,0.6992399565689468,0.8235294117647058,0.7563123899001761,0.7843035343035343,Offensive +0.337,0.7007616974972797,0.8235294117647058,0.757201646090535,0.7853430353430353,Offensive +0.338,0.7016393442622951,0.8209718670076727,0.7566293459045375,0.7853430353430353,Offensive +0.339,0.7028508771929824,0.819693094629156,0.7567886658795749,0.7858627858627859,Offensive +0.34,0.703622392974753,0.819693094629156,0.757235676314235,0.7863825363825364,Offensive +0.341,0.7037444933920705,0.8171355498721228,0.7562130177514793,0.7858627858627859,Offensive +0.342,0.7057522123893806,0.8158567774936062,0.7568208778173191,0.7869022869022869,Offensive +0.343,0.7058823529411765,0.8132992327365729,0.7557932263814616,0.7863825363825364,Offensive +0.34400000000000003,0.7055555555555556,0.8120204603580563,0.7550535077288941,0.7858627858627859,Offensive +0.34500000000000003,0.7071269487750557,0.8120204603580563,0.7559523809523809,0.7869022869022869,Offensive +0.34600000000000003,0.7071269487750557,0.8120204603580563,0.7559523809523809,0.7869022869022869,Offensive +0.34700000000000003,0.7071269487750557,0.8120204603580563,0.7559523809523809,0.7869022869022869,Offensive +0.34800000000000003,0.7087053571428571,0.8120204603580563,0.7568533969010727,0.7879417879417879,Offensive +0.34900000000000003,0.7083798882681565,0.8107416879795396,0.7561121049493142,0.7874220374220374,Offensive +0.35000000000000003,0.7085201793721974,0.8081841432225064,0.7550776583034647,0.7869022869022869,Offensive +0.35100000000000003,0.7078651685393258,0.8056265984654731,0.7535885167464115,0.7858627858627859,Offensive +0.352,0.7086614173228346,0.8056265984654731,0.7540394973070018,0.7863825363825364,Offensive +0.353,0.7091319052987599,0.8043478260869565,0.7537447573397243,0.7863825363825364,Offensive +0.354,0.7096045197740113,0.80306905370844,0.7534493101379725,0.7863825363825364,Offensive +0.355,0.7116912599318955,0.8017902813299232,0.7540589296452195,0.7874220374220374,Offensive +0.356,0.7113636363636363,0.8005115089514067,0.753309265944645,0.7869022869022869,Offensive +0.357,0.7121729237770194,0.8005115089514067,0.7537627934978929,0.7874220374220374,Offensive +0.358,0.7126567844925884,0.7992327365728901,0.753465943339361,0.7874220374220374,Offensive +0.359,0.7124856815578465,0.7953964194373402,0.7516616314199396,0.7863825363825364,Offensive +0.36,0.7129735935706085,0.7941176470588235,0.7513611615245009,0.7863825363825364,Offensive +0.361,0.7119815668202765,0.7902813299232737,0.7490909090909091,0.7848232848232848,Offensive +0.362,0.7113163972286374,0.7877237851662404,0.7475728155339806,0.7837837837837838,Offensive +0.363,0.7121387283236994,0.7877237851662404,0.74802671523983,0.7843035343035343,Offensive +0.364,0.7129629629629629,0.7877237851662404,0.7484811664641555,0.7848232848232848,Offensive +0.365,0.7129629629629629,0.7877237851662404,0.7484811664641555,0.7848232848232848,Offensive +0.366,0.7151162790697675,0.7864450127877238,0.7490864799025578,0.7858627858627859,Offensive +0.367,0.7167832167832168,0.7864450127877238,0.75,0.7869022869022869,Offensive +0.368,0.7167832167832168,0.7864450127877238,0.75,0.7869022869022869,Offensive +0.369,0.7167832167832168,0.7864450127877238,0.75,0.7869022869022869,Offensive +0.37,0.7172897196261683,0.7851662404092071,0.7496947496947497,0.7869022869022869,Offensive +0.371,0.7172897196261683,0.7851662404092071,0.7496947496947497,0.7869022869022869,Offensive +0.372,0.7189695550351288,0.7851662404092071,0.7506112469437652,0.7879417879417879,Offensive +0.373,0.7189695550351288,0.7851662404092071,0.7506112469437652,0.7879417879417879,Offensive +0.374,0.7188235294117648,0.7813299232736572,0.7487745098039216,0.7869022869022869,Offensive +0.375,0.717827626918536,0.7774936061381074,0.7464702271332105,0.7853430353430353,Offensive +0.376,0.7200474495848161,0.7762148337595908,0.7470769230769231,0.7863825363825364,Offensive +0.377,0.7200474495848161,0.7762148337595908,0.7470769230769231,0.7863825363825364,Offensive +0.378,0.7200474495848161,0.7762148337595908,0.7470769230769231,0.7863825363825364,Offensive +0.379,0.7199046483909416,0.7723785166240409,0.7452190006169032,0.7853430353430353,Offensive +0.38,0.7221556886227545,0.7710997442455243,0.7458256029684601,0.7863825363825364,Offensive +0.381,0.7230215827338129,0.7710997442455243,0.7462871287128713,0.7869022869022869,Offensive +0.382,0.7230215827338129,0.7710997442455243,0.7462871287128713,0.7869022869022869,Offensive +0.383,0.7226890756302521,0.7698209718670077,0.7455108359133127,0.7863825363825364,Offensive +0.384,0.7220216606498195,0.7672634271099744,0.7439553626782393,0.7853430353430353,Offensive +0.385,0.7237635705669482,0.7672634271099744,0.74487895716946,0.7863825363825364,Offensive +0.386,0.7246376811594203,0.7672634271099744,0.7453416149068323,0.7869022869022869,Offensive +0.387,0.725181598062954,0.7659846547314578,0.7450248756218906,0.7869022869022869,Offensive +0.388,0.7260606060606061,0.7659846547314578,0.7454884878655881,0.7874220374220374,Offensive +0.389,0.7253948967193196,0.7634271099744245,0.7439252336448599,0.7863825363825364,Offensive +0.39,0.7253948967193196,0.7634271099744245,0.7439252336448599,0.7863825363825364,Offensive +0.391,0.7262773722627737,0.7634271099744245,0.7443890274314214,0.7869022869022869,Offensive +0.392,0.7268292682926829,0.7621483375959079,0.7440699126092385,0.7869022869022869,Offensive +0.393,0.7268292682926829,0.7621483375959079,0.7440699126092385,0.7869022869022869,Offensive +0.394,0.7268292682926829,0.7621483375959079,0.7440699126092385,0.7869022869022869,Offensive +0.395,0.7270501835985312,0.7595907928388747,0.7429643527204502,0.7863825363825364,Offensive +0.396,0.7267156862745098,0.7583120204603581,0.7421777221526908,0.7858627858627859,Offensive +0.397,0.7272727272727273,0.7570332480818415,0.7418546365914787,0.7858627858627859,Offensive +0.398,0.7272727272727273,0.7570332480818415,0.7418546365914787,0.7858627858627859,Offensive +0.399,0.7298636926889716,0.7531969309462916,0.7413467589679044,0.7863825363825364,Offensive +0.4,0.7297633872976339,0.7493606138107417,0.7394321766561515,0.7853430353430353,Offensive +0.401,0.7297633872976339,0.7493606138107417,0.7394321766561515,0.7853430353430353,Offensive +0.402,0.7321652065081352,0.7480818414322251,0.7400379506641366,0.7863825363825364,Offensive +0.403,0.7330827067669173,0.7480818414322251,0.740506329113924,0.7869022869022869,Offensive +0.404,0.7333333333333333,0.7455242966751918,0.7393785668991757,0.7863825363825364,Offensive +0.405,0.7342569269521411,0.7455242966751918,0.7398477157360406,0.7869022869022869,Offensive +0.406,0.7342569269521411,0.7455242966751918,0.7398477157360406,0.7869022869022869,Offensive +0.40700000000000003,0.7351828499369483,0.7455242966751918,0.7403174603174603,0.7874220374220374,Offensive +0.40800000000000003,0.7361111111111112,0.7455242966751918,0.7407878017789072,0.7879417879417879,Offensive +0.40900000000000003,0.7363751584283904,0.7429667519181585,0.7396562698917887,0.7874220374220374,Offensive +0.41000000000000003,0.7366412213740458,0.7404092071611253,0.7385204081632653,0.7869022869022869,Offensive +0.41100000000000003,0.735969387755102,0.7378516624040921,0.7369093231162197,0.7858627858627859,Offensive +0.41200000000000003,0.7378516624040921,0.7378516624040921,0.7378516624040921,0.7869022869022869,Offensive +0.41300000000000003,0.737516005121639,0.7365728900255755,0.7370441458733206,0.7863825363825364,Offensive +0.41400000000000003,0.740979381443299,0.7352941176470589,0.7381258023106547,0.7879417879417879,Offensive +0.41500000000000004,0.7406451612903225,0.7340153452685422,0.737315350032113,0.7874220374220374,Offensive +0.41600000000000004,0.741267787839586,0.7327365728900256,0.7369774919614148,0.7874220374220374,Offensive +0.417,0.7422279792746114,0.7327365728900256,0.7374517374517374,0.7879417879417879,Offensive +0.418,0.7428571428571429,0.731457800511509,0.7371134020618557,0.7879417879417879,Offensive +0.419,0.7438231469440832,0.731457800511509,0.7375886524822695,0.7884615384615384,Offensive +0.42,0.7434895833333334,0.7301790281329923,0.7367741935483871,0.7879417879417879,Offensive +0.421,0.7431551499348109,0.7289002557544757,0.7359586830213041,0.7874220374220374,Offensive +0.422,0.743455497382199,0.7263427109974424,0.7347994825355757,0.7869022869022869,Offensive +0.423,0.7440944881889764,0.7250639386189258,0.7344559585492227,0.7869022869022869,Offensive +0.424,0.7450722733245729,0.7250639386189258,0.7349319507453014,0.7874220374220374,Offensive +0.425,0.7450722733245729,0.7250639386189258,0.7349319507453014,0.7874220374220374,Offensive +0.426,0.7447368421052631,0.7237851662404092,0.7341115434500648,0.7869022869022869,Offensive +0.427,0.7444005270092227,0.7225063938618926,0.7332900713822194,0.7863825363825364,Offensive +0.428,0.7440633245382586,0.7212276214833759,0.7324675324675325,0.7858627858627859,Offensive +0.429,0.7450462351387054,0.7212276214833759,0.732943469785575,0.7863825363825364,Offensive +0.43,0.746031746031746,0.7212276214833759,0.7334200260078023,0.7869022869022869,Offensive +0.431,0.7453580901856764,0.7186700767263428,0.7317708333333334,0.7858627858627859,Offensive +0.432,0.7473404255319149,0.7186700767263428,0.7327249022164276,0.7869022869022869,Offensive +0.433,0.7470039946737683,0.717391304347826,0.7318982387475538,0.7863825363825364,Offensive +0.434,0.7476635514018691,0.7161125319693095,0.7315480078380143,0.7863825363825364,Offensive +0.435,0.7483266398929049,0.7148337595907929,0.7311968606932636,0.7863825363825364,Offensive +0.436,0.7483266398929049,0.7148337595907929,0.7311968606932636,0.7863825363825364,Offensive +0.437,0.7473118279569892,0.710997442455243,0.72870249017038,0.7848232848232848,Offensive +0.438,0.7466307277628033,0.7084398976982097,0.7270341207349081,0.7837837837837838,Offensive +0.439,0.7466307277628033,0.7084398976982097,0.7270341207349081,0.7837837837837838,Offensive +0.44,0.7462887989203779,0.7071611253196931,0.7261982928430729,0.7832640332640333,Offensive +0.441,0.7476255088195387,0.7046035805626598,0.7254772876892692,0.7832640332640333,Offensive +0.442,0.7482993197278912,0.7033248081841432,0.7251153592617007,0.7832640332640333,Offensive +0.443,0.747612551159618,0.7007672634271099,0.7234323432343235,0.7822245322245323,Offensive +0.444,0.7472677595628415,0.6994884910485933,0.7225891677675033,0.7817047817047817,Offensive +0.445,0.7482900136798906,0.6994884910485933,0.7230667547918044,0.7822245322245323,Offensive +0.446,0.7486263736263736,0.69693094629156,0.7218543046357616,0.7817047817047817,Offensive +0.447,0.749656121045392,0.69693094629156,0.7223326706428098,0.7822245322245323,Offensive +0.448,0.7493112947658402,0.6956521739130435,0.7214854111405835,0.7817047817047817,Offensive +0.449,0.7489655172413793,0.6943734015345269,0.7206370272063702,0.7811850311850311,Offensive +0.45,0.7486187845303868,0.6930946291560103,0.7197875166002656,0.7806652806652806,Offensive +0.451,0.7493074792243767,0.6918158567774936,0.7194148936170213,0.7806652806652806,Offensive +0.452,0.7479108635097493,0.6867007672634271,0.716,0.7785862785862786,Offensive +0.453,0.7479108635097493,0.6867007672634271,0.716,0.7785862785862786,Offensive +0.454,0.7486033519553073,0.6854219948849105,0.7156208277703605,0.7785862785862786,Offensive +0.455,0.7528089887640449,0.6854219948849105,0.7175368139223561,0.7806652806652806,Offensive +0.456,0.7535211267605634,0.6841432225063938,0.7171581769436998,0.7806652806652806,Offensive +0.457,0.7535211267605634,0.6841432225063938,0.7171581769436998,0.7806652806652806,Offensive +0.458,0.7545839210155149,0.6841432225063938,0.7176391683433937,0.7811850311850311,Offensive +0.459,0.7545839210155149,0.6841432225063938,0.7176391683433937,0.7811850311850311,Offensive +0.46,0.7556497175141242,0.6841432225063938,0.7181208053691275,0.7817047817047817,Offensive +0.461,0.7567185289957568,0.6841432225063938,0.7186030893216924,0.7822245322245323,Offensive +0.462,0.7585227272727273,0.6828644501278772,0.7187079407806191,0.7827442827442828,Offensive +0.463,0.7585227272727273,0.6828644501278772,0.7187079407806191,0.7827442827442828,Offensive +0.464,0.7574893009985735,0.6790281329923273,0.7161159811193527,0.7811850311850311,Offensive +0.465,0.7582260371959942,0.6777493606138107,0.7157326130992573,0.7811850311850311,Offensive +0.466,0.7582260371959942,0.6777493606138107,0.7157326130992573,0.7811850311850311,Offensive +0.467,0.7586206896551724,0.6751918158567775,0.7144790257104194,0.7806652806652806,Offensive +0.468,0.760806916426513,0.6751918158567775,0.7154471544715447,0.7817047817047817,Offensive +0.46900000000000003,0.7615606936416185,0.6739130434782609,0.7150610583446404,0.7817047817047817,Offensive +0.47000000000000003,0.7634252539912917,0.6726342710997443,0.7151597552685248,0.7822245322245323,Offensive +0.47100000000000003,0.7645348837209303,0.6726342710997443,0.7156462585034014,0.7827442827442828,Offensive +0.47200000000000003,0.7638483965014577,0.670076726342711,0.7138964577656676,0.7817047817047817,Offensive +0.47300000000000003,0.7642752562225475,0.6675191815856778,0.7126279863481229,0.7811850311850311,Offensive +0.47400000000000003,0.763235294117647,0.6636828644501279,0.7099863201094391,0.7796257796257796,Offensive +0.47500000000000003,0.7640117994100295,0.6624040920716112,0.7095890410958904,0.7796257796257796,Offensive +0.47600000000000003,0.7674074074074074,0.6624040920716112,0.7110501029512697,0.7811850311850311,Offensive +0.47700000000000004,0.7674074074074074,0.6624040920716112,0.7110501029512697,0.7811850311850311,Offensive +0.47800000000000004,0.7670623145400594,0.6611253196930946,0.7101648351648352,0.7806652806652806,Offensive +0.47900000000000004,0.7667161961367014,0.659846547314578,0.709278350515464,0.7801455301455301,Offensive +0.48,0.767511177347243,0.6585677749360613,0.7088781830695113,0.7801455301455301,Offensive +0.481,0.7683109118086696,0.6572890025575447,0.7084769124741558,0.7801455301455301,Offensive +0.482,0.7687687687687688,0.6547314578005116,0.7071823204419889,0.7796257796257796,Offensive +0.483,0.7710843373493976,0.6547314578005116,0.7081604426002767,0.7806652806652806,Offensive +0.484,0.7742424242424243,0.6534526854219949,0.7087378640776699,0.7817047817047817,Offensive +0.485,0.7742424242424243,0.6534526854219949,0.7087378640776699,0.7817047817047817,Offensive +0.486,0.7754172989377845,0.6534526854219949,0.7092297015961138,0.7822245322245323,Offensive +0.487,0.7777777777777778,0.6534526854219949,0.7102154273801251,0.7832640332640333,Offensive +0.488,0.7774390243902439,0.6521739130434783,0.7093184979137691,0.7827442827442828,Offensive +0.489,0.7782874617737003,0.6508951406649617,0.7089136490250696,0.7827442827442828,Offensive +0.49,0.7776073619631901,0.6483375959079284,0.7071129707112971,0.7817047817047817,Offensive +0.491,0.7784615384615384,0.6470588235294118,0.7067039106145251,0.7817047817047817,Offensive +0.492,0.7796610169491526,0.6470588235294118,0.7071977638015374,0.7822245322245323,Offensive +0.493,0.7808641975308642,0.6470588235294118,0.7076923076923077,0.7827442827442828,Offensive +0.494,0.781733746130031,0.6457800511508951,0.7072829131652661,0.7827442827442828,Offensive +0.495,0.7813953488372093,0.6445012787723785,0.7063770147161879,0.7822245322245323,Offensive +0.496,0.782608695652174,0.6445012787723785,0.7068723702664796,0.7827442827442828,Offensive +0.497,0.7834890965732088,0.6432225063938619,0.7064606741573034,0.7827442827442828,Offensive +0.498,0.7831513260530422,0.6419437340153452,0.7055516514406184,0.7822245322245323,Offensive +0.499,0.7831513260530422,0.6419437340153452,0.7055516514406184,0.7822245322245323,Offensive +0.5,0.786833855799373,0.6419437340153452,0.7070422535211267,0.7837837837837838,Offensive +0.501,0.7864992150706437,0.6406649616368286,0.7061310782241015,0.7832640332640333,Offensive +0.502,0.7851500789889415,0.6355498721227621,0.7024734982332156,0.7811850311850311,Offensive +0.503,0.7841269841269841,0.6317135549872123,0.6997167138810199,0.7796257796257796,Offensive +0.504,0.7900641025641025,0.6304347826086957,0.701280227596017,0.7817047817047817,Offensive +0.505,0.7913322632423756,0.6304347826086957,0.701779359430605,0.7822245322245323,Offensive +0.506,0.7922705314009661,0.629156010230179,0.7013542409123307,0.7822245322245323,Offensive +0.507,0.7915993537964459,0.6265984654731458,0.6995003568879372,0.7811850311850311,Offensive +0.508,0.791869918699187,0.6227621483375959,0.6972083035075161,0.7801455301455301,Offensive +0.509,0.7915309446254072,0.6214833759590793,0.6962750716332379,0.7796257796257796,Offensive +0.51,0.7924836601307189,0.6202046035805626,0.6958393113342898,0.7796257796257796,Offensive +0.511,0.7947454844006568,0.618925831202046,0.6959022286125089,0.7801455301455301,Offensive +0.512,0.7953795379537953,0.6163682864450127,0.6945244956772334,0.7796257796257796,Offensive +0.513,0.7993366500829188,0.6163682864450127,0.696028880866426,0.7811850311850311,Offensive +0.514,0.7990033222591362,0.6150895140664961,0.6950867052023122,0.7806652806652806,Offensive +0.515,0.7986688851913477,0.6138107416879796,0.6941431670281996,0.7801455301455301,Offensive +0.516,0.7986688851913477,0.6138107416879796,0.6941431670281996,0.7801455301455301,Offensive +0.517,0.7996661101836394,0.612531969309463,0.6937002172338885,0.7801455301455301,Offensive +0.518,0.7989949748743719,0.6099744245524297,0.6918056562726613,0.7791060291060291,Offensive +0.519,0.8010118043844857,0.6074168797953964,0.6909090909090909,0.7791060291060291,Offensive +0.52,0.801358234295416,0.6035805626598465,0.6885485047410649,0.7780665280665281,Offensive +0.521,0.801358234295416,0.6035805626598465,0.6885485047410649,0.7780665280665281,Offensive +0.522,0.8010204081632653,0.6023017902813299,0.6875912408759124,0.7775467775467776,Offensive +0.523,0.8023850085178875,0.6023017902813299,0.6880934989043097,0.7780665280665281,Offensive +0.524,0.8017094017094017,0.5997442455242967,0.6861741038771031,0.777027027027027,Offensive +0.525,0.8041237113402062,0.59846547314578,0.6862170087976539,0.7775467775467776,Offensive +0.526,0.8041237113402062,0.59846547314578,0.6862170087976539,0.7775467775467776,Offensive +0.527,0.803448275862069,0.5959079283887468,0.684287812041116,0.7765072765072765,Offensive +0.528,0.8031088082901554,0.5946291560102301,0.6833210874357091,0.775987525987526,Offensive +0.529,0.8024263431542461,0.592071611253197,0.681383370125092,0.774948024948025,Offensive +0.53,0.8017391304347826,0.5895140664961637,0.6794399410464259,0.7739085239085239,Offensive +0.531,0.8017391304347826,0.5895140664961637,0.6794399410464259,0.7739085239085239,Offensive +0.532,0.8063380281690141,0.5856777493606138,0.6785185185185185,0.7744282744282744,Offensive +0.533,0.8059964726631393,0.5843989769820972,0.6775389177168273,0.7739085239085239,Offensive +0.534,0.8067375886524822,0.5818414322250639,0.6760772659732541,0.7733887733887734,Offensive +0.535,0.806049822064057,0.5792838874680307,0.6741071428571429,0.7723492723492723,Offensive +0.536,0.8089285714285714,0.5792838874680307,0.6751117734724292,0.7733887733887734,Offensive +0.537,0.8089285714285714,0.5792838874680307,0.6751117734724292,0.7733887733887734,Offensive +0.538,0.8085867620751341,0.578005115089514,0.674123788217748,0.7728690228690228,Offensive +0.539,0.8078994614003591,0.5754475703324808,0.6721433905899925,0.7718295218295218,Offensive +0.54,0.810126582278481,0.5728900255754475,0.6711610486891386,0.7718295218295218,Offensive +0.541,0.809437386569873,0.5703324808184144,0.6691672918229558,0.7707900207900208,Offensive +0.542,0.8109090909090909,0.5703324808184144,0.6696696696696697,0.7713097713097713,Offensive +0.543,0.8123861566484517,0.5703324808184144,0.6701728024042074,0.7718295218295218,Offensive +0.544,0.8117001828153565,0.5677749360613811,0.6681715575620768,0.7707900207900208,Offensive +0.545,0.8117001828153565,0.5677749360613811,0.6681715575620768,0.7707900207900208,Offensive +0.546,0.8125,0.5652173913043478,0.6666666666666666,0.7702702702702703,Offensive +0.547,0.813780260707635,0.5588235294117647,0.6626231993934799,0.7687110187110187,Offensive +0.548,0.8168224299065421,0.5588235294117647,0.6636294608959757,0.7697505197505198,Offensive +0.549,0.8161350844277674,0.5562659846547314,0.6615969581749049,0.7687110187110187,Offensive +0.55,0.8157894736842105,0.5549872122762148,0.6605783866057838,0.7681912681912682,Offensive +0.551,0.815442561205273,0.5537084398976982,0.6595582635186595,0.7676715176715176,Offensive +0.552,0.8162878787878788,0.551150895140665,0.6580152671755726,0.7671517671517671,Offensive +0.553,0.8152380952380952,0.5473145780051151,0.6549349655700076,0.7655925155925156,Offensive +0.554,0.8148854961832062,0.5460358056265985,0.6539050535987749,0.7650727650727651,Offensive +0.555,0.8192307692307692,0.5447570332480819,0.6543778801843319,0.7661122661122661,Offensive +0.556,0.8188824662813102,0.5434782608695652,0.6533435818601077,0.7655925155925156,Offensive +0.557,0.8188824662813102,0.5434782608695652,0.6533435818601077,0.7655925155925156,Offensive +0.558,0.8201160541586073,0.5421994884910486,0.6528098537336413,0.7655925155925156,Offensive +0.559,0.8233009708737864,0.5421994884910486,0.653816499614495,0.7666320166320166,Offensive +0.56,0.8229571984435797,0.540920716112532,0.6527777777777778,0.7661122661122661,Offensive +0.561,0.8245614035087719,0.540920716112532,0.6532818532818533,0.7666320166320166,Offensive +0.562,0.8258317025440313,0.5396419437340153,0.6527455529775715,0.7666320166320166,Offensive +0.5630000000000001,0.8248031496062992,0.5358056265984654,0.6496124031007752,0.7650727650727651,Offensive +0.5640000000000001,0.8244575936883629,0.5345268542199488,0.6485647788983708,0.7645530145530145,Offensive +0.5650000000000001,0.8260869565217391,0.5345268542199488,0.6490683229813664,0.7650727650727651,Offensive +0.5660000000000001,0.8257425742574257,0.5332480818414322,0.6480186480186481,0.7645530145530145,Offensive +0.5670000000000001,0.8257425742574257,0.5332480818414322,0.6480186480186481,0.7645530145530145,Offensive +0.5680000000000001,0.8273809523809523,0.5332480818414322,0.6485225505443235,0.7650727650727651,Offensive +0.5690000000000001,0.8283433133732535,0.530690537084399,0.646921278254092,0.7645530145530145,Offensive +0.5700000000000001,0.828,0.5294117647058824,0.6458658346333853,0.764033264033264,Offensive +0.5710000000000001,0.8326612903225806,0.5281329923273658,0.6463223787167449,0.7650727650727651,Offensive +0.5720000000000001,0.8323232323232324,0.5268542199488491,0.6452623335943618,0.7645530145530145,Offensive +0.5730000000000001,0.8333333333333334,0.5242966751918159,0.6436420722135008,0.764033264033264,Offensive +0.5740000000000001,0.8333333333333334,0.5242966751918159,0.6436420722135008,0.764033264033264,Offensive +0.5750000000000001,0.8326530612244898,0.5217391304347826,0.6415094339622641,0.762993762993763,Offensive +0.5760000000000001,0.8360655737704918,0.5217391304347826,0.6425196850393701,0.764033264033264,Offensive +0.577,0.8353909465020576,0.5191815856777494,0.6403785488958991,0.762993762993763,Offensive +0.578,0.8371134020618557,0.5191815856777494,0.6408839779005525,0.7635135135135135,Offensive +0.579,0.8367768595041323,0.5179028132992327,0.6398104265402843,0.762993762993763,Offensive +0.58,0.8378378378378378,0.5153452685421995,0.6381631037212985,0.7624740124740125,Offensive +0.581,0.837160751565762,0.5127877237851662,0.6360031720856463,0.7614345114345115,Offensive +0.582,0.8364779874213837,0.510230179028133,0.6338363780778395,0.7603950103950103,Offensive +0.583,0.8372093023255814,0.5063938618925832,0.6310756972111554,0.7593555093555093,Offensive +0.584,0.836864406779661,0.5051150895140665,0.6299840510366826,0.7588357588357588,Offensive +0.585,0.8386411889596603,0.5051150895140665,0.6304868316041501,0.7593555093555093,Offensive +0.586,0.8382978723404255,0.5038363171355499,0.6293929712460063,0.7588357588357588,Offensive +0.587,0.8408602150537634,0.5,0.6271050521251003,0.7583160083160083,Offensive +0.588,0.8423326133909287,0.49872122762148335,0.6265060240963856,0.7583160083160083,Offensive +0.589,0.8453159041394336,0.4961636828644501,0.6253021756647864,0.7583160083160083,Offensive +0.59,0.8468271334792122,0.4948849104859335,0.6246973365617433,0.7583160083160083,Offensive +0.591,0.8464912280701754,0.4936061381074169,0.6235864297253635,0.7577962577962578,Offensive +0.592,0.8464912280701754,0.4936061381074169,0.6235864297253635,0.7577962577962578,Offensive +0.593,0.8461538461538461,0.49232736572890023,0.6224737267582862,0.7572765072765073,Offensive +0.594,0.8480176211453745,0.49232736572890023,0.6229773462783171,0.7577962577962578,Offensive +0.595,0.847682119205298,0.49104859335038364,0.6218623481781377,0.7572765072765073,Offensive +0.596,0.8488888888888889,0.4884910485933504,0.6201298701298701,0.7567567567567568,Offensive +0.597,0.8565022421524664,0.4884910485933504,0.6221498371335505,0.7588357588357588,Offensive +0.598,0.8552036199095022,0.4833759590792839,0.6176470588235294,0.7567567567567568,Offensive +0.599,0.8545454545454545,0.48081841432225064,0.6153846153846154,0.7557172557172557,Offensive +0.6,0.8542141230068337,0.479539641943734,0.6142506142506142,0.7551975051975052,Offensive +0.601,0.8538812785388128,0.4782608695652174,0.6131147540983607,0.7546777546777547,Offensive +0.602,0.8594470046082949,0.47698209718670076,0.6134868421052632,0.7557172557172557,Offensive +0.603,0.8594470046082949,0.47698209718670076,0.6134868421052632,0.7557172557172557,Offensive +0.604,0.859122401847575,0.47570332480818417,0.6123456790123457,0.7551975051975052,Offensive +0.605,0.859122401847575,0.47570332480818417,0.6123456790123457,0.7551975051975052,Offensive +0.606,0.8578088578088578,0.47058823529411764,0.6077621800165153,0.7531185031185031,Offensive +0.607,0.8574766355140186,0.46930946291560105,0.6066115702479339,0.7525987525987526,Offensive +0.608,0.8574766355140186,0.46930946291560105,0.6066115702479339,0.7525987525987526,Offensive +0.609,0.8584905660377359,0.46547314578005117,0.603648424543947,0.7515592515592515,Offensive +0.61,0.861904761904762,0.4629156010230179,0.6023294509151415,0.7515592515592515,Offensive +0.611,0.8615751789976134,0.4616368286445013,0.601165695253955,0.751039501039501,Offensive +0.612,0.8653846153846154,0.46035805626598464,0.6010016694490818,0.7515592515592515,Offensive +0.613,0.864406779661017,0.45652173913043476,0.597489539748954,0.75,Offensive +0.614,0.8637469586374696,0.4539641943734015,0.595138306789606,0.748960498960499,Offensive +0.615,0.863080684596577,0.4514066496163683,0.5927791771620488,0.747920997920998,Offensive +0.616,0.8627450980392157,0.45012787723785164,0.5915966386554622,0.7474012474012474,Offensive +0.617,0.8624078624078624,0.44884910485933505,0.5904121110176619,0.7468814968814969,Offensive +0.618,0.8617283950617284,0.4462915601023018,0.5880370682392586,0.7458419958419958,Offensive +0.619,0.8610421836228288,0.4437340153452685,0.5856540084388185,0.7448024948024948,Offensive +0.62,0.8603491271820449,0.4411764705882353,0.5832628909551987,0.7437629937629938,Offensive +0.621,0.8625,0.4411764705882353,0.583756345177665,0.7442827442827443,Offensive +0.622,0.864321608040201,0.4398976982097187,0.5830508474576271,0.7442827442827443,Offensive +0.623,0.8639798488664987,0.43861892583120204,0.5818490245971162,0.7437629937629938,Offensive +0.624,0.8636363636363636,0.4373401534526854,0.5806451612903226,0.7432432432432432,Offensive +0.625,0.8629441624365483,0.43478260869565216,0.5782312925170068,0.7422037422037422,Offensive +0.626,0.8625954198473282,0.43350383631713557,0.5770212765957446,0.7416839916839917,Offensive +0.627,0.8670076726342711,0.43350383631713557,0.578005115089514,0.7427234927234927,Offensive +0.628,0.8670076726342711,0.43350383631713557,0.578005115089514,0.7427234927234927,Offensive +0.629,0.8666666666666667,0.4322250639386189,0.5767918088737202,0.7422037422037422,Offensive +0.63,0.8656330749354005,0.42838874680306904,0.5731394354148845,0.7406444906444907,Offensive +0.631,0.8652849740932642,0.42710997442455245,0.571917808219178,0.7401247401247402,Offensive +0.632,0.8713910761154856,0.42455242966751916,0.5709372312983663,0.7406444906444907,Offensive +0.633,0.8707124010554089,0.4219948849104859,0.5684754521963824,0.7396049896049897,Offensive +0.634,0.8726790450928382,0.42071611253196933,0.5677308024158757,0.7396049896049897,Offensive +0.635,0.8723404255319149,0.4194373401534527,0.5664939550949913,0.739085239085239,Offensive +0.636,0.872,0.41815856777493604,0.5652549697493517,0.7385654885654885,Offensive +0.637,0.871313672922252,0.4156010230179028,0.5627705627705628,0.7375259875259875,Offensive +0.638,0.871313672922252,0.4156010230179028,0.5627705627705628,0.7375259875259875,Offensive +0.639,0.871313672922252,0.4156010230179028,0.5627705627705628,0.7375259875259875,Offensive +0.64,0.8709677419354839,0.4143222506393862,0.561525129982669,0.737006237006237,Offensive +0.641,0.8702702702702703,0.4117647058823529,0.5590277777777778,0.735966735966736,Offensive +0.642,0.875,0.4117647058823529,0.56,0.737006237006237,Offensive +0.643,0.8746594005449592,0.41048593350383633,0.5587467362924282,0.7364864864864865,Offensive +0.644,0.8736263736263736,0.40664961636828645,0.5549738219895288,0.7349272349272349,Offensive +0.645,0.8736263736263736,0.40664961636828645,0.5549738219895288,0.7349272349272349,Offensive +0.646,0.8753462603878116,0.4040920716112532,0.552930883639545,0.7344074844074844,Offensive +0.647,0.8739495798319328,0.3989769820971867,0.5478489903424056,0.7323284823284824,Offensive +0.648,0.8760563380281691,0.3976982097186701,0.5470536499560247,0.7323284823284824,Offensive +0.649,0.8757062146892656,0.39641943734015345,0.545774647887324,0.7318087318087318,Offensive +0.65,0.8757062146892656,0.39641943734015345,0.545774647887324,0.7318087318087318,Offensive +0.651,0.8764367816091954,0.3900255754475703,0.5398230088495575,0.7297297297297297,Offensive +0.652,0.8789625360230547,0.3900255754475703,0.5403011514614703,0.7302494802494802,Offensive +0.653,0.8782608695652174,0.3874680306905371,0.5377107364685004,0.7292099792099792,Offensive +0.654,0.877906976744186,0.38618925831202044,0.5364120781527532,0.7286902286902287,Offensive +0.655,0.8775510204081632,0.38491048593350385,0.5351111111111111,0.7281704781704782,Offensive +0.656,0.8775510204081632,0.38491048593350385,0.5351111111111111,0.7281704781704782,Offensive +0.657,0.8764705882352941,0.38107416879795397,0.5311942959001783,0.7266112266112266,Offensive +0.658,0.878698224852071,0.3797953964194373,0.5303571428571429,0.7266112266112266,Offensive +0.659,0.878698224852071,0.3797953964194373,0.5303571428571429,0.7266112266112266,Offensive +0.66,0.8779761904761905,0.3772378516624041,0.5277280858676208,0.7255717255717256,Offensive +0.661,0.8765060240963856,0.3721227621483376,0.5224416517055656,0.7234927234927235,Offensive +0.662,0.8765060240963856,0.3721227621483376,0.5224416517055656,0.7234927234927235,Offensive +0.663,0.8773006134969326,0.3657289002557545,0.516245487364621,0.7214137214137214,Offensive +0.664,0.8788819875776398,0.3618925831202046,0.5126811594202898,0.7203742203742204,Offensive +0.665,0.8836477987421384,0.3593350383631714,0.5109090909090909,0.7203742203742204,Offensive +0.666,0.8832807570977917,0.35805626598465473,0.5095541401273885,0.7198544698544699,Offensive +0.667,0.8832807570977917,0.35805626598465473,0.5095541401273885,0.7198544698544699,Offensive +0.668,0.8860759493670886,0.35805626598465473,0.5100182149362478,0.7203742203742204,Offensive +0.669,0.8857142857142857,0.3567774936061381,0.5086599817684594,0.7198544698544699,Offensive +0.67,0.8853503184713376,0.3554987212276215,0.5072992700729927,0.7193347193347194,Offensive +0.671,0.8846153846153846,0.35294117647058826,0.5045703839122486,0.7182952182952183,Offensive +0.672,0.889967637540453,0.3516624040920716,0.5041246562786434,0.7188149688149689,Offensive +0.673,0.8892508143322475,0.3491048593350384,0.5013774104683195,0.7177754677754677,Offensive +0.674,0.8888888888888888,0.34782608695652173,0.5,0.7172557172557172,Offensive +0.675,0.8874172185430463,0.34271099744245526,0.4944649446494465,0.7151767151767152,Offensive +0.676,0.889261744966443,0.3388746803069054,0.49074074074074076,0.7141372141372141,Offensive +0.677,0.8918918918918919,0.3375959079283887,0.4897959183673469,0.7141372141372141,Offensive +0.678,0.891156462585034,0.3350383631713555,0.48698884758364314,0.7130977130977131,Offensive +0.679,0.8907849829351536,0.3337595907928389,0.4855813953488372,0.7125779625779626,Offensive +0.68,0.8934707903780069,0.33248081841432225,0.4846225535880708,0.7125779625779626,Offensive +0.681,0.89198606271777,0.3273657289002558,0.47895229186155286,0.7104989604989606,Offensive +0.682,0.8912280701754386,0.3248081841432225,0.4761012183692596,0.7094594594594594,Offensive +0.683,0.8908450704225352,0.3235294117647059,0.474671669793621,0.7089397089397089,Offensive +0.684,0.8904593639575972,0.32225063938618925,0.4732394366197183,0.7084199584199584,Offensive +0.685,0.8896797153024911,0.319693094629156,0.4703668861712135,0.7073804573804574,Offensive +0.686,0.8888888888888888,0.3171355498721228,0.46748350612629597,0.7063409563409564,Offensive +0.687,0.8901098901098901,0.31074168797953966,0.4606635071090047,0.7042619542619543,Offensive +0.6880000000000001,0.8880597014925373,0.30434782608695654,0.4533333333333333,0.7016632016632016,Offensive +0.6890000000000001,0.8872180451127819,0.30179028132992325,0.45038167938931295,0.7006237006237006,Offensive +0.6900000000000001,0.8935361216730038,0.30051150895140666,0.44976076555023925,0.7011434511434511,Offensive +0.6910000000000001,0.8923076923076924,0.2966751918158568,0.44529750479846447,0.6995841995841996,Offensive +0.6920000000000001,0.8957528957528957,0.2966751918158568,0.4457252641690682,0.7001039501039501,Offensive +0.6930000000000001,0.8980392156862745,0.2928388746803069,0.4416586306653809,0.6990644490644491,Offensive +0.6940000000000001,0.896414342629482,0.2877237851662404,0.4356243949661181,0.696985446985447,Offensive +0.6950000000000001,0.8947368421052632,0.2826086956521739,0.4295432458697765,0.6949064449064449,Offensive +0.6960000000000001,0.8938775510204081,0.28005115089514065,0.42648490749756574,0.6938669438669439,Offensive +0.6970000000000001,0.8930041152263375,0.2774936061381074,0.42341463414634145,0.6928274428274428,Offensive +0.6980000000000001,0.8916666666666667,0.27365728900255754,0.4187866927592955,0.6912681912681913,Offensive +0.6990000000000001,0.8916666666666667,0.27365728900255754,0.4187866927592955,0.6912681912681913,Offensive +0.7000000000000001,0.8945147679324894,0.2710997442455243,0.41609421000981356,0.6907484407484408,Offensive +0.7010000000000001,0.8936170212765957,0.26854219948849106,0.41297935103244837,0.6897089397089398,Offensive +0.7020000000000001,0.8922413793103449,0.2647058823529412,0.40828402366863903,0.6881496881496881,Offensive +0.7030000000000001,0.8956521739130435,0.26342710997442453,0.40711462450592883,0.6881496881496881,Offensive +0.704,0.8995633187772926,0.26342710997442453,0.4075173095944609,0.6886694386694386,Offensive +0.705,0.9026548672566371,0.2608695652173913,0.40476190476190477,0.6881496881496881,Offensive +0.706,0.9009009009009009,0.2557544757033248,0.398406374501992,0.6860706860706861,Offensive +0.707,0.9036697247706422,0.25191815856777494,0.394,0.685031185031185,Offensive +0.708,0.9032258064516129,0.2506393861892583,0.3923923923923924,0.6845114345114345,Offensive +0.709,0.910377358490566,0.24680306905370844,0.38832997987927564,0.683991683991684,Offensive +0.71,0.909952606635071,0.24552429667519182,0.3867069486404834,0.6834719334719335,Offensive +0.711,0.9095238095238095,0.2442455242966752,0.3850806451612903,0.682952182952183,Offensive +0.712,0.9095238095238095,0.2442455242966752,0.3850806451612903,0.682952182952183,Offensive +0.713,0.9095238095238095,0.2442455242966752,0.3850806451612903,0.682952182952183,Offensive +0.714,0.9095238095238095,0.2442455242966752,0.3850806451612903,0.682952182952183,Offensive +0.715,0.9077669902912622,0.2391304347826087,0.3785425101214575,0.6808731808731808,Offensive +0.716,0.9064039408866995,0.23529411764705882,0.37360406091370557,0.6793139293139293,Offensive +0.717,0.905940594059406,0.2340153452685422,0.3719512195121951,0.6787941787941788,Offensive +0.718,0.9095477386934674,0.23145780051150894,0.3690112130479103,0.6782744282744283,Offensive +0.719,0.9095477386934674,0.23145780051150894,0.3690112130479103,0.6782744282744283,Offensive +0.72,0.9086294416243654,0.2289002557544757,0.36567926455566907,0.6772349272349273,Offensive +0.721,0.9086294416243654,0.2289002557544757,0.36567926455566907,0.6772349272349273,Offensive +0.722,0.9128205128205128,0.22762148337595908,0.36438075742067555,0.6772349272349273,Offensive +0.723,0.9175257731958762,0.22762148337595908,0.36475409836065575,0.6777546777546778,Offensive +0.724,0.9263157894736842,0.22506393861892582,0.36213991769547327,0.6777546777546778,Offensive +0.725,0.9251336898395722,0.22122762148337596,0.3570691434468524,0.6761954261954262,Offensive +0.726,0.9234972677595629,0.21611253196930946,0.35025906735751294,0.6741164241164241,Offensive +0.727,0.9222222222222223,0.21227621483375958,0.34511434511434513,0.6725571725571725,Offensive +0.728,0.9209039548022598,0.20843989769820973,0.33993743482794575,0.670997920997921,Offensive +0.729,0.9204545454545454,0.2071611253196931,0.33820459290187893,0.6704781704781705,Offensive +0.73,0.9190751445086706,0.20332480818414322,0.33298429319371725,0.668918918918919,Offensive +0.731,0.9176470588235294,0.19948849104859334,0.3277310924369748,0.6673596673596673,Offensive +0.732,0.9226190476190477,0.19820971867007672,0.3263157894736842,0.6673596673596673,Offensive +0.733,0.9221556886227545,0.1969309462915601,0.3245521601685985,0.6668399168399168,Offensive +0.734,0.9212121212121213,0.19437340153452684,0.32101372756071805,0.6658004158004158,Offensive +0.735,0.9207317073170732,0.19309462915601022,0.3192389006342495,0.6652806652806653,Offensive +0.736,0.9320987654320988,0.19309462915601022,0.3199152542372881,0.6663201663201663,Offensive +0.737,0.9316770186335404,0.1918158567774936,0.3181336161187699,0.6658004158004158,Offensive +0.738,0.93125,0.19053708439897699,0.31634819532908703,0.6652806652806653,Offensive +0.739,0.930379746835443,0.18797953964194372,0.3127659574468085,0.6642411642411642,Offensive +0.74,0.9299363057324841,0.1867007672634271,0.3109691160809372,0.6637214137214137,Offensive +0.741,0.9285714285714286,0.18286445012787725,0.3055555555555556,0.6621621621621622,Offensive +0.742,0.9333333333333333,0.17902813299232737,0.30042918454935624,0.6611226611226612,Offensive +0.743,0.9315068493150684,0.17391304347826086,0.29310344827586204,0.659043659043659,Offensive +0.744,0.9305555555555556,0.17135549872122763,0.2894168466522678,0.658004158004158,Offensive +0.745,0.9290780141843972,0.16751918158567775,0.2838569880823402,0.6564449064449065,Offensive +0.746,0.9285714285714286,0.16624040920716113,0.28199566160520606,0.6559251559251559,Offensive +0.747,0.9343065693430657,0.1636828644501279,0.27856365614798695,0.6554054054054054,Offensive +0.748,0.9338235294117647,0.16240409207161124,0.2766884531590414,0.6548856548856549,Offensive +0.749,0.9461538461538461,0.15728900255754474,0.26973684210526316,0.6538461538461539,Offensive +0.75,0.953125,0.15601023017902813,0.2681318681318681,0.6538461538461539,Offensive +0.751,0.96,0.1534526854219949,0.26460859977949286,0.6533264033264033,Offensive +0.752,0.959349593495935,0.15089514066496162,0.26077348066298345,0.6522869022869023,Offensive +0.753,0.9586776859504132,0.1483375959079284,0.25692137320044295,0.6512474012474012,Offensive +0.754,0.957983193277311,0.14578005115089515,0.25305216426193117,0.6502079002079002,Offensive +0.755,0.957983193277311,0.14578005115089515,0.25305216426193117,0.6502079002079002,Offensive +0.756,0.957983193277311,0.14578005115089515,0.25305216426193117,0.6502079002079002,Offensive +0.757,0.956140350877193,0.13938618925831203,0.24330357142857142,0.6476091476091476,Offensive +0.758,0.9642857142857143,0.13810741687979539,0.24161073825503357,0.6476091476091476,Offensive +0.759,0.963302752293578,0.13427109974424553,0.2356902356902357,0.646049896049896,Offensive +0.76,0.9629629629629629,0.1329923273657289,0.23370786516853934,0.6455301455301455,Offensive +0.761,0.9622641509433962,0.13043478260869565,0.22972972972972974,0.6444906444906445,Offensive +0.762,0.9619047619047619,0.12915601023017903,0.2277339346110485,0.643970893970894,Offensive +0.763,0.9603960396039604,0.12404092071611253,0.21970554926387317,0.6418918918918919,Offensive +0.764,0.96,0.12276214833759591,0.21768707482993196,0.6413721413721414,Offensive +0.765,0.9595959595959596,0.12148337595907928,0.21566401816118047,0.6408523908523909,Offensive +0.766,0.9587628865979382,0.11892583120204604,0.21160409556313994,0.6398128898128899,Offensive +0.767,0.9583333333333334,0.11764705882352941,0.20956719817767655,0.6392931392931392,Offensive +0.768,0.9680851063829787,0.11636828644501279,0.20776255707762556,0.6392931392931392,Offensive +0.769,0.967741935483871,0.11508951406649616,0.2057142857142857,0.6387733887733887,Offensive +0.77,0.967741935483871,0.11508951406649616,0.2057142857142857,0.6387733887733887,Offensive +0.771,0.9666666666666667,0.11125319693094629,0.19954128440366972,0.6372141372141372,Offensive +0.772,0.9651162790697675,0.10613810741687979,0.1912442396313364,0.6351351351351351,Offensive +0.773,0.9642857142857143,0.10358056265984655,0.18706697459584296,0.6340956340956341,Offensive +0.774,0.9642857142857143,0.10358056265984655,0.18706697459584296,0.6340956340956341,Offensive +0.775,0.9746835443037974,0.09846547314578005,0.17886178861788618,0.6325363825363826,Offensive +0.776,0.9743589743589743,0.09718670076726342,0.17674418604651163,0.632016632016632,Offensive +0.777,0.9743589743589743,0.09718670076726342,0.17674418604651163,0.632016632016632,Offensive +0.778,0.9736842105263158,0.09462915601023018,0.17249417249417248,0.6309771309771309,Offensive +0.779,0.9733333333333334,0.09335038363171355,0.17036172695449242,0.6304573804573804,Offensive +0.78,0.9726027397260274,0.0907928388746803,0.16608187134502925,0.6294178794178794,Offensive +0.781,0.9722222222222222,0.08951406649616368,0.16393442622950818,0.6288981288981289,Offensive +0.782,0.971830985915493,0.08823529411764706,0.16178194607268465,0.6283783783783784,Offensive +0.783,0.971830985915493,0.08823529411764706,0.16178194607268465,0.6283783783783784,Offensive +0.784,0.9714285714285714,0.08695652173913043,0.1596244131455399,0.6278586278586279,Offensive +0.785,0.9705882352941176,0.08439897698209718,0.15529411764705883,0.6268191268191268,Offensive +0.786,0.9696969696969697,0.08184143222506395,0.1509433962264151,0.6257796257796258,Offensive +0.787,0.9696969696969697,0.08184143222506395,0.1509433962264151,0.6257796257796258,Offensive +0.788,0.9696969696969697,0.08184143222506395,0.1509433962264151,0.6257796257796258,Offensive +0.789,0.9841269841269841,0.0792838874680307,0.1467455621301775,0.6252598752598753,Offensive +0.79,0.9841269841269841,0.0792838874680307,0.1467455621301775,0.6252598752598753,Offensive +0.791,0.9833333333333333,0.07544757033248081,0.14014251781472684,0.6237006237006237,Offensive +0.792,0.9827586206896551,0.07289002557544758,0.1357142857142857,0.6226611226611226,Offensive +0.793,0.9824561403508771,0.07161125319693094,0.133492252681764,0.6221413721413721,Offensive +0.794,0.9821428571428571,0.07033248081841433,0.13126491646778043,0.6216216216216216,Offensive +0.795,0.9818181818181818,0.06905370843989769,0.12903225806451613,0.6211018711018711,Offensive +0.796,0.9814814814814815,0.06777493606138107,0.12679425837320574,0.6205821205821206,Offensive +0.797,0.9814814814814815,0.06777493606138107,0.12679425837320574,0.6205821205821206,Offensive +0.798,0.9803921568627451,0.0639386189258312,0.12004801920768307,0.6190228690228691,Offensive +0.799,0.9795918367346939,0.061381074168797956,0.11552346570397112,0.617983367983368,Offensive +0.8,0.9795918367346939,0.061381074168797956,0.11552346570397112,0.617983367983368,Offensive +0.801,0.9795918367346939,0.061381074168797956,0.11552346570397112,0.617983367983368,Offensive +0.802,0.9795918367346939,0.061381074168797956,0.11552346570397112,0.617983367983368,Offensive +0.803,0.9791666666666666,0.06010230179028133,0.11325301204819277,0.6174636174636174,Offensive +0.804,0.9791666666666666,0.06010230179028133,0.11325301204819277,0.6174636174636174,Offensive +0.805,0.9787234042553191,0.058823529411764705,0.11097708082026538,0.6169438669438669,Offensive +0.806,0.9787234042553191,0.058823529411764705,0.11097708082026538,0.6169438669438669,Offensive +0.807,0.9767441860465116,0.05370843989769821,0.10181818181818182,0.6148648648648649,Offensive +0.808,0.9761904761904762,0.052429667519181586,0.09951456310679611,0.6143451143451143,Offensive +0.809,0.9761904761904762,0.052429667519181586,0.09951456310679611,0.6143451143451143,Offensive +0.81,0.975,0.049872122762148335,0.0948905109489051,0.6133056133056133,Offensive +0.811,0.9736842105263158,0.04731457800511509,0.09024390243902439,0.6122661122661123,Offensive +0.812,0.972972972972973,0.04603580562659847,0.08791208791208792,0.6117463617463618,Offensive +0.8130000000000001,1.0,0.04603580562659847,0.08801955990220049,0.6122661122661123,Offensive +0.8140000000000001,1.0,0.04092071611253197,0.07862407862407862,0.6101871101871101,Offensive +0.8150000000000001,1.0,0.04092071611253197,0.07862407862407862,0.6101871101871101,Offensive +0.8160000000000001,1.0,0.03964194373401535,0.07626076260762607,0.6096673596673596,Offensive +0.8170000000000001,1.0,0.03964194373401535,0.07626076260762607,0.6096673596673596,Offensive +0.8180000000000001,1.0,0.0370843989769821,0.07151664611590629,0.6086278586278586,Offensive +0.8190000000000001,1.0,0.0370843989769821,0.07151664611590629,0.6086278586278586,Offensive +0.8200000000000001,1.0,0.034526854219948847,0.06674907292954264,0.6075883575883576,Offensive +0.8210000000000001,1.0,0.034526854219948847,0.06674907292954264,0.6075883575883576,Offensive +0.8220000000000001,1.0,0.034526854219948847,0.06674907292954264,0.6075883575883576,Offensive +0.8230000000000001,1.0,0.034526854219948847,0.06674907292954264,0.6075883575883576,Offensive +0.8240000000000001,1.0,0.030690537084398978,0.05955334987593052,0.606029106029106,Offensive +0.8250000000000001,1.0,0.030690537084398978,0.05955334987593052,0.606029106029106,Offensive +0.8260000000000001,1.0,0.030690537084398978,0.05955334987593052,0.606029106029106,Offensive +0.8270000000000001,1.0,0.029411764705882353,0.05714285714285714,0.6055093555093555,Offensive +0.8280000000000001,1.0,0.029411764705882353,0.05714285714285714,0.6055093555093555,Offensive +0.8290000000000001,1.0,0.024296675191815855,0.04744069912609238,0.6034303534303534,Offensive +0.8300000000000001,1.0,0.024296675191815855,0.04744069912609238,0.6034303534303534,Offensive +0.8310000000000001,1.0,0.020460358056265986,0.040100250626566414,0.6018711018711018,Offensive +0.8320000000000001,1.0,0.020460358056265986,0.040100250626566414,0.6018711018711018,Offensive +0.833,1.0,0.01918158567774936,0.037641154328732745,0.6013513513513513,Offensive +0.834,1.0,0.017902813299232736,0.035175879396984924,0.6008316008316008,Offensive +0.835,1.0,0.015345268542199489,0.030226700251889168,0.5997920997920998,Offensive +0.836,1.0,0.015345268542199489,0.030226700251889168,0.5997920997920998,Offensive +0.837,1.0,0.01278772378516624,0.025252525252525252,0.5987525987525988,Offensive +0.838,1.0,0.01278772378516624,0.025252525252525252,0.5987525987525988,Offensive +0.839,1.0,0.01278772378516624,0.025252525252525252,0.5987525987525988,Offensive +0.84,1.0,0.011508951406649617,0.022756005056890013,0.5982328482328483,Offensive +0.841,1.0,0.010230179028132993,0.020253164556962026,0.5977130977130977,Offensive +0.842,1.0,0.008951406649616368,0.017743979721166033,0.5971933471933472,Offensive +0.843,1.0,0.008951406649616368,0.017743979721166033,0.5971933471933472,Offensive +0.844,1.0,0.0076726342710997444,0.015228426395939087,0.5966735966735967,Offensive +0.845,1.0,0.005115089514066497,0.010178117048346057,0.5956340956340956,Offensive +0.846,1.0,0.005115089514066497,0.010178117048346057,0.5956340956340956,Offensive +0.847,1.0,0.005115089514066497,0.010178117048346057,0.5956340956340956,Offensive +0.848,1.0,0.005115089514066497,0.010178117048346057,0.5956340956340956,Offensive +0.849,1.0,0.005115089514066497,0.010178117048346057,0.5956340956340956,Offensive +0.85,1.0,0.005115089514066497,0.010178117048346057,0.5956340956340956,Offensive +0.851,1.0,0.005115089514066497,0.010178117048346057,0.5956340956340956,Offensive +0.852,1.0,0.005115089514066497,0.010178117048346057,0.5956340956340956,Offensive +0.853,1.0,0.005115089514066497,0.010178117048346057,0.5956340956340956,Offensive +0.854,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.855,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.856,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.857,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.858,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.859,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.86,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.861,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.862,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.863,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.864,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.865,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.866,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.867,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.868,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.869,1.0,0.0038363171355498722,0.007643312101910828,0.5951143451143451,Offensive +0.87,1.0,0.0012787723785166241,0.002554278416347382,0.5940748440748441,Offensive +0.871,1.0,0.0012787723785166241,0.002554278416347382,0.5940748440748441,Offensive +0.872,1.0,0.0012787723785166241,0.002554278416347382,0.5940748440748441,Offensive +0.873,1.0,0.0012787723785166241,0.002554278416347382,0.5940748440748441,Offensive +0.874,1.0,0.0012787723785166241,0.002554278416347382,0.5940748440748441,Offensive +0.875,1.0,0.0012787723785166241,0.002554278416347382,0.5940748440748441,Offensive +0.876,1.0,0.0012787723785166241,0.002554278416347382,0.5940748440748441,Offensive +0.877,1.0,0.0012787723785166241,0.002554278416347382,0.5940748440748441,Offensive +0.878,0.0,0.0,0.0,0.5935550935550935,Offensive +0.879,0.0,0.0,0.0,0.5935550935550935,Offensive +0.88,0.0,0.0,0.0,0.5935550935550935,Offensive +0.881,0.0,0.0,0.0,0.5935550935550935,Offensive +0.882,0.0,0.0,0.0,0.5935550935550935,Offensive +0.883,0.0,0.0,0.0,0.5935550935550935,Offensive +0.884,0.0,0.0,0.0,0.5935550935550935,Offensive +0.885,0.0,0.0,0.0,0.5935550935550935,Offensive +0.886,0.0,0.0,0.0,0.5935550935550935,Offensive +0.887,0.0,0.0,0.0,0.5935550935550935,Offensive +0.888,0.0,0.0,0.0,0.5935550935550935,Offensive +0.889,0.0,0.0,0.0,0.5935550935550935,Offensive +0.89,0.0,0.0,0.0,0.5935550935550935,Offensive +0.891,0.0,0.0,0.0,0.5935550935550935,Offensive +0.892,0.0,0.0,0.0,0.5935550935550935,Offensive +0.893,0.0,0.0,0.0,0.5935550935550935,Offensive +0.894,0.0,0.0,0.0,0.5935550935550935,Offensive +0.895,0.0,0.0,0.0,0.5935550935550935,Offensive +0.896,0.0,0.0,0.0,0.5935550935550935,Offensive +0.897,0.0,0.0,0.0,0.5935550935550935,Offensive +0.898,0.0,0.0,0.0,0.5935550935550935,Offensive +0.899,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9,0.0,0.0,0.0,0.5935550935550935,Offensive +0.901,0.0,0.0,0.0,0.5935550935550935,Offensive +0.902,0.0,0.0,0.0,0.5935550935550935,Offensive +0.903,0.0,0.0,0.0,0.5935550935550935,Offensive +0.904,0.0,0.0,0.0,0.5935550935550935,Offensive +0.905,0.0,0.0,0.0,0.5935550935550935,Offensive +0.906,0.0,0.0,0.0,0.5935550935550935,Offensive +0.907,0.0,0.0,0.0,0.5935550935550935,Offensive +0.908,0.0,0.0,0.0,0.5935550935550935,Offensive +0.909,0.0,0.0,0.0,0.5935550935550935,Offensive +0.91,0.0,0.0,0.0,0.5935550935550935,Offensive +0.911,0.0,0.0,0.0,0.5935550935550935,Offensive +0.912,0.0,0.0,0.0,0.5935550935550935,Offensive +0.913,0.0,0.0,0.0,0.5935550935550935,Offensive +0.914,0.0,0.0,0.0,0.5935550935550935,Offensive +0.915,0.0,0.0,0.0,0.5935550935550935,Offensive +0.916,0.0,0.0,0.0,0.5935550935550935,Offensive +0.917,0.0,0.0,0.0,0.5935550935550935,Offensive +0.918,0.0,0.0,0.0,0.5935550935550935,Offensive +0.919,0.0,0.0,0.0,0.5935550935550935,Offensive +0.92,0.0,0.0,0.0,0.5935550935550935,Offensive +0.921,0.0,0.0,0.0,0.5935550935550935,Offensive +0.922,0.0,0.0,0.0,0.5935550935550935,Offensive +0.923,0.0,0.0,0.0,0.5935550935550935,Offensive +0.924,0.0,0.0,0.0,0.5935550935550935,Offensive +0.925,0.0,0.0,0.0,0.5935550935550935,Offensive +0.926,0.0,0.0,0.0,0.5935550935550935,Offensive +0.927,0.0,0.0,0.0,0.5935550935550935,Offensive +0.928,0.0,0.0,0.0,0.5935550935550935,Offensive +0.929,0.0,0.0,0.0,0.5935550935550935,Offensive +0.93,0.0,0.0,0.0,0.5935550935550935,Offensive +0.931,0.0,0.0,0.0,0.5935550935550935,Offensive +0.932,0.0,0.0,0.0,0.5935550935550935,Offensive +0.933,0.0,0.0,0.0,0.5935550935550935,Offensive +0.934,0.0,0.0,0.0,0.5935550935550935,Offensive +0.935,0.0,0.0,0.0,0.5935550935550935,Offensive +0.936,0.0,0.0,0.0,0.5935550935550935,Offensive +0.937,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9380000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9390000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9400000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9410000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9420000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9430000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9440000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9450000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9460000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9470000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9480000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9490000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9500000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9510000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9520000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9530000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9540000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9550000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9560000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9570000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9580000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.9590000000000001,0.0,0.0,0.0,0.5935550935550935,Offensive +0.96,0.0,0.0,0.0,0.5935550935550935,Offensive +0.961,0.0,0.0,0.0,0.5935550935550935,Offensive +0.962,0.0,0.0,0.0,0.5935550935550935,Offensive +0.963,0.0,0.0,0.0,0.5935550935550935,Offensive +0.964,0.0,0.0,0.0,0.5935550935550935,Offensive +0.965,0.0,0.0,0.0,0.5935550935550935,Offensive +0.966,0.0,0.0,0.0,0.5935550935550935,Offensive +0.967,0.0,0.0,0.0,0.5935550935550935,Offensive +0.968,0.0,0.0,0.0,0.5935550935550935,Offensive +0.969,0.0,0.0,0.0,0.5935550935550935,Offensive +0.97,0.0,0.0,0.0,0.5935550935550935,Offensive +0.971,0.0,0.0,0.0,0.5935550935550935,Offensive +0.972,0.0,0.0,0.0,0.5935550935550935,Offensive +0.973,0.0,0.0,0.0,0.5935550935550935,Offensive +0.974,0.0,0.0,0.0,0.5935550935550935,Offensive +0.975,0.0,0.0,0.0,0.5935550935550935,Offensive +0.976,0.0,0.0,0.0,0.5935550935550935,Offensive +0.977,0.0,0.0,0.0,0.5935550935550935,Offensive +0.978,0.0,0.0,0.0,0.5935550935550935,Offensive +0.979,0.0,0.0,0.0,0.5935550935550935,Offensive +0.98,0.0,0.0,0.0,0.5935550935550935,Offensive +0.981,0.0,0.0,0.0,0.5935550935550935,Offensive +0.982,0.0,0.0,0.0,0.5935550935550935,Offensive +0.983,0.0,0.0,0.0,0.5935550935550935,Offensive +0.984,0.0,0.0,0.0,0.5935550935550935,Offensive +0.985,0.0,0.0,0.0,0.5935550935550935,Offensive +0.986,0.0,0.0,0.0,0.5935550935550935,Offensive +0.987,0.0,0.0,0.0,0.5935550935550935,Offensive +0.988,0.0,0.0,0.0,0.5935550935550935,Offensive +0.989,0.0,0.0,0.0,0.5935550935550935,Offensive +0.99,0.0,0.0,0.0,0.5935550935550935,Offensive +0.991,0.0,0.0,0.0,0.5935550935550935,Offensive +0.992,0.0,0.0,0.0,0.5935550935550935,Offensive +0.993,0.0,0.0,0.0,0.5935550935550935,Offensive +0.994,0.0,0.0,0.0,0.5935550935550935,Offensive +0.995,0.0,0.0,0.0,0.5935550935550935,Offensive +0.996,0.0,0.0,0.0,0.5935550935550935,Offensive +0.997,0.0,0.0,0.0,0.5935550935550935,Offensive +0.998,0.0,0.0,0.0,0.5935550935550935,Offensive +0.999,0.0,0.0,0.0,0.5935550935550935,Offensive +1.0,0.0,0.0,0.0,0.5935550935550935,Offensive +0.0,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.001,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.002,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.003,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.004,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.005,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.006,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.007,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.008,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.009000000000000001,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.01,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.011,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.012,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.013000000000000001,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.014,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.015,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.016,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.017,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.018000000000000002,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.019,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.02,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.021,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.022,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.023,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.024,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.025,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.026000000000000002,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.027,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.028,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.029,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.03,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.031,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.032,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.033,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.034,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.035,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.036000000000000004,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.037,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.038,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.039,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.04,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.041,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.042,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.043000000000000003,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.044,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.045,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.046,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.047,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.048,0.28482328482328484,1.0,0.44336569579288027,0.28482328482328484,Normal +0.049,0.2851196670135276,1.0,0.4437246963562753,0.28586278586278585,Normal +0.05,0.28526808953669963,1.0,0.44390441474281084,0.28638253638253636,Normal +0.051000000000000004,0.28526808953669963,1.0,0.44390441474281084,0.28638253638253636,Normal +0.052000000000000005,0.28526808953669963,1.0,0.44390441474281084,0.28638253638253636,Normal +0.053,0.2860125260960334,1.0,0.4448051948051948,0.288981288981289,Normal +0.054,0.2864610559330894,1.0,0.4453474197480699,0.2905405405405405,Normal +0.055,0.287061288632792,1.0,0.44607244607244606,0.2926195426195426,Normal +0.056,0.28736234923964343,1.0,0.44643584521384927,0.29365904365904366,Normal +0.057,0.2879663688912244,1.0,0.44716442268461853,0.29573804573804574,Normal +0.058,0.28842105263157897,1.0,0.4477124183006536,0.2972972972972973,Normal +0.059000000000000004,0.2893347412882788,1.0,0.4488124488124488,0.3004158004158004,Normal +0.06,0.28948758584257794,1.0,0.44899631298648096,0.3009355509355509,Normal +0.061,0.2897937599153887,1.0,0.44936449364493647,0.301975051975052,Normal +0.062,0.29040805511393747,1.0,0.45010266940451743,0.30405405405405406,Normal +0.063,0.2913343965975545,1.0,0.4512144915603129,0.30717255717255715,Normal +0.064,0.2922666666666667,1.0,0.4523318200577796,0.3102910602910603,Normal +0.065,0.29251336898395724,0.9981751824817519,0.45244003308519437,0.31185031185031187,Normal +0.066,0.2929184549356223,0.9963503649635036,0.4527363184079602,0.31392931392931395,Normal +0.067,0.29301075268817206,0.9945255474452555,0.4526578073089701,0.31496881496881496,Normal +0.068,0.29380053908355797,0.9945255474452555,0.45359966708281313,0.31756756756756754,Normal +0.069,0.2942764578833693,0.9945255474452555,0.45416666666666666,0.3191268191268191,Normal +0.07,0.29443544030253915,0.9945255474452555,0.4543559816590246,0.3196465696465696,Normal +0.07100000000000001,0.2949134199134199,0.9945255474452555,0.4549248747913189,0.3212058212058212,Normal +0.07200000000000001,0.2958740499457112,0.9945255474452555,0.4560669456066946,0.32432432432432434,Normal +0.073,0.29581294181620443,0.9927007299270073,0.45580226225387516,0.32484407484407485,Normal +0.074,0.2966194111232279,0.9927007299270073,0.45675902602854745,0.32744282744282743,Normal +0.075,0.29694323144104806,0.9927007299270073,0.45714285714285713,0.3284823284823285,Normal +0.076,0.2971054068814855,0.9927007299270073,0.4573350147120639,0.329002079002079,Normal +0.077,0.2973713033953998,0.9908759124087592,0.45745577085088457,0.3305613305613306,Normal +0.078,0.29769736842105265,0.9908759124087592,0.45784148397976393,0.3316008316008316,Normal +0.079,0.2981878088962109,0.9908759124087592,0.45842127479949346,0.33316008316008316,Normal +0.08,0.29812981298129815,0.9890510948905109,0.45815722738799664,0.33367983367983367,Normal +0.081,0.29845814977973567,0.9890510948905109,0.45854483925549916,0.33471933471933474,Normal +0.082,0.298787210584344,0.9890510948905109,0.45893310753598643,0.33575883575883575,Normal +0.083,0.29911699779249445,0.9890510948905109,0.45932203389830506,0.3367983367983368,Normal +0.084,0.2992821645499724,0.9890510948905109,0.4595167443832132,0.3373180873180873,Normal +0.085,0.2997787610619469,0.9890510948905109,0.4601018675721562,0.3388773388773389,Normal +0.08600000000000001,0.3004434589800443,0.9890510948905109,0.4608843537414966,0.340956340956341,Normal +0.08700000000000001,0.30061009428729896,0.9890510948905109,0.46108039132284134,0.3414760914760915,Normal +0.088,0.30061009428729896,0.9890510948905109,0.46108039132284134,0.3414760914760915,Normal +0.089,0.3009439200444198,0.9890510948905109,0.4614729672200937,0.3425155925155925,Normal +0.09,0.3010033444816054,0.9854014598540146,0.46114432109308284,0.34407484407484407,Normal +0.091,0.3018446059250978,0.9854014598540146,0.4621309370988447,0.34667359667359665,Normal +0.092,0.30201342281879195,0.9854014598540146,0.4623287671232877,0.3471933471933472,Normal +0.093,0.3027574563871694,0.9817518248175182,0.46279569892473116,0.3508316008316008,Normal +0.094,0.30287648054145516,0.9799270072992701,0.4627315812149935,0.3518711018711019,Normal +0.095,0.30338983050847457,0.9799270072992701,0.4633304572907679,0.35343035343035345,Normal +0.096,0.3040770101925255,0.9799270072992701,0.4641313742437338,0.35550935550935553,Normal +0.097,0.304421768707483,0.9799270072992701,0.46453287197231835,0.35654885654885654,Normal +0.098,0.3039772727272727,0.9762773722627737,0.46360485268630847,0.35654885654885654,Normal +0.099,0.30449630051223675,0.9762773722627737,0.4642082429501085,0.3581081081081081,Normal +0.1,0.3050171037628278,0.9762773722627737,0.46481320590790615,0.3596673596673597,Normal +0.101,0.30549199084668194,0.9744525547445255,0.4651567944250871,0.36174636174636177,Normal +0.10200000000000001,0.30619266055045874,0.9744525547445255,0.46596858638743455,0.36382536382536385,Normal +0.10300000000000001,0.30689655172413793,0.9744525547445255,0.46678321678321677,0.3659043659043659,Normal +0.10400000000000001,0.3068508923431203,0.9726277372262774,0.4665207877461707,0.36642411642411643,Normal +0.105,0.3063583815028902,0.9671532846715328,0.46532045654082527,0.36694386694386694,Normal +0.106,0.30689056166763173,0.9671532846715328,0.46593406593406594,0.3685031185031185,Normal +0.107,0.3074245939675174,0.9671532846715328,0.4665492957746479,0.3700623700623701,Normal +0.108,0.3073794305636258,0.9653284671532847,0.46628470691934776,0.3705821205821206,Normal +0.109,0.30845481049562684,0.9653284671532847,0.4675209898365002,0.3737006237006237,Normal +0.11,0.30917592051431914,0.9653284671532847,0.468348826914564,0.37577962577962576,Normal +0.111,0.30927230046948356,0.9616788321167883,0.46802841918294846,0.37733887733887733,Normal +0.112,0.3098177542621987,0.9616788321167883,0.46865273454868833,0.3788981288981289,Normal +0.113,0.3101824602707475,0.9616788321167883,0.4690698709390298,0.3799376299376299,Normal +0.114,0.31091445427728615,0.9616788321167883,0.46990637539010255,0.382016632016632,Normal +0.115,0.3114657210401891,0.9616788321167883,0.4705357142857143,0.38357588357588357,Normal +0.116,0.3117960877296977,0.9598540145985401,0.47069351230425055,0.38513513513513514,Normal +0.117,0.31272294887039237,0.9598540145985401,0.4717488789237668,0.3877338877338877,Normal +0.11800000000000001,0.31305903398926654,0.958029197080292,0.47191011235955055,0.3892931392931393,Normal +0.11900000000000001,0.3132098027495517,0.9562043795620438,0.47185952273750564,0.3903326403326403,Normal +0.12,0.3137372525494901,0.9543795620437956,0.472234762979684,0.3924116424116424,Normal +0.121,0.31487055990367246,0.9543795620437956,0.47351742870076957,0.39553014553014554,Normal +0.122,0.3152501506931887,0.9543795620437956,0.4739465337562302,0.39656964656964655,Normal +0.123,0.316012084592145,0.9543795620437956,0.47480708125283705,0.39864864864864863,Normal +0.124,0.3162031438935913,0.9543795620437956,0.4750227066303361,0.3991683991683992,Normal +0.125,0.31658595641646486,0.9543795620437956,0.47545454545454546,0.4002079002079002,Normal +0.126,0.31696969696969696,0.9543795620437956,0.47588717015468607,0.40124740124740127,Normal +0.127,0.3177399756986634,0.9543795620437956,0.47675478577939834,0.40332640332640335,Normal +0.128,0.3183201460742544,0.9543795620437956,0.47740757644910997,0.40488565488565487,Normal +0.129,0.3188759926695174,0.9525547445255474,0.4778032036613272,0.40696465696465695,Normal +0.13,0.31924019607843135,0.9507299270072993,0.4779816513761468,0.4085239085239085,Normal +0.131,0.32002457002457,0.9507299270072993,0.4788602941176471,0.4106029106029106,Normal +0.132,0.32140653917334977,0.9507299270072993,0.48040571692023976,0.41424116424116425,Normal +0.133,0.3219814241486068,0.948905109489051,0.48081368469717983,0.41632016632016633,Normal +0.134,0.32338308457711445,0.948905109489051,0.48237476808905383,0.41995841995842,Normal +0.135,0.32398753894080995,0.948905109489051,0.4830469112865769,0.4215176715176715,Normal +0.136,0.32479700187382887,0.948905109489051,0.4839460214053048,0.4235966735966736,Normal +0.137,0.325187969924812,0.9470802919708029,0.4841417910447761,0.42515592515592515,Normal +0.138,0.3264150943396226,0.9470802919708029,0.4855004677268475,0.4282744282744283,Normal +0.139,0.3261964735516373,0.9452554744525548,0.4850187265917603,0.4282744282744283,Normal +0.14,0.3278481012658228,0.9452554744525548,0.4868421052631579,0.43243243243243246,Normal +0.14100000000000001,0.3284625158831004,0.9434306569343066,0.4872761545711593,0.43451143451143454,Normal +0.14200000000000002,0.3288804071246819,0.9434306569343066,0.4877358490566038,0.43555093555093555,Normal +0.14300000000000002,0.32950191570881227,0.9416058394160584,0.4881740775780511,0.4376299376299376,Normal +0.14400000000000002,0.32971246006389776,0.9416058394160584,0.48840511121628016,0.43814968814968813,Normal +0.145,0.33055733504164,0.9416058394160584,0.48933143669985774,0.4402286902286902,Normal +0.146,0.33183279742765276,0.9416058394160584,0.49072753209700426,0.44334719334719336,Normal +0.147,0.3318298969072165,0.9397810218978102,0.49047619047619045,0.44386694386694386,Normal +0.148,0.33247089262613194,0.9379562043795621,0.4909264565425024,0.44594594594594594,Normal +0.149,0.3333333333333333,0.9379562043795621,0.49186602870813395,0.448024948024948,Normal +0.15,0.33355048859934855,0.9343065693430657,0.49159865578492556,0.4495841995841996,Normal +0.151,0.3339856490541422,0.9343065693430657,0.4920711196540125,0.4506237006237006,Normal +0.152,0.33529796987557303,0.9343065693430657,0.49349397590361443,0.45374220374220375,Normal +0.153,0.3363994743758213,0.9343065693430657,0.49468599033816424,0.45634095634095634,Normal +0.154,0.33773087071240104,0.9343065693430657,0.49612403100775193,0.4594594594594595,Normal +0.155,0.3373015873015873,0.9306569343065694,0.49514563106796117,0.4594594594594595,Normal +0.156,0.33842070338420704,0.9306569343065694,0.49635036496350365,0.46205821205821207,Normal +0.157,0.3397734843437708,0.9306569343065694,0.4978038067349927,0.46517671517671516,Normal +0.158,0.34,0.9306569343065694,0.498046875,0.4656964656964657,Normal +0.159,0.3411371237458194,0.9306569343065694,0.49926578560939794,0.4682952182952183,Normal +0.16,0.3415941058271936,0.9306569343065694,0.4997550220480157,0.4693347193347193,Normal +0.161,0.34139784946236557,0.927007299270073,0.49901768172888017,0.4698544698544699,Normal +0.162,0.34097035040431267,0.9233576642335767,0.49803149606299213,0.4698544698544699,Normal +0.163,0.3425863236289777,0.9233576642335767,0.4997530864197531,0.4734927234927235,Normal +0.164,0.3430508474576271,0.9233576642335767,0.5002471576866041,0.47453222453222454,Normal +0.165,0.3435374149659864,0.9215328467153284,0.5004955401387512,0.4760914760914761,Normal +0.166,0.3447098976109215,0.9215328467153284,0.50173869846001,0.4786902286902287,Normal +0.167,0.3447332421340629,0.9197080291970803,0.5014925373134328,0.4792099792099792,Normal +0.168,0.34544208361891704,0.9197080291970803,0.5022421524663677,0.4807692307692308,Normal +0.169,0.345679012345679,0.9197080291970803,0.5024925224327019,0.4812889812889813,Normal +0.17,0.3463917525773196,0.9197080291970803,0.5032451323015477,0.48284823284823286,Normal +0.171,0.34686854783207155,0.9197080291970803,0.5037481259370314,0.4838877338877339,Normal +0.17200000000000001,0.34686854783207155,0.9197080291970803,0.5037481259370314,0.4838877338877339,Normal +0.17300000000000001,0.34758620689655173,0.9197080291970803,0.5045045045045045,0.48544698544698545,Normal +0.17400000000000002,0.347135955831608,0.9178832116788321,0.5037556334501753,0.48492723492723494,Normal +0.17500000000000002,0.34761575673807876,0.9178832116788321,0.5042606516290726,0.48596673596673595,Normal +0.176,0.3478561549100968,0.9178832116788321,0.5045135406218656,0.4864864864864865,Normal +0.177,0.3485793485793486,0.9178832116788321,0.5052737317930688,0.48804573804573803,Normal +0.178,0.34906315058986814,0.9178832116788321,0.5057817998994469,0.4890852390852391,Normal +0.179,0.34909596662030595,0.916058394160584,0.5055387713997986,0.4896049896049896,Normal +0.18,0.34933890048712596,0.916058394160584,0.5057934508816121,0.4901247401247401,Normal +0.181,0.35104895104895106,0.916058394160584,0.5075834175935288,0.49376299376299376,Normal +0.182,0.35178696566222845,0.916058394160584,0.5083544303797468,0.49532224532224534,Normal +0.183,0.3530239099859353,0.916058394160584,0.5096446700507614,0.4979209979209979,Normal +0.184,0.35352112676056335,0.916058394160584,0.5101626016260162,0.498960498960499,Normal +0.185,0.3545197740112994,0.916058394160584,0.5112016293279023,0.501039501039501,Normal +0.186,0.35456475583864117,0.9142335766423357,0.5109637939826619,0.5015592515592515,Normal +0.187,0.35511363636363635,0.9124087591240876,0.5112474437627812,0.5031185031185031,Normal +0.188,0.35561877667140823,0.9124087591240876,0.5117707267144319,0.5041580041580042,Normal +0.189,0.3566333808844508,0.9124087591240876,0.5128205128205128,0.5062370062370062,Normal +0.19,0.35842293906810035,0.9124087591240876,0.514668039114771,0.5098752598752598,Normal +0.191,0.3586800573888092,0.9124087591240876,0.5149330587023687,0.5103950103950103,Normal +0.192,0.35945363048166784,0.9124087591240876,0.5157297576070139,0.511954261954262,Normal +0.193,0.36023054755043227,0.9124087591240876,0.5165289256198347,0.5135135135135135,Normal +0.194,0.36080983369486624,0.9105839416058394,0.5168306576903159,0.5150727650727651,Normal +0.195,0.3615942028985507,0.9105839416058394,0.5176348547717843,0.5166320166320166,Normal +0.196,0.3639679066374909,0.9105839416058394,0.5200625325690463,0.5213097713097713,Normal +0.197,0.36449963476990505,0.9105839416058394,0.520605112154408,0.5223492723492723,Normal +0.198,0.3648351648351648,0.9087591240875912,0.5206481965499216,0.5233887733887734,Normal +0.199,0.36537050623624356,0.9087591240875912,0.521193092621664,0.5244282744282744,Normal +0.2,0.36470588235294116,0.9051094890510949,0.519916142557652,0.5239085239085239,Normal +0.201,0.36423841059602646,0.9032846715328468,0.519140010487677,0.5233887733887734,Normal +0.202,0.36330140014738393,0.8996350364963503,0.5175853018372704,0.5223492723492723,Normal +0.203,0.3649148778682457,0.8996350364963503,0.5192206424433913,0.5254677754677755,Normal +0.20400000000000001,0.36599851521900517,0.8996350364963503,0.5203166226912929,0.5275467775467776,Normal +0.20500000000000002,0.3657992565055762,0.8978102189781022,0.5198098256735341,0.5275467775467776,Normal +0.20600000000000002,0.36724008975317873,0.8959854014598541,0.5209549071618037,0.5306652806652806,Normal +0.20700000000000002,0.36724008975317873,0.8959854014598541,0.5209549071618037,0.5306652806652806,Normal +0.20800000000000002,0.36623963828183875,0.8868613138686131,0.5184,0.5306652806652806,Normal +0.209,0.36659108087679515,0.885036496350365,0.518439337252806,0.5317047817047817,Normal +0.21,0.3675018982536067,0.8832116788321168,0.5190348525469168,0.5337837837837838,Normal +0.211,0.36870229007633587,0.8813868613138686,0.5199138858988159,0.5363825363825364,Normal +0.212,0.3688650306748466,0.8777372262773723,0.519438444924406,0.5374220374220374,Normal +0.213,0.369431643625192,0.8777372262773723,0.52,0.5384615384615384,Normal +0.214,0.37057010785824346,0.8777372262773723,0.5211267605633803,0.5405405405405406,Normal +0.215,0.3720030935808198,0.8777372262773723,0.5225420966865834,0.5431392931392931,Normal +0.216,0.37325038880248834,0.8759124087591241,0.5234460196292258,0.5457380457380457,Normal +0.217,0.37412314886983633,0.8759124087591241,0.5243036592026216,0.5472972972972973,Normal +0.218,0.3745113369820172,0.8740875912408759,0.5243568691844553,0.5483367983367984,Normal +0.219,0.37470542026708564,0.8704379562043796,0.5238879736408567,0.5493762993762994,Normal +0.22,0.37559055118110235,0.8704379562043796,0.5247524752475248,0.5509355509355509,Normal +0.221,0.3767772511848341,0.8704379562043796,0.525909592061742,0.553014553014553,Normal +0.222,0.3774781919111816,0.8686131386861314,0.5262576008844666,0.5545738045738046,Normal +0.223,0.37708830548926014,0.864963503649635,0.525207756232687,0.5545738045738046,Normal +0.224,0.37859424920127793,0.864963503649635,0.5266666666666666,0.5571725571725572,Normal +0.225,0.3784,0.8631386861313869,0.5261401557285873,0.5571725571725572,Normal +0.226,0.3782051282051282,0.8613138686131386,0.5256124721603563,0.5571725571725572,Normal +0.227,0.3791164658634538,0.8613138686131386,0.5264919129949804,0.5587318087318087,Normal +0.228,0.37953263497179696,0.8594890510948905,0.5265511458915595,0.5597713097713097,Normal +0.229,0.3799514955537591,0.8576642335766423,0.5266106442577031,0.5608108108108109,Normal +0.23,0.38118410381184104,0.8576642335766423,0.527793374508703,0.5628898128898129,Normal +0.231,0.3830480847595762,0.8576642335766423,0.5295774647887324,0.566008316008316,Normal +0.232,0.3825448613376835,0.8558394160583942,0.5287485907553551,0.5654885654885655,Normal +0.233,0.3831699346405229,0.8558394160583942,0.5293453724604966,0.5665280665280665,Normal +0.234,0.38569078947368424,0.8558394160583942,0.5317460317460317,0.5706860706860707,Normal +0.23500000000000001,0.38632619439868204,0.8558394160583942,0.5323496027241771,0.5717255717255717,Normal +0.23600000000000002,0.3872832369942196,0.8558394160583942,0.5332575326890279,0.5732848232848233,Normal +0.23700000000000002,0.3882450331125828,0.8558394160583942,0.5341685649202733,0.5748440748440748,Normal +0.23800000000000002,0.3877381938690969,0.8540145985401459,0.5333333333333333,0.5743243243243243,Normal +0.23900000000000002,0.3880597014925373,0.8540145985401459,0.5336374002280502,0.5748440748440748,Normal +0.24,0.39,0.8540145985401459,0.5354691075514875,0.577962577962578,Normal +0.241,0.38981636060100167,0.8521897810218978,0.5349369988545246,0.577962577962578,Normal +0.242,0.3899581589958159,0.8503649635036497,0.5347102696500287,0.5784823284823285,Normal +0.243,0.3901006711409396,0.8485401459854015,0.5344827586206896,0.579002079002079,Normal +0.244,0.3920741989881956,0.8485401459854015,0.5363321799307958,0.5821205821205822,Normal +0.245,0.39156118143459917,0.8467153284671532,0.5354875937680323,0.5816008316008316,Normal +0.246,0.3925549915397631,0.8467153284671532,0.5364161849710982,0.5831600831600832,Normal +0.247,0.39322033898305087,0.8467153284671532,0.5370370370370371,0.5841995841995842,Normal +0.248,0.39437819420783643,0.8448905109489051,0.537746806039489,0.5862785862785863,Normal +0.249,0.39437819420783643,0.8448905109489051,0.537746806039489,0.5862785862785863,Normal +0.25,0.39538855678906915,0.8448905109489051,0.5386852821407795,0.5878378378378378,Normal +0.251,0.3964041095890411,0.8448905109489051,0.5396270396270396,0.5893970893970893,Normal +0.252,0.39724849527085127,0.843065693430657,0.5400350672121567,0.590956340956341,Normal +0.253,0.3986194995685936,0.843065693430657,0.5413005272407733,0.593035343035343,Normal +0.254,0.39965397923875434,0.843065693430657,0.5422535211267606,0.5945945945945946,Normal +0.255,0.402088772845953,0.843065693430657,0.54449027695934,0.5982328482328483,Normal +0.256,0.4034934497816594,0.843065693430657,0.5457767277023036,0.6003118503118503,Normal +0.257,0.4047410008779631,0.8412408759124088,0.5465323058684054,0.6023908523908524,Normal +0.258,0.40492957746478875,0.8394160583941606,0.5463182897862233,0.6029106029106029,Normal +0.259,0.40707964601769914,0.8394160583941606,0.5482717520858165,0.606029106029106,Normal +0.26,0.4078014184397163,0.8394160583941606,0.548926014319809,0.6070686070686071,Normal +0.261,0.4092526690391459,0.8394160583941606,0.5502392344497608,0.6091476091476091,Normal +0.262,0.4094558429973238,0.8375912408759124,0.5500299580587178,0.6096673596673596,Normal +0.263,0.4120287253141831,0.8375912408759124,0.5523465703971119,0.6133056133056133,Normal +0.264,0.41298467087466184,0.8357664233576643,0.5528062764031382,0.6148648648648649,Normal +0.265,0.4128274616079494,0.833941605839416,0.5522658610271903,0.6148648648648649,Normal +0.266,0.414324569356301,0.833941605839416,0.5536038764385222,0.6169438669438669,Normal +0.267,0.414324569356301,0.833941605839416,0.5536038764385222,0.6169438669438669,Normal +0.268,0.41621129326047357,0.833941605839416,0.5552855407047388,0.6195426195426196,Normal +0.269,0.416970802919708,0.833941605839416,0.5559610705596107,0.6205821205821206,Normal +0.27,0.41796516956920254,0.8321167883211679,0.5564368517388651,0.6221413721413721,Normal +0.271,0.41834862385321103,0.8321167883211679,0.5567765567765568,0.6226611226611226,Normal +0.272,0.41858325666973323,0.8302919708029197,0.5565749235474006,0.6231808731808732,Normal +0.273,0.4188191881918819,0.8284671532846716,0.5563725490196079,0.6237006237006237,Normal +0.274,0.41905642923219244,0.8266423357664233,0.5561694290976059,0.6242203742203742,Normal +0.275,0.41899441340782123,0.8211678832116789,0.5548705302096177,0.6247401247401247,Normal +0.276,0.4197761194029851,0.8211678832116789,0.5555555555555556,0.6257796257796258,Normal +0.277,0.4205607476635514,0.8211678832116789,0.5562422744128553,0.6268191268191268,Normal +0.278,0.42213883677298314,0.8211678832116789,0.5576208178438662,0.6288981288981289,Normal +0.279,0.4231856738925542,0.8193430656934306,0.5581106277190802,0.6304573804573804,Normal +0.28,0.4235849056603774,0.8193430656934306,0.5584577114427861,0.6309771309771309,Normal +0.281,0.4251893939393939,0.8193430656934306,0.559850374064838,0.6330561330561331,Normal +0.28200000000000003,0.42450142450142453,0.8156934306569343,0.5584009993753903,0.6325363825363826,Normal +0.28300000000000003,0.42395437262357416,0.8138686131386861,0.5575,0.632016632016632,Normal +0.28400000000000003,0.42406876790830944,0.8102189781021898,0.5567398119122257,0.6325363825363826,Normal +0.28500000000000003,0.4247363374880153,0.8083941605839416,0.556882463859208,0.6335758835758836,Normal +0.28600000000000003,0.42459173871277617,0.8065693430656934,0.5563247325361863,0.6335758835758836,Normal +0.28700000000000003,0.4274661508704062,0.8065693430656934,0.5587863463969659,0.6372141372141372,Normal +0.28800000000000003,0.42857142857142855,0.8047445255474452,0.559289790741915,0.6387733887733887,Normal +0.289,0.43052837573385516,0.8029197080291971,0.5605095541401274,0.6413721413721414,Normal +0.29,0.43137254901960786,0.8029197080291971,0.5612244897959183,0.6424116424116424,Normal +0.291,0.43222003929273084,0.8029197080291971,0.561941251596424,0.6434511434511434,Normal +0.292,0.43435340572556763,0.8029197080291971,0.5637411915438821,0.646049896049896,Normal +0.293,0.43465346534653465,0.801094890510949,0.5635430038510911,0.6465696465696466,Normal +0.294,0.43508424182358774,0.801094890510949,0.5639049454078355,0.6470893970893971,Normal +0.295,0.43508424182358774,0.801094890510949,0.5639049454078355,0.6470893970893971,Normal +0.296,0.43452380952380953,0.7992700729927007,0.5629820051413882,0.6465696465696466,Normal +0.297,0.4362549800796813,0.7992700729927007,0.5644329896907216,0.6486486486486487,Normal +0.298,0.4362549800796813,0.7992700729927007,0.5644329896907216,0.6486486486486487,Normal +0.299,0.4364364364364364,0.7956204379562044,0.5636716224951519,0.6491683991683992,Normal +0.3,0.43850806451612906,0.7937956204379562,0.564935064935065,0.6517671517671517,Normal +0.301,0.4389505549949546,0.7937956204379562,0.5653021442495126,0.6522869022869023,Normal +0.302,0.43882709807886755,0.791970802919708,0.564736499674691,0.6522869022869023,Normal +0.303,0.4380081300813008,0.7864963503649635,0.5626631853785901,0.6517671517671517,Normal +0.304,0.43845371312309256,0.7864963503649635,0.5630306988896147,0.6522869022869023,Normal +0.305,0.44069529652351735,0.7864963503649635,0.564875491480996,0.6548856548856549,Normal +0.306,0.4419321685508736,0.7846715328467153,0.5654174884944115,0.6564449064449065,Normal +0.307,0.44123711340206184,0.781021897810219,0.5638998682476943,0.6559251559251559,Normal +0.308,0.44111570247933884,0.7791970802919708,0.5633245382585752,0.6559251559251559,Normal +0.309,0.4415718717683557,0.7791970802919708,0.5636963696369637,0.6564449064449065,Normal +0.31,0.4440961337513062,0.7755474452554745,0.5647840531561462,0.6595634095634095,Normal +0.311,0.4468980021030494,0.7755474452554745,0.5670446964643095,0.6626819126819127,Normal +0.312,0.44714587737843553,0.7718978102189781,0.5662650602409639,0.6632016632016632,Normal +0.313,0.44893617021276594,0.7700729927007299,0.5672043010752689,0.6652806652806653,Normal +0.314,0.45085470085470086,0.7700729927007299,0.568733153638814,0.6673596673596673,Normal +0.315,0.45230439442658094,0.7700729927007299,0.5698852126941256,0.668918918918919,Normal +0.316,0.45376344086021503,0.7700729927007299,0.571041948579161,0.6704781704781705,Normal +0.317,0.4542518837459634,0.7700729927007299,0.5714285714285714,0.670997920997921,Normal +0.318,0.45415318230852214,0.7682481751824818,0.5708474576271186,0.670997920997921,Normal +0.319,0.45454545454545453,0.7664233576642335,0.5706521739130435,0.6715176715176715,Normal +0.32,0.4544468546637744,0.7645985401459854,0.5700680272108843,0.6715176715176715,Normal +0.321,0.4543478260869565,0.7627737226277372,0.5694822888283378,0.6715176715176715,Normal +0.322,0.45633187772925765,0.7627737226277372,0.5710382513661202,0.6735966735966736,Normal +0.323,0.4583333333333333,0.7627737226277372,0.5726027397260274,0.6756756756756757,Normal +0.324,0.4602649006622517,0.7609489051094891,0.5735900962861072,0.6777546777546778,Normal +0.325,0.46179401993355484,0.7609489051094891,0.5747760165403171,0.6793139293139293,Normal +0.326,0.463768115942029,0.7591240875912408,0.5757785467128028,0.6813929313929314,Normal +0.327,0.46368715083798884,0.7572992700729927,0.5751905751905751,0.6813929313929314,Normal +0.328,0.46352413019079686,0.7536496350364964,0.5740097289784573,0.6813929313929314,Normal +0.329,0.4645669291338583,0.7536496350364964,0.5748086290883786,0.6824324324324325,Normal +0.33,0.4644870349492672,0.7518248175182481,0.5742160278745645,0.6824324324324325,Normal +0.331,0.46485260770975056,0.7481751824817519,0.5734265734265734,0.682952182952183,Normal +0.332,0.4642451759364359,0.7463503649635036,0.5724282715185445,0.6824324324324325,Normal +0.333,0.4640820980615735,0.7427007299270073,0.5712280701754386,0.6824324324324325,Normal +0.334,0.4645308924485126,0.7408759124087592,0.5710267229254571,0.682952182952183,Normal +0.335,0.4661308840413318,0.7408759124087592,0.5722339675828048,0.6845114345114345,Normal +0.336,0.4682814302191465,0.7408759124087592,0.5738515901060071,0.6865904365904366,Normal +0.337,0.4682814302191465,0.7408759124087592,0.5738515901060071,0.6865904365904366,Normal +0.338,0.46882217090069284,0.7408759124087592,0.5742574257425742,0.6871101871101871,Normal +0.339,0.4699074074074074,0.7408759124087592,0.5750708215297451,0.6881496881496881,Normal +0.34,0.47038327526132406,0.7390510948905109,0.5748757984386089,0.6886694386694386,Normal +0.341,0.47038327526132406,0.7390510948905109,0.5748757984386089,0.6886694386694386,Normal +0.342,0.47202797202797203,0.7390510948905109,0.5761024182076814,0.6902286902286903,Normal +0.343,0.47202797202797203,0.7390510948905109,0.5761024182076814,0.6902286902286903,Normal +0.34400000000000003,0.4725787631271879,0.7390510948905109,0.5765124555160143,0.6907484407484408,Normal +0.34500000000000003,0.4718969555035129,0.7354014598540146,0.5748930099857347,0.6902286902286903,Normal +0.34600000000000003,0.47300469483568075,0.7354014598540146,0.5757142857142857,0.6912681912681913,Normal +0.34700000000000003,0.47238542890716806,0.7335766423357665,0.5746962115796997,0.6907484407484408,Normal +0.34800000000000003,0.4728132387706856,0.7299270072992701,0.5738880918220947,0.6912681912681913,Normal +0.34900000000000003,0.4727488151658768,0.7281021897810219,0.5732758620689655,0.6912681912681913,Normal +0.35000000000000003,0.47330960854092524,0.7281021897810219,0.573687994248742,0.6917879417879418,Normal +0.35100000000000003,0.47387173396674587,0.7281021897810219,0.5741007194244604,0.6923076923076923,Normal +0.352,0.4731823599523242,0.7244525547445255,0.5724585436193222,0.6917879417879418,Normal +0.353,0.47192353643966545,0.7208029197080292,0.5703971119133574,0.6907484407484408,Normal +0.354,0.4724220623501199,0.718978102189781,0.5701881331403763,0.6912681912681913,Normal +0.355,0.4746376811594203,0.7171532846715328,0.5712209302325582,0.6933471933471933,Normal +0.356,0.47694174757281554,0.7171532846715328,0.5728862973760933,0.6954261954261954,Normal +0.357,0.47868453105968334,0.7171532846715328,0.5741417092768444,0.696985446985447,Normal +0.358,0.4785801713586291,0.7135036496350365,0.5728937728937729,0.696985446985447,Normal +0.359,0.4784747847478475,0.7098540145985401,0.5716385011021308,0.696985446985447,Normal +0.36,0.4783683559950556,0.7062043795620438,0.5703758290346352,0.696985446985447,Normal +0.361,0.48009950248756217,0.7043795620437956,0.5710059171597633,0.6985446985446986,Normal +0.362,0.4818976279650437,0.7043795620437956,0.5722757598220904,0.7001039501039501,Normal +0.363,0.48120300751879697,0.7007299270072993,0.5705794947994056,0.6995841995841996,Normal +0.364,0.4811083123425693,0.6970802919708029,0.5692995529061102,0.6995841995841996,Normal +0.365,0.4817150063051702,0.6970802919708029,0.56972408650261,0.7001039501039501,Normal +0.366,0.48227848101265824,0.6952554744525548,0.5695067264573991,0.7006237006237006,Normal +0.367,0.4816223067173637,0.6934306569343066,0.5684367988032909,0.7001039501039501,Normal +0.368,0.48223350253807107,0.6934306569343066,0.5688622754491018,0.7006237006237006,Normal +0.369,0.4833759590792839,0.6897810218978102,0.5684210526315789,0.7016632016632016,Normal +0.37,0.4839537869062901,0.6879562043795621,0.5681989449886963,0.7021829521829522,Normal +0.371,0.4845758354755784,0.6879562043795621,0.5686274509803921,0.7027027027027027,Normal +0.372,0.48516129032258065,0.6861313868613139,0.5684051398337112,0.7032224532224532,Normal +0.373,0.4810951760104302,0.6733576642335767,0.5612167300380229,0.7001039501039501,Normal +0.374,0.4816753926701571,0.6715328467153284,0.5609756097560976,0.7006237006237006,Normal +0.375,0.4835742444152431,0.6715328467153284,0.5622612681436211,0.7021829521829522,Normal +0.376,0.48353096179183136,0.6697080291970803,0.5615914307574599,0.7021829521829522,Normal +0.377,0.48408488063660476,0.666058394160584,0.5606758832565284,0.7027027027027027,Normal +0.378,0.48468708388814913,0.6642335766423357,0.5604311008468053,0.7032224532224532,Normal +0.379,0.48468708388814913,0.6642335766423357,0.5604311008468053,0.7032224532224532,Normal +0.38,0.48533333333333334,0.6642335766423357,0.5608628659476117,0.7037422037422038,Normal +0.381,0.4839572192513369,0.6605839416058394,0.558641975308642,0.7027027027027027,Normal +0.382,0.48460508701472554,0.6605839416058394,0.5590733590733591,0.7032224532224532,Normal +0.383,0.48655913978494625,0.6605839416058394,0.5603715170278638,0.7047817047817048,Normal +0.384,0.48846675712347354,0.656934306569343,0.5603112840466926,0.7063409563409564,Normal +0.385,0.4884353741496599,0.6551094890510949,0.5596258768511302,0.7063409563409564,Normal +0.386,0.48840381991814463,0.6532846715328468,0.5589383294301327,0.7063409563409564,Normal +0.387,0.48700410396716826,0.6496350364963503,0.5566849100860047,0.7053014553014553,Normal +0.388,0.489010989010989,0.6496350364963503,0.5579937304075235,0.7068607068607069,Normal +0.389,0.48830811554332876,0.6478102189781022,0.5568627450980392,0.7063409563409564,Normal +0.39,0.4889502762430939,0.6459854014598541,0.5566037735849056,0.7068607068607069,Normal +0.391,0.4903047091412742,0.6459854014598541,0.5574803149606299,0.7079002079002079,Normal +0.392,0.49303621169916434,0.6459854014598541,0.5592417061611374,0.7099792099792099,Normal +0.393,0.49303621169916434,0.6459854014598541,0.5592417061611374,0.7099792099792099,Normal +0.394,0.49303621169916434,0.6459854014598541,0.5592417061611374,0.7099792099792099,Normal +0.395,0.4957983193277311,0.6459854014598541,0.561014263074485,0.7120582120582121,Normal +0.396,0.4964936886395512,0.6459854014598541,0.5614591593973037,0.7125779625779626,Normal +0.397,0.4964936886395512,0.6459854014598541,0.5614591593973037,0.7125779625779626,Normal +0.398,0.4971830985915493,0.6441605839416058,0.56120826709062,0.7130977130977131,Normal +0.399,0.49787835926449786,0.6423357664233577,0.5609561752988048,0.7136174636174636,Normal +0.4,0.5007112375533428,0.6423357664233577,0.5627498001598721,0.7156964656964657,Normal +0.401,0.502865329512894,0.6405109489051095,0.5634028892455859,0.7172557172557172,Normal +0.402,0.503586800573888,0.6405109489051095,0.563855421686747,0.7177754677754677,Normal +0.403,0.5021645021645021,0.635036496350365,0.5608380338436745,0.7167359667359667,Normal +0.404,0.5028985507246376,0.6332116788321168,0.5605815831987075,0.7172557172557172,Normal +0.405,0.501453488372093,0.6295620437956204,0.558252427184466,0.7162162162162162,Normal +0.406,0.5007299270072992,0.6259124087591241,0.5563665855636658,0.7156964656964657,Normal +0.40700000000000003,0.5029411764705882,0.6240875912408759,0.5570032573289903,0.7172557172557172,Normal +0.40800000000000003,0.5059171597633136,0.6240875912408759,0.5588235294117647,0.7193347193347194,Normal +0.40900000000000003,0.5051851851851852,0.6222627737226277,0.5576451349141456,0.7188149688149689,Normal +0.41000000000000003,0.5052005943536404,0.6204379562043796,0.556920556920557,0.7188149688149689,Normal +0.41100000000000003,0.5059880239520959,0.6167883211678832,0.555921052631579,0.7193347193347194,Normal +0.41200000000000003,0.5082956259426847,0.614963503649635,0.5565648224607762,0.7208939708939709,Normal +0.41300000000000003,0.5098634294385432,0.6131386861313869,0.5567522783761392,0.7219334719334719,Normal +0.41400000000000003,0.5098934550989346,0.6113138686131386,0.5560165975103735,0.7219334719334719,Normal +0.41500000000000004,0.5091743119266054,0.6076642335766423,0.5540765391014975,0.7214137214137214,Normal +0.41600000000000004,0.5123456790123457,0.6058394160583942,0.5551839464882943,0.7234927234927235,Normal +0.417,0.5116279069767442,0.6021897810218978,0.5532271584241408,0.722972972972973,Normal +0.418,0.5124610591900312,0.6003649635036497,0.5529411764705883,0.7234927234927235,Normal +0.419,0.5109717868338558,0.5948905109489051,0.5497470489038786,0.7224532224532224,Normal +0.42,0.5110410094637224,0.5912408759124088,0.5482233502538071,0.7224532224532224,Normal +0.421,0.5135135135135135,0.5894160583941606,0.5488530161427357,0.724012474012474,Normal +0.422,0.5159744408945687,0.5894160583941606,0.5502555366269165,0.7255717255717256,Normal +0.423,0.5176848874598071,0.5875912408759124,0.5504273504273505,0.7266112266112266,Normal +0.424,0.5194174757281553,0.5857664233576643,0.5506003430531733,0.7276507276507277,Normal +0.425,0.5187601957585645,0.5802919708029197,0.5478036175710594,0.7271309771309772,Normal +0.426,0.5180327868852459,0.5766423357664233,0.5457685664939551,0.7266112266112266,Normal +0.427,0.5164473684210527,0.572992700729927,0.5432525951557093,0.7255717255717256,Normal +0.428,0.5140961857379768,0.5656934306569343,0.5386620330147698,0.724012474012474,Normal +0.429,0.515,0.5638686131386861,0.5383275261324042,0.7245322245322245,Normal +0.43,0.5150501672240803,0.5620437956204379,0.537521815008726,0.7245322245322245,Normal +0.431,0.5151006711409396,0.5602189781021898,0.5367132867132867,0.7245322245322245,Normal +0.432,0.5142857142857142,0.5583941605839416,0.5354330708661418,0.724012474012474,Normal +0.433,0.5161290322580645,0.5547445255474452,0.534740545294635,0.725051975051975,Normal +0.434,0.5161839863713799,0.5529197080291971,0.533920704845815,0.725051975051975,Normal +0.435,0.5163511187607573,0.5474452554744526,0.5314437555358724,0.725051975051975,Normal +0.436,0.5190311418685121,0.5474452554744526,0.5328596802841918,0.7266112266112266,Normal +0.437,0.5217391304347826,0.5474452554744526,0.5342831700801425,0.7281704781704782,Normal +0.438,0.5236427320490368,0.5456204379562044,0.5344057193923145,0.7292099792099792,Normal +0.439,0.523725834797891,0.5437956204379562,0.5335720680393913,0.7292099792099792,Normal +0.44,0.5229681978798587,0.5401459854014599,0.5314183123877917,0.7286902286902287,Normal +0.441,0.5221238938053098,0.5383211678832117,0.5300988319856245,0.7281704781704782,Normal +0.442,0.5223613595706619,0.5328467153284672,0.5275519421860885,0.7281704781704782,Normal +0.443,0.5197841726618705,0.5273722627737226,0.5235507246376812,0.7266112266112266,Normal +0.444,0.5226860254083484,0.5255474452554745,0.5241128298453139,0.7281704781704782,Normal +0.445,0.5256410256410257,0.5237226277372263,0.5246800731261426,0.7297297297297297,Normal +0.446,0.5266055045871559,0.5237226277372263,0.52516010978957,0.7302494802494802,Normal +0.447,0.525830258302583,0.5200729927007299,0.5229357798165137,0.7297297297297297,Normal +0.448,0.5268022181146026,0.5200729927007299,0.5234159779614325,0.7302494802494802,Normal +0.449,0.5269016697588126,0.5182481751824818,0.5225390984360626,0.7302494802494802,Normal +0.45,0.525233644859813,0.5127737226277372,0.5189289012003694,0.7292099792099792,Normal +0.451,0.5281954887218046,0.5127737226277372,0.5203703703703704,0.7307692307692307,Normal +0.452,0.5284090909090909,0.5091240875912408,0.5185873605947955,0.7307692307692307,Normal +0.453,0.5276190476190477,0.5054744525547445,0.516309412861137,0.7302494802494802,Normal +0.454,0.5296367112810707,0.5054744525547445,0.5172735760971056,0.7312889812889813,Normal +0.455,0.5317919075144508,0.5036496350364964,0.5173383317713215,0.7323284823284824,Normal +0.456,0.5308880308880309,0.5018248175182481,0.5159474671669794,0.7318087318087318,Normal +0.457,0.5320388349514563,0.5,0.51552210724365,0.7323284823284824,Normal +0.458,0.5341130604288499,0.5,0.5164938737040528,0.7333679833679834,Normal +0.459,0.5325443786982249,0.4927007299270073,0.5118483412322274,0.7323284823284824,Normal +0.46,0.5316205533596838,0.4908759124087591,0.5104364326375711,0.7318087318087318,Normal +0.461,0.5318725099601593,0.48722627737226276,0.5085714285714286,0.7318087318087318,Normal +0.462,0.532,0.4854014598540146,0.5076335877862596,0.7318087318087318,Normal +0.463,0.533066132264529,0.4854014598540146,0.5081184336198663,0.7323284823284824,Normal +0.464,0.5362903225806451,0.4854014598540146,0.5095785440613027,0.7338877338877339,Normal +0.465,0.5353535353535354,0.4835766423357664,0.5081495685522531,0.7333679833679834,Normal +0.466,0.5376782077393075,0.48175182481751827,0.5081809432146295,0.7344074844074844,Normal +0.467,0.5422680412371134,0.47992700729927007,0.5091965150048403,0.7364864864864865,Normal +0.468,0.5424430641821946,0.4781021897810219,0.5082444228903976,0.7364864864864865,Normal +0.46900000000000003,0.5435684647302904,0.4781021897810219,0.5087378640776699,0.737006237006237,Normal +0.47000000000000003,0.54375,0.4762773722627737,0.5077821011673151,0.737006237006237,Normal +0.47100000000000003,0.54375,0.4762773722627737,0.5077821011673151,0.737006237006237,Normal +0.47200000000000003,0.5439330543933054,0.4744525547445255,0.50682261208577,0.737006237006237,Normal +0.47300000000000003,0.5462184873949579,0.4744525547445255,0.5078125,0.738045738045738,Normal +0.47400000000000003,0.547568710359408,0.4726277372262774,0.5073457394711067,0.7385654885654885,Normal +0.47500000000000003,0.548936170212766,0.4708029197080292,0.5068762278978389,0.739085239085239,Normal +0.47600000000000003,0.5491452991452992,0.46897810218978103,0.5059055118110236,0.739085239085239,Normal +0.47700000000000004,0.5517241379310345,0.46715328467153283,0.5059288537549407,0.7401247401247402,Normal +0.47800000000000004,0.5553145336225597,0.46715328467153283,0.5074331020812686,0.7416839916839917,Normal +0.47900000000000004,0.5567685589519651,0.4653284671532847,0.5069582504970179,0.7422037422037422,Normal +0.48,0.5629139072847682,0.4653284671532847,0.5094905094905094,0.7448024948024948,Normal +0.481,0.5644444444444444,0.4635036496350365,0.5090180360721442,0.7453222453222453,Normal +0.482,0.5669642857142857,0.4635036496350365,0.5100401606425703,0.7463617463617463,Normal +0.483,0.5662921348314607,0.45985401459854014,0.5075528700906344,0.7458419958419958,Normal +0.484,0.5665914221218962,0.458029197080292,0.5065590312815338,0.7458419958419958,Normal +0.485,0.5694760820045558,0.4562043795620438,0.5065856129685917,0.7468814968814969,Normal +0.486,0.5707762557077626,0.4562043795620438,0.5070993914807302,0.7474012474012474,Normal +0.487,0.5711009174311926,0.4543795620437956,0.5060975609756098,0.7474012474012474,Normal +0.488,0.5701149425287356,0.45255474452554745,0.5045778229908443,0.7468814968814969,Normal +0.489,0.5740740740740741,0.45255474452554745,0.5061224489795918,0.7484407484407485,Normal +0.49,0.5754060324825986,0.45255474452554745,0.5066394279877426,0.748960498960499,Normal +0.491,0.5747663551401869,0.4489051094890511,0.5040983606557377,0.7484407484407485,Normal +0.492,0.5778301886792453,0.4470802919708029,0.5041152263374485,0.7494802494802495,Normal +0.493,0.5781990521327014,0.44525547445255476,0.5030927835051546,0.7494802494802495,Normal +0.494,0.580335731414868,0.4416058394160584,0.5015544041450777,0.75,Normal +0.495,0.580335731414868,0.4416058394160584,0.5015544041450777,0.75,Normal +0.496,0.580335731414868,0.4416058394160584,0.5015544041450777,0.75,Normal +0.497,0.5835351089588378,0.4397810218978102,0.5015608740894901,0.751039501039501,Normal +0.498,0.5878048780487805,0.4397810218978102,0.5031315240083507,0.7525987525987526,Normal +0.499,0.5882352941176471,0.43795620437956206,0.502092050209205,0.7525987525987526,Normal +0.5,0.5872235872235873,0.43613138686131386,0.5005235602094241,0.752079002079002,Normal +0.501,0.5886699507389163,0.43613138686131386,0.5010482180293501,0.7525987525987526,Normal +0.502,0.5915841584158416,0.43613138686131386,0.5021008403361344,0.7536382536382537,Normal +0.503,0.5895522388059702,0.4324817518248175,0.49894736842105264,0.7525987525987526,Normal +0.504,0.5895522388059702,0.4324817518248175,0.49894736842105264,0.7525987525987526,Normal +0.505,0.5925,0.4324817518248175,0.5,0.7536382536382537,Normal +0.506,0.5914786967418546,0.4306569343065693,0.498416050686378,0.7531185031185031,Normal +0.507,0.5934343434343434,0.42883211678832117,0.4978813559322034,0.7536382536382537,Normal +0.508,0.5924050632911393,0.42700729927007297,0.49628844114528103,0.7531185031185031,Normal +0.509,0.5928753180661578,0.4251824817518248,0.4952178533475027,0.7531185031185031,Normal +0.51,0.5974358974358974,0.4251824817518248,0.4968017057569296,0.7546777546777547,Normal +0.511,0.5979381443298969,0.4233576642335766,0.49572649572649574,0.7546777546777547,Normal +0.512,0.5979381443298969,0.4233576642335766,0.49572649572649574,0.7546777546777547,Normal +0.513,0.6010362694300518,0.4233576642335766,0.49678800856531047,0.7557172557172557,Normal +0.514,0.6010362694300518,0.4233576642335766,0.49678800856531047,0.7557172557172557,Normal +0.515,0.6025974025974026,0.4233576642335766,0.49732047159699894,0.7562370062370062,Normal +0.516,0.6020942408376964,0.4197080291970803,0.4946236559139785,0.7557172557172557,Normal +0.517,0.6084656084656085,0.4197080291970803,0.49676025917926564,0.7577962577962578,Normal +0.518,0.6084656084656085,0.4197080291970803,0.49676025917926564,0.7577962577962578,Normal +0.519,0.6117021276595744,0.4197080291970803,0.49783549783549785,0.7588357588357588,Normal +0.52,0.6149732620320856,0.4197080291970803,0.49891540130151846,0.7598752598752598,Normal +0.521,0.6145552560646901,0.41605839416058393,0.4961915125136017,0.7593555093555093,Normal +0.522,0.6168478260869565,0.4142335766423358,0.49563318777292575,0.7598752598752598,Normal +0.523,0.6202185792349727,0.4142335766423358,0.49671772428884026,0.760914760914761,Normal +0.524,0.6236263736263736,0.4142335766423358,0.49780701754385964,0.761954261954262,Normal +0.525,0.6232686980609419,0.41058394160583944,0.49504950495049505,0.7614345114345115,Normal +0.526,0.6239554317548747,0.40875912408759124,0.49393605292171994,0.7614345114345115,Normal +0.527,0.623229461756374,0.40145985401459855,0.48834628190899,0.7603950103950103,Normal +0.528,0.6257142857142857,0.39963503649635035,0.48775055679287305,0.760914760914761,Normal +0.529,0.6271676300578035,0.395985401459854,0.4854586129753915,0.760914760914761,Normal +0.53,0.6308139534883721,0.395985401459854,0.48654708520179374,0.761954261954262,Normal +0.531,0.631578947368421,0.39416058394160586,0.4853932584269663,0.761954261954262,Normal +0.532,0.6323529411764706,0.39233576642335766,0.48423423423423423,0.761954261954262,Normal +0.533,0.6347305389221557,0.38686131386861317,0.48072562358276644,0.761954261954262,Normal +0.534,0.6366366366366366,0.38686131386861317,0.48127128263337116,0.7624740124740125,Normal +0.535,0.6363636363636364,0.38321167883211676,0.4783599088838269,0.761954261954262,Normal +0.536,0.6371951219512195,0.3813868613138686,0.4771689497716895,0.761954261954262,Normal +0.537,0.6391437308868502,0.3813868613138686,0.4777142857142857,0.7624740124740125,Normal +0.538,0.6369230769230769,0.3777372262773723,0.4742268041237113,0.7614345114345115,Normal +0.539,0.6377708978328174,0.3759124087591241,0.4730195177956372,0.7614345114345115,Normal +0.54,0.6366459627329193,0.3740875912408759,0.47126436781609193,0.760914760914761,Normal +0.541,0.6446540880503144,0.3740875912408759,0.47344110854503463,0.762993762993763,Normal +0.542,0.6435331230283912,0.3722627737226277,0.47167630057803467,0.7624740124740125,Normal +0.543,0.6412698412698413,0.3686131386861314,0.4681344148319815,0.7614345114345115,Normal +0.544,0.643312101910828,0.3686131386861314,0.46867749419953597,0.761954261954262,Normal +0.545,0.6430868167202572,0.36496350364963503,0.46565774155995343,0.7614345114345115,Normal +0.546,0.6451612903225806,0.36496350364963503,0.4662004662004662,0.761954261954262,Normal +0.547,0.6461038961038961,0.36313868613138683,0.4649532710280374,0.761954261954262,Normal +0.548,0.6482084690553745,0.36313868613138683,0.4654970760233918,0.7624740124740125,Normal +0.549,0.6482084690553745,0.36313868613138683,0.4654970760233918,0.7624740124740125,Normal +0.55,0.6501650165016502,0.3594890510948905,0.46298472385428907,0.7624740124740125,Normal +0.551,0.6511627906976745,0.35766423357664234,0.4617196702002356,0.7624740124740125,Normal +0.552,0.6521739130434783,0.35583941605839414,0.4604486422668241,0.7624740124740125,Normal +0.553,0.6531986531986532,0.354014598540146,0.4591715976331361,0.7624740124740125,Normal +0.554,0.6576271186440678,0.354014598540146,0.46026097271648875,0.7635135135135135,Normal +0.555,0.658703071672355,0.3521897810218978,0.4589774078478002,0.7635135135135135,Normal +0.556,0.657439446366782,0.3467153284671533,0.4540023894862604,0.7624740124740125,Normal +0.557,0.662020905923345,0.3467153284671533,0.4550898203592814,0.7635135135135135,Normal +0.558,0.6608391608391608,0.3448905109489051,0.45323741007194246,0.762993762993763,Normal +0.559,0.6631578947368421,0.3448905109489051,0.453781512605042,0.7635135135135135,Normal +0.56,0.6643109540636042,0.34306569343065696,0.45246690734055356,0.7635135135135135,Normal +0.561,0.6654804270462633,0.34124087591240876,0.451145958986731,0.7635135135135135,Normal +0.562,0.6678571428571428,0.34124087591240876,0.45169082125603865,0.764033264033264,Normal +0.5630000000000001,0.6702508960573477,0.34124087591240876,0.45223700120918986,0.7645530145530145,Normal +0.5640000000000001,0.6702898550724637,0.3375912408759124,0.44902912621359226,0.764033264033264,Normal +0.5650000000000001,0.6702898550724637,0.3375912408759124,0.44902912621359226,0.764033264033264,Normal +0.5660000000000001,0.6702898550724637,0.3375912408759124,0.44902912621359226,0.764033264033264,Normal +0.5670000000000001,0.6715328467153284,0.3357664233576642,0.44768856447688565,0.764033264033264,Normal +0.5680000000000001,0.6802973977695167,0.33394160583941607,0.4479804161566707,0.7655925155925156,Normal +0.5690000000000001,0.6804511278195489,0.3302919708029197,0.44471744471744473,0.7650727650727651,Normal +0.5700000000000001,0.678030303030303,0.3266423357664234,0.4408866995073892,0.764033264033264,Normal +0.5710000000000001,0.6768060836501901,0.3248175182481752,0.43896424167694204,0.7635135135135135,Normal +0.5720000000000001,0.676923076923077,0.32116788321167883,0.43564356435643564,0.762993762993763,Normal +0.5730000000000001,0.676923076923077,0.32116788321167883,0.43564356435643564,0.762993762993763,Normal +0.5740000000000001,0.6756756756756757,0.3193430656934307,0.43370508054522927,0.7624740124740125,Normal +0.5750000000000001,0.6756756756756757,0.3193430656934307,0.43370508054522927,0.7624740124740125,Normal +0.5760000000000001,0.6731517509727627,0.3156934306569343,0.4298136645962733,0.7614345114345115,Normal +0.577,0.6731517509727627,0.3156934306569343,0.4298136645962733,0.7614345114345115,Normal +0.578,0.671875,0.31386861313868614,0.42786069651741293,0.760914760914761,Normal +0.579,0.6719367588932806,0.3102189781021898,0.42446941323345816,0.7603950103950103,Normal +0.58,0.6719367588932806,0.3102189781021898,0.42446941323345816,0.7603950103950103,Normal +0.581,0.6733067729083665,0.3083941605839416,0.4230287859824781,0.7603950103950103,Normal +0.582,0.6706827309236948,0.30474452554744524,0.4190715181932246,0.7593555093555093,Normal +0.583,0.6706827309236948,0.30474452554744524,0.4190715181932246,0.7593555093555093,Normal +0.584,0.6680161943319838,0.3010948905109489,0.41509433962264153,0.7583160083160083,Normal +0.585,0.6680161943319838,0.3010948905109489,0.41509433962264153,0.7583160083160083,Normal +0.586,0.673469387755102,0.3010948905109489,0.416141235813367,0.7593555093555093,Normal +0.587,0.6762295081967213,0.3010948905109489,0.4166666666666667,0.7598752598752598,Normal +0.588,0.6790123456790124,0.3010948905109489,0.41719342604298354,0.7603950103950103,Normal +0.589,0.6818181818181818,0.3010948905109489,0.4177215189873418,0.760914760914761,Normal +0.59,0.6846473029045643,0.3010948905109489,0.41825095057034223,0.7614345114345115,Normal +0.591,0.6861924686192469,0.29927007299270075,0.4167725540025413,0.7614345114345115,Normal +0.592,0.6848739495798319,0.29744525547445255,0.41475826972010177,0.760914760914761,Normal +0.593,0.6835443037974683,0.2956204379562044,0.41273885350318473,0.7603950103950103,Normal +0.594,0.6864406779661016,0.2956204379562044,0.413265306122449,0.760914760914761,Normal +0.595,0.6851063829787234,0.2937956204379562,0.4112388250319285,0.7603950103950103,Normal +0.596,0.6851063829787234,0.2937956204379562,0.4112388250319285,0.7603950103950103,Normal +0.597,0.6866952789699571,0.291970802919708,0.40973111395646605,0.7603950103950103,Normal +0.598,0.6883116883116883,0.29014598540145986,0.40821566110397944,0.7603950103950103,Normal +0.599,0.6855895196506551,0.2864963503649635,0.4041184041184041,0.7593555093555093,Normal +0.6,0.6855895196506551,0.2864963503649635,0.4041184041184041,0.7593555093555093,Normal +0.601,0.6885964912280702,0.2864963503649635,0.40463917525773196,0.7598752598752598,Normal +0.602,0.6872246696035242,0.2846715328467153,0.40258064516129033,0.7593555093555093,Normal +0.603,0.6872246696035242,0.2846715328467153,0.40258064516129033,0.7593555093555093,Normal +0.604,0.6933333333333334,0.2846715328467153,0.4036222509702458,0.7603950103950103,Normal +0.605,0.6919642857142857,0.28284671532846717,0.4015544041450777,0.7598752598752598,Normal +0.606,0.6905829596412556,0.28102189781021897,0.39948119325551235,0.7593555093555093,Normal +0.607,0.6936936936936937,0.28102189781021897,0.4,0.7598752598752598,Normal +0.608,0.7,0.28102189781021897,0.4010416666666667,0.760914760914761,Normal +0.609,0.7064220183486238,0.28102189781021897,0.402088772845953,0.761954261954262,Normal +0.61,0.7096774193548387,0.28102189781021897,0.40261437908496733,0.7624740124740125,Normal +0.611,0.719626168224299,0.28102189781021897,0.4041994750656168,0.764033264033264,Normal +0.612,0.7183098591549296,0.2791970802919708,0.4021024967148489,0.7635135135135135,Normal +0.613,0.7183098591549296,0.2791970802919708,0.4021024967148489,0.7635135135135135,Normal +0.614,0.7203791469194313,0.2773722627737226,0.4005270092226614,0.7635135135135135,Normal +0.615,0.719047619047619,0.2755474452554745,0.39841688654353563,0.762993762993763,Normal +0.616,0.7198067632850241,0.2718978102189781,0.39470198675496687,0.7624740124740125,Normal +0.617,0.7198067632850241,0.2718978102189781,0.39470198675496687,0.7624740124740125,Normal +0.618,0.7233009708737864,0.2718978102189781,0.3952254641909814,0.762993762993763,Normal +0.619,0.7219512195121951,0.27007299270072993,0.3930942895086321,0.7624740124740125,Normal +0.62,0.7254901960784313,0.27007299270072993,0.39361702127659576,0.762993762993763,Normal +0.621,0.7254901960784313,0.27007299270072993,0.39361702127659576,0.762993762993763,Normal +0.622,0.7254901960784313,0.27007299270072993,0.39361702127659576,0.762993762993763,Normal +0.623,0.7241379310344828,0.26824817518248173,0.3914780292942743,0.7624740124740125,Normal +0.624,0.7241379310344828,0.26824817518248173,0.3914780292942743,0.7624740124740125,Normal +0.625,0.7277227722772277,0.26824817518248173,0.392,0.762993762993763,Normal +0.626,0.7313432835820896,0.26824817518248173,0.3925233644859813,0.7635135135135135,Normal +0.627,0.7323232323232324,0.2645985401459854,0.38873994638069703,0.762993762993763,Normal +0.628,0.7323232323232324,0.2645985401459854,0.38873994638069703,0.762993762993763,Normal +0.629,0.7333333333333333,0.26094890510948904,0.38492597577388965,0.7624740124740125,Normal +0.63,0.734375,0.2572992700729927,0.3810810810810811,0.761954261954262,Normal +0.631,0.7354497354497355,0.25364963503649635,0.37720488466757124,0.7614345114345115,Normal +0.632,0.7379679144385026,0.2518248175182482,0.37551020408163266,0.7614345114345115,Normal +0.633,0.745945945945946,0.2518248175182482,0.3765347885402456,0.7624740124740125,Normal +0.634,0.745945945945946,0.2518248175182482,0.3765347885402456,0.7624740124740125,Normal +0.635,0.7445652173913043,0.25,0.3743169398907104,0.761954261954262,Normal +0.636,0.7431693989071039,0.24817518248175183,0.37209302325581395,0.7614345114345115,Normal +0.637,0.7388888888888889,0.2427007299270073,0.36538461538461536,0.7598752598752598,Normal +0.638,0.7388888888888889,0.2427007299270073,0.36538461538461536,0.7598752598752598,Normal +0.639,0.7401129943502824,0.23905109489051096,0.36137931034482756,0.7593555093555093,Normal +0.64,0.7386363636363636,0.23722627737226276,0.35911602209944754,0.7588357588357588,Normal +0.641,0.7428571428571429,0.23722627737226276,0.359612724757953,0.7593555093555093,Normal +0.642,0.7456647398843931,0.2354014598540146,0.3578363384188627,0.7593555093555093,Normal +0.643,0.7456647398843931,0.2354014598540146,0.3578363384188627,0.7593555093555093,Normal +0.644,0.7456647398843931,0.2354014598540146,0.3578363384188627,0.7593555093555093,Normal +0.645,0.7485380116959064,0.23357664233576642,0.3560500695410292,0.7593555093555093,Normal +0.646,0.7485380116959064,0.23357664233576642,0.3560500695410292,0.7593555093555093,Normal +0.647,0.7529411764705882,0.23357664233576642,0.3565459610027855,0.7598752598752598,Normal +0.648,0.7529411764705882,0.23357664233576642,0.3565459610027855,0.7598752598752598,Normal +0.649,0.7544910179640718,0.22992700729927007,0.35244755244755244,0.7593555093555093,Normal +0.65,0.7530120481927711,0.2281021897810219,0.35014005602240894,0.7588357588357588,Normal +0.651,0.7668711656441718,0.2281021897810219,0.35161744022503516,0.7603950103950103,Normal +0.652,0.7701863354037267,0.22627737226277372,0.34978843441466856,0.7603950103950103,Normal +0.653,0.7672955974842768,0.22262773722627738,0.3451202263083451,0.7593555093555093,Normal +0.654,0.7658227848101266,0.2208029197080292,0.34277620396600567,0.7588357588357588,Normal +0.655,0.7692307692307693,0.21897810218978103,0.3409090909090909,0.7588357588357588,Normal +0.656,0.7727272727272727,0.21715328467153286,0.33903133903133903,0.7588357588357588,Normal +0.657,0.7777777777777778,0.21715328467153286,0.33951497860199714,0.7593555093555093,Normal +0.658,0.7814569536423841,0.21532846715328466,0.3376251788268956,0.7593555093555093,Normal +0.659,0.78,0.21350364963503649,0.335243553008596,0.7588357588357588,Normal +0.66,0.78,0.21350364963503649,0.335243553008596,0.7588357588357588,Normal +0.661,0.7837837837837838,0.2116788321167883,0.3333333333333333,0.7588357588357588,Normal +0.662,0.7793103448275862,0.2062043795620438,0.32611832611832614,0.7572765072765073,Normal +0.663,0.7777777777777778,0.20437956204379562,0.3236994219653179,0.7567567567567568,Normal +0.664,0.7746478873239436,0.20072992700729927,0.3188405797101449,0.7557172557172557,Normal +0.665,0.7746478873239436,0.20072992700729927,0.3188405797101449,0.7557172557172557,Normal +0.666,0.7730496453900709,0.1989051094890511,0.3164005805515239,0.7551975051975052,Normal +0.667,0.7785714285714286,0.1989051094890511,0.3168604651162791,0.7557172557172557,Normal +0.668,0.7785714285714286,0.1989051094890511,0.3168604651162791,0.7557172557172557,Normal +0.669,0.7785714285714286,0.1989051094890511,0.3168604651162791,0.7557172557172557,Normal +0.67,0.7777777777777778,0.19160583941605838,0.3074670571010249,0.7541580041580042,Normal +0.671,0.7744360902255639,0.18795620437956204,0.302496328928047,0.7531185031185031,Normal +0.672,0.7727272727272727,0.18613138686131386,0.3,0.7525987525987526,Normal +0.673,0.7709923664122137,0.1843065693430657,0.2974963181148748,0.752079002079002,Normal +0.674,0.7709923664122137,0.1843065693430657,0.2974963181148748,0.752079002079002,Normal +0.675,0.7709923664122137,0.1843065693430657,0.2974963181148748,0.752079002079002,Normal +0.676,0.7709923664122137,0.1843065693430657,0.2974963181148748,0.752079002079002,Normal +0.677,0.7709923664122137,0.1843065693430657,0.2974963181148748,0.752079002079002,Normal +0.678,0.7709923664122137,0.1843065693430657,0.2974963181148748,0.752079002079002,Normal +0.679,0.7692307692307693,0.18248175182481752,0.2949852507374631,0.7515592515592515,Normal +0.68,0.7692307692307693,0.18248175182481752,0.2949852507374631,0.7515592515592515,Normal +0.681,0.7674418604651163,0.18065693430656934,0.29246676514032494,0.751039501039501,Normal +0.682,0.7674418604651163,0.18065693430656934,0.29246676514032494,0.751039501039501,Normal +0.683,0.7674418604651163,0.18065693430656934,0.29246676514032494,0.751039501039501,Normal +0.684,0.7795275590551181,0.18065693430656934,0.29333333333333333,0.752079002079002,Normal +0.685,0.784,0.17883211678832117,0.2912332838038633,0.752079002079002,Normal +0.686,0.782258064516129,0.177007299270073,0.28869047619047616,0.7515592515592515,Normal +0.687,0.7804878048780488,0.17518248175182483,0.28614008941877794,0.751039501039501,Normal +0.6880000000000001,0.7916666666666666,0.17335766423357665,0.2844311377245509,0.7515592515592515,Normal +0.6890000000000001,0.7899159663865546,0.17153284671532848,0.2818590704647676,0.751039501039501,Normal +0.6900000000000001,0.788135593220339,0.16970802919708028,0.27927927927927926,0.7505197505197505,Normal +0.6910000000000001,0.7863247863247863,0.1678832116788321,0.27669172932330827,0.75,Normal +0.6920000000000001,0.7863247863247863,0.1678832116788321,0.27669172932330827,0.75,Normal +0.6930000000000001,0.7982456140350878,0.16605839416058393,0.27492447129909364,0.7505197505197505,Normal +0.6940000000000001,0.8035714285714286,0.16423357664233576,0.2727272727272727,0.7505197505197505,Normal +0.6950000000000001,0.8108108108108109,0.16423357664233576,0.2731411229135053,0.751039501039501,Normal +0.6960000000000001,0.8256880733944955,0.16423357664233576,0.273972602739726,0.752079002079002,Normal +0.6970000000000001,0.822429906542056,0.16058394160583941,0.2687022900763359,0.751039501039501,Normal +0.6980000000000001,0.822429906542056,0.16058394160583941,0.2687022900763359,0.751039501039501,Normal +0.6990000000000001,0.822429906542056,0.16058394160583941,0.2687022900763359,0.751039501039501,Normal +0.7000000000000001,0.822429906542056,0.16058394160583941,0.2687022900763359,0.751039501039501,Normal +0.7010000000000001,0.822429906542056,0.16058394160583941,0.2687022900763359,0.751039501039501,Normal +0.7020000000000001,0.8207547169811321,0.15875912408759124,0.26605504587155965,0.7505197505197505,Normal +0.7030000000000001,0.8285714285714286,0.15875912408759124,0.2664624808575804,0.751039501039501,Normal +0.704,0.8285714285714286,0.15875912408759124,0.2664624808575804,0.751039501039501,Normal +0.705,0.8269230769230769,0.15693430656934307,0.26380368098159507,0.7505197505197505,Normal +0.706,0.8269230769230769,0.15693430656934307,0.26380368098159507,0.7505197505197505,Normal +0.707,0.8269230769230769,0.15693430656934307,0.26380368098159507,0.7505197505197505,Normal +0.708,0.8269230769230769,0.15693430656934307,0.26380368098159507,0.7505197505197505,Normal +0.709,0.8269230769230769,0.15693430656934307,0.26380368098159507,0.7505197505197505,Normal +0.71,0.8252427184466019,0.1551094890510949,0.261136712749616,0.75,Normal +0.711,0.8252427184466019,0.1551094890510949,0.261136712749616,0.75,Normal +0.712,0.8252427184466019,0.1551094890510949,0.261136712749616,0.75,Normal +0.713,0.8252427184466019,0.1551094890510949,0.261136712749616,0.75,Normal +0.714,0.8235294117647058,0.15328467153284672,0.25846153846153846,0.7494802494802495,Normal +0.715,0.83,0.15145985401459855,0.25617283950617287,0.7494802494802495,Normal +0.716,0.83,0.15145985401459855,0.25617283950617287,0.7494802494802495,Normal +0.717,0.8282828282828283,0.14963503649635038,0.2534775888717156,0.748960498960499,Normal +0.718,0.8229166666666666,0.14416058394160583,0.2453416149068323,0.7474012474012474,Normal +0.719,0.8210526315789474,0.14233576642335766,0.24261275272161742,0.7468814968814969,Normal +0.72,0.8210526315789474,0.14233576642335766,0.24261275272161742,0.7468814968814969,Normal +0.721,0.8210526315789474,0.14233576642335766,0.24261275272161742,0.7468814968814969,Normal +0.722,0.8210526315789474,0.14233576642335766,0.24261275272161742,0.7468814968814969,Normal +0.723,0.8210526315789474,0.14233576642335766,0.24261275272161742,0.7468814968814969,Normal +0.724,0.8191489361702128,0.14051094890510948,0.2398753894080997,0.7463617463617463,Normal +0.725,0.8279569892473119,0.14051094890510948,0.24024960998439937,0.7468814968814969,Normal +0.726,0.8369565217391305,0.14051094890510948,0.240625,0.7474012474012474,Normal +0.727,0.8333333333333334,0.13686131386861314,0.23510971786833856,0.7463617463617463,Normal +0.728,0.8333333333333334,0.13686131386861314,0.23510971786833856,0.7463617463617463,Normal +0.729,0.8333333333333334,0.13686131386861314,0.23510971786833856,0.7463617463617463,Normal +0.73,0.8314606741573034,0.13503649635036497,0.23233908948194662,0.7458419958419958,Normal +0.731,0.8275862068965517,0.13138686131386862,0.22677165354330708,0.7448024948024948,Normal +0.732,0.8352941176470589,0.12956204379562045,0.22432859399684044,0.7448024948024948,Normal +0.733,0.8352941176470589,0.12956204379562045,0.22432859399684044,0.7448024948024948,Normal +0.734,0.8333333333333334,0.12773722627737227,0.22151898734177214,0.7442827442827443,Normal +0.735,0.8333333333333334,0.12773722627737227,0.22151898734177214,0.7442827442827443,Normal +0.736,0.8292682926829268,0.12408759124087591,0.21587301587301588,0.7432432432432432,Normal +0.737,0.825,0.12043795620437957,0.21019108280254778,0.7422037422037422,Normal +0.738,0.825,0.12043795620437957,0.21019108280254778,0.7422037422037422,Normal +0.739,0.8227848101265823,0.11861313868613138,0.20733652312599682,0.7416839916839917,Normal +0.74,0.8227848101265823,0.11861313868613138,0.20733652312599682,0.7416839916839917,Normal +0.741,0.8227848101265823,0.11861313868613138,0.20733652312599682,0.7416839916839917,Normal +0.742,0.8227848101265823,0.11861313868613138,0.20733652312599682,0.7416839916839917,Normal +0.743,0.8289473684210527,0.11496350364963503,0.20192307692307693,0.7411642411642412,Normal +0.744,0.8289473684210527,0.11496350364963503,0.20192307692307693,0.7411642411642412,Normal +0.745,0.8289473684210527,0.11496350364963503,0.20192307692307693,0.7411642411642412,Normal +0.746,0.84,0.11496350364963503,0.20224719101123595,0.7416839916839917,Normal +0.747,0.8378378378378378,0.11313868613138686,0.19935691318327975,0.7411642411642412,Normal +0.748,0.8333333333333334,0.10948905109489052,0.1935483870967742,0.7401247401247402,Normal +0.749,0.8428571428571429,0.10766423357664233,0.19093851132686085,0.7401247401247402,Normal +0.75,0.8405797101449275,0.10583941605839416,0.1880064829821718,0.7396049896049897,Normal +0.751,0.8382352941176471,0.10401459854014598,0.18506493506493507,0.739085239085239,Normal +0.752,0.835820895522388,0.10218978102189781,0.1821138211382114,0.7385654885654885,Normal +0.753,0.835820895522388,0.10218978102189781,0.1821138211382114,0.7385654885654885,Normal +0.754,0.8333333333333334,0.10036496350364964,0.1791530944625407,0.738045738045738,Normal +0.755,0.8461538461538461,0.10036496350364964,0.17944535073409462,0.7385654885654885,Normal +0.756,0.859375,0.10036496350364964,0.17973856209150327,0.739085239085239,Normal +0.757,0.859375,0.10036496350364964,0.17973856209150327,0.739085239085239,Normal +0.758,0.8571428571428571,0.09854014598540146,0.176759410801964,0.7385654885654885,Normal +0.759,0.85,0.09306569343065693,0.16776315789473684,0.737006237006237,Normal +0.76,0.864406779661017,0.09306569343065693,0.16803953871499178,0.7375259875259875,Normal +0.761,0.864406779661017,0.09306569343065693,0.16803953871499178,0.7375259875259875,Normal +0.762,0.864406779661017,0.09306569343065693,0.16803953871499178,0.7375259875259875,Normal +0.763,0.864406779661017,0.09306569343065693,0.16803953871499178,0.7375259875259875,Normal +0.764,0.8620689655172413,0.09124087591240876,0.16501650165016502,0.737006237006237,Normal +0.765,0.8620689655172413,0.09124087591240876,0.16501650165016502,0.737006237006237,Normal +0.766,0.8596491228070176,0.08941605839416059,0.16198347107438016,0.7364864864864865,Normal +0.767,0.8596491228070176,0.08941605839416059,0.16198347107438016,0.7364864864864865,Normal +0.768,0.8596491228070176,0.08941605839416059,0.16198347107438016,0.7364864864864865,Normal +0.769,0.8545454545454545,0.08576642335766424,0.1558872305140962,0.7354469854469855,Normal +0.77,0.8518518518518519,0.08394160583941605,0.15282392026578073,0.7349272349272349,Normal +0.771,0.8490566037735849,0.08211678832116788,0.1497504159733777,0.7344074844074844,Normal +0.772,0.8490566037735849,0.08211678832116788,0.1497504159733777,0.7344074844074844,Normal +0.773,0.8461538461538461,0.08029197080291971,0.14666666666666667,0.7338877338877339,Normal +0.774,0.8461538461538461,0.08029197080291971,0.14666666666666667,0.7338877338877339,Normal +0.775,0.8461538461538461,0.08029197080291971,0.14666666666666667,0.7338877338877339,Normal +0.776,0.8461538461538461,0.08029197080291971,0.14666666666666667,0.7338877338877339,Normal +0.777,0.86,0.07846715328467153,0.14381270903010032,0.7338877338877339,Normal +0.778,0.875,0.07664233576642336,0.14093959731543623,0.7338877338877339,Normal +0.779,0.8723404255319149,0.07481751824817519,0.13781512605042018,0.7333679833679834,Normal +0.78,0.8723404255319149,0.07481751824817519,0.13781512605042018,0.7333679833679834,Normal +0.781,0.8723404255319149,0.07481751824817519,0.13781512605042018,0.7333679833679834,Normal +0.782,0.8666666666666667,0.07116788321167883,0.1315345699831366,0.7323284823284824,Normal +0.783,0.8636363636363636,0.06934306569343066,0.12837837837837837,0.7318087318087318,Normal +0.784,0.8809523809523809,0.06751824817518248,0.12542372881355932,0.7318087318087318,Normal +0.785,0.8809523809523809,0.06751824817518248,0.12542372881355932,0.7318087318087318,Normal +0.786,0.875,0.06386861313868614,0.11904761904761904,0.7307692307692307,Normal +0.787,0.875,0.06386861313868614,0.11904761904761904,0.7307692307692307,Normal +0.788,0.875,0.06386861313868614,0.11904761904761904,0.7307692307692307,Normal +0.789,0.868421052631579,0.060218978102189784,0.11262798634812286,0.7297297297297297,Normal +0.79,0.868421052631579,0.060218978102189784,0.11262798634812286,0.7297297297297297,Normal +0.791,0.8648648648648649,0.058394160583941604,0.1094017094017094,0.7292099792099792,Normal +0.792,0.8648648648648649,0.058394160583941604,0.1094017094017094,0.7292099792099792,Normal +0.793,0.8611111111111112,0.05656934306569343,0.10616438356164383,0.7286902286902287,Normal +0.794,0.8611111111111112,0.05656934306569343,0.10616438356164383,0.7286902286902287,Normal +0.795,0.8611111111111112,0.05656934306569343,0.10616438356164383,0.7286902286902287,Normal +0.796,0.8611111111111112,0.05656934306569343,0.10616438356164383,0.7286902286902287,Normal +0.797,0.8571428571428571,0.05474452554744526,0.10291595197255575,0.7281704781704782,Normal +0.798,0.8529411764705882,0.05291970802919708,0.09965635738831616,0.7276507276507277,Normal +0.799,0.8529411764705882,0.05291970802919708,0.09965635738831616,0.7276507276507277,Normal +0.8,0.8529411764705882,0.05291970802919708,0.09965635738831616,0.7276507276507277,Normal +0.801,0.8529411764705882,0.05291970802919708,0.09965635738831616,0.7276507276507277,Normal +0.802,0.8529411764705882,0.05291970802919708,0.09965635738831616,0.7276507276507277,Normal +0.803,0.8529411764705882,0.05291970802919708,0.09965635738831616,0.7276507276507277,Normal +0.804,0.8529411764705882,0.05291970802919708,0.09965635738831616,0.7276507276507277,Normal +0.805,0.8529411764705882,0.05291970802919708,0.09965635738831616,0.7276507276507277,Normal +0.806,0.8529411764705882,0.05291970802919708,0.09965635738831616,0.7276507276507277,Normal +0.807,0.8484848484848485,0.051094890510948905,0.0963855421686747,0.7271309771309772,Normal +0.808,0.84375,0.04927007299270073,0.09310344827586207,0.7266112266112266,Normal +0.809,0.8387096774193549,0.04744525547445255,0.08981001727115717,0.7260914760914761,Normal +0.81,0.8387096774193549,0.04744525547445255,0.08981001727115717,0.7260914760914761,Normal +0.811,0.8387096774193549,0.04744525547445255,0.08981001727115717,0.7260914760914761,Normal +0.812,0.8333333333333334,0.04562043795620438,0.08650519031141868,0.7255717255717256,Normal +0.8130000000000001,0.8333333333333334,0.04562043795620438,0.08650519031141868,0.7255717255717256,Normal +0.8140000000000001,0.8333333333333334,0.04562043795620438,0.08650519031141868,0.7255717255717256,Normal +0.8150000000000001,0.8333333333333334,0.04562043795620438,0.08650519031141868,0.7255717255717256,Normal +0.8160000000000001,0.8333333333333334,0.04562043795620438,0.08650519031141868,0.7255717255717256,Normal +0.8170000000000001,0.8275862068965517,0.043795620437956206,0.0831889081455806,0.725051975051975,Normal +0.8180000000000001,0.8275862068965517,0.043795620437956206,0.0831889081455806,0.725051975051975,Normal +0.8190000000000001,0.8275862068965517,0.043795620437956206,0.0831889081455806,0.725051975051975,Normal +0.8200000000000001,0.8275862068965517,0.043795620437956206,0.0831889081455806,0.725051975051975,Normal +0.8210000000000001,0.8275862068965517,0.043795620437956206,0.0831889081455806,0.725051975051975,Normal +0.8220000000000001,0.8214285714285714,0.041970802919708027,0.0798611111111111,0.7245322245322245,Normal +0.8230000000000001,0.8076923076923077,0.03832116788321168,0.07317073170731707,0.7234927234927235,Normal +0.8240000000000001,0.8076923076923077,0.03832116788321168,0.07317073170731707,0.7234927234927235,Normal +0.8250000000000001,0.84,0.03832116788321168,0.07329842931937172,0.724012474012474,Normal +0.8260000000000001,0.84,0.03832116788321168,0.07329842931937172,0.724012474012474,Normal +0.8270000000000001,0.8333333333333334,0.0364963503649635,0.06993006993006994,0.7234927234927235,Normal +0.8280000000000001,0.8333333333333334,0.0364963503649635,0.06993006993006994,0.7234927234927235,Normal +0.8290000000000001,0.8333333333333334,0.0364963503649635,0.06993006993006994,0.7234927234927235,Normal +0.8300000000000001,0.8260869565217391,0.03467153284671533,0.06654991243432574,0.722972972972973,Normal +0.8310000000000001,0.8260869565217391,0.03467153284671533,0.06654991243432574,0.722972972972973,Normal +0.8320000000000001,0.8260869565217391,0.03467153284671533,0.06654991243432574,0.722972972972973,Normal +0.833,0.8260869565217391,0.03467153284671533,0.06654991243432574,0.722972972972973,Normal +0.834,0.8260869565217391,0.03467153284671533,0.06654991243432574,0.722972972972973,Normal +0.835,0.8260869565217391,0.03467153284671533,0.06654991243432574,0.722972972972973,Normal +0.836,0.8260869565217391,0.03467153284671533,0.06654991243432574,0.722972972972973,Normal +0.837,0.8181818181818182,0.032846715328467155,0.06315789473684211,0.7224532224532224,Normal +0.838,0.8095238095238095,0.03102189781021898,0.05975395430579965,0.7219334719334719,Normal +0.839,0.8,0.029197080291970802,0.056338028169014086,0.7214137214137214,Normal +0.84,0.8,0.029197080291970802,0.056338028169014086,0.7214137214137214,Normal +0.841,0.8,0.029197080291970802,0.056338028169014086,0.7214137214137214,Normal +0.842,0.7894736842105263,0.02737226277372263,0.05291005291005291,0.7208939708939709,Normal +0.843,0.7894736842105263,0.02737226277372263,0.05291005291005291,0.7208939708939709,Normal +0.844,0.7894736842105263,0.02737226277372263,0.05291005291005291,0.7208939708939709,Normal +0.845,0.7777777777777778,0.025547445255474453,0.04946996466431095,0.7203742203742204,Normal +0.846,0.7777777777777778,0.025547445255474453,0.04946996466431095,0.7203742203742204,Normal +0.847,0.7647058823529411,0.023722627737226276,0.04601769911504425,0.7198544698544699,Normal +0.848,0.7647058823529411,0.023722627737226276,0.04601769911504425,0.7198544698544699,Normal +0.849,0.7647058823529411,0.023722627737226276,0.04601769911504425,0.7198544698544699,Normal +0.85,0.7647058823529411,0.023722627737226276,0.04601769911504425,0.7198544698544699,Normal +0.851,0.7647058823529411,0.023722627737226276,0.04601769911504425,0.7198544698544699,Normal +0.852,0.7647058823529411,0.023722627737226276,0.04601769911504425,0.7198544698544699,Normal +0.853,0.7647058823529411,0.023722627737226276,0.04601769911504425,0.7198544698544699,Normal +0.854,0.7333333333333333,0.020072992700729927,0.03907637655417407,0.7188149688149689,Normal +0.855,0.7333333333333333,0.020072992700729927,0.03907637655417407,0.7188149688149689,Normal +0.856,0.7333333333333333,0.020072992700729927,0.03907637655417407,0.7188149688149689,Normal +0.857,0.7333333333333333,0.020072992700729927,0.03907637655417407,0.7188149688149689,Normal +0.858,0.7857142857142857,0.020072992700729927,0.03914590747330961,0.7193347193347194,Normal +0.859,0.7692307692307693,0.01824817518248175,0.035650623885918005,0.7188149688149689,Normal +0.86,0.7692307692307693,0.01824817518248175,0.035650623885918005,0.7188149688149689,Normal +0.861,0.7692307692307693,0.01824817518248175,0.035650623885918005,0.7188149688149689,Normal +0.862,0.7692307692307693,0.01824817518248175,0.035650623885918005,0.7188149688149689,Normal +0.863,0.75,0.016423357664233577,0.03214285714285714,0.7182952182952183,Normal +0.864,0.7272727272727273,0.014598540145985401,0.028622540250447227,0.7177754677754677,Normal +0.865,0.7272727272727273,0.014598540145985401,0.028622540250447227,0.7177754677754677,Normal +0.866,0.7272727272727273,0.014598540145985401,0.028622540250447227,0.7177754677754677,Normal +0.867,0.7,0.012773722627737226,0.025089605734767026,0.7172557172557172,Normal +0.868,0.7,0.012773722627737226,0.025089605734767026,0.7172557172557172,Normal +0.869,0.7777777777777778,0.012773722627737226,0.025134649910233394,0.7177754677754677,Normal +0.87,0.875,0.012773722627737226,0.025179856115107913,0.7182952182952183,Normal +0.871,0.8571428571428571,0.010948905109489052,0.021621621621621623,0.7177754677754677,Normal +0.872,0.8571428571428571,0.010948905109489052,0.021621621621621623,0.7177754677754677,Normal +0.873,0.8571428571428571,0.010948905109489052,0.021621621621621623,0.7177754677754677,Normal +0.874,0.8333333333333334,0.009124087591240875,0.018050541516245487,0.7172557172557172,Normal +0.875,0.8333333333333334,0.009124087591240875,0.018050541516245487,0.7172557172557172,Normal +0.876,0.8333333333333334,0.009124087591240875,0.018050541516245487,0.7172557172557172,Normal +0.877,0.8,0.0072992700729927005,0.014466546112115732,0.7167359667359667,Normal +0.878,0.8,0.0072992700729927005,0.014466546112115732,0.7167359667359667,Normal +0.879,1.0,0.0072992700729927005,0.014492753623188406,0.7172557172557172,Normal +0.88,1.0,0.0072992700729927005,0.014492753623188406,0.7172557172557172,Normal +0.881,1.0,0.005474452554744526,0.010889292196007259,0.7167359667359667,Normal +0.882,1.0,0.005474452554744526,0.010889292196007259,0.7167359667359667,Normal +0.883,1.0,0.005474452554744526,0.010889292196007259,0.7167359667359667,Normal +0.884,1.0,0.005474452554744526,0.010889292196007259,0.7167359667359667,Normal +0.885,1.0,0.005474452554744526,0.010889292196007259,0.7167359667359667,Normal +0.886,1.0,0.0036496350364963502,0.007272727272727273,0.7162162162162162,Normal +0.887,1.0,0.0036496350364963502,0.007272727272727273,0.7162162162162162,Normal +0.888,1.0,0.0036496350364963502,0.007272727272727273,0.7162162162162162,Normal +0.889,1.0,0.0036496350364963502,0.007272727272727273,0.7162162162162162,Normal +0.89,1.0,0.0018248175182481751,0.0036429872495446266,0.7156964656964657,Normal +0.891,0.0,0.0,0.0,0.7151767151767152,Normal +0.892,0.0,0.0,0.0,0.7151767151767152,Normal +0.893,0.0,0.0,0.0,0.7151767151767152,Normal +0.894,0.0,0.0,0.0,0.7151767151767152,Normal +0.895,0.0,0.0,0.0,0.7151767151767152,Normal +0.896,0.0,0.0,0.0,0.7151767151767152,Normal +0.897,0.0,0.0,0.0,0.7151767151767152,Normal +0.898,0.0,0.0,0.0,0.7151767151767152,Normal +0.899,0.0,0.0,0.0,0.7151767151767152,Normal +0.9,0.0,0.0,0.0,0.7151767151767152,Normal +0.901,0.0,0.0,0.0,0.7151767151767152,Normal +0.902,0.0,0.0,0.0,0.7151767151767152,Normal +0.903,0.0,0.0,0.0,0.7151767151767152,Normal +0.904,0.0,0.0,0.0,0.7151767151767152,Normal +0.905,0.0,0.0,0.0,0.7151767151767152,Normal +0.906,0.0,0.0,0.0,0.7151767151767152,Normal +0.907,0.0,0.0,0.0,0.7151767151767152,Normal +0.908,0.0,0.0,0.0,0.7151767151767152,Normal +0.909,0.0,0.0,0.0,0.7151767151767152,Normal +0.91,0.0,0.0,0.0,0.7151767151767152,Normal +0.911,0.0,0.0,0.0,0.7151767151767152,Normal +0.912,0.0,0.0,0.0,0.7151767151767152,Normal +0.913,0.0,0.0,0.0,0.7151767151767152,Normal +0.914,0.0,0.0,0.0,0.7151767151767152,Normal +0.915,0.0,0.0,0.0,0.7151767151767152,Normal +0.916,0.0,0.0,0.0,0.7151767151767152,Normal +0.917,0.0,0.0,0.0,0.7151767151767152,Normal +0.918,0.0,0.0,0.0,0.7151767151767152,Normal +0.919,0.0,0.0,0.0,0.7151767151767152,Normal +0.92,0.0,0.0,0.0,0.7151767151767152,Normal +0.921,0.0,0.0,0.0,0.7151767151767152,Normal +0.922,0.0,0.0,0.0,0.7151767151767152,Normal +0.923,0.0,0.0,0.0,0.7151767151767152,Normal +0.924,0.0,0.0,0.0,0.7151767151767152,Normal +0.925,0.0,0.0,0.0,0.7151767151767152,Normal +0.926,0.0,0.0,0.0,0.7151767151767152,Normal +0.927,0.0,0.0,0.0,0.7151767151767152,Normal +0.928,0.0,0.0,0.0,0.7151767151767152,Normal +0.929,0.0,0.0,0.0,0.7151767151767152,Normal +0.93,0.0,0.0,0.0,0.7151767151767152,Normal +0.931,0.0,0.0,0.0,0.7151767151767152,Normal +0.932,0.0,0.0,0.0,0.7151767151767152,Normal +0.933,0.0,0.0,0.0,0.7151767151767152,Normal +0.934,0.0,0.0,0.0,0.7151767151767152,Normal +0.935,0.0,0.0,0.0,0.7151767151767152,Normal +0.936,0.0,0.0,0.0,0.7151767151767152,Normal +0.937,0.0,0.0,0.0,0.7151767151767152,Normal +0.9380000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9390000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9400000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9410000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9420000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9430000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9440000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9450000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9460000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9470000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9480000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9490000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9500000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9510000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9520000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9530000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9540000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9550000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9560000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9570000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9580000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.9590000000000001,0.0,0.0,0.0,0.7151767151767152,Normal +0.96,0.0,0.0,0.0,0.7151767151767152,Normal +0.961,0.0,0.0,0.0,0.7151767151767152,Normal +0.962,0.0,0.0,0.0,0.7151767151767152,Normal +0.963,0.0,0.0,0.0,0.7151767151767152,Normal +0.964,0.0,0.0,0.0,0.7151767151767152,Normal +0.965,0.0,0.0,0.0,0.7151767151767152,Normal +0.966,0.0,0.0,0.0,0.7151767151767152,Normal +0.967,0.0,0.0,0.0,0.7151767151767152,Normal +0.968,0.0,0.0,0.0,0.7151767151767152,Normal +0.969,0.0,0.0,0.0,0.7151767151767152,Normal +0.97,0.0,0.0,0.0,0.7151767151767152,Normal +0.971,0.0,0.0,0.0,0.7151767151767152,Normal +0.972,0.0,0.0,0.0,0.7151767151767152,Normal +0.973,0.0,0.0,0.0,0.7151767151767152,Normal +0.974,0.0,0.0,0.0,0.7151767151767152,Normal +0.975,0.0,0.0,0.0,0.7151767151767152,Normal +0.976,0.0,0.0,0.0,0.7151767151767152,Normal +0.977,0.0,0.0,0.0,0.7151767151767152,Normal +0.978,0.0,0.0,0.0,0.7151767151767152,Normal +0.979,0.0,0.0,0.0,0.7151767151767152,Normal +0.98,0.0,0.0,0.0,0.7151767151767152,Normal +0.981,0.0,0.0,0.0,0.7151767151767152,Normal +0.982,0.0,0.0,0.0,0.7151767151767152,Normal +0.983,0.0,0.0,0.0,0.7151767151767152,Normal +0.984,0.0,0.0,0.0,0.7151767151767152,Normal +0.985,0.0,0.0,0.0,0.7151767151767152,Normal +0.986,0.0,0.0,0.0,0.7151767151767152,Normal +0.987,0.0,0.0,0.0,0.7151767151767152,Normal +0.988,0.0,0.0,0.0,0.7151767151767152,Normal +0.989,0.0,0.0,0.0,0.7151767151767152,Normal +0.99,0.0,0.0,0.0,0.7151767151767152,Normal +0.991,0.0,0.0,0.0,0.7151767151767152,Normal +0.992,0.0,0.0,0.0,0.7151767151767152,Normal +0.993,0.0,0.0,0.0,0.7151767151767152,Normal +0.994,0.0,0.0,0.0,0.7151767151767152,Normal +0.995,0.0,0.0,0.0,0.7151767151767152,Normal +0.996,0.0,0.0,0.0,0.7151767151767152,Normal +0.997,0.0,0.0,0.0,0.7151767151767152,Normal +0.998,0.0,0.0,0.0,0.7151767151767152,Normal +0.999,0.0,0.0,0.0,0.7151767151767152,Normal +1.0,0.0,0.0,0.0,0.7151767151767152,Normal diff --git a/model_card_gen/intel_ai_safety/model_card_gen/graphics/add_graphics.py b/model_card_gen/intel_ai_safety/model_card_gen/graphics/add_graphics.py index 87e82ab..92f254c 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/graphics/add_graphics.py +++ b/model_card_gen/intel_ai_safety/model_card_gen/graphics/add_graphics.py @@ -37,36 +37,87 @@ def add_overview_graphs(model_card: ModelCard, df: pd.DataFrame, static: bool) - if "dataset" in df: dfs = df.groupby("dataset") for dataset_name, df in dfs: - graphs = [graph.generate_figure(df) for graph in OVERVIEW_GRAPHS] + if "label" in df: + label_dfs = df.groupby("label") + for label_name, df_label in label_dfs: + df_label.drop("label", axis=1, inplace=True) + graphs = [graph.generate_figure(df_label) for graph in OVERVIEW_GRAPHS] + + if static: + model_card.model_details.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" ({dataset_name} - Label : {label_name})", + image=b64encode(graph.figure.to_image(format="png")).decode(), + ) + for graph in graphs + ] + ) + else: + model_card.model_details.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" ({dataset_name} - Label : {label_name})", + html=graph.html_content, + ) + for graph in graphs + ] + ) + else: + graphs = [graph.generate_figure(df) for graph in OVERVIEW_GRAPHS] + if static: + model_card.model_details.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" ({dataset_name})", + image=b64encode(graph.figure.to_image(format="png")).decode(), + ) + for graph in graphs + ] + ) + else: + model_card.model_details.graphics.collection.extend( + [Graphic(name=graph.title + f" ({dataset_name})", html=graph.html_content) for graph in graphs] + ) + else: + if "label" in df: + label_dfs = df.groupby("label") + for label_name, df_label in label_dfs: + df_label.drop("label", axis=1, inplace=True) + graphs = [graph.generate_figure(df_label) for graph in OVERVIEW_GRAPHS] + + if static: + model_card.model_details.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" - Label : ({label_name})", + image=b64encode(graph.figure.to_image(format="png")).decode(), + ) + for graph in graphs + ] + ) + else: + model_card.model_details.graphics.collection.extend( + [ + Graphic(name=graph.title + f" - Label : ({label_name})", html=graph.html_content) + for graph in graphs + ] + ) + else: + graphs = [graph.generate_figure(df) for graph in OVERVIEW_GRAPHS] + # Add graphs to model card if static: model_card.model_details.graphics.collection.extend( [ - Graphic( - name=graph.title + f" ({dataset_name})", - image=b64encode(graph.figure.to_image(format="png")).decode(), - ) + Graphic(name=graph.title, image=b64encode(graph.figure.to_image(format="png")).decode()) for graph in graphs ] ) else: model_card.model_details.graphics.collection.extend( - [Graphic(name=graph.title + f" ({dataset_name})", html=graph.html_content) for graph in graphs] + [Graphic(name=graph.title, html=graph.html_content) for graph in graphs] ) - else: - graphs = [graph.generate_figure(df) for graph in OVERVIEW_GRAPHS] - # Add graphs to modle card - if static: - model_card.model_details.graphics.collection.extend( - [ - Graphic(name=graph.title, image=b64encode(graph.figure.to_image(format="png")).decode()) - for graph in graphs - ] - ) - else: - model_card.model_details.graphics.collection.extend( - [Graphic(name=graph.title, html=graph.html_content) for graph in graphs] - ) def add_dataset_feature_statistics_plots( @@ -100,34 +151,84 @@ def add_eval_result_slicing_metrics(model_card: ModelCard, df: pd.DataFrame, sta if "dataset" in df: dfs = df.groupby("dataset") for dataset_name, df in dfs: + if "label" in df: + label_dfs = df.groupby("label") + for label_name, df_label in label_dfs: + df_label.drop("label", axis=1, inplace=True) + graphs = [graph.generate_figure(df_label) for graph in SLICING_METRIC_GRAPHS] + if static: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" ({dataset_name}) - Label : {label_name})", + image=b64encode(graph.figure.to_image(format="png")).decode(), + ) + for graph in graphs + ] + ) + else: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" ({dataset_name}) - Label : {label_name})", + html=graph.html_content, + ) + for graph in graphs + ] + ) + else: + graphs = [graph.generate_figure(df) for graph in SLICING_METRIC_GRAPHS] + if static: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" ({dataset_name})", + image=b64encode(graph.figure.to_image(format="png")).decode(), + ) + for graph in graphs + ] + ) + else: + model_card.quantitative_analysis.graphics.collection.extend( + [Graphic(name=graph.title + f" ({dataset_name})", html=graph.html_content) for graph in graphs] + ) + else: + if "label" in df: + label_dfs = df.groupby("label") + for label_name, df_label in label_dfs: + df_label.drop("label", axis=1, inplace=True) + graphs = [graph.generate_figure(df_label) for graph in SLICING_METRIC_GRAPHS] + if static: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" - Label : ({label_name})", + image=b64encode(graph.figure.to_image(format="png")).decode(), + ) + for graph in graphs + ] + ) + else: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic(name=graph.title + f" - Label : ({label_name})", html=graph.html_content) + for graph in graphs + ] + ) + + else: graphs = [graph.generate_figure(df) for graph in SLICING_METRIC_GRAPHS] if static: model_card.quantitative_analysis.graphics.collection.extend( [ - Graphic( - name=graph.title + f" ({dataset_name})", - image=b64encode(graph.figure.to_image(format="png")).decode(), - ) + Graphic(name=graph.title, image=b64encode(graph.figure.to_image(format="png")).decode()) for graph in graphs ] ) else: model_card.quantitative_analysis.graphics.collection.extend( - [Graphic(name=graph.title + f" ({dataset_name})", html=graph.html_content) for graph in graphs] + [Graphic(name=graph.title, html=graph.html_content) for graph in graphs] ) - else: - graphs = [graph.generate_figure(df) for graph in SLICING_METRIC_GRAPHS] - if static: - model_card.quantitative_analysis.graphics.collection.extend( - [ - Graphic(name=graph.title, image=b64encode(graph.figure.to_image(format="png")).decode()) - for graph in graphs - ] - ) - else: - model_card.quantitative_analysis.graphics.collection.extend( - [Graphic(name=graph.title, html=graph.html_content) for graph in graphs] - ) def add_eval_result_plots(model_card: ModelCard, df: pd.DataFrame, static: bool) -> None: @@ -145,34 +246,84 @@ def add_eval_result_plots(model_card: ModelCard, df: pd.DataFrame, static: bool) if "dataset" in df: dfs = df.groupby("dataset") for dataset_name, df in dfs: + if "label" in df: + label_dfs = df.groupby("label") + for label_name, df_label in label_dfs: + df_label.drop("label", axis=1, inplace=True) + graphs = [graph.generate_figure(df_label) for graph in THRESHOLD_GRAPHS] + if static: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" ({dataset_name}) - Label : {label_name})", + image=b64encode(graph.figure.to_image(format="png")).decode(), + ) + for graph in graphs + ] + ) + else: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" ({dataset_name}) - Label : {label_name})", + html=graph.html_content, + ) + for graph in graphs + ] + ) + else: + graphs = [graph.generate_figure(df) for graph in THRESHOLD_GRAPHS] + if static: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" ({dataset_name})", + image=b64encode(graph.figure.to_image(format="png")).decode(), + ) + for graph in graphs + ] + ) + else: + model_card.quantitative_analysis.graphics.collection.extend( + [Graphic(name=graph.title + f" ({dataset_name})", html=graph.html_content) for graph in graphs] + ) + else: + if "label" in df: + label_dfs = df.groupby("label") + for label_name, df_label in label_dfs: + df_label.drop("label", axis=1, inplace=True) + graphs = [graph.generate_figure(df_label) for graph in THRESHOLD_GRAPHS] + if static: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic( + name=graph.title + f" - Label : ({label_name})", + image=b64encode(graph.figure.to_image(format="png")).decode(), + ) + for graph in graphs + ] + ) + else: + model_card.quantitative_analysis.graphics.collection.extend( + [ + Graphic(name=graph.title + f" - Label : ({label_name})", html=graph.html_content) + for graph in graphs + ] + ) + + else: graphs = [graph.generate_figure(df) for graph in THRESHOLD_GRAPHS] if static: model_card.quantitative_analysis.graphics.collection.extend( [ - Graphic( - name=graph.title + f" ({dataset_name})", - image=b64encode(graph.figure.to_image(format="png")).decode(), - ) + Graphic(name=graph.title, image=b64encode(graph.figure.to_image(format="png")).decode()) for graph in graphs ] ) else: model_card.quantitative_analysis.graphics.collection.extend( - [Graphic(name=graph.title + f" ({dataset_name})", html=graph.html_content) for graph in graphs] + [Graphic(name=graph.title, html=graph.html_content) for graph in graphs] ) - else: - graphs = [graph.generate_figure(df) for graph in THRESHOLD_GRAPHS] - if static: - model_card.quantitative_analysis.graphics.collection.extend( - [ - Graphic(name=graph.title, image=b64encode(graph.figure.to_image(format="png")).decode()) - for graph in graphs - ] - ) - else: - model_card.quantitative_analysis.graphics.collection.extend( - [Graphic(name=graph.title, html=graph.html_content) for graph in graphs] - ) def get_slice_key(slice_key: Union[Tuple[()], Tuple[Tuple[Text, Union[Text, int, float]], ...]]) -> Tuple[Text, Text]: diff --git a/notebooks/model_card_gen/multiclass_classification/README.md b/notebooks/model_card_gen/multiclass_classification/README.md new file mode 100644 index 0000000..f722977 --- /dev/null +++ b/notebooks/model_card_gen/multiclass_classification/README.md @@ -0,0 +1,31 @@ +# Creating Model Card for Multiclass Classification of Hate Speech +In this notebook, we will download a model, dataset, and metric from Hugging Face Hub and generate an interactive HTML Model Card using Intel AI Safety Model Card Generator Tool. + +`multiclass-classification-model-card.ipynb` performs the following steps: +1. Download and Import Dependencies +2. Download the Dataset from Hugging Face Datasets +3. Transform the Dataset + - Get ground truth labels +5. Download the Model and Process the Model Outputs +6. Load the Bias Metric form Hugging Face +7. Run the Bias Metric for each class label +8. Transform the Output for the Model Card for each class label +9. Build the Model Card + + +## Running the notebook + +To run the `multiclass-classification-model-card.ipynb`, install the following dependencies: +1. [Intelยฎ Explainable AI](https://github.com/Intel/intel-xai-tools) +2. `!pip install evaluate datasets transformers[torch] scikit-learn` + +## References +### _Dataset citations_ +``` +@article{mathew2020hatexplain, + title={HateXplain: A Benchmark Dataset for Explainable Hate Speech Detection}, + author={Mathew, Binny and Saha, Punyajoy and Yimam, Seid Muhie and Biemann, Chris and Goyal, Pawan and Mukherjee, Animesh}, + journal={arXiv preprint arXiv:2012.10289}, + year={2020} +} +``` \ No newline at end of file diff --git a/notebooks/model_card_gen/multiclass_classification/multiclass-classification-model-card.ipynb b/notebooks/model_card_gen/multiclass_classification/multiclass-classification-model-card.ipynb new file mode 100644 index 0000000..a606675 --- /dev/null +++ b/notebooks/model_card_gen/multiclass_classification/multiclass-classification-model-card.ipynb @@ -0,0 +1,1309 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "afda1ef1-2239-41c5-8513-1e6e7971db27", + "metadata": {}, + "source": [ + "In this notebook, we will download a model, dataset, and metric from Hugging Face Hub and generate an interactive HTML Model Card using Intel AI Safety Model Card Generator Tool." + ] + }, + { + "cell_type": "markdown", + "id": "8ebe569b-4b8f-4128-ade7-307546f5f61c", + "metadata": {}, + "source": [ + "## 1. Download and Import Dependencies" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "307063bb-2faf-4482-9f22-d92c49d0a7c8", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "!pip install evaluate datasets transformers[torch] scikit-learn" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf4a0486-b5cc-4f0d-965d-4eba91cad62d", + "metadata": {}, + "outputs": [], + "source": [ + "from intel_ai_safety.model_card_gen.model_card_gen import ModelCardGen\n", + "from datasets import load_dataset, load_metric\n", + "import evaluate\n", + "from transformers import AutoConfig,AutoModelForSequenceClassification,AutoTokenizer\n", + "import pandas as pd\n", + "\n", + "from collections import Counter\n", + "from functools import reduce\n", + "import json\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "id": "e688b17f-623b-482b-930f-fee122a51da6", + "metadata": {}, + "source": [ + "## 2. Download Dataset from Hugging Face Datasets" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0cbf04f4-9a72-46c4-a3bd-197fff3bfb62", + "metadata": {}, + "outputs": [], + "source": [ + "raw_dataset = load_dataset(\"hatexplain\")\n", + "he_dataset = raw_dataset.map(lambda e: {'text': \" \".join(e['post_tokens'])})" + ] + }, + { + "cell_type": "markdown", + "id": "06ea1f80-900f-48b6-b10f-1d12a29d0ee7", + "metadata": {}, + "source": [ + "## 3. Transform Dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "b3558293-9fd1-4c0c-af8a-ee35c2cf4a6a", + "metadata": {}, + "outputs": [], + "source": [ + "def get_common_targets(elm, ignore=['Other', 'None']):\n", + " \"\"\"\n", + " This function merges annotated targets from each annotator\n", + " into a single list when annotators agree\n", + " \"\"\"\n", + " targets = elm['annotators']['target']\n", + " counts = reduce(lambda x, y: Counter(x) + Counter(y) , targets)\n", + " result = [target for target, count in counts.items() if count > 1]\n", + " if result:\n", + " return {'target': result}\n", + " else:\n", + " return {'target': []}\n", + "\n", + "he_dataset = he_dataset.map(get_common_targets)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "791dbaf3-634e-426a-8085-4ef7c6d2c5b0", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5bedfe9fc20c4343a790ca8c6a426382", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Map: 0%| | 0/15383 [00:00\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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
groupSubgroupBPSNBNSPfeaturelabel
0None0.6639780.0517550.797641targetHate
1Islam0.2520810.2253080.068953targetHate
2Homosexual0.1665200.1049560.114978targetHate
3Other0.0643270.0366190.117924targetHate
4African0.1792280.2761130.049488targetHate
5Caucasian0.1197340.0350240.201707targetHate
6Women0.0915920.0527750.134179targetHate
7Jewish0.1585510.2847090.042195targetHate
8Arab0.1939390.2040500.072467targetHate
9Refugee0.2172470.0500790.265590targetHate
10Overall generalized mean0.0975240.0472290.060728targetHate
11None0.1950180.2783760.107284targetOffensive
12Islam0.1346000.0932310.177565targetOffensive
13Homosexual0.1545860.1293480.145039targetOffensive
14Other0.1695240.1362590.171880targetOffensive
15African0.2011660.0638410.406097targetOffensive
16Caucasian0.2236840.3374920.056882targetOffensive
17Women0.2237340.1996040.116902targetOffensive
18Jewish0.1419780.0498440.322896targetOffensive
19Arab0.2738100.0792820.335899targetOffensive
20Refugee0.1757080.2348580.083398targetOffensive
21Overall generalized mean0.1677820.0733530.086443targetOffensive
22None0.1433460.2737090.112244targetNormal
23Islam0.3830230.1703850.438840targetNormal
24Homosexual0.3141050.3454180.183157targetNormal
25Other0.1304950.3223790.087658targetNormal
26African0.2335680.1184530.403769targetNormal
27Caucasian0.2518520.2107140.265974targetNormal
28Women0.2847950.3358850.176257targetNormal
29Jewish0.2369790.1443650.362873targetNormal
30Arab0.2205130.2005020.256000targetNormal
31Refugee0.3554290.3546360.207917targetNormal
32Overall generalized mean0.1822110.1688600.130460targetNormal
\n", + "" + ], + "text/plain": [ + " group Subgroup BPSN BNSP feature label\n", + "0 None 0.663978 0.051755 0.797641 target Hate\n", + "1 Islam 0.252081 0.225308 0.068953 target Hate\n", + "2 Homosexual 0.166520 0.104956 0.114978 target Hate\n", + "3 Other 0.064327 0.036619 0.117924 target Hate\n", + "4 African 0.179228 0.276113 0.049488 target Hate\n", + "5 Caucasian 0.119734 0.035024 0.201707 target Hate\n", + "6 Women 0.091592 0.052775 0.134179 target Hate\n", + "7 Jewish 0.158551 0.284709 0.042195 target Hate\n", + "8 Arab 0.193939 0.204050 0.072467 target Hate\n", + "9 Refugee 0.217247 0.050079 0.265590 target Hate\n", + "10 Overall generalized mean 0.097524 0.047229 0.060728 target Hate\n", + "11 None 0.195018 0.278376 0.107284 target Offensive\n", + "12 Islam 0.134600 0.093231 0.177565 target Offensive\n", + "13 Homosexual 0.154586 0.129348 0.145039 target Offensive\n", + "14 Other 0.169524 0.136259 0.171880 target Offensive\n", + "15 African 0.201166 0.063841 0.406097 target Offensive\n", + "16 Caucasian 0.223684 0.337492 0.056882 target Offensive\n", + "17 Women 0.223734 0.199604 0.116902 target Offensive\n", + "18 Jewish 0.141978 0.049844 0.322896 target Offensive\n", + "19 Arab 0.273810 0.079282 0.335899 target Offensive\n", + "20 Refugee 0.175708 0.234858 0.083398 target Offensive\n", + "21 Overall generalized mean 0.167782 0.073353 0.086443 target Offensive\n", + "22 None 0.143346 0.273709 0.112244 target Normal\n", + "23 Islam 0.383023 0.170385 0.438840 target Normal\n", + "24 Homosexual 0.314105 0.345418 0.183157 target Normal\n", + "25 Other 0.130495 0.322379 0.087658 target Normal\n", + "26 African 0.233568 0.118453 0.403769 target Normal\n", + "27 Caucasian 0.251852 0.210714 0.265974 target Normal\n", + "28 Women 0.284795 0.335885 0.176257 target Normal\n", + "29 Jewish 0.236979 0.144365 0.362873 target Normal\n", + "30 Arab 0.220513 0.200502 0.256000 target Normal\n", + "31 Refugee 0.355429 0.354636 0.207917 target Normal\n", + "32 Overall generalized mean 0.182211 0.168860 0.130460 target Normal" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_by_group" + ] + }, + { + "cell_type": "markdown", + "id": "271133ca-0ddd-4f54-8448-ad660a76c943", + "metadata": {}, + "source": [ + "## 7. Transform Output for Metrics by Threshold for Model Card" + ] + }, + { + "cell_type": "markdown", + "id": "9b85a523-848b-4da0-995a-3082a992d28d", + "metadata": {}, + "source": [ + "Now, we will create `metrics_by_threshold` containing performance metrics at threshold." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "e5a65a63-8aca-4ed8-86c8-03a2aab2f90c", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "from sklearn.metrics import precision_score, recall_score, f1_score, accuracy_score\n", + "import numpy as np\n", + "import pandas as pd\n", + "thetas = np.linspace(0, 1, 1001)\n", + "y_pred_prob = test_ds['output']\n", + "true_labels = test_ds['label']\n", + "num_of_classes = len(y_pred_prob[0])\n", + "metrics_by_threshold = pd.DataFrame()\n", + "class_label_index_map = {0 : \"Hate\",\n", + " 1 : \"Offensive\",\n", + " 2 : \"Normal\"}\n", + "\n", + "for class_label in range(num_of_classes):\n", + " class_y_pred_prob = y_pred_prob[:,class_label]\n", + " binary_class_labels = [1 if label == class_label else 0 for label in true_labels]\n", + " metrics_dict_per_class ={\n", + " 'threshold': thetas,\n", + " 'precision': [precision_score(binary_class_labels , class_y_pred_prob > theta,zero_division=0) for theta in thetas],\n", + " 'recall': [recall_score(binary_class_labels , class_y_pred_prob > theta) for theta in thetas],\n", + " 'f1': [f1_score(binary_class_labels , class_y_pred_prob > theta) for theta in thetas],\n", + " 'accuracy' : [accuracy_score(binary_class_labels, class_y_pred_prob > theta) for theta in thetas],\n", + " 'label': [class_label_index_map[class_label]]*len(thetas)\n", + " }\n", + " metrics_by_threshold = pd.concat([metrics_by_threshold, pd.DataFrame.from_dict(metrics_dict_per_class)], ignore_index=True)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "89451c6f-e7c1-4e60-9223-4bf338c5cfe8", + "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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + "
thresholdprecisionrecallf1accuracylabel
00.0000.3087321.00.4718030.308732Hate
10.0010.3087321.00.4718030.308732Hate
20.0020.3087321.00.4718030.308732Hate
30.0030.3087321.00.4718030.308732Hate
40.0040.3087321.00.4718030.308732Hate
.....................
29980.9960.0000000.00.0000000.715177Normal
29990.9970.0000000.00.0000000.715177Normal
30000.9980.0000000.00.0000000.715177Normal
30010.9990.0000000.00.0000000.715177Normal
30021.0000.0000000.00.0000000.715177Normal
\n", + "

3003 rows ร— 6 columns

\n", + "
" + ], + "text/plain": [ + " threshold precision recall f1 accuracy label\n", + "0 0.000 0.308732 1.0 0.471803 0.308732 Hate\n", + "1 0.001 0.308732 1.0 0.471803 0.308732 Hate\n", + "2 0.002 0.308732 1.0 0.471803 0.308732 Hate\n", + "3 0.003 0.308732 1.0 0.471803 0.308732 Hate\n", + "4 0.004 0.308732 1.0 0.471803 0.308732 Hate\n", + "... ... ... ... ... ... ...\n", + "2998 0.996 0.000000 0.0 0.000000 0.715177 Normal\n", + "2999 0.997 0.000000 0.0 0.000000 0.715177 Normal\n", + "3000 0.998 0.000000 0.0 0.000000 0.715177 Normal\n", + "3001 0.999 0.000000 0.0 0.000000 0.715177 Normal\n", + "3002 1.000 0.000000 0.0 0.000000 0.715177 Normal\n", + "\n", + "[3003 rows x 6 columns]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metrics_by_threshold" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "c23492e4-da37-4aa7-8411-d8ed6172348e", + "metadata": {}, + "outputs": [], + "source": [ + "metrics_by_threshold.to_csv('multiclass_metrics_by_threshold.csv', index=False) \n", + "metrics_by_group.to_csv('multiclass_metrics_by_group.csv', index=False) " + ] + }, + { + "cell_type": "markdown", + "id": "b387c982-b7fb-4043-b377-d62c2dda9d74", + "metadata": {}, + "source": [ + "## 8. Build Model Card" + ] + }, + { + "cell_type": "markdown", + "id": "ec3829b2-514b-42ba-ad14-798256f7dad5", + "metadata": {}, + "source": [ + "Simply add the dataframes into the `ModelCardGen.generate` class method to build a model card." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "ede251f4-8531-4c8f-aacc-edb13bdf3d8a", + "metadata": {}, + "outputs": [], + "source": [ + "mc = {\n", + " \"schema_version\": \"0.0.1\",\n", + " \"model_details\": {\n", + " \"name\": \"Explainable Hate Speech Detection\",\n", + " \"version\": {\n", + " \"name\": \"0.1\",\n", + " \"date\": \"2020\"\n", + " },\n", + " \"graphics\": {},\n", + "\n", + " \"citations\": [\n", + " {\n", + " \"citation\": '''@article{mathew2020hatexplain,\n", + " title={HateXplain: A Benchmark Dataset for Explainable Hate Speech Detection},\n", + " author={Mathew, Binny and Saha, Punyajoy and Yimam, Seid Muhie and Biemann, Chris and Goyal, Pawan and Mukherjee, Animesh},\n", + " journal={arXiv preprint arXiv:2012.10289},\n", + " year={2020}}'''\n", + " },\n", + " ],\n", + " \"overview\": 'The model is used for classifying a text as Hatespeech, Offensive, or Normal. The model is trained using data from Gab and Twitter and Human Rationales were included as part of the training data to boost the performance. The dataset and models are available here: https://github.com/punyajoy/HateXplain',\n", + " }\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "a7c57159-ad0f-4f02-8ea2-1364d195eea2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " Model Card for Explainable Hate Speech Detection\n", + "\n", + "\n", + " \n", + " \n", + "\n", + "\n", + "\n", + "
\n", + "

\n", + " Explainable Hate Speech Detection\n", + "

\n", + "
\n", + " Model Card generated with Intel® Explainable AI Tools
\n", + " \n", + " \n", + "
name: 0.1
\n", + "\n", + " \n", + " \n", + "
date: 2020
\n", + "\n", + " \n", + " \n", + "\n", + "
\n", + "
\n", + "
\n", + "
\n", + "

Model Details

\n", + "

Overview

\n", + " The model is used for classifying a text as Hatespeech, Offensive, or Normal. The model is trained using data from Gab and Twitter and Human Rationales were included as part of the training data to boost the performance. The dataset and models are available here: https://github.com/punyajoy/HateXplain\n", + "

Model Performance

\n", + " \n", + "
\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + "

Overall Accuracy/Precision/Recall/F1 - Label : (Hate)

\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + "

Overall Accuracy/Precision/Recall/F1 - Label : (Normal)

\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + "

Overall Accuracy/Precision/Recall/F1 - Label : (Offensive)

\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + "\n", + "
\n", + "
\n", + "\n", + " \n", + "

Version

\n", + " \n", + " \n", + "
name: 0.1
\n", + "\n", + " \n", + " \n", + "
date: 2020
\n", + "\n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "

Citations

\n", + "
    \n", + " \n", + "
  • @article{mathew2020hatexplain,\n", + " title={HateXplain: A Benchmark Dataset for Explainable Hate Speech Detection},\n", + " author={Mathew, Binny and Saha, Punyajoy and Yimam, Seid Muhie and Biemann, Chris and Goyal, Pawan and Mukherjee, Animesh},\n", + " journal={arXiv preprint arXiv:2012.10289},\n", + " year={2020}}
  • \n", + " \n", + "
\n", + "
\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + "

Quantitative Analysis

\n", + " \n", + " \n", + " \n", + "
\n", + "
\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + "

Metrics at Threshold - Label : (Hate)

\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + "

Metrics at Threshold - Label : (Normal)

\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + "

Metrics at Threshold - Label : (Offensive)

\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + "

Metrics by Group - Label : (Hate)

\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + "

Metrics by Group - Label : (Normal)

\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + "
\n", + "

Metrics by Group - Label : (Offensive)

\n", + " \n", + "
\n", + " \n", + "
\n", + " \n", + "\n", + "
\n", + "
\n", + "\n", + " \n", + "
\n", + "\n", + " \n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mcg = ModelCardGen.generate(metrics_by_group=metrics_by_group, metrics_by_threshold=metrics_by_threshold, model_card=mc)\n", + "mcg" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "c0700c08-f41c-4f93-a476-1976a5c46b32", + "metadata": {}, + "outputs": [], + "source": [ + "mcg.export_html('ModelCard.html')" + ] + } + ], + "metadata": { + "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.9.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 8e973fceb63042033e374787c588137f5644a6e1 Mon Sep 17 00:00:00 2001 From: qgao007 <108324932+qgao007@users.noreply.github.com> Date: Mon, 18 Nov 2024 10:15:26 -0700 Subject: [PATCH 3/8] Add benchmark capability (#336) - sort the required library list - rename accordingly Signed-off-by: Gao, Qun --- .../classification_metrics/README.md | 58 ++++++ .../classification_metrics/requirements.txt | 7 + .../benchmark_classification_metrics.py | 182 ++++++++++++++++++ 3 files changed, 247 insertions(+) create mode 100644 plugins/benchmark/classification_metrics/README.md create mode 100644 plugins/benchmark/classification_metrics/requirements.txt create mode 100644 plugins/benchmark/classification_metrics/scripts/benchmark_classification_metrics.py diff --git a/plugins/benchmark/classification_metrics/README.md b/plugins/benchmark/classification_metrics/README.md new file mode 100644 index 0000000..1c0fc07 --- /dev/null +++ b/plugins/benchmark/classification_metrics/README.md @@ -0,0 +1,58 @@ +# Toxicity Detection Accuracy + +Toxicity detection plays a critical role in guarding the inputs and outputs of large language models (LLMs) to ensure safe, respectful, and responsible content. Given the widespread use of LLMs in applications like customer service, education, and social media, there's a significant risk that they could inadvertently produce or amplify harmful language if toxicity is not detected effectively. + +For evaluating a target toxicity detection LLM, we use the ToxicChat dataset and the most commonly used metrics in toxicity classification, to provide a comprehensive assessment. The Gaudi 2 accelerator is deployed in the benchmark to address the high demand of the AI workload while balancing the power efficiency. + +- Dataset + - [ToxicChat](https://huggingface.co/datasets/lmsys/toxic-chat) +- Metrics + - accuracy + - auroc + - f1 + - precision + - recall + +## Get Started + +### Requirements +```bash +git clone https://github.com/huggingface/optimum-habana.git +``` +### Setup +```bash +DOCKER_RUN_ENVS="--env ftp_proxy=${ftp_proxy} --env FTP_PROXY=${FTP_PROXY} --env http_proxy=${http_proxy} --env HTTP_PROXY=${HTTP_PROXY} --env https_proxy=${https_proxy} --env HTTPS_PROXY=${HTTPS_PROXY} --env no_proxy=${no_proxy} --env NO_PROXY=${NO_PROXY} --env socks_proxy=${socks_proxy} --env SOCKS_PROXY=${SOCKS_PROXY} --env TF_ENABLE_MKL_NATIVE_FORMAT=1" + +docker run --disable-content-trust ${DOCKER_RUN_ENVS} \ + -d --rm -it --name toxicity-detection-benchmark \ + -v ${PWD}:/workdir \ + --runtime=habana \ + -e HABANA_VISIBLE_DEVICES=all \ + -e OMPI_MCA_btl_vader_single_copy_mechanism=none \ + --cap-add=sys_nice \ + --net=host \ + --ipc=host \ + vault.habana.ai/gaudi-docker/1.16.2/ubuntu22.04/habanalabs/pytorch-installer-2.2.2:latest +``` + +### Evaluation +#### Execute interactive container +```bash +docker exec -it toxicity-detection-benchmark bash +``` +#### Navigate to `workdir` and install required packages +```bash +cd /workdir +cd optimum-habana && pip install . && cd .. +pip install -r requirements.txt +``` + + +Test the model and confirm the results saved correctly + +```bash +MODEL_PATH=Intel/toxic-prompt-roberta +DATASETS=tc +python ./scripts/benchmark_accuracy.py -m ${MODEL_PATH} -d ${DATASETS} +cat ${MODEL_PATH%%/*}/results/${MODEL_PATH##*/}_${DATASETS}_accuracy/metrics.json +``` \ No newline at end of file diff --git a/plugins/benchmark/classification_metrics/requirements.txt b/plugins/benchmark/classification_metrics/requirements.txt new file mode 100644 index 0000000..ffd0720 --- /dev/null +++ b/plugins/benchmark/classification_metrics/requirements.txt @@ -0,0 +1,7 @@ +evaluate +loguru +pandas +scikit-learn +torch +torchmetrics +transformers diff --git a/plugins/benchmark/classification_metrics/scripts/benchmark_classification_metrics.py b/plugins/benchmark/classification_metrics/scripts/benchmark_classification_metrics.py new file mode 100644 index 0000000..e8923dc --- /dev/null +++ b/plugins/benchmark/classification_metrics/scripts/benchmark_classification_metrics.py @@ -0,0 +1,182 @@ +import os +from pathlib import Path +import json +import pandas as pd +import numpy as np +from transformers import AutoModelForSequenceClassification, DistilBertTokenizerFast, pipeline, AutoTokenizer +from optimum.habana import GaudiTrainer, GaudiTrainingArguments +import evaluate +import torch +from torch.utils.data import Dataset +from torch.nn.functional import softmax +import argparse + +os.environ["TOKENIZERS_PARALLELISM"] = "true" + +def parse_args(): + + parser = argparse.ArgumentParser( + prog='Test', + description='Test checkpoint generated by train.py with jigsaw or tc from checkpoint. \ + Can also test CitizenLab model.', + epilog='WIP' + ) + + parser.add_argument('-m', '--model-path', help='Path to the model checkpoint that \ + will be tested.') + parser.add_argument('-d', '--dataset-name', help='ToxicChat=\'tc\' or \ + Jigsaw Unintended Bias=\'jigsaw\'') + parser.add_argument('-r', '--results-path', help='Optional. Only set results path if you are \ + testing model from hugging face hub.') + return parser.parse_args() + +class BertoxDataset(Dataset): + def __init__(self, encodings, labels): + self.encodings = encodings + self.labels = labels + + def __getitem__(self, idx): + item = {key: torch.tensor(val[idx]) for key, val in self.encodings.items()} + item['labels'] = torch.tensor(self.labels[idx]) + return item + + def __len__(self): + return len(self.labels) + +def validate_metrics(predict_results): + roc_auc = load_metric("roc_auc") + n_samples = len(predict_results.label_ids) + probabilities = softmax(torch.Tensor(predict_results.predictions))[:,1] + auroc = roc_auc.compute(prediction_scores=probabilities, references=predict_results.label_ids) + preds = np.argmax(predict_results.predictions, axis=-1) + + n_correct = 0 + for i in range(n_samples): + if preds[i] == predict_results.label_ids[i]: + n_correct += 1 + accuracy = n_correct/n_samples + + print(f'My accuracy: {accuracy}.\nEvaluate accuracy: {predict_results.metrics["test_accuracy"]} ') + print(f'My auroc: {auroc}.\nEvaluate accuracy: {predict_results.metrics["test_auroc"]} ') + +def read_test_tc_split(csv_path, CL): + df = pd.read_csv(csv_path) + texts = list(df.user_input) + labels = list(df.toxicity) + + # if we're testing Citizen Lab, switch labels + # to match config of CL model where + # toxic=0 and not_toxic=1 + if CL: + swap = {0:1, 1:0} + labels = [swap[i] for i in labels] + + return texts, labels + +def generate_datasets(test_texts, test_labels, tokenizer): + test_encodings = tokenizer(test_texts, truncation=True, padding=True) + test_dataset = BertoxDataset(test_encodings, test_labels) + + return test_dataset + +print('loading accuracy metric') +accuracy = evaluate.load("accuracy") +print('loading auroc metric') +roc_auc = evaluate.load("roc_auc") +print('loading f1 metric') +f1_metric = evaluate.load("f1") +print('loading precision metric') +precision_metric = evaluate.load("precision") +print('loading recall metric') +recall_metric = evaluate.load("recall") + +def compute_metrics(eval_pred): + + logits, labels = eval_pred + probabilities = softmax(torch.Tensor(logits))[:,1] + predictions = np.argmax(logits, axis=-1) + + acc = accuracy.compute(predictions=predictions, references=labels) + auroc = roc_auc.compute(prediction_scores=probabilities, references=labels) + f1 = f1_metric.compute(predictions=predictions, references=labels) + precision = precision_metric.compute(predictions=predictions, references=labels) + recall = recall_metric.compute(predictions=predictions, references=labels) + + return {'accuracy': acc['accuracy'], 'auroc': auroc['roc_auc'], 'f1': f1['f1'], 'precision': precision['precision'], 'recall': recall['recall']} + + +def save_predictions(prediction_results, input_texts, results_path, CL): + + if CL: + results_df = pd.DataFrame({ + 'input': input_texts, + 'target': prediction_results.label_ids, + 'toxic': prediction_results.predictions[:,0], + 'not_toxic': prediction_results.predictions[:,1], + }) + else: + results_df = pd.DataFrame({ + 'input': input_texts, + 'target': prediction_results.label_ids, + 'not_toxic': prediction_results.predictions[:,0], + 'toxic': prediction_results.predictions[:,1], + }) + + results_df.to_csv(results_path) + return results_df + + +def main(): + args = parse_args() + print(args) + CL = False + if 'citizenlab' in args.model_path: + CL = True + + CHECKPOINT_NAME = os.path.basename(args.model_path) + if CL: + WORKFLOW_DIR = Path(args.model_path).parent.absolute() + elif args.results_path is None: + WORKFLOW_DIR = Path(args.model_path).parent.absolute().parent.absolute() + else: + WORKFLOW_DIR = args.results_path + + + TEST_RESULTS_PATH = os.path.join(WORKFLOW_DIR, 'results', f'{CHECKPOINT_NAME}_{args.dataset_name}_accuracy') + print(f'Saving results in {TEST_RESULTS_PATH}') + + if not os.path.exists(TEST_RESULTS_PATH): + os.makedirs(TEST_RESULTS_PATH) + + if args.dataset_name == 'tc': + DATA_PATH = 'hf://datasets/lmsys/toxic-chat/data/0124/toxic-chat_annotation_test.csv' + test_texts, test_labels = read_test_tc_split(DATA_PATH, CL) + else: + print(f'Support for dataset is coming soon...') + + + + model = AutoModelForSequenceClassification.from_pretrained(args.model_path) + tokenizer = AutoTokenizer.from_pretrained(args.model_path) + + test_dataset = generate_datasets(test_texts, test_labels, tokenizer) + training_args = GaudiTrainingArguments(output_dir=TEST_RESULTS_PATH, + use_habana=True, + use_lazy_mode=True, + gaudi_config_name='Habana/roberta-base', + ) + + trainer = GaudiTrainer( + model=model, # the instantiated ๐Ÿค— Transformers model to be trained + args=training_args, # training arguments, defined above + eval_dataset=test_dataset, # evaluation dataset + compute_metrics=compute_metrics + ) + + results = trainer.predict(test_dataset) + + save_predictions(results, test_texts, os.path.join(TEST_RESULTS_PATH,'predictions.csv'), CL) + json.dump(results.metrics, open(os.path.join(TEST_RESULTS_PATH,'metrics.json'), 'w')) + +if __name__ == '__main__': + main() \ No newline at end of file From 4a57fe5e91f2bdc9f11436642daa78904514b319 Mon Sep 17 00:00:00 2001 From: Abolfazl Shahbazi <12436063+ashahba@users.noreply.github.com> Date: Mon, 18 Nov 2024 14:16:45 -0800 Subject: [PATCH 4/8] Fix UC dataset URLs (#337) * Fix UC dataset URLs Signed-off-by: Abolfazl Shahbazi <12436063+ashahba@users.noreply.github.com> * One more dataset URL Signed-off-by: Abolfazl Shahbazi <12436063+ashahba@users.noreply.github.com> --------- Signed-off-by: Abolfazl Shahbazi <12436063+ashahba@users.noreply.github.com> --- DATASETS.md | 4 ++-- ...yTorch_Text_Classifier_fine_tuning_with_Attributions.ipynb | 4 ++-- .../explainer/transfer_learning_text_classification/README.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DATASETS.md b/DATASETS.md index 7dd62d2..618de1e 100644 --- a/DATASETS.md +++ b/DATASETS.md @@ -4,7 +4,7 @@ This is a comprehensive list of public datasets used by this repository. | Name (Link/Source) | Framework | Use Case | |--------------------| --------- | -------- | -| [Adult Income Dataset ](https://archive.ics.uci.edu/ml/machine-learning-databases/adult/) | PyTorch | Tabular Classification | +| [Adult Income Dataset ](https://archive.ics.uci.edu/dataset/2/adult) | PyTorch | Tabular Classification | | [CDD-CESM](https://wiki.cancerimagingarchive.net/pages/viewpage.action?pageId=109379611) | PyTorch | Image & Text Classification | | [CIFAR-10 (TorchVision)](https://pytorch.org/vision/main/generated/torchvision.datasets.CIFAR10.html) | Tensorflow | Text Classification | | [Civil Comments (TFDS)](https://www.tensorflow.org/datasets/catalog/civil_comments) | Tensorflow | Text Classification | @@ -12,4 +12,4 @@ This is a comprehensive list of public datasets used by this repository. | [ImageNet (TorchVision)](https://pytorch.org/vision/main/generated/torchvision.datasets.ImageNet.html) | PyTorch | Image Classification | | [IMDB Reviews](https://ai.stanford.edu/~amaas/data/sentiment/) | PyTorch | Text Classification | | [MNIST (TorchVision)](https://pytorch.org/vision/main/generated/torchvision.datasets.MNIST.html) | PyTorch | Image Classification | -| [SMS Spam Collection](https://archive.ics.uci.edu/ml/machine-learning-databases/00228/) | PyTorch | Text Classification | \ No newline at end of file +| [SMS Spam Collection](https://archive.ics.uci.edu/dataset/228/sms+spam+collection) | PyTorch | Text Classification | \ No newline at end of file diff --git a/notebooks/explainer/transfer_learning_text_classification/PyTorch_Text_Classifier_fine_tuning_with_Attributions.ipynb b/notebooks/explainer/transfer_learning_text_classification/PyTorch_Text_Classifier_fine_tuning_with_Attributions.ipynb index 340e185..b1bd415 100644 --- a/notebooks/explainer/transfer_learning_text_classification/PyTorch_Text_Classifier_fine_tuning_with_Attributions.ipynb +++ b/notebooks/explainer/transfer_learning_text_classification/PyTorch_Text_Classifier_fine_tuning_with_Attributions.ipynb @@ -297,7 +297,7 @@ "\n", "Instead of using a dataset from the Hugging Face dataset catalog, a custom dataset from your local system or a download can be used.\n", "\n", - "In this example, we download the [SMS Spam Collection dataset](https://archive-beta.ics.uci.edu/ml/datasets/sms+spam+collection). The zip file has a single tab-separated value file with two columns. The first column is the label (`ham` or `spam`) and the second column is the text of the SMS message:\n", + "In this example, we download the [SMS Spam Collection dataset](https://archive.ics.uci.edu/dataset/228/sms+spam+collection). The zip file has a single tab-separated value file with two columns. The first column is the label (`ham` or `spam`) and the second column is the text of the SMS message:\n", "```\n", "\t\n", "\t\n", @@ -380,7 +380,7 @@ "\n", "# Modify the variables below to use a different dataset or a csv file on your local system.\n", "# The csv_path variable should be pointing to a csv file with 2 columns (the label and the text)\n", - "dataset_url = \"https://archive.ics.uci.edu/ml/machine-learning-databases/00228/smsspamcollection.zip\"\n", + "dataset_url = \"https://archive.ics.uci.edu/static/public/228/sms+spam+collection.zip\"\n", "dataset_dir = os.path.join(dataset_dir, \"smsspamcollection\")\n", "csv_name = \"SMSSpamCollection\"\n", "delimiter = \"\\t\"\n", diff --git a/notebooks/explainer/transfer_learning_text_classification/README.md b/notebooks/explainer/transfer_learning_text_classification/README.md index 864f773..f2108d6 100644 --- a/notebooks/explainer/transfer_learning_text_classification/README.md +++ b/notebooks/explainer/transfer_learning_text_classification/README.md @@ -3,7 +3,7 @@ This notebook demonstrates fine tuning [pretrained models from Hugging Face](https://huggingface.co/models) using text classification datasets from the [Hugging Face Datasets catalog](https://huggingface.co/datasets) or a custom dataset. The [IMDb Larget Movie Review dataset](https://ai.stanford.edu/~amaas/data/sentiment/) is used -from the Hugging Face Datasets catalog, and the [SMS Spam Collection dataset](https://archive-beta.ics.uci.edu/ml/datasets/sms+spam+collection) +from the Hugging Face Datasets catalog, and the [SMS Spam Collection dataset](https://archive.ics.uci.edu/dataset/228/sms+spam+collection) is used as an example of a custom dataset being loaded from a csv file. The notebook uses From 3258c9a3b656631e03eaec6a2b1602911b9276c1 Mon Sep 17 00:00:00 2001 From: Abolfazl Shahbazi <12436063+ashahba@users.noreply.github.com> Date: Mon, 18 Nov 2024 14:17:17 -0800 Subject: [PATCH 5/8] Update CODEOWNERS (#338) Signed-off-by: Abolfazl Shahbazi <12436063+ashahba@users.noreply.github.com> --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index ce9def1..7a5ae24 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -5,7 +5,7 @@ # the repo. Unless a later match takes precedence, # @global-owner1 and @global-owner2 will be requested for # review when someone opens a pull request. -* @ashahba @daniel-de-leon-user293 @mitalipo +* @ashahba @daniel-de-leon-user293 @mitalipo @qgao007 # Order is important; the last matching pattern takes the most # precedence. When someone opens a pull request that only From f3e374bea54f0a1fdb52c4221e049013878803cd Mon Sep 17 00:00:00 2001 From: Mitali Potnis <162364085+mitalipo@users.noreply.github.com> Date: Mon, 25 Nov 2024 11:38:32 -0800 Subject: [PATCH 6/8] Benchmarking on Jigsaw (#339) * Add jigsaw dataset toxicity benchmarking Signed-off-by: Mitali Potnis * Add toxicity dataset toxicity benchmarking Signed-off-by: Mitali Potnis * Add jigsaw dataset toxicity benchmarking --------- Signed-off-by: Mitali Potnis --- Makefile | 12 +- .../classification_metrics/README.md | 40 +++- .../benchmark_classification_metrics.py | 207 ++++++++++++------ .../classification_metrics/tests/__init__.py | 19 ++ .../tests/test_benchmark_classification.py | 53 +++++ 5 files changed, 262 insertions(+), 69 deletions(-) create mode 100644 plugins/benchmark/classification_metrics/tests/__init__.py create mode 100644 plugins/benchmark/classification_metrics/tests/test_benchmark_classification.py diff --git a/Makefile b/Makefile index 0a7d704..d0eda8f 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,7 @@ ACTIVATE_NOTEBOOK = $(ACTIVATE_TEST) LISTEN_IP ?= 127.0.0.1 LISTEN_PORT ?= 9090 DOCS_DIR ?= docs +BENCHMARK_DIR = "plugins/benchmark/" venv-test: poetry-lock @echo "Creating a virtualenv $(VENV_DIR)..." @@ -46,6 +47,11 @@ venv-lint: flake8==7.0.0 \ black==24.4.2 +venv-test-benchmark: + @echo "Creating a virtualenv $(VENV_DIR) for benchmark testing..." + @test -d $(VENV_DIR) || python -m virtualenv $(VENV_DIR) || python3 -m virtualenv $(VENV_DIR) + @. $(ACTIVATE_TEST) && pip install --no-cache-dir --no-deps -r ${BENCHMARK_DIR}/classification_metrics/requirements.txt + test-mcg: venv-test @echo "Testing the Model Card Gen API..." @. $(ACTIVATE_TEST) && pytest model_card_gen/tests @@ -68,7 +74,11 @@ test-explainer: venv-test @. $(ACTIVATE_TEST) && pytest plugins/explainers/cam-pytorch/tests @. $(ACTIVATE_TEST) && pytest plugins/explainers/metrics/tests -test: test-mcg test-explainer +test-benchmark: venv-test-benchmark + @echo "Testing Benchmarking..." + @. $(ACTIVATE_TEST) && pytest plugins/benchmark/classification_metrics/tests + +test: test-mcg test-explainer test-benchmark venv-docs: venv-test ${DOCS_DIR}/requirements-docs.txt @echo "Installing docs dependencies..." diff --git a/plugins/benchmark/classification_metrics/README.md b/plugins/benchmark/classification_metrics/README.md index 1c0fc07..e5eb7ce 100644 --- a/plugins/benchmark/classification_metrics/README.md +++ b/plugins/benchmark/classification_metrics/README.md @@ -2,24 +2,34 @@ Toxicity detection plays a critical role in guarding the inputs and outputs of large language models (LLMs) to ensure safe, respectful, and responsible content. Given the widespread use of LLMs in applications like customer service, education, and social media, there's a significant risk that they could inadvertently produce or amplify harmful language if toxicity is not detected effectively. -For evaluating a target toxicity detection LLM, we use the ToxicChat dataset and the most commonly used metrics in toxicity classification, to provide a comprehensive assessment. The Gaudi 2 accelerator is deployed in the benchmark to address the high demand of the AI workload while balancing the power efficiency. +For evaluating a target toxicity detection LLM, we use the ToxicChat and Jigsaw datasets, and the most commonly used metrics in toxicity classification, to provide a comprehensive assessment. Currently, the benchmark script only supports benchmarking one dataset at a time. Future work includes enabling benchmarking on multiple datasets at a time. The Gaudi 2 accelerator is deployed in the benchmark to address the high demand of the AI workload while balancing the power efficiency. -- Dataset +- Supported Dataset - [ToxicChat](https://huggingface.co/datasets/lmsys/toxic-chat) -- Metrics + - [Jigsaw Unintended Bias](https://www.kaggle.com/c/jigsaw-unintended-bias-in-toxicity-classification) + - More datasets to come... + +- Supported Metrics - accuracy + - auprc (area under precision recall curve) - auroc + - auprc (area under precision recall curve) - f1 + - fpr (false positive rate) - precision - recall + - fpr (false positive rate) ## Get Started ### Requirements +If you are using an `hpu` device, then clone the `optimum-habana` repository. ```bash git clone https://github.com/huggingface/optimum-habana.git ``` + ### Setup +If you're running behind corporate proxy, run Gaudi Docker with additional proxies and volume mount. ```bash DOCKER_RUN_ENVS="--env ftp_proxy=${ftp_proxy} --env FTP_PROXY=${FTP_PROXY} --env http_proxy=${http_proxy} --env HTTP_PROXY=${HTTP_PROXY} --env https_proxy=${https_proxy} --env HTTPS_PROXY=${HTTPS_PROXY} --env no_proxy=${no_proxy} --env NO_PROXY=${NO_PROXY} --env socks_proxy=${socks_proxy} --env SOCKS_PROXY=${SOCKS_PROXY} --env TF_ENABLE_MKL_NATIVE_FORMAT=1" @@ -47,12 +57,32 @@ cd optimum-habana && pip install . && cd .. pip install -r requirements.txt ``` +In case of [Jigsaw Unintended Bias](https://www.kaggle.com/c/jigsaw-unintended-bias-in-toxicity-classification), make sure the datasets are downloaded and stored in current working directory. -Test the model and confirm the results saved correctly +#### Test the model and confirm the results saved correctly +Replace `MODEL_PATH` and `DATASETS` with the appropriate path for the model and the name of the dataset. +```bash +MODEL_PATH=Intel/toxic-prompt-roberta +DATASETS=tc +python ./scripts/benchmark_classification_metrics.py -m ${MODEL_PATH} -d ${DATASETS} +cat ${MODEL_PATH%%/*}/results/${MODEL_PATH##*/}_${DATASETS}_accuracy/metrics.json +``` +If you are using an `hpu` device, you can instantiate the Gaudi configuration by passing the `GAUDI_CONFIG_NAME` variable with the appropriate configuration name. The default value for the device name (`device`) is `hpu`. ```bash MODEL_PATH=Intel/toxic-prompt-roberta DATASETS=tc -python ./scripts/benchmark_accuracy.py -m ${MODEL_PATH} -d ${DATASETS} +GAUDI_CONFIG_NAME=Habana/roberta-base +DEVICE_NAME=hpu +python ./scripts/benchmark_classification_metrics.py -m ${MODEL_PATH} -d ${DATASETS} -g_config ${GAUDI_CONFIG_NAME} --device ${DEVICE_NAME} +cat ${MODEL_PATH%%/*}/results/${MODEL_PATH##*/}_${DATASETS}_accuracy/metrics.json +``` + +For the Jigsaw Unintended Bias, pass the path of the stored dataset file in place of the variable `DATASET_PATH`. +```bash +MODEL_PATH=Intel/toxic-prompt-roberta +DATASETS=jigsaw +DATASET_PATH=/path/to/dataset +python ./scripts/benchmark_classification_metrics.py -m ${MODEL_PATH} -d ${DATASETS} -p ${DATASET_PATH} cat ${MODEL_PATH%%/*}/results/${MODEL_PATH##*/}_${DATASETS}_accuracy/metrics.json ``` \ No newline at end of file diff --git a/plugins/benchmark/classification_metrics/scripts/benchmark_classification_metrics.py b/plugins/benchmark/classification_metrics/scripts/benchmark_classification_metrics.py index e8923dc..b44e9ba 100644 --- a/plugins/benchmark/classification_metrics/scripts/benchmark_classification_metrics.py +++ b/plugins/benchmark/classification_metrics/scripts/benchmark_classification_metrics.py @@ -1,24 +1,43 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) 2024 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# import os from pathlib import Path import json import pandas as pd import numpy as np -from transformers import AutoModelForSequenceClassification, DistilBertTokenizerFast, pipeline, AutoTokenizer -from optimum.habana import GaudiTrainer, GaudiTrainingArguments +from transformers import AutoModelForSequenceClassification, AutoTokenizer import evaluate import torch from torch.utils.data import Dataset from torch.nn.functional import softmax import argparse +from sklearn.metrics import precision_recall_curve, auc os.environ["TOKENIZERS_PARALLELISM"] = "true" + def parse_args(): parser = argparse.ArgumentParser( prog='Test', - description='Test checkpoint generated by train.py with jigsaw or tc from checkpoint. \ - Can also test CitizenLab model.', + description='Test model checkpoint with Jigsaw and ToxicChat datasets.', epilog='WIP' ) @@ -28,8 +47,12 @@ def parse_args(): Jigsaw Unintended Bias=\'jigsaw\'') parser.add_argument('-r', '--results-path', help='Optional. Only set results path if you are \ testing model from hugging face hub.') + parser.add_argument('-p', '--dataset-path', help='Required in case of Jigsaw dataset. Path of dataset file stored locally.') + parser.add_argument('--device', type=str, default='hpu', help='Optional. Device Type: cpu or hpu. Will default to hpu.') + parser.add_argument('-g_config','--gaudi_config_name', type=str, default='Habana/roberta-base', help='Optional. Name of the gaudi configuration. Will Default to Habana/roberta-base.') return parser.parse_args() + class BertoxDataset(Dataset): def __init__(self, encodings, labels): self.encodings = encodings @@ -37,63 +60,90 @@ def __init__(self, encodings, labels): def __getitem__(self, idx): item = {key: torch.tensor(val[idx]) for key, val in self.encodings.items()} - item['labels'] = torch.tensor(self.labels[idx]) + item["labels"] = torch.tensor(self.labels[idx]) return item def __len__(self): return len(self.labels) + def validate_metrics(predict_results): roc_auc = load_metric("roc_auc") n_samples = len(predict_results.label_ids) - probabilities = softmax(torch.Tensor(predict_results.predictions))[:,1] + probabilities = softmax(torch.Tensor(predict_results.predictions))[:, 1] auroc = roc_auc.compute(prediction_scores=probabilities, references=predict_results.label_ids) preds = np.argmax(predict_results.predictions, axis=-1) n_correct = 0 for i in range(n_samples): if preds[i] == predict_results.label_ids[i]: - n_correct += 1 - accuracy = n_correct/n_samples + n_correct += 1 + accuracy = n_correct / n_samples print(f'My accuracy: {accuracy}.\nEvaluate accuracy: {predict_results.metrics["test_accuracy"]} ') print(f'My auroc: {auroc}.\nEvaluate accuracy: {predict_results.metrics["test_auroc"]} ') -def read_test_tc_split(csv_path, CL): + +def read_test_tc_split(csv_path): + """ + Reads the test split for the ToxicChat dataset. + """ df = pd.read_csv(csv_path) texts = list(df.user_input) - labels = list(df.toxicity) + labels = list(df.toxicity) - # if we're testing Citizen Lab, switch labels - # to match config of CL model where - # toxic=0 and not_toxic=1 - if CL: - swap = {0:1, 1:0} - labels = [swap[i] for i in labels] - return texts, labels + +def read_test_jigsaw_split(csv_path): + """ + Reads the test split for the Jigsaw dataset. + """ + try: + df = pd.read_csv(csv_path, index_col=0) + df = df[~df.comment_text.isna()] + texts = list(df["comment_text"]) + labels = list(np.round(df["toxicity"]).astype(int)) + + return texts, labels + except: + raise Exception( + f"Error loading test dataset for Jigsaw Unintended Bias. Please ensure the CSV file path is correct and the file contains the required columns: 'comment_text' and 'toxicity'." + ) + + def generate_datasets(test_texts, test_labels, tokenizer): test_encodings = tokenizer(test_texts, truncation=True, padding=True) test_dataset = BertoxDataset(test_encodings, test_labels) return test_dataset -print('loading accuracy metric') + +print("loading accuracy metric") accuracy = evaluate.load("accuracy") -print('loading auroc metric') +print("loading auroc metric") roc_auc = evaluate.load("roc_auc") -print('loading f1 metric') +print("loading f1 metric") f1_metric = evaluate.load("f1") -print('loading precision metric') +print("loading precision metric") precision_metric = evaluate.load("precision") -print('loading recall metric') +print("loading recall metric") recall_metric = evaluate.load("recall") + +def load_model(model_path): + try: + model = AutoModelForSequenceClassification.from_pretrained(model_path) + tokenizer = AutoTokenizer.from_pretrained(model_path) + return (model, tokenizer) + except: + raise EnvironmentError("Please make sure that a valid model path is provided.") + + def compute_metrics(eval_pred): logits, labels = eval_pred - probabilities = softmax(torch.Tensor(logits))[:,1] + probabilities = softmax(torch.Tensor(logits))[:, 1] predictions = np.argmax(logits, axis=-1) acc = accuracy.compute(predictions=predictions, references=labels) @@ -101,26 +151,44 @@ def compute_metrics(eval_pred): f1 = f1_metric.compute(predictions=predictions, references=labels) precision = precision_metric.compute(predictions=predictions, references=labels) recall = recall_metric.compute(predictions=predictions, references=labels) - - return {'accuracy': acc['accuracy'], 'auroc': auroc['roc_auc'], 'f1': f1['f1'], 'precision': precision['precision'], 'recall': recall['recall']} + + false_positives = np.sum((predictions == 1) & (labels == 0)) + true_negatives = np.sum((predictions == 0) & (labels == 0)) + fpr = false_positives / (false_positives + true_negatives) + + precision_temp, recall_temp, thresholds = precision_recall_curve(labels, predictions) + auc_precision_recall = auc(recall_temp, precision_temp) + return { + "accuracy": acc["accuracy"], + "auroc": auroc["roc_auc"], + "f1": f1["f1"], + "precision": precision["precision"], + "recall": recall["recall"], + "fpr": fpr, + "auprc": auc_precision_recall, + } def save_predictions(prediction_results, input_texts, results_path, CL): - - if CL: - results_df = pd.DataFrame({ - 'input': input_texts, - 'target': prediction_results.label_ids, - 'toxic': prediction_results.predictions[:,0], - 'not_toxic': prediction_results.predictions[:,1], - }) + + if CL: + results_df = pd.DataFrame( + { + "input": input_texts, + "target": prediction_results.label_ids, + "toxic": prediction_results.predictions[:, 0], + "not_toxic": prediction_results.predictions[:, 1], + } + ) else: - results_df = pd.DataFrame({ - 'input': input_texts, - 'target': prediction_results.label_ids, - 'not_toxic': prediction_results.predictions[:,0], - 'toxic': prediction_results.predictions[:,1], - }) + results_df = pd.DataFrame( + { + "input": input_texts, + "target": prediction_results.label_ids, + "not_toxic": prediction_results.predictions[:, 0], + "toxic": prediction_results.predictions[:, 1], + } + ) results_df.to_csv(results_path) return results_df @@ -128,55 +196,68 @@ def save_predictions(prediction_results, input_texts, results_path, CL): def main(): args = parse_args() - print(args) + if args.device == "hpu": + from optimum.habana import GaudiTrainer, GaudiTrainingArguments CL = False - if 'citizenlab' in args.model_path: + if "citizenlab" in args.model_path: CL = True CHECKPOINT_NAME = os.path.basename(args.model_path) - if CL: + if CL: WORKFLOW_DIR = Path(args.model_path).parent.absolute() elif args.results_path is None: WORKFLOW_DIR = Path(args.model_path).parent.absolute().parent.absolute() else: WORKFLOW_DIR = args.results_path - - TEST_RESULTS_PATH = os.path.join(WORKFLOW_DIR, 'results', f'{CHECKPOINT_NAME}_{args.dataset_name}_accuracy') - print(f'Saving results in {TEST_RESULTS_PATH}') + TEST_RESULTS_PATH = os.path.join(WORKFLOW_DIR, "results", f"{CHECKPOINT_NAME}_{args.dataset_name}_accuracy") + print(f"Saving results in {TEST_RESULTS_PATH}") if not os.path.exists(TEST_RESULTS_PATH): os.makedirs(TEST_RESULTS_PATH) - - if args.dataset_name == 'tc': - DATA_PATH = 'hf://datasets/lmsys/toxic-chat/data/0124/toxic-chat_annotation_test.csv' - test_texts, test_labels = read_test_tc_split(DATA_PATH, CL) + + if args.dataset_name in ["jigsaw", "tc"]: + + if args.dataset_name == "jigsaw": + DATA_PATH = args.dataset_path + if not DATA_PATH or not os.path.exists(DATA_PATH): + raise FileNotFoundError(f"The specified dataset path does not exist or is not a directory.") + DATA_PATH = Path(DATA_PATH) + test_texts, test_labels = read_test_jigsaw_split(DATA_PATH) + else: + DATA_PATH = "hf://datasets/lmsys/toxic-chat/data/0124/toxic-chat_annotation_test.csv" + test_texts, test_labels = read_test_tc_split(DATA_PATH) + else: - print(f'Support for dataset is coming soon...') - + print(f"Support for dataset is coming soon...") + exit(1) + if CL: + swap = {0: 1, 1: 0} + test_labels = [swap[label] for label in test_labels] - model = AutoModelForSequenceClassification.from_pretrained(args.model_path) - tokenizer = AutoTokenizer.from_pretrained(args.model_path) + model, tokenizer = load_model(args.model_path) test_dataset = generate_datasets(test_texts, test_labels, tokenizer) - training_args = GaudiTrainingArguments(output_dir=TEST_RESULTS_PATH, + training_args = GaudiTrainingArguments( + output_dir=TEST_RESULTS_PATH, use_habana=True, use_lazy_mode=True, - gaudi_config_name='Habana/roberta-base', + gaudi_config_name=args.g_config, ) trainer = GaudiTrainer( - model=model, # the instantiated ๐Ÿค— Transformers model to be trained - args=training_args, # training arguments, defined above - eval_dataset=test_dataset, # evaluation dataset - compute_metrics=compute_metrics + model=model, # the instantiated ๐Ÿค— Transformers model to be trained + args=training_args, # training arguments, defined above + eval_dataset=test_dataset, # evaluation dataset + compute_metrics=compute_metrics, ) results = trainer.predict(test_dataset) - save_predictions(results, test_texts, os.path.join(TEST_RESULTS_PATH,'predictions.csv'), CL) - json.dump(results.metrics, open(os.path.join(TEST_RESULTS_PATH,'metrics.json'), 'w')) + save_predictions(results, test_texts, os.path.join(TEST_RESULTS_PATH, "predictions.csv"), CL) + json.dump(results.metrics, open(os.path.join(TEST_RESULTS_PATH, "metrics.json"), "w")) + -if __name__ == '__main__': - main() \ No newline at end of file +if __name__ == "__main__": + main() diff --git a/plugins/benchmark/classification_metrics/tests/__init__.py b/plugins/benchmark/classification_metrics/tests/__init__.py new file mode 100644 index 0000000..552dddc --- /dev/null +++ b/plugins/benchmark/classification_metrics/tests/__init__.py @@ -0,0 +1,19 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) 2024 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# diff --git a/plugins/benchmark/classification_metrics/tests/test_benchmark_classification.py b/plugins/benchmark/classification_metrics/tests/test_benchmark_classification.py new file mode 100644 index 0000000..fa64de1 --- /dev/null +++ b/plugins/benchmark/classification_metrics/tests/test_benchmark_classification.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# +# Copyright (c) 2024 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# +import pytest +from scripts.benchmark_classification_metrics import load_model, read_test_tc_split, read_test_jigsaw_split + +MODEL_PATHS = ["dummy_model_path", "Intel/toxic-prompt-roberta"] + + +@pytest.mark.common +@pytest.mark.parametrize( + ("invalid_model_path", "valid_model_path"), [("dummy_model_path", "Intel/toxic-prompt-roberta")] +) +def test_model_loading(invalid_model_path, valid_model_path): + """Test Loading of HuggingFace model path""" + + assert load_model(valid_model_path) + with pytest.raises(EnvironmentError) as exception_error: + load_model(invalid_model_path) + assert "Please make sure that a valid model path is provided." in str(exception_error.value) + + +@pytest.mark.common +def test_dataset_loading(): + csv_path = "dummy_path" + with pytest.raises(Exception) as exception_error: + read_test_jigsaw_split(csv_path) + assert ( + "Error loading test dataset for Jigsaw Unintended Bias. Please ensure the CSV file path is correct and the file contains the required columns: 'comment_text' and 'toxicity'." + in str(exception_error.value) + ) + + +@pytest.mark.common +def test_tc_dataset_loading(): + csv_path = "hf://datasets/lmsys/toxic-chat/data/0124/toxic-chat_annotation_test.csv" + assert read_test_tc_split(csv_path) \ No newline at end of file From 98beb5cde1be9b86d643430433372b0c18351ce6 Mon Sep 17 00:00:00 2001 From: Mitali Potnis <162364085+mitalipo@users.noreply.github.com> Date: Tue, 26 Nov 2024 13:35:54 -0800 Subject: [PATCH 7/8] Readme Fixes (#340) * Update names of Models and Datasets used * Update README * Update Table of contents for Notebooks Signed-off-by: Mitali Potnis * Update Table of contents for Notebooks Signed-off-by: Mitali Potnis --------- Signed-off-by: Mitali Potnis --- DATASETS.md | 4 +++- MODELS.md | 7 +++++++ README.md | 2 +- notebooks/README.md | 2 ++ notebooks/model_card_gen/README.ipynb | 3 ++- notebooks/model_card_gen/README.md | 2 ++ plugins/benchmark/classification_metrics/README.md | 2 -- 7 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 MODELS.md diff --git a/DATASETS.md b/DATASETS.md index 618de1e..9312d3b 100644 --- a/DATASETS.md +++ b/DATASETS.md @@ -12,4 +12,6 @@ This is a comprehensive list of public datasets used by this repository. | [ImageNet (TorchVision)](https://pytorch.org/vision/main/generated/torchvision.datasets.ImageNet.html) | PyTorch | Image Classification | | [IMDB Reviews](https://ai.stanford.edu/~amaas/data/sentiment/) | PyTorch | Text Classification | | [MNIST (TorchVision)](https://pytorch.org/vision/main/generated/torchvision.datasets.MNIST.html) | PyTorch | Image Classification | -| [SMS Spam Collection](https://archive.ics.uci.edu/dataset/228/sms+spam+collection) | PyTorch | Text Classification | \ No newline at end of file +| [SMS Spam Collection](https://archive.ics.uci.edu/dataset/228/sms+spam+collection) | PyTorch | Text Classification | +| [ToxicChat](https://huggingface.co/datasets/lmsys/toxic-chat) | PyTorch | Toxicity Model Benchmarking | +| [Jigsaw Unintended Bias](https://www.kaggle.com/c/jigsaw-unintended-bias-in-toxicity-classification) | PyTorch | Toxicity Model Benchmarking | \ No newline at end of file diff --git a/MODELS.md b/MODELS.md new file mode 100644 index 0000000..8fc2bb1 --- /dev/null +++ b/MODELS.md @@ -0,0 +1,7 @@ +# Models + +This is a comprehensive list of public models used by this repository. + +| Model Name (Link/Source) | Framework | Model Hub | +|--------------------| --------- | -------- | +| [ toxic-prompt-roberta ](https://huggingface.co/Intel/toxic-prompt-roberta) | PyTorch | Hugging Face | \ No newline at end of file diff --git a/README.md b/README.md index bfba207..3de2f4b 100644 --- a/README.md +++ b/README.md @@ -139,6 +139,6 @@ Intel is committed to the respect of human rights and avoiding complicity in hum Intelยฎ Explainable AI Tools is licensed under Apache License Version 2.0. #### Datasets and Models -To the extent that any data, datasets, or models are referenced by Intel or accessed using tools or code on this site such data, datasets and models are provided by the third party indicated as the source of such content. Intel does not create the data, datasets, or models, provide a license to any third-party data, datasets, or models referenced, and does not warrant their accuracy or quality. By accessing such data, dataset(s) or model(s) you agree to the terms associated with that content and that your use complies with the applicable license. [DATASETS](DATASETS.md) +To the extent that any data, datasets, or models are referenced by Intel or accessed using tools or code on this site such data, datasets and models are provided by the third party indicated as the source of such content. Intel does not create the data, datasets, or models, provide a license to any third-party data, datasets, or models referenced, and does not warrant their accuracy or quality. By accessing such data, dataset(s) or model(s) you agree to the terms associated with that content and that your use complies with the applicable license. [DATASETS](DATASETS.md), [MODELS](MODELS.md) Intel expressly disclaims the accuracy, adequacy, or completeness of any data, datasets or models, and is not liable for any errors, omissions, or defects in such content, or for any reliance thereon. Intel also expressly disclaims any warranty of non-infringement with respect to such data, dataset(s), or model(s). Intel is not liable for any liability or damages relating to your use of such data, datasets, or models. diff --git a/notebooks/README.md b/notebooks/README.md index aa5a31b..9fc0039 100644 --- a/notebooks/README.md +++ b/notebooks/README.md @@ -20,5 +20,7 @@ This directory has Jupyter notebooks that demonstrate explainability and model c | [Generating a Model Card with PyTorch](model_card_gen/model_card_generation_with_pytorch/adult-pytorch-model-card.ipynb) | Numerical/Categorical: Tabular Classification | PyTorch | Demonstrates training a multilayer network using the "Adult" dataset from the UCI repository to predict whether a person has a salary greater or less than $50,000, then uses the Model Card Generator to create a model card with interactive graphics to analyze the model. | | [Detecting Issues in Fairness by Generate Model Card from TensorFlow Estimators](model_card_gen/compas_with_model_card_gen/compas-model-card-tfx.ipynb) | Numerical/Categorical: Tabular Classification | TensorFlow | Uses a TFX pipeline to train and evaluate a model using the COMPAS (Correctional Offender Management Profiling for Alternative Sanctions) dataset to generate a risk score indended to determine a defendant's likelihood of reoffending. The Model Card Generator is then used to create interative graphics visualizing racial bias in the model's predictions. | | [Creating Model Card for Toxic Comments Classification in TensorFlow](model_card_gen/toxic_comments_classification/toxicity-tfma-model-card.ipynb) | Numerical/Categorical: Tabular Classification | TensorFlow | Adapts a [TensorFlow Fairness Exercise notebook](https://colab.research.google.com/github/google/eng-edu/blob/main/ml/pc/exercises/fairness_text_toxicity_part1.ipynb?utm_source=practicum-fairness&utm_campaign=colab-external&utm_medium=referral&utm_content=fairnessexercise1-colab#scrollTo=2z_xzJ40j9Q-) to use the Model Card Generator. The notebook trains a model to detect toxicity in online coversations and graphically analyzes accuracy metrics by gender. | +| [Creating Model Card for Hate Speech Detection using Hugging Face model](model_card_gen/hugging_face_model_card) | Numerical/Categorical: Tabular Classification | PyTorch | Utilizes a model hosted on Hugging Face Hub for detecting hatespeech in English language using the HateXplain dataset. The Model Card Generator is then used to create a model card with interactive graphics to analyze the model performance metrics at threshold and Bias AUC metric for target groups. | +| [Multiclass classification of Hate Speech using Hugging Face model](model_card_gen/multiclass_classification) | Numerical/Categorical: Tabular Classification | PyTorch | Uses a model hosted on Hugging Face Hub for classifying hate speech into Hate, Offensive, or Normal categories using the HateXplain dataset. The Model Card Generator is then used to create a model card with individual interactive graphics for each class to analyze the model performance metrics at threshold and the Bias AUC metric for target groups. | *Other names and brands may be claimed as the property of others. [Trademarks](http://www.intel.com/content/www/us/en/legal/trademarks.html) diff --git a/notebooks/model_card_gen/README.ipynb b/notebooks/model_card_gen/README.ipynb index 2f1d6bf..4ac870a 100644 --- a/notebooks/model_card_gen/README.ipynb +++ b/notebooks/model_card_gen/README.ipynb @@ -12,7 +12,8 @@ "| [Generating a Model Card with PyTorch](./model_card_generation_with_pytorch)| Numerical/Categorical: Tabular Classification | PyTorch | Demonstrates training a multilayer network using the \"Adult\" dataset from the UCI repository to predict whether a person has a salary greater or less than $50,000. The Model Card Generator is then used to to create a model card with interactive graphics to analyze the model. |\n", "| [Detecting Issues in Fairness by generating a Model Card from TensorFlow Estimators](./compas_with_model_card_gen) | Numerical/Categorical: Tabular Classification | TensorFlow | Utilizes a TFX pipeline to train and evaluate a model using the COMPAS (Correctional Offender Management Profiling for Alternative Sanctions) dataset to generate a risk score indended to determine a defendant's likelihood of reoffending. The Model Card Generator is then used to create interative graphics visualizing racial bias in the model's predictions. |\n", "| [Creating Model Card for Toxic Comments Classification in TensorFlow](./toxic_comments_classification) | Numerical/Categorical: Tabular Classification | TensorFlow | Adapts a [TensorFlow Fairness Exercise notebook](https://colab.research.google.com/github/google/eng-edu/blob/main/ml/pc/exercises/fairness_text_toxicity_part1.ipynb?utm_source=practicum-fairness&utm_campaign=colab-external&utm_medium=referral&utm_content=fairnessexercise1-colab#scrollTo=2z_xzJ40j9Q-) to use the Model Card Generator. The notebook trains a model to detect toxicity in online coversations and graphically analyzes accuracy metrics by gender. |\n", - "\n", + "| [Creating Model Card for Hate Speech Detection using Hugging Face model](hugging_face_model_card) | Numerical/Categorical: Tabular Classification | PyTorch | Utilizes a model hosted on Hugging Face Hub for detecting hatespeech in English language using the HateXplain dataset. The Model Card Generator is then used to create a model card with interactive graphics to analyze the model performance metrics at threshold and Bias AUC metric for target groups. |\n", + "| [Multiclass classification of Hate Speech using Hugging Face model](multiclass_classification) | Numerical/Categorical: Tabular Classification | PyTorch | Uses a model hosted on Hugging Face Hub for classifying hate speech into Hate, Offensive, or Normal categories using the HateXplain dataset. The Model Card Generator is then used to create a model card with individual interactive graphics for each class to analyze the model performance metrics at threshold and the Bias AUC metric for target groups. |\n", "\n" ] } diff --git a/notebooks/model_card_gen/README.md b/notebooks/model_card_gen/README.md index ba953d5..be02075 100644 --- a/notebooks/model_card_gen/README.md +++ b/notebooks/model_card_gen/README.md @@ -6,5 +6,7 @@ This directory has Jupyter notebooks that demonstrate model card generation usin | [Generating a Model Card with PyTorch](model_card_generation_with_pytorch) | Numerical/Categorical: Tabular Classification | PyTorch | Demonstrates training a multilayer network using the "Adult" dataset from the UCI repository to predict whether a person has a salary greater or less than $50,000. The Model Card Generator is then used to create a model card with interactive graphics to analyze the model. | | [Detecting Issues in Fairness by generating a Model Card from TensorFlow Estimators](compas_with_model_card_gen) | Numerical/Categorical: Tabular Classification | TensorFlow | Utilizes a TFX pipeline to train and evaluate a model using the COMPAS (Correctional Offender Management Profiling for Alternative Sanctions) dataset to generate a risk score indended to determine a defendant's likelihood of reoffending. The Model Card Generator is then used to create interative graphics visualizing racial bias in the model's predictions. | | [Creating Model Card for Toxic Comments Classification in TensorFlow](toxic_comments_classification) | Numerical/Categorical: Tabular Classification | TensorFlow | Adapts a [TensorFlow Fairness Exercise notebook](https://colab.research.google.com/github/google/eng-edu/blob/main/ml/pc/exercises/fairness_text_toxicity_part1.ipynb?utm_source=practicum-fairness&utm_campaign=colab-external&utm_medium=referral&utm_content=fairnessexercise1-colab#scrollTo=2z_xzJ40j9Q-) to use the Model Card Generator. The notebook trains a model to detect toxicity in online coversations and graphically analyzes accuracy metrics by gender. | +| [Creating Model Card for Hate Speech Detection using Hugging Face model](hugging_face_model_card) | Numerical/Categorical: Tabular Classification | PyTorch | Utilizes a model hosted on Hugging Face Hub for detecting hatespeech in English language using the HateXplain dataset. The Model Card Generator is then used to create a model card with interactive graphics to analyze the model performance metrics at threshold and Bias AUC metric for target groups. | +| [Multiclass classification of Hate Speech using Hugging Face model](multiclass_classification) | Numerical/Categorical: Tabular Classification | PyTorch | Uses a model hosted on Hugging Face Hub for classifying hate speech into Hate, Offensive, or Normal categories using the HateXplain dataset. The Model Card Generator is then used to create a model card with individual interactive graphics for each class to analyze the model performance metrics at threshold and the Bias AUC metric for target groups. | *Other names and brands may be claimed as the property of others. [Trademarks](http://www.intel.com/content/www/us/en/legal/trademarks.html) diff --git a/plugins/benchmark/classification_metrics/README.md b/plugins/benchmark/classification_metrics/README.md index e5eb7ce..c868e7c 100644 --- a/plugins/benchmark/classification_metrics/README.md +++ b/plugins/benchmark/classification_metrics/README.md @@ -13,12 +13,10 @@ For evaluating a target toxicity detection LLM, we use the ToxicChat and Jigsaw - accuracy - auprc (area under precision recall curve) - auroc - - auprc (area under precision recall curve) - f1 - fpr (false positive rate) - precision - recall - - fpr (false positive rate) ## Get Started From 92f2b09f3d71ab94027999ac22ae4100d153fdbb Mon Sep 17 00:00:00 2001 From: Abolfazl Shahbazi <12436063+ashahba@users.noreply.github.com> Date: Mon, 2 Dec 2024 17:58:24 -0800 Subject: [PATCH 8/8] Misc updates prior to v1.2.0 release (#341) Signed-off-by: Abolfazl Shahbazi <12436063+ashahba@users.noreply.github.com> --- DATASETS.md | 2 +- MODELS.md | 2 +- docker/Dockerfile.mcg | 2 +- docker/docker-compose.yaml | 2 +- docker/helm-runner/.dockerignore | 2 +- docker/helm-runner/README.md | 2 +- .../spec_conf_files/run_spec_helm_lite_with_efficiency.conf | 2 +- docker/helm-runner/spec_conf_files/run_spec_simple.conf | 2 +- docker/helm-runner/spec_conf_files/run_spec_toxic.conf | 2 +- docker/helm-runner/tokenizer_configs_intel.yaml | 2 +- docs/datasets.rst | 2 +- docs/notebooks/ExplainingImageClassification.nblink | 2 +- docs/notebooks/Multimodal_Cancer_Detection.nblink | 2 +- ...Torch_Text_Classifier_fine_tuning_with_Attributions.nblink | 2 +- docs/notebooks/TorchVision_CIFAR_Interpret.nblink | 2 +- docs/notebooks/heart_disease.nblink | 2 +- docs/notebooks/mnist.nblink | 2 +- docs/notebooks/partitionexplainer.nblink | 2 +- explainer/intel_ai_safety/explainer/base_explainer.py | 2 +- explainer/intel_ai_safety/explainer/blackbox.py | 2 +- .../explainer/context/agnostic/attributions_explainer.py | 2 +- .../intel_ai_safety/explainer/utils/graphics/__init__.py | 2 +- explainer/intel_ai_safety/explainer/utils/types.py | 2 +- explainer/poetry.toml | 2 +- explainer/tests/pytest.ini | 2 +- fuzz/requirements.txt | 2 +- intel_ai_safety/common/plugins.py | 2 +- intel_ai_safety/common/types.py | 2 +- model_card_gen/intel_ai_safety/model_card_gen/__init__.py | 2 +- .../model_card_gen/docs/examples/json/model_card_compas.json | 2 +- .../model_card_gen/docs/examples/json/model_card_example.json | 2 +- .../model_card_gen/graphics/graphics_data_transform.py | 2 +- .../intel_ai_safety/model_card_gen/model_card_gen.py | 4 ++-- .../template/html/js/plotly_js_header.html.jinja | 2 +- .../template/html/style/default_style.html.jinja | 2 +- .../model_card_gen/template/md/macros/default_macros.md.jinja | 2 +- model_card_gen/model_card_ui/.streamlit/config.toml | 2 +- model_card_gen/model_card_ui/README.md | 2 +- model_card_gen/model_card_ui/generate_model_card_json.py | 2 +- model_card_gen/model_card_ui/home.py | 2 +- model_card_gen/model_card_ui/model_card_html_generator.py | 2 +- model_card_gen/model_card_ui/pages/considerations.py | 2 +- model_card_gen/model_card_ui/pages/model_details.py | 2 +- model_card_gen/model_card_ui/pages/model_parameters.py | 2 +- model_card_gen/model_card_ui/pages/quantitative_analysis.py | 2 +- model_card_gen/model_card_ui/pages/view_model_card.py | 2 +- model_card_gen/model_card_ui/persist.py | 2 +- model_card_gen/model_card_ui/session_state_initializer.py | 2 +- model_card_gen/model_card_ui/utils.py | 2 +- model_card_gen/poetry.toml | 2 +- model_card_gen/tests/test_model_card.py | 2 +- notebooks/explainer/heart_disease_with_attributions/README.md | 2 +- .../explainer/mnist_with_attributions_and_metrics/README.md | 2 +- notebooks/explainer/multimodal_cancer_detection/data_utils.py | 2 +- .../newsgroups_with_attributions_and_metrics/README.md | 2 +- notebooks/explainer/requirements.txt | 2 +- notebooks/model_card_gen/hugging_face_model_card/README.md | 2 +- notebooks/model_card_gen/multiclass_classification/README.md | 2 +- plugins/benchmark/classification_metrics/README.md | 2 +- plugins/benchmark/classification_metrics/tests/__init__.py | 2 +- .../tests/test_benchmark_classification.py | 2 +- plugins/explainers/attributions-hugging-face/poetry.toml | 2 +- .../attributions-hugging-face/tests/test_hf_attributions.py | 2 +- .../intel_ai_safety/explainer/attributions/plots.py | 2 +- .../intel_ai_safety/explainer/attributions/widgets.py | 2 +- plugins/explainers/attributions/poetry.toml | 2 +- plugins/explainers/cam-pytorch/poetry.toml | 2 +- plugins/explainers/cam-tensorflow/poetry.toml | 2 +- plugins/explainers/captum/poetry.toml | 2 +- plugins/explainers/metrics/poetry.toml | 2 +- .../mlcommons/modelgauge/modelgauge/suts/neuralchat_sut.py | 2 +- plugins/model_card_gen/generators/tfma/tests/__init__.py | 2 +- poetry.toml | 2 +- 73 files changed, 74 insertions(+), 74 deletions(-) diff --git a/DATASETS.md b/DATASETS.md index 9312d3b..60fe020 100644 --- a/DATASETS.md +++ b/DATASETS.md @@ -14,4 +14,4 @@ This is a comprehensive list of public datasets used by this repository. | [MNIST (TorchVision)](https://pytorch.org/vision/main/generated/torchvision.datasets.MNIST.html) | PyTorch | Image Classification | | [SMS Spam Collection](https://archive.ics.uci.edu/dataset/228/sms+spam+collection) | PyTorch | Text Classification | | [ToxicChat](https://huggingface.co/datasets/lmsys/toxic-chat) | PyTorch | Toxicity Model Benchmarking | -| [Jigsaw Unintended Bias](https://www.kaggle.com/c/jigsaw-unintended-bias-in-toxicity-classification) | PyTorch | Toxicity Model Benchmarking | \ No newline at end of file +| [Jigsaw Unintended Bias](https://www.kaggle.com/c/jigsaw-unintended-bias-in-toxicity-classification) | PyTorch | Toxicity Model Benchmarking | diff --git a/MODELS.md b/MODELS.md index 8fc2bb1..3dfa6ec 100644 --- a/MODELS.md +++ b/MODELS.md @@ -4,4 +4,4 @@ This is a comprehensive list of public models used by this repository. | Model Name (Link/Source) | Framework | Model Hub | |--------------------| --------- | -------- | -| [ toxic-prompt-roberta ](https://huggingface.co/Intel/toxic-prompt-roberta) | PyTorch | Hugging Face | \ No newline at end of file +| [ toxic-prompt-roberta ](https://huggingface.co/Intel/toxic-prompt-roberta) | PyTorch | Hugging Face | diff --git a/docker/Dockerfile.mcg b/docker/Dockerfile.mcg index 78fcf5b..226c75f 100644 --- a/docker/Dockerfile.mcg +++ b/docker/Dockerfile.mcg @@ -113,4 +113,4 @@ RUN pip install --no-cache-dir -r requirements.txt EXPOSE 8501 -CMD ["streamlit", "run", "home.py", "--server.port=8501", "--server.address=0.0.0.0"] \ No newline at end of file +CMD ["streamlit", "run", "home.py", "--server.port=8501", "--server.address=0.0.0.0"] diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index a64458e..d16206d 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -99,4 +99,4 @@ services: test: ["CMD-SHELL", "curl --fail http://localhost:8501 || exit 1"] interval: 1m timeout: 5s - retries: 5 \ No newline at end of file + retries: 5 diff --git a/docker/helm-runner/.dockerignore b/docker/helm-runner/.dockerignore index ab23424..9e6096f 100644 --- a/docker/helm-runner/.dockerignore +++ b/docker/helm-runner/.dockerignore @@ -1,2 +1,2 @@ benchmark_output -huggingface \ No newline at end of file +huggingface diff --git a/docker/helm-runner/README.md b/docker/helm-runner/README.md index aa307de..d15d6ec 100644 --- a/docker/helm-runner/README.md +++ b/docker/helm-runner/README.md @@ -52,4 +52,4 @@ helm-summarize --suite v1 ## 5. Start a web server to display the HELM results ``` helm-server -``` \ No newline at end of file +``` diff --git a/docker/helm-runner/spec_conf_files/run_spec_helm_lite_with_efficiency.conf b/docker/helm-runner/spec_conf_files/run_spec_helm_lite_with_efficiency.conf index 92ea133..3d8d64f 100644 --- a/docker/helm-runner/spec_conf_files/run_spec_helm_lite_with_efficiency.conf +++ b/docker/helm-runner/spec_conf_files/run_spec_helm_lite_with_efficiency.conf @@ -134,4 +134,4 @@ entries: [ {description: "wmt_14:language_pair=fr-en,model=Intel/neural-chat-7b-v3-2", priority: 2} {description: "wmt_14:language_pair=hi-en,model=Intel/neural-chat-7b-v3-2", priority: 2} {description: "wmt_14:language_pair=ru-en,model=Intel/neural-chat-7b-v3-2", priority: 2} -] \ No newline at end of file +] diff --git a/docker/helm-runner/spec_conf_files/run_spec_simple.conf b/docker/helm-runner/spec_conf_files/run_spec_simple.conf index 25dde88..6bc7e34 100644 --- a/docker/helm-runner/spec_conf_files/run_spec_simple.conf +++ b/docker/helm-runner/spec_conf_files/run_spec_simple.conf @@ -1 +1 @@ -entries: [{description: "mmlu:subject=philosophy,model=Intel/neural-chat-7b-v3-2", priority: 1}] \ No newline at end of file +entries: [{description: "mmlu:subject=philosophy,model=Intel/neural-chat-7b-v3-2", priority: 1}] diff --git a/docker/helm-runner/spec_conf_files/run_spec_toxic.conf b/docker/helm-runner/spec_conf_files/run_spec_toxic.conf index a7da39a..dfbabc7 100644 --- a/docker/helm-runner/spec_conf_files/run_spec_toxic.conf +++ b/docker/helm-runner/spec_conf_files/run_spec_toxic.conf @@ -1 +1 @@ -entries: [{description: "real_toxicity_prompts_intel:model=Intel/neural-chat-7b-v3-2", priority: 1}] \ No newline at end of file +entries: [{description: "real_toxicity_prompts_intel:model=Intel/neural-chat-7b-v3-2", priority: 1}] diff --git a/docker/helm-runner/tokenizer_configs_intel.yaml b/docker/helm-runner/tokenizer_configs_intel.yaml index 5cd24e6..9e58fb6 100644 --- a/docker/helm-runner/tokenizer_configs_intel.yaml +++ b/docker/helm-runner/tokenizer_configs_intel.yaml @@ -3,4 +3,4 @@ tokenizer_spec: class_name: "helm.proxy.tokenizers.huggingface_tokenizer.HuggingFaceTokenizer" end_of_text_token: "" - prefix_token: "" \ No newline at end of file + prefix_token: "" diff --git a/docs/datasets.rst b/docs/datasets.rst index ab84625..a41e8b0 100644 --- a/docs/datasets.rst +++ b/docs/datasets.rst @@ -1,2 +1,2 @@ .. include:: ../DATASETS.md - :parser: myst_parser.sphinx_ \ No newline at end of file + :parser: myst_parser.sphinx_ diff --git a/docs/notebooks/ExplainingImageClassification.nblink b/docs/notebooks/ExplainingImageClassification.nblink index caf80cb..dfd2552 100644 --- a/docs/notebooks/ExplainingImageClassification.nblink +++ b/docs/notebooks/ExplainingImageClassification.nblink @@ -1,3 +1,3 @@ { "path": "../../notebooks/explainer/imagenet_with_cam/ExplainingImageClassification.ipynb" -} \ No newline at end of file +} diff --git a/docs/notebooks/Multimodal_Cancer_Detection.nblink b/docs/notebooks/Multimodal_Cancer_Detection.nblink index 3ef386f..cdc9e3e 100644 --- a/docs/notebooks/Multimodal_Cancer_Detection.nblink +++ b/docs/notebooks/Multimodal_Cancer_Detection.nblink @@ -1,3 +1,3 @@ { "path": "../../notebooks/explainer/multimodal_cancer_detection/Multimodal_Cancer_Detection.ipynb" -} \ No newline at end of file +} diff --git a/docs/notebooks/PyTorch_Text_Classifier_fine_tuning_with_Attributions.nblink b/docs/notebooks/PyTorch_Text_Classifier_fine_tuning_with_Attributions.nblink index fb34e71..f956296 100644 --- a/docs/notebooks/PyTorch_Text_Classifier_fine_tuning_with_Attributions.nblink +++ b/docs/notebooks/PyTorch_Text_Classifier_fine_tuning_with_Attributions.nblink @@ -1,3 +1,3 @@ { "path": "../../notebooks/explainer/transfer_learning_text_classification/PyTorch_Text_Classifier_fine_tuning_with_Attributions.ipynb" -} \ No newline at end of file +} diff --git a/docs/notebooks/TorchVision_CIFAR_Interpret.nblink b/docs/notebooks/TorchVision_CIFAR_Interpret.nblink index debeb5f..09ead8b 100644 --- a/docs/notebooks/TorchVision_CIFAR_Interpret.nblink +++ b/docs/notebooks/TorchVision_CIFAR_Interpret.nblink @@ -1,3 +1,3 @@ { "path": "../../notebooks/explainer/cifar_with_attributions/TorchVision_CIFAR_Interpret.ipynb" -} \ No newline at end of file +} diff --git a/docs/notebooks/heart_disease.nblink b/docs/notebooks/heart_disease.nblink index 7ef987a..f0109e2 100644 --- a/docs/notebooks/heart_disease.nblink +++ b/docs/notebooks/heart_disease.nblink @@ -1,3 +1,3 @@ { "path": "../../notebooks/explainer/heart_disease_with_attributions/heart_disease.ipynb" -} \ No newline at end of file +} diff --git a/docs/notebooks/mnist.nblink b/docs/notebooks/mnist.nblink index 428fc96..d9eea9f 100644 --- a/docs/notebooks/mnist.nblink +++ b/docs/notebooks/mnist.nblink @@ -1,3 +1,3 @@ { "path": "../../notebooks/explainer/mnist_with_attributions_and_metrics/mnist.ipynb" -} \ No newline at end of file +} diff --git a/docs/notebooks/partitionexplainer.nblink b/docs/notebooks/partitionexplainer.nblink index 2663e12..9cf9d7f 100644 --- a/docs/notebooks/partitionexplainer.nblink +++ b/docs/notebooks/partitionexplainer.nblink @@ -1,3 +1,3 @@ { "path": "../../notebooks/explainer/newsgroups_with_attributions_and_metrics/partitionexplainer.ipynb" -} \ No newline at end of file +} diff --git a/explainer/intel_ai_safety/explainer/base_explainer.py b/explainer/intel_ai_safety/explainer/base_explainer.py index 835045c..53a84fa 100644 --- a/explainer/intel_ai_safety/explainer/base_explainer.py +++ b/explainer/intel_ai_safety/explainer/base_explainer.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2024 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/explainer/intel_ai_safety/explainer/blackbox.py b/explainer/intel_ai_safety/explainer/blackbox.py index 6827fa5..684f2ab 100644 --- a/explainer/intel_ai_safety/explainer/blackbox.py +++ b/explainer/intel_ai_safety/explainer/blackbox.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2024 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/explainer/intel_ai_safety/explainer/context/agnostic/attributions_explainer.py b/explainer/intel_ai_safety/explainer/context/agnostic/attributions_explainer.py index 564ad56..fbbabb9 100644 --- a/explainer/intel_ai_safety/explainer/context/agnostic/attributions_explainer.py +++ b/explainer/intel_ai_safety/explainer/context/agnostic/attributions_explainer.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2022 Intel Corporation +# Copyright (c) 2024 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/explainer/intel_ai_safety/explainer/utils/graphics/__init__.py b/explainer/intel_ai_safety/explainer/utils/graphics/__init__.py index 55899dd..fbdf834 100644 --- a/explainer/intel_ai_safety/explainer/utils/graphics/__init__.py +++ b/explainer/intel_ai_safety/explainer/utils/graphics/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2023 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/explainer/intel_ai_safety/explainer/utils/types.py b/explainer/intel_ai_safety/explainer/utils/types.py index 876d469..c30e085 100644 --- a/explainer/intel_ai_safety/explainer/utils/types.py +++ b/explainer/intel_ai_safety/explainer/utils/types.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2023 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/explainer/poetry.toml b/explainer/poetry.toml index efa46ec..ab1033b 100644 --- a/explainer/poetry.toml +++ b/explainer/poetry.toml @@ -1,2 +1,2 @@ [virtualenvs] -in-project = true \ No newline at end of file +in-project = true diff --git a/explainer/tests/pytest.ini b/explainer/tests/pytest.ini index 8c48d2f..229082a 100644 --- a/explainer/tests/pytest.ini +++ b/explainer/tests/pytest.ini @@ -17,4 +17,4 @@ markers = # ignore::ImportWarning # Temporary solution while we figure out how to filter out shap warning above -addopts = -p no:warnings \ No newline at end of file +addopts = -p no:warnings diff --git a/fuzz/requirements.txt b/fuzz/requirements.txt index df77871..d0054c3 100644 --- a/fuzz/requirements.txt +++ b/fuzz/requirements.txt @@ -6,4 +6,4 @@ pandas==1.5.3 plotly==5.20.0 semantic-version==2.10.0 tensorflow-data-validation==1.14.0 -tensorflow-model-analysis==0.45.0 \ No newline at end of file +tensorflow-model-analysis==0.45.0 diff --git a/intel_ai_safety/common/plugins.py b/intel_ai_safety/common/plugins.py index 4261190..748d160 100644 --- a/intel_ai_safety/common/plugins.py +++ b/intel_ai_safety/common/plugins.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2024 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/intel_ai_safety/common/types.py b/intel_ai_safety/common/types.py index 876d469..c30e085 100644 --- a/intel_ai_safety/common/types.py +++ b/intel_ai_safety/common/types.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2023 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/model_card_gen/intel_ai_safety/model_card_gen/__init__.py b/model_card_gen/intel_ai_safety/model_card_gen/__init__.py index 5e03347..bc82297 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/__init__.py +++ b/model_card_gen/intel_ai_safety/model_card_gen/__init__.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2024 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/json/model_card_compas.json b/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/json/model_card_compas.json index 9c4ce50..7cceaca 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/json/model_card_compas.json +++ b/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/json/model_card_compas.json @@ -65,4 +65,4 @@ ] } } -} \ No newline at end of file +} diff --git a/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/json/model_card_example.json b/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/json/model_card_example.json index 235b44e..1ae4840 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/json/model_card_example.json +++ b/model_card_gen/intel_ai_safety/model_card_gen/docs/examples/json/model_card_example.json @@ -160,4 +160,4 @@ } ] } -} \ No newline at end of file +} diff --git a/model_card_gen/intel_ai_safety/model_card_gen/graphics/graphics_data_transform.py b/model_card_gen/intel_ai_safety/model_card_gen/graphics/graphics_data_transform.py index 1451aed..d537b47 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/graphics/graphics_data_transform.py +++ b/model_card_gen/intel_ai_safety/model_card_gen/graphics/graphics_data_transform.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2024 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/model_card_gen/intel_ai_safety/model_card_gen/model_card_gen.py b/model_card_gen/intel_ai_safety/model_card_gen/model_card_gen.py index f4cee00..4568bbf 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/model_card_gen.py +++ b/model_card_gen/intel_ai_safety/model_card_gen/model_card_gen.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2024 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -333,4 +333,4 @@ def export_model_card(self, filename): if self.template_type == "md": f.write(self._repr_md_()) else: - f.write(self._repr_html_()) \ No newline at end of file + f.write(self._repr_html_()) diff --git a/model_card_gen/intel_ai_safety/model_card_gen/template/html/js/plotly_js_header.html.jinja b/model_card_gen/intel_ai_safety/model_card_gen/template/html/js/plotly_js_header.html.jinja index 48c769d..7dd8e9b 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/template/html/js/plotly_js_header.html.jinja +++ b/model_card_gen/intel_ai_safety/model_card_gen/template/html/js/plotly_js_header.html.jinja @@ -15,4 +15,4 @@ }); } -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/model_card_gen/intel_ai_safety/model_card_gen/template/html/style/default_style.html.jinja b/model_card_gen/intel_ai_safety/model_card_gen/template/html/style/default_style.html.jinja index 0d4e553..25cee14 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/template/html/style/default_style.html.jinja +++ b/model_card_gen/intel_ai_safety/model_card_gen/template/html/style/default_style.html.jinja @@ -78,4 +78,4 @@ table, th, td { border: 1px solid black; } th, td { border: 1px solid #CCC; height: 30px; } caption { font-weight: bold; } - \ No newline at end of file + diff --git a/model_card_gen/intel_ai_safety/model_card_gen/template/md/macros/default_macros.md.jinja b/model_card_gen/intel_ai_safety/model_card_gen/template/md/macros/default_macros.md.jinja index 298fa37..1d13c95 100644 --- a/model_card_gen/intel_ai_safety/model_card_gen/template/md/macros/default_macros.md.jinja +++ b/model_card_gen/intel_ai_safety/model_card_gen/template/md/macros/default_macros.md.jinja @@ -113,4 +113,4 @@ {% endif %} {{ render_graphics(graphics.collection) }} -{% endmacro %} \ No newline at end of file +{% endmacro %} diff --git a/model_card_gen/model_card_ui/.streamlit/config.toml b/model_card_gen/model_card_ui/.streamlit/config.toml index 74812cd..7c595d0 100644 --- a/model_card_gen/model_card_ui/.streamlit/config.toml +++ b/model_card_gen/model_card_ui/.streamlit/config.toml @@ -1,2 +1,2 @@ [client] -showSidebarNavigation = false \ No newline at end of file +showSidebarNavigation = false diff --git a/model_card_gen/model_card_ui/README.md b/model_card_gen/model_card_ui/README.md index f25b668..a308429 100644 --- a/model_card_gen/model_card_ui/README.md +++ b/model_card_gen/model_card_ui/README.md @@ -33,4 +33,4 @@ You can run the Streamlit application using the following command: streamlit run home.py ``` -The command will start the Streamlit server, and you should see output in the terminal that includes a URL where you can view the application. Open the URL in your web browser to interact with the Streamlit UI. \ No newline at end of file +The command will start the Streamlit server, and you should see output in the terminal that includes a URL where you can view the application. Open the URL in your web browser to interact with the Streamlit UI. diff --git a/model_card_gen/model_card_ui/generate_model_card_json.py b/model_card_gen/model_card_ui/generate_model_card_json.py index 269dbfb..75aed55 100644 --- a/model_card_gen/model_card_ui/generate_model_card_json.py +++ b/model_card_gen/model_card_ui/generate_model_card_json.py @@ -76,4 +76,4 @@ def generate_json_template(): def main(): - return \ No newline at end of file + return diff --git a/model_card_gen/model_card_ui/home.py b/model_card_gen/model_card_ui/home.py index f93727a..227900d 100644 --- a/model_card_gen/model_card_ui/home.py +++ b/model_card_gen/model_card_ui/home.py @@ -60,4 +60,4 @@ def main_page(): navigate_menu() if "runpage" not in st.session_state: st.session_state.runpage = main_page - st.session_state.runpage() \ No newline at end of file + st.session_state.runpage() diff --git a/model_card_gen/model_card_ui/model_card_html_generator.py b/model_card_gen/model_card_ui/model_card_html_generator.py index 899f09a..491ed0f 100644 --- a/model_card_gen/model_card_ui/model_card_html_generator.py +++ b/model_card_gen/model_card_ui/model_card_html_generator.py @@ -57,4 +57,4 @@ def generate_model_card_html(model_card, metric_threshold_csv=None, metric_grp_c model_card_html = ModelCardGen.generate(model_card, metric_threshold_csv, metric_grp_csv) return model_card_html._repr_html_() except Exception as e: - handle_exception(str(e)) \ No newline at end of file + handle_exception(str(e)) diff --git a/model_card_gen/model_card_ui/pages/considerations.py b/model_card_gen/model_card_ui/pages/considerations.py index 9f75ca8..94dfa2a 100644 --- a/model_card_gen/model_card_ui/pages/considerations.py +++ b/model_card_gen/model_card_ui/pages/considerations.py @@ -105,4 +105,4 @@ def main(): if __name__ == "__main__": load_widget_state() - main() \ No newline at end of file + main() diff --git a/model_card_gen/model_card_ui/pages/model_details.py b/model_card_gen/model_card_ui/pages/model_details.py index 928e606..0cf1de4 100644 --- a/model_card_gen/model_card_ui/pages/model_details.py +++ b/model_card_gen/model_card_ui/pages/model_details.py @@ -233,4 +233,4 @@ def main(): if __name__ == "__main__": load_widget_state() - main() \ No newline at end of file + main() diff --git a/model_card_gen/model_card_ui/pages/model_parameters.py b/model_card_gen/model_card_ui/pages/model_parameters.py index 5cea247..6421058 100644 --- a/model_card_gen/model_card_ui/pages/model_parameters.py +++ b/model_card_gen/model_card_ui/pages/model_parameters.py @@ -70,4 +70,4 @@ def main(): if __name__ == "__main__": load_widget_state() - main() \ No newline at end of file + main() diff --git a/model_card_gen/model_card_ui/pages/quantitative_analysis.py b/model_card_gen/model_card_ui/pages/quantitative_analysis.py index eb04543..d15e58a 100644 --- a/model_card_gen/model_card_ui/pages/quantitative_analysis.py +++ b/model_card_gen/model_card_ui/pages/quantitative_analysis.py @@ -93,4 +93,4 @@ def main(): if __name__ == "__main__": load_widget_state() - main() \ No newline at end of file + main() diff --git a/model_card_gen/model_card_ui/pages/view_model_card.py b/model_card_gen/model_card_ui/pages/view_model_card.py index 3d06937..b94b9a0 100644 --- a/model_card_gen/model_card_ui/pages/view_model_card.py +++ b/model_card_gen/model_card_ui/pages/view_model_card.py @@ -85,4 +85,4 @@ def view_model_card(): if __name__ == "__main__": load_widget_state() - view_model_card() \ No newline at end of file + view_model_card() diff --git a/model_card_gen/model_card_ui/persist.py b/model_card_gen/model_card_ui/persist.py index 52fb1df..b494cdb 100644 --- a/model_card_gen/model_card_ui/persist.py +++ b/model_card_gen/model_card_ui/persist.py @@ -18,4 +18,4 @@ def persist(key: str) -> str: def load_widget_state(): """Load persistent widget state.""" if _PERSIST_STATE_KEY in _state: - _state.update({key: value for key, value in _state.items() if key in _state[_PERSIST_STATE_KEY]}) \ No newline at end of file + _state.update({key: value for key, value in _state.items() if key in _state[_PERSIST_STATE_KEY]}) diff --git a/model_card_gen/model_card_ui/session_state_initializer.py b/model_card_gen/model_card_ui/session_state_initializer.py index 1aa5009..8a4a31d 100644 --- a/model_card_gen/model_card_ui/session_state_initializer.py +++ b/model_card_gen/model_card_ui/session_state_initializer.py @@ -80,4 +80,4 @@ def initialize_session_state(): "performance_graphics_dict": {}, # Dictionary of performance graphics "performance_graphics": [], # Performance graphics image collection } - ) \ No newline at end of file + ) diff --git a/model_card_gen/model_card_ui/utils.py b/model_card_gen/model_card_ui/utils.py index b97c51d..739105f 100644 --- a/model_card_gen/model_card_ui/utils.py +++ b/model_card_gen/model_card_ui/utils.py @@ -357,4 +357,4 @@ def navigate_menu(): st.sidebar.page_link("pages/model_parameters.py", label="โš™๏ธ Model Parameters") st.sidebar.page_link("pages/considerations.py", label="โš–๏ธ Considerations") st.sidebar.page_link("pages/quantitative_analysis.py", label="๐Ÿ“Š Quantitative Analysis") - st.sidebar.page_link("pages/view_model_card.py", label="๐Ÿ” View or Download Model Card") \ No newline at end of file + st.sidebar.page_link("pages/view_model_card.py", label="๐Ÿ” View or Download Model Card") diff --git a/model_card_gen/poetry.toml b/model_card_gen/poetry.toml index efa46ec..ab1033b 100644 --- a/model_card_gen/poetry.toml +++ b/model_card_gen/poetry.toml @@ -1,2 +1,2 @@ [virtualenvs] -in-project = true \ No newline at end of file +in-project = true diff --git a/model_card_gen/tests/test_model_card.py b/model_card_gen/tests/test_model_card.py index cd7ff94..2d2bcaf 100644 --- a/model_card_gen/tests/test_model_card.py +++ b/model_card_gen/tests/test_model_card.py @@ -90,4 +90,4 @@ def test_missing_threshold_column_exception(): with pytest.raises(AssertionError) as exception_error: example_df = pd.DataFrame(data={'col1': [1, 2]}) ModelCardGen.generate(metrics_by_threshold=example_df) - assert "No column named 'threshold'" in str(exception_error.value) \ No newline at end of file + assert "No column named 'threshold'" in str(exception_error.value) diff --git a/notebooks/explainer/heart_disease_with_attributions/README.md b/notebooks/explainer/heart_disease_with_attributions/README.md index 148f158..ef42b85 100644 --- a/notebooks/explainer/heart_disease_with_attributions/README.md +++ b/notebooks/explainer/heart_disease_with_attributions/README.md @@ -15,4 +15,4 @@ To run `heart_disease.ipynb`, install the following dependencies: ## References -Heart Disease Dataset - https://archive.ics.uci.edu/ml/datasets/heart+disease \ No newline at end of file +Heart Disease Dataset - https://archive.ics.uci.edu/ml/datasets/heart+disease diff --git a/notebooks/explainer/mnist_with_attributions_and_metrics/README.md b/notebooks/explainer/mnist_with_attributions_and_metrics/README.md index b2ca29d..95bd660 100644 --- a/notebooks/explainer/mnist_with_attributions_and_metrics/README.md +++ b/notebooks/explainer/mnist_with_attributions_and_metrics/README.md @@ -18,4 +18,4 @@ To run `mnist.ipynb`, install the following dependencies: ## References 1. SHAP GitHub Project - https://github.com/slundberg/shap -2. SHAP MNIST example - "Pytorch Deep Explainer MNIST example": https://github.com/slundberg/shap/blob/master/notebooks/image_examples/image_classification/PyTorch%20Deep%20Explainer%20MNIST%20example.ipynb \ No newline at end of file +2. SHAP MNIST example - "Pytorch Deep Explainer MNIST example": https://github.com/slundberg/shap/blob/master/notebooks/image_examples/image_classification/PyTorch%20Deep%20Explainer%20MNIST%20example.ipynb diff --git a/notebooks/explainer/multimodal_cancer_detection/data_utils.py b/notebooks/explainer/multimodal_cancer_detection/data_utils.py index 3a2b265..c5cc9fd 100644 --- a/notebooks/explainer/multimodal_cancer_detection/data_utils.py +++ b/notebooks/explainer/multimodal_cancer_detection/data_utils.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2022 Intel Corporation +# Copyright (c) 2023 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/notebooks/explainer/newsgroups_with_attributions_and_metrics/README.md b/notebooks/explainer/newsgroups_with_attributions_and_metrics/README.md index 0b95c0b..4f8e0b4 100644 --- a/notebooks/explainer/newsgroups_with_attributions_and_metrics/README.md +++ b/notebooks/explainer/newsgroups_with_attributions_and_metrics/README.md @@ -19,4 +19,4 @@ To run `partitionexplainer.ipynb`, install the following dependencies: ## References -1. Explain Text Classification Models Using SHAP Values - https://coderzcolumn.com/tutorials/artificial-intelligence/explain-text-classification-models-using-shap-values-keras \ No newline at end of file +1. Explain Text Classification Models Using SHAP Values - https://coderzcolumn.com/tutorials/artificial-intelligence/explain-text-classification-models-using-shap-values-keras diff --git a/notebooks/explainer/requirements.txt b/notebooks/explainer/requirements.txt index c12b0c1..0ad36d2 100644 --- a/notebooks/explainer/requirements.txt +++ b/notebooks/explainer/requirements.txt @@ -2,4 +2,4 @@ pydot==2.0.0 pydot_ng==2.0.0 scikit-image==0.22.0 ultralytics==8.1.36 -sentencepiece==0.2.0 \ No newline at end of file +sentencepiece==0.2.0 diff --git a/notebooks/model_card_gen/hugging_face_model_card/README.md b/notebooks/model_card_gen/hugging_face_model_card/README.md index bad5645..0899268 100644 --- a/notebooks/model_card_gen/hugging_face_model_card/README.md +++ b/notebooks/model_card_gen/hugging_face_model_card/README.md @@ -28,4 +28,4 @@ To run the `toxicity-tfma-model-card.ipynb`, install the following dependencies: journal={arXiv preprint arXiv:2004.06465}, year={2020} } -``` \ No newline at end of file +``` diff --git a/notebooks/model_card_gen/multiclass_classification/README.md b/notebooks/model_card_gen/multiclass_classification/README.md index f722977..f48e13e 100644 --- a/notebooks/model_card_gen/multiclass_classification/README.md +++ b/notebooks/model_card_gen/multiclass_classification/README.md @@ -28,4 +28,4 @@ To run the `multiclass-classification-model-card.ipynb`, install the following d journal={arXiv preprint arXiv:2012.10289}, year={2020} } -``` \ No newline at end of file +``` diff --git a/plugins/benchmark/classification_metrics/README.md b/plugins/benchmark/classification_metrics/README.md index c868e7c..942a716 100644 --- a/plugins/benchmark/classification_metrics/README.md +++ b/plugins/benchmark/classification_metrics/README.md @@ -83,4 +83,4 @@ DATASETS=jigsaw DATASET_PATH=/path/to/dataset python ./scripts/benchmark_classification_metrics.py -m ${MODEL_PATH} -d ${DATASETS} -p ${DATASET_PATH} cat ${MODEL_PATH%%/*}/results/${MODEL_PATH##*/}_${DATASETS}_accuracy/metrics.json -``` \ No newline at end of file +``` diff --git a/plugins/benchmark/classification_metrics/tests/__init__.py b/plugins/benchmark/classification_metrics/tests/__init__.py index 552dddc..fbdf834 100644 --- a/plugins/benchmark/classification_metrics/tests/__init__.py +++ b/plugins/benchmark/classification_metrics/tests/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2024 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/plugins/benchmark/classification_metrics/tests/test_benchmark_classification.py b/plugins/benchmark/classification_metrics/tests/test_benchmark_classification.py index fa64de1..a35cef0 100644 --- a/plugins/benchmark/classification_metrics/tests/test_benchmark_classification.py +++ b/plugins/benchmark/classification_metrics/tests/test_benchmark_classification.py @@ -50,4 +50,4 @@ def test_dataset_loading(): @pytest.mark.common def test_tc_dataset_loading(): csv_path = "hf://datasets/lmsys/toxic-chat/data/0124/toxic-chat_annotation_test.csv" - assert read_test_tc_split(csv_path) \ No newline at end of file + assert read_test_tc_split(csv_path) diff --git a/plugins/explainers/attributions-hugging-face/poetry.toml b/plugins/explainers/attributions-hugging-face/poetry.toml index efa46ec..ab1033b 100644 --- a/plugins/explainers/attributions-hugging-face/poetry.toml +++ b/plugins/explainers/attributions-hugging-face/poetry.toml @@ -1,2 +1,2 @@ [virtualenvs] -in-project = true \ No newline at end of file +in-project = true diff --git a/plugins/explainers/attributions-hugging-face/tests/test_hf_attributions.py b/plugins/explainers/attributions-hugging-face/tests/test_hf_attributions.py index b500190..d52f0fa 100644 --- a/plugins/explainers/attributions-hugging-face/tests/test_hf_attributions.py +++ b/plugins/explainers/attributions-hugging-face/tests/test_hf_attributions.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2023 Intel Corporation +# Copyright (c) 2024 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/plugins/explainers/attributions/intel_ai_safety/explainer/attributions/plots.py b/plugins/explainers/attributions/intel_ai_safety/explainer/attributions/plots.py index 43ab184..15bde76 100644 --- a/plugins/explainers/attributions/intel_ai_safety/explainer/attributions/plots.py +++ b/plugins/explainers/attributions/intel_ai_safety/explainer/attributions/plots.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2022 Intel Corporation +# Copyright (c) 2023 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/plugins/explainers/attributions/intel_ai_safety/explainer/attributions/widgets.py b/plugins/explainers/attributions/intel_ai_safety/explainer/attributions/widgets.py index 21158bf..2b6bdb2 100644 --- a/plugins/explainers/attributions/intel_ai_safety/explainer/attributions/widgets.py +++ b/plugins/explainers/attributions/intel_ai_safety/explainer/attributions/widgets.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2022 Intel Corporation +# Copyright (c) 2023 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/plugins/explainers/attributions/poetry.toml b/plugins/explainers/attributions/poetry.toml index efa46ec..ab1033b 100644 --- a/plugins/explainers/attributions/poetry.toml +++ b/plugins/explainers/attributions/poetry.toml @@ -1,2 +1,2 @@ [virtualenvs] -in-project = true \ No newline at end of file +in-project = true diff --git a/plugins/explainers/cam-pytorch/poetry.toml b/plugins/explainers/cam-pytorch/poetry.toml index efa46ec..ab1033b 100644 --- a/plugins/explainers/cam-pytorch/poetry.toml +++ b/plugins/explainers/cam-pytorch/poetry.toml @@ -1,2 +1,2 @@ [virtualenvs] -in-project = true \ No newline at end of file +in-project = true diff --git a/plugins/explainers/cam-tensorflow/poetry.toml b/plugins/explainers/cam-tensorflow/poetry.toml index efa46ec..ab1033b 100644 --- a/plugins/explainers/cam-tensorflow/poetry.toml +++ b/plugins/explainers/cam-tensorflow/poetry.toml @@ -1,2 +1,2 @@ [virtualenvs] -in-project = true \ No newline at end of file +in-project = true diff --git a/plugins/explainers/captum/poetry.toml b/plugins/explainers/captum/poetry.toml index efa46ec..ab1033b 100644 --- a/plugins/explainers/captum/poetry.toml +++ b/plugins/explainers/captum/poetry.toml @@ -1,2 +1,2 @@ [virtualenvs] -in-project = true \ No newline at end of file +in-project = true diff --git a/plugins/explainers/metrics/poetry.toml b/plugins/explainers/metrics/poetry.toml index efa46ec..ab1033b 100644 --- a/plugins/explainers/metrics/poetry.toml +++ b/plugins/explainers/metrics/poetry.toml @@ -1,2 +1,2 @@ [virtualenvs] -in-project = true \ No newline at end of file +in-project = true diff --git a/plugins/mlcommons/modelgauge/modelgauge/suts/neuralchat_sut.py b/plugins/mlcommons/modelgauge/modelgauge/suts/neuralchat_sut.py index ceb09fb..9cb5778 100644 --- a/plugins/mlcommons/modelgauge/modelgauge/suts/neuralchat_sut.py +++ b/plugins/mlcommons/modelgauge/modelgauge/suts/neuralchat_sut.py @@ -4,4 +4,4 @@ HUGGING_FACE_REPO_ID = "Intel/neural-chat-7b-v3-3" UNIQUE_ID = "neural-chat-7b-v3-3" -SUTS.register(HuggingFaceSUT, UNIQUE_ID, HUGGING_FACE_REPO_ID, InjectSecret(HuggingFaceToken)) \ No newline at end of file +SUTS.register(HuggingFaceSUT, UNIQUE_ID, HUGGING_FACE_REPO_ID, InjectSecret(HuggingFaceToken)) diff --git a/plugins/model_card_gen/generators/tfma/tests/__init__.py b/plugins/model_card_gen/generators/tfma/tests/__init__.py index 676367b..27c453a 100644 --- a/plugins/model_card_gen/generators/tfma/tests/__init__.py +++ b/plugins/model_card_gen/generators/tfma/tests/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- # -# Copyright (c) 2024 Intel Corporation +# Copyright (c) 2022 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/poetry.toml b/poetry.toml index efa46ec..ab1033b 100644 --- a/poetry.toml +++ b/poetry.toml @@ -1,2 +1,2 @@ [virtualenvs] -in-project = true \ No newline at end of file +in-project = true