diff --git a/Experiments/.ipynb_checkpoints/MQ7_Regression-checkpoint.ipynb b/Experiments/.ipynb_checkpoints/MQ7_Regression-checkpoint.ipynb
new file mode 100644
index 0000000..814fe1a
--- /dev/null
+++ b/Experiments/.ipynb_checkpoints/MQ7_Regression-checkpoint.ipynb
@@ -0,0 +1,2395 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n",
+ "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n",
+ "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n",
+ "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n",
+ "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n",
+ "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n",
+ "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n",
+ "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n",
+ "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n",
+ "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n",
+ "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n",
+ "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n",
+ "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n",
+ "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n",
+ "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n",
+ "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n",
+ "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n"
+ ]
+ }
+ ],
+ "source": [
+ "!pip install pandas\n",
+ "!pip install xlrd\n",
+ "!pip install sklearn\n",
+ "!pip install imblearn"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import xlrd\n",
+ "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n",
+ "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n",
+ "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n",
+ "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n",
+ "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n",
+ "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n",
+ "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n",
+ "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n",
+ "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n",
+ "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n",
+ "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n",
+ "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n",
+ "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0.01 \t \t \t \t \t \n",
+ "0.02 \t \t \t \t \t \n",
+ "0.03 \t \t \t \t \t \n",
+ "0.04 \t \t \t \t \t \n",
+ "0.05 \t \t 4000.0 \t \t \t \n",
+ "0.06 \t \t \t \t \t \n",
+ "0.07 \t \t \t \t \t \n",
+ "0.08 \t \t \t \t \t \n",
+ "0.09 \t \t \t \t 3000.0 \t \n",
+ "0.1 \t \t \t \t \t \n",
+ "0.2 \t \t \t \t \t \n",
+ "0.3 \t \t 400.0 \t \t \t \n",
+ "0.4 \t \t \t \t 400.0 \t \n",
+ "0.5 \t \t \t \t \t \n",
+ "0.6 \t \t \t \t \t \n",
+ "0.7 \t \t \t \t \t \n",
+ "0.8 \t \t 100.0 \t \t \t \n",
+ "0.9 \t \t \t \t \t \n",
+ "1.0 \t \t \t \t 100.0 \t \n"
+ ]
+ }
+ ],
+ "source": [
+ "for row_index in range(1,20): #reading first columns\n",
+ " RsR0, CO, H2, LPG, CH4, Alcohol = sheetMQ7.row_values(row_index, start_colx=0, end_colx=6)\n",
+ " print(RsR0, \"\t\", LPG, \"\t\", H2, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol)\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "x_MQ7 = sheetMQ7.col_values(0)[2:]\n",
+ "MQ7_CO = sheetMQ7.col_values(1)[2:]\n",
+ "MQ7_H2 = sheetMQ7.col_values(2)[2:]\n",
+ "MQ7_LPG = sheetMQ7.col_values(3)[2:]\n",
+ "MQ7_CH4 = sheetMQ7.col_values(4)[2:]\n",
+ "MQ7_Alcohol = sheetMQ7.col_values(5)[2:]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def zero_to_nan(values):\n",
+ " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n",
+ " return [float('nan') if x==0 else x for x in values]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "MQ7_H2 =zero_to_nan(MQ7_H2)\n",
+ "MQ7_LPG =zero_to_nan(MQ7_LPG)\n",
+ "MQ7_CH4 =zero_to_nan(MQ7_CH4)\n",
+ "MQ7_CO =zero_to_nan(MQ7_CO)\n",
+ "MQ7_Alcohol =zero_to_nan(MQ7_Alcohol)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "from sklearn.datasets import load_iris\n",
+ "#from sklearn.cross_validation import train_test_split\n",
+ "from sklearn.tree import DecisionTreeClassifier\n",
+ "from sklearn import datasets\n",
+ "from sklearn import linear_model\n",
+ "\n",
+ "dataH2 = {'RsRo': x_MQ7, 'H2': MQ7_H2}\n",
+ "dataLPG = {'RsRo': x_MQ7, 'LPG': MQ7_LPG}\n",
+ "dataCH4 = {'RsRo': x_MQ7, 'CH4': MQ7_CH4}\n",
+ "dataCO = {'RsRo': x_MQ7, 'CO': MQ7_CO}\n",
+ "dataALcohol = {'RsRo': x_MQ7, 'Alcohol': MQ7_Alcohol}\n",
+ "\n",
+ "dfMQ7_H2 = pd.DataFrame(dataH2)\n",
+ "dfMQ7_LPG = pd.DataFrame(dataLPG)\n",
+ "dfMQ7_CH4 = pd.DataFrame(dataCH4)\n",
+ "dfMQ7_CO = pd.DataFrame(dataCO)\n",
+ "dfMQ7_Alcohol = pd.DataFrame(dataALcohol)\n",
+ "\n",
+ "dfMQ7_H2['H2'] = pd.to_numeric(dfMQ7_H2['H2'])\n",
+ "dfMQ7_LPG['LPG'] = pd.to_numeric(dfMQ7_LPG['LPG'])\n",
+ "dfMQ7_CH4['CH4'] = pd.to_numeric(dfMQ7_CH4['CH4'])\n",
+ "dfMQ7_CO['CO'] = pd.to_numeric(dfMQ7_CO['CO'])\n",
+ "dfMQ7_Alcohol['Alcohol'] = pd.to_numeric(dfMQ7_Alcohol['Alcohol'])\n",
+ "\n",
+ "dfMQ7_H2['H2'] = dfMQ7_H2['H2'].replace('',None, regex=True)\n",
+ "dfMQ7_LPG['LPG'] = dfMQ7_LPG['LPG'].replace('',None, regex=True)\n",
+ "dfMQ7_CH4['CH4'] = dfMQ7_CH4['CH4'].replace('',None, regex=True)\n",
+ "dfMQ7_CO['CO'] = dfMQ7_CO['CO'].replace('',None, regex=True)\n",
+ "dfMQ7_Alcohol['Alcohol'] = dfMQ7_Alcohol['Alcohol'].replace('',None, regex=True)\n",
+ "\n",
+ "#Global X_Predict variable\n",
+ "X_Predict = dfMQ7_LPG.RsRo.apply(lambda x: [x]).tolist()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train H2\n",
+ "dataset2TrainH2 = dfMQ7_H2.copy()\n",
+ "dataset2TrainH2.dropna(inplace=True)\n",
+ "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainH2 = dataset2TrainH2['H2'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainH2, y_trainH2)\n",
+ "#Predict\n",
+ "H2_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_H2 = H2_Predicted\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train LPG\n",
+ "dataset2TrainLPG = dfMQ7_LPG.copy()\n",
+ "dataset2TrainLPG.dropna(inplace=True)\n",
+ "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainLPG, y_trainLPG)\n",
+ "#Predict\n",
+ "LPG_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_LPG = LPG_Predicted"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train CH4\n",
+ "dataset2TrainCH4 = dfMQ7_CH4.copy()\n",
+ "dataset2TrainCH4.dropna(inplace=True)\n",
+ "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainCH4, y_trainCH4)\n",
+ "#Predict\n",
+ "CH4_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_CH4 = CH4_Predicted"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train CO\n",
+ "dataset2TrainCO = dfMQ7_CO.copy()\n",
+ "dataset2TrainCO.dropna(inplace=True)\n",
+ "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainCO = dataset2TrainCO['CO'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainCO, y_trainCO)\n",
+ "#Predict\n",
+ "CO_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_CO = CO_Predicted"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train Alcohol\n",
+ "dataset2TrainAlcohol = dfMQ7_Alcohol.copy()\n",
+ "dataset2TrainAlcohol.dropna(inplace=True)\n",
+ "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainAlcohol, y_trainAlcohol)\n",
+ "#Predict\n",
+ "Alcohol_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_Alcohol = Alcohol_Predicted"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ "\r\n",
+ "\r\n",
+ "\r\n",
+ "\r\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%config InlineBackend.figure_formats = ['svg']\n",
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "import matplotlib.lines as mlines\n",
+ "import matplotlib.transforms as mtransforms\n",
+ "\n",
+ "fig, ax = plt.subplots()\n",
+ "\n",
+ "fig.set_size_inches(9, 5.5, forward=True)\n",
+ "fig.set_dpi(200)\n",
+ "\n",
+ "# only these two lines are calibration curves\n",
+ "plt.plot(MQ7_H2, x_MQ7, marker='o', linewidth=1, label='H2')\n",
+ "plt.plot(MQ7_LPG, x_MQ7, marker='o', linewidth=1, label='LPG')\n",
+ "plt.plot(MQ7_CH4, x_MQ7, marker='o', linewidth=1, label='CH4')\n",
+ "plt.plot(MQ7_CO, x_MQ7, marker='o', linewidth=1, label='CO')\n",
+ "plt.plot(MQ7_Alcohol, x_MQ7, marker='o', linewidth=1, label='Alcohol')\n",
+ "\n",
+ "\n",
+ "# reference line, legends, and axis labels\n",
+ "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n",
+ "#transform = ax.transAxes\n",
+ "#line.set_transform(transform)\n",
+ "#ax.add_line(line)\n",
+ "plt.yscale('log')\n",
+ "plt.xscale('log')\n",
+ "plt.legend()\n",
+ "\n",
+ "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n",
+ "\n",
+ "fig.suptitle('Calibration plot for MQ-6 data')\n",
+ "ax.set_xlabel('PPM Concentration')\n",
+ "ax.set_ylabel('Rs/Ro')\n",
+ "\n",
+ "\n",
+ "#Save image\n",
+ "plt.savefig('MQ7.svg', format = 'svg', dpi = 1200)\n",
+ "plt.savefig('MQ7.png')\n",
+ "plt.savefig('MQ7.eps', format = 'eps', dpi = 1200)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "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.7.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/Experiments/MQ6_Regression.ipynb b/Experiments/MQ6_Regression.ipynb
index b4e5472..8aa6b08 100644
--- a/Experiments/MQ6_Regression.ipynb
+++ b/Experiments/MQ6_Regression.ipynb
@@ -275,7 +275,7 @@
},
{
"cell_type": "code",
- "execution_count": 43,
+ "execution_count": 26,
"metadata": {},
"outputs": [
{
@@ -315,14 +315,14 @@
" \r\n",
" \r\n",
+ "\" id=\"m162978e0da\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
" \r\n",
" \r\n",
- " \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ "\" id=\"DejaVuSans-51\"/>\r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
+ "\" id=\"m03c7aa92e2\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
@@ -939,14 +836,14 @@
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
@@ -954,340 +851,203 @@
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
+ "\" id=\"mf04d1d4a7d\" style=\"stroke:#1f77b4;\"/>\r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
+ "\" id=\"m76f57de1f6\" style=\"stroke:#ff7f0e;\"/>\r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
+ "\" id=\"ma024911d33\" style=\"stroke:#2ca02c;\"/>\r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
+ "\" id=\"m39a0ba066e\" style=\"stroke:#d62728;\"/>\r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
@@ -1594,29 +1370,29 @@
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
- " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
+ " \r\n",
" \r\n",
- " \r\n",
+ "M 52.59375 71.296875 \r\n",
+ "L 52.59375 62.3125 \r\n",
+ "Q 48.875 64.0625 45.09375 64.984375 \r\n",
+ "Q 41.3125 65.921875 37.59375 65.921875 \r\n",
+ "Q 27.828125 65.921875 22.671875 59.328125 \r\n",
+ "Q 17.53125 52.734375 16.796875 39.40625 \r\n",
+ "Q 19.671875 43.65625 24.015625 45.921875 \r\n",
+ "Q 28.375 48.1875 33.59375 48.1875 \r\n",
+ "Q 44.578125 48.1875 50.953125 41.515625 \r\n",
+ "Q 57.328125 34.859375 57.328125 23.390625 \r\n",
+ "Q 57.328125 12.15625 50.6875 5.359375 \r\n",
+ "Q 44.046875 -1.421875 33.015625 -1.421875 \r\n",
+ "Q 20.359375 -1.421875 13.671875 8.265625 \r\n",
+ "Q 6.984375 17.96875 6.984375 36.375 \r\n",
+ "Q 6.984375 53.65625 15.1875 63.9375 \r\n",
+ "Q 23.390625 74.21875 37.203125 74.21875 \r\n",
+ "Q 40.921875 74.21875 44.703125 73.484375 \r\n",
+ "Q 48.484375 72.75 52.59375 71.296875 \r\n",
+ "z\r\n",
+ "\" id=\"DejaVuSans-54\"/>\r\n",
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
@@ -1969,7 +1813,7 @@
" \r\n",
" \r\n",
" \r\n",
- " \r\n",
+ " \r\n",
" \r\n",
" \r\n",
" \r\n",
@@ -2016,15 +1860,15 @@
"\n",
"plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n",
"\n",
- "fig.suptitle('Calibration plot for MQ-5 data')\n",
+ "fig.suptitle('Calibration plot for MQ-6 data')\n",
"ax.set_xlabel('PPM Concentration')\n",
"ax.set_ylabel('Rs/Ro')\n",
"\n",
"\n",
"#Save image\n",
- "plt.savefig('MQ5.svg', format = 'svg', dpi = 1200)\n",
- "plt.savefig('MQ5.png')\n",
- "plt.savefig('MQ5.eps', format = 'eps', dpi = 1200)"
+ "plt.savefig('MQ6.svg', format = 'svg', dpi = 1200)\n",
+ "plt.savefig('MQ6.png')\n",
+ "plt.savefig('MQ6.eps', format = 'eps', dpi = 1200)"
]
},
{
diff --git a/Experiments/MQ7.eps b/Experiments/MQ7.eps
new file mode 100644
index 0000000..b039bb8
--- /dev/null
+++ b/Experiments/MQ7.eps
@@ -0,0 +1,3567 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Title: MQ7.eps
+%%Creator: matplotlib version 3.0.3, http://matplotlib.org/
+%%CreationDate: Wed Jul 3 20:57:56 2019
+%%Orientation: portrait
+%%BoundingBox: -18 198 630 594
+%%EndComments
+%%BeginProlog
+/mpldict 8 dict def
+mpldict begin
+/m { moveto } bind def
+/l { lineto } bind def
+/r { rlineto } bind def
+/c { curveto } bind def
+/cl { closepath } bind def
+/box {
+m
+1 index 0 r
+0 exch r
+neg 0 r
+cl
+} bind def
+/clipbox {
+box
+clip
+newpath
+} bind def
+%!PS-Adobe-3.0 Resource-Font
+%%Title: DejaVu Sans
+%%Copyright: Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain
+%%Creator: Converted from TrueType to type 3 by PPR
+25 dict begin
+/_d{bind def}bind def
+/_m{moveto}_d
+/_l{lineto}_d
+/_cl{closepath eofill}_d
+/_c{curveto}_d
+/_sc{7 -1 roll{setcachedevice}{pop pop pop pop pop pop}ifelse}_d
+/_e{exec}_d
+/FontName /DejaVuSans def
+/PaintType 0 def
+/FontMatrix[.001 0 0 .001 0 0]def
+/FontBBox[-1021 -463 1793 1232]def
+/FontType 3 def
+/Encoding [ /space /hyphen /slash /zero /one /two /three /four /six /A /C /G /H /L /M /O /P /Q /R /a /b /c /d /e /f /h /i /l /n /o /p /r /s /t /minus ] def
+/FontInfo 10 dict dup begin
+/FamilyName (DejaVu Sans) def
+/FullName (DejaVu Sans) def
+/Notice (Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. DejaVu changes are in public domain ) def
+/Weight (Book) def
+/Version (Version 2.35) def
+/ItalicAngle 0.0 def
+/isFixedPitch false def
+/UnderlinePosition -130 def
+/UnderlineThickness 90 def
+end readonly def
+/CharStrings 36 dict dup begin
+/.notdef 0 def
+/space{318 0 0 0 0 0 _sc
+}_d
+/hyphen{361 0 49 234 312 314 _sc
+49 314 _m
+312 314 _l
+312 234 _l
+49 234 _l
+49 314 _l
+_cl}_d
+/slash{337 0 0 -92 337 729 _sc
+254 729 _m
+337 729 _l
+83 -92 _l
+0 -92 _l
+254 729 _l
+_cl}_d
+/zero{636 0 66 -13 570 742 _sc
+318 664 _m
+267 664 229 639 203 589 _c
+177 539 165 464 165 364 _c
+165 264 177 189 203 139 _c
+229 89 267 64 318 64 _c
+369 64 407 89 433 139 _c
+458 189 471 264 471 364 _c
+471 464 458 539 433 589 _c
+407 639 369 664 318 664 _c
+318 742 _m
+399 742 461 709 505 645 _c
+548 580 570 486 570 364 _c
+570 241 548 147 505 83 _c
+461 19 399 -13 318 -13 _c
+236 -13 173 19 130 83 _c
+87 147 66 241 66 364 _c
+66 486 87 580 130 645 _c
+173 709 236 742 318 742 _c
+_cl}_d
+/one{636 0 110 0 544 729 _sc
+124 83 _m
+285 83 _l
+285 639 _l
+110 604 _l
+110 694 _l
+284 729 _l
+383 729 _l
+383 83 _l
+544 83 _l
+544 0 _l
+124 0 _l
+124 83 _l
+_cl}_d
+/two{{636 0 73 0 536 742 _sc
+192 83 _m
+536 83 _l
+536 0 _l
+73 0 _l
+73 83 _l
+110 121 161 173 226 239 _c
+290 304 331 346 348 365 _c
+380 400 402 430 414 455 _c
+426 479 433 504 433 528 _c
+433 566 419 598 392 622 _c
+365 646 330 659 286 659 _c
+255 659 222 653 188 643 _c
+154 632 117 616 78 594 _c
+78 694 _l
+118 710 155 722 189 730 _c
+223 738 255 742 284 742 _c
+}_e{359 742 419 723 464 685 _c
+509 647 532 597 532 534 _c
+532 504 526 475 515 449 _c
+504 422 484 390 454 354 _c
+446 344 420 317 376 272 _c
+332 227 271 164 192 83 _c
+_cl}_e}_d
+/three{{636 0 76 -13 556 742 _sc
+406 393 _m
+453 383 490 362 516 330 _c
+542 298 556 258 556 212 _c
+556 140 531 84 482 45 _c
+432 6 362 -13 271 -13 _c
+240 -13 208 -10 176 -4 _c
+144 1 110 10 76 22 _c
+76 117 _l
+103 101 133 89 166 81 _c
+198 73 232 69 268 69 _c
+330 69 377 81 409 105 _c
+441 129 458 165 458 212 _c
+458 254 443 288 413 312 _c
+383 336 341 349 287 349 _c
+}_e{202 349 _l
+202 430 _l
+291 430 _l
+339 430 376 439 402 459 _c
+428 478 441 506 441 543 _c
+441 580 427 609 401 629 _c
+374 649 336 659 287 659 _c
+260 659 231 656 200 650 _c
+169 644 135 635 98 623 _c
+98 711 _l
+135 721 170 729 203 734 _c
+235 739 266 742 296 742 _c
+370 742 429 725 473 691 _c
+517 657 539 611 539 553 _c
+539 513 527 479 504 451 _c
+481 423 448 403 406 393 _c
+_cl}_e}_d
+/four{636 0 49 0 580 729 _sc
+378 643 _m
+129 254 _l
+378 254 _l
+378 643 _l
+352 729 _m
+476 729 _l
+476 254 _l
+580 254 _l
+580 172 _l
+476 172 _l
+476 0 _l
+378 0 _l
+378 172 _l
+49 172 _l
+49 267 _l
+352 729 _l
+_cl}_d
+/six{{636 0 70 -13 573 742 _sc
+330 404 _m
+286 404 251 388 225 358 _c
+199 328 186 286 186 234 _c
+186 181 199 139 225 109 _c
+251 79 286 64 330 64 _c
+374 64 409 79 435 109 _c
+461 139 474 181 474 234 _c
+474 286 461 328 435 358 _c
+409 388 374 404 330 404 _c
+526 713 _m
+526 623 _l
+501 635 476 644 451 650 _c
+425 656 400 659 376 659 _c
+310 659 260 637 226 593 _c
+}_e{192 549 172 482 168 394 _c
+187 422 211 444 240 459 _c
+269 474 301 482 336 482 _c
+409 482 467 459 509 415 _c
+551 371 573 310 573 234 _c
+573 159 550 99 506 54 _c
+462 9 403 -13 330 -13 _c
+246 -13 181 19 137 83 _c
+92 147 70 241 70 364 _c
+70 479 97 571 152 639 _c
+206 707 280 742 372 742 _c
+396 742 421 739 447 735 _c
+472 730 498 723 526 713 _c
+_cl}_e}_d
+/A{684 0 8 0 676 729 _sc
+342 632 _m
+208 269 _l
+476 269 _l
+342 632 _l
+286 729 _m
+398 729 _l
+676 0 _l
+573 0 _l
+507 187 _l
+178 187 _l
+112 0 _l
+8 0 _l
+286 729 _l
+_cl}_d
+/C{{698 0 56 -13 644 742 _sc
+644 673 _m
+644 569 _l
+610 599 575 622 537 638 _c
+499 653 460 661 418 661 _c
+334 661 270 635 226 584 _c
+182 533 160 460 160 364 _c
+160 268 182 194 226 143 _c
+270 92 334 67 418 67 _c
+460 67 499 74 537 90 _c
+575 105 610 128 644 159 _c
+644 56 _l
+609 32 572 15 534 4 _c
+496 -7 455 -13 412 -13 _c
+302 -13 215 20 151 87 _c
+}_e{87 154 56 246 56 364 _c
+56 481 87 573 151 641 _c
+215 708 302 742 412 742 _c
+456 742 497 736 535 725 _c
+573 713 610 696 644 673 _c
+_cl}_e}_d
+/G{{775 0 56 -13 693 742 _sc
+595 104 _m
+595 300 _l
+434 300 _l
+434 381 _l
+693 381 _l
+693 68 _l
+655 40 613 20 567 7 _c
+521 -6 472 -13 420 -13 _c
+306 -13 216 20 152 86 _c
+88 152 56 245 56 364 _c
+56 482 88 575 152 642 _c
+216 708 306 742 420 742 _c
+467 742 512 736 555 724 _c
+598 712 638 695 674 673 _c
+674 568 _l
+637 598 598 621 557 637 _c
+516 653 473 661 428 661 _c
+}_e{338 661 271 636 227 586 _c
+182 536 160 462 160 364 _c
+160 265 182 191 227 141 _c
+271 91 338 67 428 67 _c
+462 67 493 70 521 76 _c
+549 82 573 91 595 104 _c
+_cl}_e}_d
+/H{752 0 98 0 654 729 _sc
+98 729 _m
+197 729 _l
+197 430 _l
+555 430 _l
+555 729 _l
+654 729 _l
+654 0 _l
+555 0 _l
+555 347 _l
+197 347 _l
+197 0 _l
+98 0 _l
+98 729 _l
+_cl}_d
+/L{557 0 98 0 552 729 _sc
+98 729 _m
+197 729 _l
+197 83 _l
+552 83 _l
+552 0 _l
+98 0 _l
+98 729 _l
+_cl}_d
+/M{863 0 98 0 765 729 _sc
+98 729 _m
+245 729 _l
+431 233 _l
+618 729 _l
+765 729 _l
+765 0 _l
+669 0 _l
+669 640 _l
+481 140 _l
+382 140 _l
+194 640 _l
+194 0 _l
+98 0 _l
+98 729 _l
+_cl}_d
+/O{787 0 56 -13 731 742 _sc
+394 662 _m
+322 662 265 635 223 582 _c
+181 528 160 456 160 364 _c
+160 272 181 199 223 146 _c
+265 92 322 66 394 66 _c
+465 66 522 92 564 146 _c
+606 199 627 272 627 364 _c
+627 456 606 528 564 582 _c
+522 635 465 662 394 662 _c
+394 742 _m
+496 742 577 707 639 639 _c
+700 571 731 479 731 364 _c
+731 248 700 157 639 89 _c
+577 21 496 -13 394 -13 _c
+291 -13 209 21 148 89 _c
+86 157 56 248 56 364 _c
+56 479 86 571 148 639 _c
+209 707 291 742 394 742 _c
+_cl}_d
+/P{603 0 98 0 569 729 _sc
+197 648 _m
+197 374 _l
+321 374 _l
+367 374 402 385 427 409 _c
+452 433 465 467 465 511 _c
+465 555 452 588 427 612 _c
+402 636 367 648 321 648 _c
+197 648 _l
+98 729 _m
+321 729 _l
+402 729 464 710 506 673 _c
+548 636 569 582 569 511 _c
+569 439 548 384 506 348 _c
+464 311 402 293 321 293 _c
+197 293 _l
+197 0 _l
+98 0 _l
+98 729 _l
+_cl}_d
+/Q{{787 0 56 -128 731 742 _sc
+394 662 _m
+322 662 265 635 223 582 _c
+181 528 160 456 160 364 _c
+160 272 181 199 223 146 _c
+265 92 322 66 394 66 _c
+465 66 522 92 564 146 _c
+606 199 627 272 627 364 _c
+627 456 606 528 564 582 _c
+522 635 465 662 394 662 _c
+532 13 _m
+662 -128 _l
+543 -128 _l
+435 -11 _l
+424 -11 416 -12 410 -12 _c
+404 -12 399 -13 394 -13 _c
+291 -13 209 21 148 89 _c
+}_e{86 157 56 248 56 364 _c
+56 479 86 571 148 639 _c
+209 707 291 742 394 742 _c
+496 742 577 707 639 639 _c
+700 571 731 479 731 364 _c
+731 279 714 206 680 146 _c
+646 86 596 41 532 13 _c
+_cl}_e}_d
+/R{{695 0 98 0 666 729 _sc
+444 342 _m
+465 334 486 319 506 296 _c
+526 272 546 240 566 199 _c
+666 0 _l
+560 0 _l
+467 187 _l
+443 235 419 268 397 284 _c
+374 300 343 308 304 308 _c
+197 308 _l
+197 0 _l
+98 0 _l
+98 729 _l
+321 729 _l
+404 729 466 711 507 677 _c
+548 642 569 589 569 519 _c
+569 473 558 434 537 404 _c
+515 374 484 353 444 342 _c
+197 648 _m
+197 389 _l
+321 389 _l
+}_e{368 389 404 400 428 422 _c
+452 444 465 476 465 519 _c
+465 561 452 593 428 615 _c
+404 637 368 648 321 648 _c
+197 648 _l
+_cl}_e}_d
+/a{{613 0 60 -13 522 560 _sc
+343 275 _m
+270 275 220 266 192 250 _c
+164 233 150 205 150 165 _c
+150 133 160 107 181 89 _c
+202 70 231 61 267 61 _c
+317 61 357 78 387 114 _c
+417 149 432 196 432 255 _c
+432 275 _l
+343 275 _l
+522 312 _m
+522 0 _l
+432 0 _l
+432 83 _l
+411 49 385 25 355 10 _c
+325 -5 287 -13 243 -13 _c
+187 -13 142 2 109 33 _c
+76 64 60 106 60 159 _c
+}_e{60 220 80 266 122 298 _c
+163 329 224 345 306 345 _c
+432 345 _l
+432 354 _l
+432 395 418 427 391 450 _c
+364 472 326 484 277 484 _c
+245 484 215 480 185 472 _c
+155 464 127 453 100 439 _c
+100 522 _l
+132 534 164 544 195 550 _c
+226 556 256 560 286 560 _c
+365 560 424 539 463 498 _c
+502 457 522 395 522 312 _c
+_cl}_e}_d
+/b{{635 0 91 -13 580 760 _sc
+487 273 _m
+487 339 473 390 446 428 _c
+418 466 381 485 334 485 _c
+286 485 249 466 222 428 _c
+194 390 181 339 181 273 _c
+181 207 194 155 222 117 _c
+249 79 286 61 334 61 _c
+381 61 418 79 446 117 _c
+473 155 487 207 487 273 _c
+181 464 _m
+199 496 223 520 252 536 _c
+281 552 316 560 356 560 _c
+422 560 476 533 518 481 _c
+559 428 580 359 580 273 _c
+}_e{580 187 559 117 518 65 _c
+476 13 422 -13 356 -13 _c
+316 -13 281 -5 252 10 _c
+223 25 199 49 181 82 _c
+181 0 _l
+91 0 _l
+91 760 _l
+181 760 _l
+181 464 _l
+_cl}_e}_d
+/c{{550 0 55 -13 488 560 _sc
+488 526 _m
+488 442 _l
+462 456 437 466 411 473 _c
+385 480 360 484 334 484 _c
+276 484 230 465 198 428 _c
+166 391 150 339 150 273 _c
+150 206 166 154 198 117 _c
+230 80 276 62 334 62 _c
+360 62 385 65 411 72 _c
+437 79 462 90 488 104 _c
+488 21 _l
+462 9 436 0 410 -5 _c
+383 -10 354 -13 324 -13 _c
+242 -13 176 12 128 64 _c
+}_e{79 115 55 185 55 273 _c
+55 362 79 432 128 483 _c
+177 534 244 560 330 560 _c
+358 560 385 557 411 551 _c
+437 545 463 537 488 526 _c
+_cl}_e}_d
+/d{{635 0 55 -13 544 760 _sc
+454 464 _m
+454 760 _l
+544 760 _l
+544 0 _l
+454 0 _l
+454 82 _l
+435 49 411 25 382 10 _c
+353 -5 319 -13 279 -13 _c
+213 -13 159 13 117 65 _c
+75 117 55 187 55 273 _c
+55 359 75 428 117 481 _c
+159 533 213 560 279 560 _c
+319 560 353 552 382 536 _c
+411 520 435 496 454 464 _c
+148 273 _m
+148 207 161 155 188 117 _c
+215 79 253 61 301 61 _c
+}_e{348 61 385 79 413 117 _c
+440 155 454 207 454 273 _c
+454 339 440 390 413 428 _c
+385 466 348 485 301 485 _c
+253 485 215 466 188 428 _c
+161 390 148 339 148 273 _c
+_cl}_e}_d
+/e{{615 0 55 -13 562 560 _sc
+562 296 _m
+562 252 _l
+149 252 _l
+153 190 171 142 205 110 _c
+238 78 284 62 344 62 _c
+378 62 412 66 444 74 _c
+476 82 509 95 541 113 _c
+541 28 _l
+509 14 476 3 442 -3 _c
+408 -9 373 -13 339 -13 _c
+251 -13 182 12 131 62 _c
+80 112 55 181 55 268 _c
+55 357 79 428 127 481 _c
+175 533 241 560 323 560 _c
+397 560 455 536 498 489 _c
+}_e{540 441 562 377 562 296 _c
+472 322 _m
+471 371 457 410 431 440 _c
+404 469 368 484 324 484 _c
+274 484 234 469 204 441 _c
+174 413 156 373 152 322 _c
+472 322 _l
+_cl}_e}_d
+/f{352 0 23 0 371 760 _sc
+371 760 _m
+371 685 _l
+285 685 _l
+253 685 230 678 218 665 _c
+205 652 199 629 199 595 _c
+199 547 _l
+347 547 _l
+347 477 _l
+199 477 _l
+199 0 _l
+109 0 _l
+109 477 _l
+23 477 _l
+23 547 _l
+109 547 _l
+109 585 _l
+109 645 123 690 151 718 _c
+179 746 224 760 286 760 _c
+371 760 _l
+_cl}_d
+/h{634 0 91 0 549 760 _sc
+549 330 _m
+549 0 _l
+459 0 _l
+459 327 _l
+459 379 448 417 428 443 _c
+408 469 378 482 338 482 _c
+289 482 251 466 223 435 _c
+195 404 181 362 181 309 _c
+181 0 _l
+91 0 _l
+91 760 _l
+181 760 _l
+181 462 _l
+202 494 227 519 257 535 _c
+286 551 320 560 358 560 _c
+420 560 468 540 500 501 _c
+532 462 549 405 549 330 _c
+_cl}_d
+/i{278 0 94 0 184 760 _sc
+94 547 _m
+184 547 _l
+184 0 _l
+94 0 _l
+94 547 _l
+94 760 _m
+184 760 _l
+184 646 _l
+94 646 _l
+94 760 _l
+_cl}_d
+/l{278 0 94 0 184 760 _sc
+94 760 _m
+184 760 _l
+184 0 _l
+94 0 _l
+94 760 _l
+_cl}_d
+/n{634 0 91 0 549 560 _sc
+549 330 _m
+549 0 _l
+459 0 _l
+459 327 _l
+459 379 448 417 428 443 _c
+408 469 378 482 338 482 _c
+289 482 251 466 223 435 _c
+195 404 181 362 181 309 _c
+181 0 _l
+91 0 _l
+91 547 _l
+181 547 _l
+181 462 _l
+202 494 227 519 257 535 _c
+286 551 320 560 358 560 _c
+420 560 468 540 500 501 _c
+532 462 549 405 549 330 _c
+_cl}_d
+/o{612 0 55 -13 557 560 _sc
+306 484 _m
+258 484 220 465 192 427 _c
+164 389 150 338 150 273 _c
+150 207 163 156 191 118 _c
+219 80 257 62 306 62 _c
+354 62 392 80 420 118 _c
+448 156 462 207 462 273 _c
+462 337 448 389 420 427 _c
+392 465 354 484 306 484 _c
+306 560 _m
+384 560 445 534 490 484 _c
+534 433 557 363 557 273 _c
+557 183 534 113 490 63 _c
+445 12 384 -13 306 -13 _c
+227 -13 165 12 121 63 _c
+77 113 55 183 55 273 _c
+55 363 77 433 121 484 _c
+165 534 227 560 306 560 _c
+_cl}_d
+/p{{635 0 91 -207 580 560 _sc
+181 82 _m
+181 -207 _l
+91 -207 _l
+91 547 _l
+181 547 _l
+181 464 _l
+199 496 223 520 252 536 _c
+281 552 316 560 356 560 _c
+422 560 476 533 518 481 _c
+559 428 580 359 580 273 _c
+580 187 559 117 518 65 _c
+476 13 422 -13 356 -13 _c
+316 -13 281 -5 252 10 _c
+223 25 199 49 181 82 _c
+487 273 _m
+487 339 473 390 446 428 _c
+418 466 381 485 334 485 _c
+}_e{286 485 249 466 222 428 _c
+194 390 181 339 181 273 _c
+181 207 194 155 222 117 _c
+249 79 286 61 334 61 _c
+381 61 418 79 446 117 _c
+473 155 487 207 487 273 _c
+_cl}_e}_d
+/r{411 0 91 0 411 560 _sc
+411 463 _m
+401 469 390 473 378 476 _c
+366 478 353 480 339 480 _c
+288 480 249 463 222 430 _c
+194 397 181 350 181 288 _c
+181 0 _l
+91 0 _l
+91 547 _l
+181 547 _l
+181 462 _l
+199 495 224 520 254 536 _c
+284 552 321 560 365 560 _c
+371 560 378 559 386 559 _c
+393 558 401 557 411 555 _c
+411 463 _l
+_cl}_d
+/s{{521 0 54 -13 472 560 _sc
+443 531 _m
+443 446 _l
+417 458 391 468 364 475 _c
+336 481 308 485 279 485 _c
+234 485 200 478 178 464 _c
+156 450 145 430 145 403 _c
+145 382 153 366 169 354 _c
+185 342 217 330 265 320 _c
+296 313 _l
+360 299 405 279 432 255 _c
+458 230 472 195 472 151 _c
+472 100 452 60 412 31 _c
+372 1 316 -13 246 -13 _c
+216 -13 186 -10 154 -5 _c
+}_e{122 0 89 8 54 20 _c
+54 113 _l
+87 95 120 82 152 74 _c
+184 65 216 61 248 61 _c
+290 61 323 68 346 82 _c
+368 96 380 117 380 144 _c
+380 168 371 187 355 200 _c
+339 213 303 226 247 238 _c
+216 245 _l
+160 257 119 275 95 299 _c
+70 323 58 356 58 399 _c
+58 450 76 490 112 518 _c
+148 546 200 560 268 560 _c
+301 560 332 557 362 552 _c
+391 547 418 540 443 531 _c
+}_e{_cl}_e}_d
+/t{392 0 27 0 368 702 _sc
+183 702 _m
+183 547 _l
+368 547 _l
+368 477 _l
+183 477 _l
+183 180 _l
+183 135 189 106 201 94 _c
+213 81 238 75 276 75 _c
+368 75 _l
+368 0 _l
+276 0 _l
+206 0 158 13 132 39 _c
+106 65 93 112 93 180 _c
+93 477 _l
+27 477 _l
+27 547 _l
+93 547 _l
+93 702 _l
+183 702 _l
+_cl}_d
+/minus{838 0 106 272 732 355 _sc
+106 355 _m
+732 355 _l
+732 272 _l
+106 272 _l
+106 355 _l
+_cl}_d
+end readonly def
+
+/BuildGlyph
+ {exch begin
+ CharStrings exch
+ 2 copy known not{pop /.notdef}if
+ true 3 1 roll get exec
+ end}_d
+
+/BuildChar {
+ 1 index /Encoding get exch get
+ 1 index /BuildGlyph get exec
+}_d
+
+FontName currentdict end definefont pop
+end
+%%EndProlog
+mpldict begin
+-18 198 translate
+648 396 0 0 clipbox
+gsave
+0 0 m
+648 0 l
+648 396 l
+0 396 l
+cl
+1.000 setgray
+fill
+grestore
+gsave
+81 49.5 m
+583.2 49.5 l
+583.2 348.48 l
+81 348.48 l
+cl
+1.000 setgray
+fill
+grestore
+0.800 setlinewidth
+1 setlinejoin
+0 setlinecap
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.8 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -3.5 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+203.286 49.5 o
+grestore
+gsave
+194.286318 33.578125 translate
+0.000000 rotate
+/DejaVuSans findfont
+10.0 scalefont
+setfont
+0.000000 0.976562 moveto
+/one glyphshow
+
+6.362305 0.976562 moveto
+/zero glyphshow
+
+/DejaVuSans findfont
+7.0 scalefont
+setfont
+12.820312 4.804688 moveto
+/two glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0.8 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -3.5 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+385.384 49.5 o
+grestore
+gsave
+376.383992 33.578125 translate
+0.000000 rotate
+/DejaVuSans findfont
+10.0 scalefont
+setfont
+0.000000 0.976562 moveto
+/one glyphshow
+
+6.362305 0.976562 moveto
+/zero glyphshow
+
+/DejaVuSans findfont
+7.0 scalefont
+setfont
+12.820312 4.804688 moveto
+/three glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0.8 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -3.5 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+567.482 49.5 o
+grestore
+gsave
+558.481666 34.578125 translate
+0.000000 rotate
+/DejaVuSans findfont
+10.0 scalefont
+setfont
+0.000000 0.064063 moveto
+/one glyphshow
+
+6.362305 0.064063 moveto
+/zero glyphshow
+
+/DejaVuSans findfont
+7.0 scalefont
+setfont
+12.820312 3.892188 moveto
+/four glyphshow
+
+
+grestore
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+108.071315 49.5 m
+108.071315 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+108.071 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+130.822368 49.5 m
+130.822368 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+130.822 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+148.469456 49.5 m
+148.469456 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+148.469 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+162.888177 49.5 m
+162.888177 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+162.888 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+175.079031 49.5 m
+175.079031 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+175.079 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+185.63923 49.5 m
+185.63923 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+185.639 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+194.953985 49.5 m
+194.953985 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+194.954 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+258.10318 49.5 m
+258.10318 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+258.103 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+290.168988 49.5 m
+290.168988 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+290.169 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+312.920042 49.5 m
+312.920042 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+312.92 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+330.56713 49.5 m
+330.56713 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+330.567 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+344.98585 49.5 m
+344.98585 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+344.986 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+357.176705 49.5 m
+357.176705 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+357.177 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+367.736904 49.5 m
+367.736904 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+367.737 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+377.051659 49.5 m
+377.051659 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+377.052 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+440.200854 49.5 m
+440.200854 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+440.201 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+472.266662 49.5 m
+472.266662 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+472.267 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+495.017716 49.5 m
+495.017716 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+495.018 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+512.664804 49.5 m
+512.664804 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+512.665 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+527.083524 49.5 m
+527.083524 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+527.084 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+539.274379 49.5 m
+539.274379 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+539.274 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+549.834578 49.5 m
+549.834578 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+549.835 49.5 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+559.149333 49.5 m
+559.149333 348.48 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+0 -2 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+559.149 49.5 o
+grestore
+/DejaVuSans findfont
+10.000 scalefont
+setfont
+gsave
+284.771875 19.906250 translate
+0.000000 rotate
+0.000000 0.000000 m /P glyphshow
+6.030273 0.000000 m /P glyphshow
+12.060547 0.000000 m /M glyphshow
+20.688477 0.000000 m /space glyphshow
+23.867188 0.000000 m /C glyphshow
+30.849609 0.000000 m /o glyphshow
+36.967773 0.000000 m /n glyphshow
+43.305664 0.000000 m /c glyphshow
+48.803711 0.000000 m /e glyphshow
+54.956055 0.000000 m /n glyphshow
+61.293945 0.000000 m /t glyphshow
+65.214844 0.000000 m /r glyphshow
+69.326172 0.000000 m /a glyphshow
+75.454102 0.000000 m /t glyphshow
+79.375000 0.000000 m /i glyphshow
+82.153320 0.000000 m /o glyphshow
+88.271484 0.000000 m /n glyphshow
+grestore
+0.800 setlinewidth
+gsave
+/o {
+gsave
+newpath
+translate
+0.8 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-3.5 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 114.45 o
+grestore
+gsave
+50.000000 110.489319 translate
+0.000000 rotate
+/DejaVuSans findfont
+10.0 scalefont
+setfont
+0.000000 0.064063 moveto
+/one glyphshow
+
+6.362305 0.064063 moveto
+/zero glyphshow
+
+/DejaVuSans findfont
+7.0 scalefont
+setfont
+12.820312 3.892188 moveto
+/minus glyphshow
+
+18.685547 3.892188 moveto
+/one glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0.8 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-3.5 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 187.93 o
+grestore
+gsave
+56.000000 183.469233 translate
+0.000000 rotate
+/DejaVuSans findfont
+10.0 scalefont
+setfont
+0.000000 0.976562 moveto
+/one glyphshow
+
+6.362305 0.976562 moveto
+/zero glyphshow
+
+/DejaVuSans findfont
+7.0 scalefont
+setfont
+12.820312 4.804688 moveto
+/zero glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0.8 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-3.5 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 261.41 o
+grestore
+gsave
+56.000000 257.449148 translate
+0.000000 rotate
+/DejaVuSans findfont
+10.0 scalefont
+setfont
+0.000000 0.064063 moveto
+/one glyphshow
+
+6.362305 0.064063 moveto
+/zero glyphshow
+
+/DejaVuSans findfont
+7.0 scalefont
+setfont
+12.820312 3.892188 moveto
+/one glyphshow
+
+
+grestore
+gsave
+/o {
+gsave
+newpath
+translate
+0.8 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-3.5 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 334.89 o
+grestore
+gsave
+56.000000 330.429062 translate
+0.000000 rotate
+/DejaVuSans findfont
+10.0 scalefont
+setfont
+0.000000 0.976562 moveto
+/one glyphshow
+
+6.362305 0.976562 moveto
+/zero glyphshow
+
+/DejaVuSans findfont
+7.0 scalefont
+setfont
+12.820312 4.804688 moveto
+/two glyphshow
+
+
+grestore
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 63.09 m
+583.2 63.09 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 63.09 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 76.029171 m
+583.2 76.029171 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 76.0292 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 85.209658 m
+583.2 85.209658 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 85.2097 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 92.330598 m
+583.2 92.330598 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 92.3306 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 98.148829 m
+583.2 98.148829 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 98.1488 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 103.068073 m
+583.2 103.068073 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 103.068 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 107.329317 m
+583.2 107.329317 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 107.329 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 111.088 m
+583.2 111.088 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 111.088 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 136.569915 m
+583.2 136.569915 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 136.57 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 149.509085 m
+583.2 149.509085 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 149.509 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 158.689573 m
+583.2 158.689573 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 158.69 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 165.810512 m
+583.2 165.810512 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 165.811 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 171.628744 m
+583.2 171.628744 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 171.629 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 176.547988 m
+583.2 176.547988 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 176.548 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 180.809231 m
+583.2 180.809231 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 180.809 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 184.567914 m
+583.2 184.567914 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 184.568 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 210.049829 m
+583.2 210.049829 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 210.05 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 222.989 m
+583.2 222.989 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 222.989 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 232.169488 m
+583.2 232.169488 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 232.169 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 239.290427 m
+583.2 239.290427 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 239.29 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 245.108658 m
+583.2 245.108658 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 245.109 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 250.027903 m
+583.2 250.027903 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 250.028 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 254.289146 m
+583.2 254.289146 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 254.289 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 258.047829 m
+583.2 258.047829 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 258.048 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 283.529744 m
+583.2 283.529744 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 283.53 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 296.468914 m
+583.2 296.468914 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 296.469 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 305.649402 m
+583.2 305.649402 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 305.649 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 312.770342 m
+583.2 312.770342 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 312.77 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 318.588573 m
+583.2 318.588573 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 318.589 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 323.507817 m
+583.2 323.507817 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 323.508 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 327.769061 m
+583.2 327.769061 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 327.769 o
+grestore
+0.800 setlinewidth
+[2.96 1.28] 0 setdash
+0.827 setgray
+gsave
+502.2 299 81 49.5 clipbox
+81 331.527744 m
+583.2 331.527744 l
+stroke
+grestore
+0.600 setlinewidth
+[] 0 setdash
+0.000 setgray
+gsave
+/o {
+gsave
+newpath
+translate
+0.6 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 0 m
+-2 0 l
+
+gsave
+0.000 setgray
+fill
+grestore
+stroke
+grestore
+} bind def
+81 331.528 o
+grestore
+gsave
+43.921875 184.677500 translate
+90.000000 rotate
+0.000000 0.000000 m /R glyphshow
+6.948242 0.000000 m /s glyphshow
+12.158203 0.000000 m /slash glyphshow
+15.527344 0.000000 m /R glyphshow
+22.475586 0.000000 m /o glyphshow
+grestore
+1.000 setlinewidth
+2 setlinecap
+0.122 0.467 0.706 setrgbcolor
+gsave
+502.2 299 81 49.5 clipbox
+476.130148 63.09 m
+474.981647 76.029171 l
+473.816221 85.209658 l
+472.633363 92.330598 l
+471.432544 98.148829 l
+470.213211 103.068073 l
+468.974783 107.329317 l
+467.716652 111.088 l
+466.438182 114.450256 l
+452.369174 136.569915 l
+435.243773 149.509085 l
+413.354621 158.689573 l
+382.984938 165.810512 l
+333.048536 171.628744 l
+165.167284 176.547988 l
+-1 176.55187 l
+stroke
+grestore
+0 setlinecap
+gsave
+502.2 299 81 49.5 clipbox
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+0.122 0.467 0.706 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+476.13 63.09 o
+474.982 76.0292 o
+473.816 85.2097 o
+472.633 92.3306 o
+471.433 98.1488 o
+470.213 103.068 o
+468.975 107.329 o
+467.717 111.088 o
+466.438 114.45 o
+452.369 136.57 o
+435.244 149.509 o
+413.355 158.69 o
+382.985 165.811 o
+333.049 171.629 o
+165.167 176.548 o
+-1 176.552 o
+grestore
+2 setlinecap
+1.000 0.498 0.055 setrgbcolor
+gsave
+502.2 299 81 49.5 clipbox
+560.372727 63.09 m
+560.270694 76.029171 l
+560.16853 85.209658 l
+560.066233 92.330598 l
+559.963803 98.148829 l
+559.861241 103.068073 l
+559.758546 107.329317 l
+559.655717 111.088 l
+559.552754 114.450256 l
+558.515686 136.569915 l
+557.464837 149.509085 l
+556.399836 158.689573 l
+555.320297 165.810512 l
+554.225818 171.628744 l
+553.115979 176.547988 l
+551.990343 180.809231 l
+550.848453 184.567914 l
+549.689834 187.930171 l
+537.06172 210.049829 l
+522.026744 222.989 l
+503.446176 232.169488 l
+479.11441 239.290427 l
+443.789114 245.108658 l
+378.300809 250.027903 l
+-1 250.036752 l
+stroke
+grestore
+0 setlinecap
+gsave
+502.2 299 81 49.5 clipbox
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+1.000 0.498 0.055 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+560.373 63.09 o
+560.271 76.0292 o
+560.169 85.2097 o
+560.066 92.3306 o
+559.964 98.1488 o
+559.861 103.068 o
+559.759 107.329 o
+559.656 111.088 o
+559.553 114.45 o
+558.516 136.57 o
+557.465 149.509 o
+556.4 158.69 o
+555.32 165.811 o
+554.226 171.629 o
+553.116 176.548 o
+551.99 180.809 o
+550.848 184.568 o
+549.69 187.93 o
+537.062 210.05 o
+522.027 222.989 o
+503.446 232.169 o
+479.114 239.29 o
+443.789 245.109 o
+378.301 250.028 o
+-1 250.037 o
+grestore
+2 setlinecap
+0.173 0.627 0.173 setrgbcolor
+gsave
+502.2 299 81 49.5 clipbox
+541.771862 63.09 m
+541.732545 76.029171 l
+541.693208 85.209658 l
+541.653852 92.330598 l
+541.614476 98.148829 l
+541.57508 103.068073 l
+541.535665 107.329317 l
+541.49623 111.088 l
+541.456775 114.450256 l
+541.061142 136.569915 l
+540.66352 149.509085 l
+540.263889 158.689573 l
+539.862228 165.810512 l
+539.458517 171.628744 l
+539.052734 176.547988 l
+538.644859 180.809231 l
+538.234869 184.567914 l
+537.822742 187.930171 l
+533.578858 210.049829 l
+529.094256 222.989 l
+524.339977 232.169488 l
+519.281502 239.290427 l
+513.877225 245.108658 l
+508.076377 250.027903 l
+501.816113 254.289146 l
+495.017356 258.047829 l
+487.578674 261.410085 l
+148.498208 283.529744 l
+-1 283.540349 l
+stroke
+grestore
+0 setlinecap
+gsave
+502.2 299 81 49.5 clipbox
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+0.173 0.627 0.173 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+541.772 63.09 o
+541.733 76.0292 o
+541.693 85.2097 o
+541.654 92.3306 o
+541.614 98.1488 o
+541.575 103.068 o
+541.536 107.329 o
+541.496 111.088 o
+541.457 114.45 o
+541.061 136.57 o
+540.664 149.509 o
+540.264 158.69 o
+539.862 165.811 o
+539.459 171.629 o
+539.053 176.548 o
+538.645 180.809 o
+538.235 184.568 o
+537.823 187.93 o
+533.579 210.05 o
+529.094 222.989 o
+524.34 232.169 o
+519.282 239.29 o
+513.877 245.109 o
+508.076 250.028 o
+501.816 254.289 o
+495.017 258.048 o
+487.579 261.41 o
+148.498 283.53 o
+-1 283.54 o
+grestore
+2 setlinecap
+0.839 0.153 0.157 setrgbcolor
+gsave
+502.2 299 81 49.5 clipbox
+458.221993 63.09 m
+457.328455 76.029171 l
+456.424705 85.209658 l
+455.510508 92.330598 l
+454.58562 98.148829 l
+453.649787 103.068073 l
+452.702746 107.329317 l
+451.744228 111.088 l
+450.773949 114.450256 l
+440.354137 136.569915 l
+428.350079 149.509085 l
+414.192133 158.689573 l
+396.934603 165.810512 l
+374.828579 171.628744 l
+344.037256 176.547988 l
+292.925065 180.809231 l
+103.827273 184.567914 l
+-1 184.569847 l
+stroke
+grestore
+0 setlinecap
+gsave
+502.2 299 81 49.5 clipbox
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+0.839 0.153 0.157 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+458.222 63.09 o
+457.328 76.0292 o
+456.425 85.2097 o
+455.511 92.3306 o
+454.586 98.1488 o
+453.65 103.068 o
+452.703 107.329 o
+451.744 111.088 o
+450.774 114.45 o
+440.354 136.57 o
+428.35 149.509 o
+414.192 158.69 o
+396.935 165.811 o
+374.829 171.629 o
+344.037 176.548 o
+292.925 180.809 o
+103.827 184.568 o
+-1 184.57 o
+grestore
+2 setlinecap
+0.580 0.404 0.741 setrgbcolor
+gsave
+502.2 299 81 49.5 clipbox
+549.259529 63.09 m
+549.220187 76.029171 l
+549.180825 85.209658 l
+549.141444 92.330598 l
+549.102043 98.148829 l
+549.062623 103.068073 l
+549.023182 107.329317 l
+548.983723 111.088 l
+548.944243 114.450256 l
+548.54836 136.569915 l
+548.150485 149.509085 l
+547.750598 158.689573 l
+547.348678 165.810512 l
+546.944706 171.628744 l
+546.538659 176.547988 l
+546.130517 180.809231 l
+545.720258 184.567914 l
+545.307859 187.930171 l
+541.06109 210.049829 l
+536.573266 222.989 l
+531.815366 232.169488 l
+526.75279 239.290427 l
+521.343832 245.108658 l
+515.53759 250.027903 l
+509.271044 254.289146 l
+502.464876 258.047829 l
+495.01732 261.410085 l
+148.501083 283.529744 l
+-1 283.540349 l
+stroke
+grestore
+0 setlinecap
+gsave
+502.2 299 81 49.5 clipbox
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+0.580 0.404 0.741 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+549.26 63.09 o
+549.22 76.0292 o
+549.181 85.2097 o
+549.141 92.3306 o
+549.102 98.1488 o
+549.063 103.068 o
+549.023 107.329 o
+548.984 111.088 o
+548.944 114.45 o
+548.548 136.57 o
+548.15 149.509 o
+547.751 158.69 o
+547.349 165.811 o
+546.945 171.629 o
+546.539 176.548 o
+546.131 180.809 o
+545.72 184.568 o
+545.308 187.93 o
+541.061 210.05 o
+536.573 222.989 o
+531.815 232.169 o
+526.753 239.29 o
+521.344 245.109 o
+515.538 250.028 o
+509.271 254.289 o
+502.465 258.048 o
+495.017 261.41 o
+148.501 283.53 o
+-1 283.54 o
+grestore
+0.800 setlinewidth
+0 setlinejoin
+2 setlinecap
+[] 0 setdash
+0.000 setgray
+gsave
+81 49.5 m
+81 348.48 l
+stroke
+grestore
+gsave
+583.2 49.5 m
+583.2 348.48 l
+stroke
+grestore
+gsave
+81 49.5 m
+583.2 49.5 l
+stroke
+grestore
+gsave
+81 348.48 m
+583.2 348.48 l
+stroke
+grestore
+1.000 setlinewidth
+0 setlinecap
+0.800 setgray
+gsave
+507.7 267.120625 m
+576.2 267.120625 l
+577.533333 267.120625 578.2 267.787292 578.2 269.120625 c
+578.2 341.48 l
+578.2 342.813333 577.533333 343.48 576.2 343.48 c
+507.7 343.48 l
+506.366667 343.48 505.7 342.813333 505.7 341.48 c
+505.7 269.120625 l
+505.7 267.787292 506.366667 267.120625 507.7 267.120625 c
+cl
+gsave
+1.000 setgray
+fill
+grestore
+stroke
+grestore
+1 setlinejoin
+2 setlinecap
+[] 0 setdash
+0.122 0.467 0.706 setrgbcolor
+gsave
+509.7 335.38625 m
+529.7 335.38625 l
+stroke
+grestore
+0 setlinecap
+gsave
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+0.122 0.467 0.706 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+519.7 335.386 o
+grestore
+0.000 setgray
+gsave
+537.700000 331.886250 translate
+0.000000 rotate
+0.000000 0.000000 m /H glyphshow
+7.519531 0.000000 m /two glyphshow
+grestore
+2 setlinecap
+1.000 0.498 0.055 setrgbcolor
+gsave
+509.7 320.714375 m
+529.7 320.714375 l
+stroke
+grestore
+0 setlinecap
+gsave
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+1.000 0.498 0.055 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+519.7 320.714 o
+grestore
+0.000 setgray
+gsave
+537.700000 317.214375 translate
+0.000000 rotate
+0.000000 0.000000 m /L glyphshow
+5.571289 0.000000 m /P glyphshow
+11.601562 0.000000 m /G glyphshow
+grestore
+2 setlinecap
+0.173 0.627 0.173 setrgbcolor
+gsave
+509.7 306.0425 m
+529.7 306.0425 l
+stroke
+grestore
+0 setlinecap
+gsave
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+0.173 0.627 0.173 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+519.7 306.043 o
+grestore
+0.000 setgray
+gsave
+537.700000 302.542500 translate
+0.000000 rotate
+0.000000 0.000000 m /C glyphshow
+6.982422 0.000000 m /H glyphshow
+14.501953 0.000000 m /four glyphshow
+grestore
+2 setlinecap
+0.839 0.153 0.157 setrgbcolor
+gsave
+509.7 291.370625 m
+529.7 291.370625 l
+stroke
+grestore
+0 setlinecap
+gsave
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+0.839 0.153 0.157 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+519.7 291.371 o
+grestore
+0.000 setgray
+gsave
+537.700000 287.870625 translate
+0.000000 rotate
+0.000000 0.000000 m /C glyphshow
+6.982422 0.000000 m /O glyphshow
+grestore
+2 setlinecap
+0.580 0.404 0.741 setrgbcolor
+gsave
+509.7 276.69875 m
+529.7 276.69875 l
+stroke
+grestore
+0 setlinecap
+gsave
+/o {
+gsave
+newpath
+translate
+1.0 setlinewidth
+1 setlinejoin
+0 setlinecap
+0 -3 m
+0.795609 -3 1.55874 -2.683901 2.12132 -2.12132 c
+2.683901 -1.55874 3 -0.795609 3 0 c
+3 0.795609 2.683901 1.55874 2.12132 2.12132 c
+1.55874 2.683901 0.795609 3 0 3 c
+-0.795609 3 -1.55874 2.683901 -2.12132 2.12132 c
+-2.683901 1.55874 -3 0.795609 -3 0 c
+-3 -0.795609 -2.683901 -1.55874 -2.12132 -2.12132 c
+-1.55874 -2.683901 -0.795609 -3 0 -3 c
+cl
+
+gsave
+0.580 0.404 0.741 setrgbcolor
+fill
+grestore
+stroke
+grestore
+} bind def
+519.7 276.699 o
+grestore
+0.000 setgray
+gsave
+537.700000 273.198750 translate
+0.000000 rotate
+0.000000 0.000000 m /A glyphshow
+6.840820 0.000000 m /l glyphshow
+9.619141 0.000000 m /c glyphshow
+15.117188 0.000000 m /o glyphshow
+21.235352 0.000000 m /h glyphshow
+27.573242 0.000000 m /o glyphshow
+33.691406 0.000000 m /l glyphshow
+grestore
+/DejaVuSans findfont
+12.000 scalefont
+setfont
+gsave
+234.562500 378.955000 translate
+0.000000 rotate
+0.000000 0.000000 m /C glyphshow
+8.378906 0.000000 m /a glyphshow
+15.732422 0.000000 m /l glyphshow
+19.066406 0.000000 m /i glyphshow
+22.400391 0.000000 m /b glyphshow
+30.017578 0.000000 m /r glyphshow
+34.951172 0.000000 m /a glyphshow
+42.304688 0.000000 m /t glyphshow
+47.009766 0.000000 m /i glyphshow
+50.343750 0.000000 m /o glyphshow
+57.685547 0.000000 m /n glyphshow
+65.291016 0.000000 m /space glyphshow
+69.105469 0.000000 m /p glyphshow
+76.722656 0.000000 m /l glyphshow
+80.056641 0.000000 m /o glyphshow
+87.398438 0.000000 m /t glyphshow
+92.103516 0.000000 m /space glyphshow
+95.917969 0.000000 m /f glyphshow
+100.142578 0.000000 m /o glyphshow
+107.484375 0.000000 m /r glyphshow
+112.417969 0.000000 m /space glyphshow
+116.232422 0.000000 m /M glyphshow
+126.585938 0.000000 m /Q glyphshow
+136.031250 0.000000 m /hyphen glyphshow
+140.361328 0.000000 m /six glyphshow
+147.996094 0.000000 m /space glyphshow
+151.810547 0.000000 m /d glyphshow
+159.427734 0.000000 m /a glyphshow
+166.781250 0.000000 m /t glyphshow
+171.486328 0.000000 m /a glyphshow
+grestore
+
+end
+showpage
diff --git a/Experiments/MQ7.png b/Experiments/MQ7.png
new file mode 100644
index 0000000..3d10bd7
Binary files /dev/null and b/Experiments/MQ7.png differ
diff --git a/Experiments/MQ7.svg b/Experiments/MQ7.svg
new file mode 100644
index 0000000..6d79eb7
--- /dev/null
+++ b/Experiments/MQ7.svg
@@ -0,0 +1,2029 @@
+
+
+
+
diff --git a/Experiments/MQ7_Regression.ipynb b/Experiments/MQ7_Regression.ipynb
new file mode 100644
index 0000000..814fe1a
--- /dev/null
+++ b/Experiments/MQ7_Regression.ipynb
@@ -0,0 +1,2395 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: pandas in c:\\programdata\\anaconda3\\lib\\site-packages (0.24.2)\n",
+ "Requirement already satisfied: pytz>=2011k in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2018.9)\n",
+ "Requirement already satisfied: python-dateutil>=2.5.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (2.8.0)\n",
+ "Requirement already satisfied: numpy>=1.12.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from pandas) (1.16.2)\n",
+ "Requirement already satisfied: six>=1.5 in c:\\programdata\\anaconda3\\lib\\site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n",
+ "Requirement already satisfied: xlrd in c:\\programdata\\anaconda3\\lib\\site-packages (1.2.0)\n",
+ "Requirement already satisfied: sklearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n",
+ "Requirement already satisfied: scikit-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from sklearn) (0.21.2)\n",
+ "Requirement already satisfied: scipy>=0.17.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.2.1)\n",
+ "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (0.13.2)\n",
+ "Requirement already satisfied: numpy>=1.11.0 in c:\\programdata\\anaconda3\\lib\\site-packages (from scikit-learn->sklearn) (1.16.2)\n",
+ "Requirement already satisfied: imblearn in c:\\programdata\\anaconda3\\lib\\site-packages (0.0)\n",
+ "Requirement already satisfied: imbalanced-learn in c:\\programdata\\anaconda3\\lib\\site-packages (from imblearn) (0.5.0)\n",
+ "Requirement already satisfied: joblib>=0.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.13.2)\n",
+ "Requirement already satisfied: scipy>=0.17 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.2.1)\n",
+ "Requirement already satisfied: numpy>=1.11 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (1.16.2)\n",
+ "Requirement already satisfied: scikit-learn>=0.21 in c:\\programdata\\anaconda3\\lib\\site-packages (from imbalanced-learn->imblearn) (0.21.2)\n"
+ ]
+ }
+ ],
+ "source": [
+ "!pip install pandas\n",
+ "!pip install xlrd\n",
+ "!pip install sklearn\n",
+ "!pip install imblearn"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import xlrd\n",
+ "book = xlrd.open_workbook(\"Datasheets info.xlsx\")\n",
+ "sheetMQ2 = book.sheet_by_name(\"MQ2 - Pololulu\")\n",
+ "sheetMQ3 = book.sheet_by_name(\"MQ3 - Sparkfun\")\n",
+ "sheetMQ4 = book.sheet_by_name(\"MQ4 - Sparkfun\")\n",
+ "sheetMQ5 = book.sheet_by_name(\"MQ5 - Sparkfun\")\n",
+ "sheetMQ6 = book.sheet_by_name(\"MQ6 - Sparkfun\")\n",
+ "sheetMQ7 = book.sheet_by_name(\"MQ7 - Sparkfun\")\n",
+ "sheetMQ8 = book.sheet_by_name(\"MQ8 - Sparkfun\")\n",
+ "sheetMQ9 = book.sheet_by_name(\"MQ9 - Haoyuelectronics\")\n",
+ "sheetMQ131 = book.sheet_by_name(\"MQ131- Sensorsportal\")\n",
+ "sheetMQ135 = book.sheet_by_name(\"MQ135 - HANWEI\")\n",
+ "sheetMQ303A = book.sheet_by_name(\"MQ303A - HANWEI\")\n",
+ "sheetMQ309A = book.sheet_by_name(\"MQ309A - HANWEI\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "0.01 \t \t \t \t \t \n",
+ "0.02 \t \t \t \t \t \n",
+ "0.03 \t \t \t \t \t \n",
+ "0.04 \t \t \t \t \t \n",
+ "0.05 \t \t 4000.0 \t \t \t \n",
+ "0.06 \t \t \t \t \t \n",
+ "0.07 \t \t \t \t \t \n",
+ "0.08 \t \t \t \t \t \n",
+ "0.09 \t \t \t \t 3000.0 \t \n",
+ "0.1 \t \t \t \t \t \n",
+ "0.2 \t \t \t \t \t \n",
+ "0.3 \t \t 400.0 \t \t \t \n",
+ "0.4 \t \t \t \t 400.0 \t \n",
+ "0.5 \t \t \t \t \t \n",
+ "0.6 \t \t \t \t \t \n",
+ "0.7 \t \t \t \t \t \n",
+ "0.8 \t \t 100.0 \t \t \t \n",
+ "0.9 \t \t \t \t \t \n",
+ "1.0 \t \t \t \t 100.0 \t \n"
+ ]
+ }
+ ],
+ "source": [
+ "for row_index in range(1,20): #reading first columns\n",
+ " RsR0, CO, H2, LPG, CH4, Alcohol = sheetMQ7.row_values(row_index, start_colx=0, end_colx=6)\n",
+ " print(RsR0, \"\t\", LPG, \"\t\", H2, \"\t\", CH4, \"\t\", CO, \"\t\", Alcohol)\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "x_MQ7 = sheetMQ7.col_values(0)[2:]\n",
+ "MQ7_CO = sheetMQ7.col_values(1)[2:]\n",
+ "MQ7_H2 = sheetMQ7.col_values(2)[2:]\n",
+ "MQ7_LPG = sheetMQ7.col_values(3)[2:]\n",
+ "MQ7_CH4 = sheetMQ7.col_values(4)[2:]\n",
+ "MQ7_Alcohol = sheetMQ7.col_values(5)[2:]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def zero_to_nan(values):\n",
+ " \"\"\"Replace every 0 with 'nan' and return a copy.\"\"\"\n",
+ " return [float('nan') if x==0 else x for x in values]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "MQ7_H2 =zero_to_nan(MQ7_H2)\n",
+ "MQ7_LPG =zero_to_nan(MQ7_LPG)\n",
+ "MQ7_CH4 =zero_to_nan(MQ7_CH4)\n",
+ "MQ7_CO =zero_to_nan(MQ7_CO)\n",
+ "MQ7_Alcohol =zero_to_nan(MQ7_Alcohol)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "from sklearn.datasets import load_iris\n",
+ "#from sklearn.cross_validation import train_test_split\n",
+ "from sklearn.tree import DecisionTreeClassifier\n",
+ "from sklearn import datasets\n",
+ "from sklearn import linear_model\n",
+ "\n",
+ "dataH2 = {'RsRo': x_MQ7, 'H2': MQ7_H2}\n",
+ "dataLPG = {'RsRo': x_MQ7, 'LPG': MQ7_LPG}\n",
+ "dataCH4 = {'RsRo': x_MQ7, 'CH4': MQ7_CH4}\n",
+ "dataCO = {'RsRo': x_MQ7, 'CO': MQ7_CO}\n",
+ "dataALcohol = {'RsRo': x_MQ7, 'Alcohol': MQ7_Alcohol}\n",
+ "\n",
+ "dfMQ7_H2 = pd.DataFrame(dataH2)\n",
+ "dfMQ7_LPG = pd.DataFrame(dataLPG)\n",
+ "dfMQ7_CH4 = pd.DataFrame(dataCH4)\n",
+ "dfMQ7_CO = pd.DataFrame(dataCO)\n",
+ "dfMQ7_Alcohol = pd.DataFrame(dataALcohol)\n",
+ "\n",
+ "dfMQ7_H2['H2'] = pd.to_numeric(dfMQ7_H2['H2'])\n",
+ "dfMQ7_LPG['LPG'] = pd.to_numeric(dfMQ7_LPG['LPG'])\n",
+ "dfMQ7_CH4['CH4'] = pd.to_numeric(dfMQ7_CH4['CH4'])\n",
+ "dfMQ7_CO['CO'] = pd.to_numeric(dfMQ7_CO['CO'])\n",
+ "dfMQ7_Alcohol['Alcohol'] = pd.to_numeric(dfMQ7_Alcohol['Alcohol'])\n",
+ "\n",
+ "dfMQ7_H2['H2'] = dfMQ7_H2['H2'].replace('',None, regex=True)\n",
+ "dfMQ7_LPG['LPG'] = dfMQ7_LPG['LPG'].replace('',None, regex=True)\n",
+ "dfMQ7_CH4['CH4'] = dfMQ7_CH4['CH4'].replace('',None, regex=True)\n",
+ "dfMQ7_CO['CO'] = dfMQ7_CO['CO'].replace('',None, regex=True)\n",
+ "dfMQ7_Alcohol['Alcohol'] = dfMQ7_Alcohol['Alcohol'].replace('',None, regex=True)\n",
+ "\n",
+ "#Global X_Predict variable\n",
+ "X_Predict = dfMQ7_LPG.RsRo.apply(lambda x: [x]).tolist()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train H2\n",
+ "dataset2TrainH2 = dfMQ7_H2.copy()\n",
+ "dataset2TrainH2.dropna(inplace=True)\n",
+ "X_trainH2 = dataset2TrainH2.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainH2 = dataset2TrainH2['H2'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainH2, y_trainH2)\n",
+ "#Predict\n",
+ "H2_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_H2 = H2_Predicted\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train LPG\n",
+ "dataset2TrainLPG = dfMQ7_LPG.copy()\n",
+ "dataset2TrainLPG.dropna(inplace=True)\n",
+ "X_trainLPG = dataset2TrainLPG.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainLPG = dataset2TrainLPG['LPG'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainLPG, y_trainLPG)\n",
+ "#Predict\n",
+ "LPG_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_LPG = LPG_Predicted"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train CH4\n",
+ "dataset2TrainCH4 = dfMQ7_CH4.copy()\n",
+ "dataset2TrainCH4.dropna(inplace=True)\n",
+ "X_trainCH4 = dataset2TrainCH4.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainCH4 = dataset2TrainCH4['CH4'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainCH4, y_trainCH4)\n",
+ "#Predict\n",
+ "CH4_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_CH4 = CH4_Predicted"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train CO\n",
+ "dataset2TrainCO = dfMQ7_CO.copy()\n",
+ "dataset2TrainCO.dropna(inplace=True)\n",
+ "X_trainCO = dataset2TrainCO.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainCO = dataset2TrainCO['CO'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainCO, y_trainCO)\n",
+ "#Predict\n",
+ "CO_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_CO = CO_Predicted"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Model and train Alcohol\n",
+ "dataset2TrainAlcohol = dfMQ7_Alcohol.copy()\n",
+ "dataset2TrainAlcohol.dropna(inplace=True)\n",
+ "X_trainAlcohol = dataset2TrainAlcohol.RsRo.apply(lambda x: [x]).tolist()\n",
+ "y_trainAlcohol = dataset2TrainAlcohol['Alcohol'].tolist()\n",
+ "model = linear_model.Lasso(alpha=0.1)\n",
+ "model.fit(X_trainAlcohol, y_trainAlcohol)\n",
+ "#Predict\n",
+ "Alcohol_Predicted = model.predict(X_Predict)\n",
+ "#save into MQ2\n",
+ "MQ7_Alcohol = Alcohol_Predicted"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ "\r\n",
+ "\r\n",
+ "\r\n",
+ "\r\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%config InlineBackend.figure_formats = ['svg']\n",
+ "%matplotlib inline\n",
+ "import matplotlib.pyplot as plt\n",
+ "import matplotlib.lines as mlines\n",
+ "import matplotlib.transforms as mtransforms\n",
+ "\n",
+ "fig, ax = plt.subplots()\n",
+ "\n",
+ "fig.set_size_inches(9, 5.5, forward=True)\n",
+ "fig.set_dpi(200)\n",
+ "\n",
+ "# only these two lines are calibration curves\n",
+ "plt.plot(MQ7_H2, x_MQ7, marker='o', linewidth=1, label='H2')\n",
+ "plt.plot(MQ7_LPG, x_MQ7, marker='o', linewidth=1, label='LPG')\n",
+ "plt.plot(MQ7_CH4, x_MQ7, marker='o', linewidth=1, label='CH4')\n",
+ "plt.plot(MQ7_CO, x_MQ7, marker='o', linewidth=1, label='CO')\n",
+ "plt.plot(MQ7_Alcohol, x_MQ7, marker='o', linewidth=1, label='Alcohol')\n",
+ "\n",
+ "\n",
+ "# reference line, legends, and axis labels\n",
+ "#line = mlines.Line2D([0, 1], [0, 1], color='black')\n",
+ "#transform = ax.transAxes\n",
+ "#line.set_transform(transform)\n",
+ "#ax.add_line(line)\n",
+ "plt.yscale('log')\n",
+ "plt.xscale('log')\n",
+ "plt.legend()\n",
+ "\n",
+ "plt.grid(b=True, which='minor', color='lightgrey', linestyle='--')\n",
+ "\n",
+ "fig.suptitle('Calibration plot for MQ-6 data')\n",
+ "ax.set_xlabel('PPM Concentration')\n",
+ "ax.set_ylabel('Rs/Ro')\n",
+ "\n",
+ "\n",
+ "#Save image\n",
+ "plt.savefig('MQ7.svg', format = 'svg', dpi = 1200)\n",
+ "plt.savefig('MQ7.png')\n",
+ "plt.savefig('MQ7.eps', format = 'eps', dpi = 1200)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "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.7.3"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}