File size: 29,343 Bytes
fe7f032
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "Importing all the essential stuff"
      ],
      "metadata": {
        "id": "GY0lAyEVygnv"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "OT7h2znxcoLp"
      },
      "outputs": [],
      "source": [
        "import pandas as pd\n",
        "from sklearn.model_selection import train_test_split\n",
        "from sklearn.linear_model import LogisticRegression\n",
        "from sklearn.metrics import accuracy_score\n",
        "\n",
        "import matplotlib.pyplot as plt\n",
        "import seaborn as sns\n",
        "from sklearn.metrics import confusion_matrix\n",
        "from sklearn.metrics import classification_report"
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Reading and acquiring the dataset"
      ],
      "metadata": {
        "id": "9o1rKoKHymIw"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "data=pd.read_csv('HeartDisease.csv')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "8V_mP798d15d",
        "outputId": "aeebfaf6-d62b-4bc0-eaa6-bd55fdc6333c",
        "collapsed": true
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "      male  age  currentSmoker  cigsPerDay  BPMeds  prevalentStroke  \\\n",
            "0        1   39              0           0       0                0   \n",
            "1        0   46              0           0       0                0   \n",
            "2        1   48              1          20       0                0   \n",
            "3        0   61              1          30       0                0   \n",
            "4        0   46              1          23       0                0   \n",
            "...    ...  ...            ...         ...     ...              ...   \n",
            "4132     1   68              0           0       0                0   \n",
            "4133     1   50              1           1       0                0   \n",
            "4134     1   51              1          43       0                0   \n",
            "4135     0   44              1          15       0                0   \n",
            "4136     0   52              0           0       0                0   \n",
            "\n",
            "      prevalentHyp  diabetes    BMI  TenYearCHD  \n",
            "0                0         0  26.97           0  \n",
            "1                0         0  28.73           0  \n",
            "2                0         0  25.34           0  \n",
            "3                1         0  28.58           1  \n",
            "4                0         0  23.10           0  \n",
            "...            ...       ...    ...         ...  \n",
            "4132             1         0  23.14           1  \n",
            "4133             1         0  25.97           1  \n",
            "4134             0         0  19.71           0  \n",
            "4135             0         0  19.16           0  \n",
            "4136             0         0  21.47           0  \n",
            "\n",
            "[4137 rows x 10 columns]\n",
            "[]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Getting pandas to understand the data"
      ],
      "metadata": {
        "id": "fFJpTqnZy54q"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "df = pd.DataFrame(data)"
      ],
      "metadata": {
        "id": "_uL_UiU9eSqS"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Determining the Predicting column"
      ],
      "metadata": {
        "id": "9L7gSh_6zrP1"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X=df.drop('TenYearCHD',axis=1)\n",
        "y=df['TenYearCHD']"
      ],
      "metadata": {
        "id": "2tt1BYjEed0h"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Spliting the dataset into Training and Testing datasets"
      ],
      "metadata": {
        "id": "2PvD1TRizwyr"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)"
      ],
      "metadata": {
        "id": "H-cuKGVZe2y0"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Determining the Model"
      ],
      "metadata": {
        "id": "T8SwT0C0z3z6"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "model = LogisticRegression(random_state=42)\n",
        "model.fit(X_train, y_train)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 234
        },
        "id": "ofqGp7tjlu5P",
        "outputId": "5071185d-e3aa-4fcb-b0b4-18104e2d313c",
        "collapsed": true
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/sklearn/linear_model/_logistic.py:458: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
            "STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
            "\n",
            "Increase the number of iterations (max_iter) or scale the data as shown in:\n",
            "    https://scikit-learn.org/stable/modules/preprocessing.html\n",
            "Please also refer to the documentation for alternative solver options:\n",
            "    https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n",
            "  n_iter_i = _check_optimize_result(\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "LogisticRegression(random_state=42)"
            ],
            "text/html": [
              "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LogisticRegression(random_state=42)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">LogisticRegression</label><div class=\"sk-toggleable__content\"><pre>LogisticRegression(random_state=42)</pre></div></div></div></div></div>"
            ]
          },
          "metadata": {},
          "execution_count": 6
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Testing the model"
      ],
      "metadata": {
        "id": "qTjHM0Liz9MJ"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "predictions = model.predict(X_test)\n",
        "print(predictions)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "collapsed": true,
        "id": "Y8UoF5H0kdTc",
        "outputId": "b39aaa8d-a8b5-4a14-9afe-0aec39326633"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0\n",
            " 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Evaluating the model"
      ],
      "metadata": {
        "id": "1I7fw8Ce0CKD"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "accuracy = accuracy_score(y_test, predictions)\n",
        "print(f'Model Accuracy: {accuracy}')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "T3J0Mar3kqm3",
        "outputId": "8f0f6fda-7b1d-4d42-eafc-f22dea600f39"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Model Accuracy: 0.8405797101449275\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Confusion Matrix of the model"
      ],
      "metadata": {
        "id": "5QeMo5EV0GYt"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "cm = confusion_matrix(y_test, predictions)"
      ],
      "metadata": {
        "id": "I7379CUrlW0n"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "plt.figure(figsize=(6, 4))\n",
        "sns.heatmap(cm, annot=True, fmt=\"d\", cmap=\"Blues\", cbar=False)\n",
        "plt.xlabel('Predicted')\n",
        "plt.ylabel('Actual')\n",
        "plt.title('Confusion Matrix')\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 410
        },
        "id": "i5ix5ThYlk_f",
        "outputId": "a38c7ab9-0b97-47ab-8ec6-c3746eec5a82"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 600x400 with 1 Axes>"
            ],
            "image/png": "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L7p4OgC5bDablixZoi5durh6FBQjzkDALV26dEmbN29W27ZtHcs8PDzUtm1bbdiwwYWTAQAkAgJuKiUlRdnZ2apQoYLT8goVKig5OdlFUwEAchEQAADAGAEBt1S2bFl5enrq+PHjTsuPHz+uihUrumgqAEAuAgJuydvbW40bN9aaNWscy3JycrRmzRo1a9bMhZMBACSplKsHAPITFxenmJgY3Xbbbbr99ts1adIkpaenq1evXq4eDSjx0tLStHfvXsfjAwcOKCkpSWXKlFHlypVdOBmKC7dxwq1NnTpVr776qpKTk9WgQQNNnjxZTZs2dfVYQIm3bt06tWnTJs/ymJgYzZ49u/gHQrEjIAAAgDGugQAAAMYICAAAYIyAAAAAxggIAABgjIAAAADGCAgAAGCMgAAAAMYICAAAYIyAAFBkYmNj1aVLF8fj1q1b6/nnny/2OdatWyebzaazZ88W+76BPysCAiiBYmNjZbPZZLPZ5O3trerVq2vkyJG6fPlyke73o48+0qhRowq0Ln/pA+6NH6YFlFD33nuvZs2apczMTH3yySd69tln5eXlpSFDhjitd+nSJXl7exfKPsuUKVMo2wHgepyBAEoou92uihUrKjw8XE8//bTatm2rZcuWOT52GDNmjMLCwhQZGSlJOnz4sLp3767g4GCVKVNG0dHROnjwoGN72dnZiouLU3BwsG666Sa98MILuvJH7Vz5EUZmZqYGDx6sSpUqyW63q3r16po5c6YOHjzo+EFNISEhstlsio2NlfTrj3WPj49XlSpV5Ovrq/r162vRokVO+/nkk09Us2ZN+fr6qk2bNk5zAigcBAQASZKvr68uXbokSVqzZo12796t1atXa8WKFcrKylL79u0VEBCg//znP/r666/l7++ve++91/Ga8ePHa/bs2XrnnXe0fv16nT59WkuWLLnmPh955BEtWLBAkydP1q5duzRjxgz5+/urUqVKWrx4sSRp9+7dOnbsmF577TVJUnx8vN59911Nnz5dO3bsUP/+/fX3v/9dX331laRfQ6dr167q3LmzkpKS1Lt3b7344otF9bYBJZcFoMSJiYmxoqOjLcuyrJycHGv16tWW3W63Bg4caMXExFgVKlSwMjMzHevPnTvXioyMtHJychzLMjMzLV9fX+vzzz+3LMuyQkNDrYSEBMfzWVlZ1i233OLYj2VZVlRUlNWvXz/Lsixr9+7dliRr9erVV53xyy+/tCRZZ86ccSzLyMiwSpcubX3zzTdO6z722GPWww8/bFmWZQ0ZMsSqU6eO0/ODBw/Osy0AN4ZrIIASasWKFfL391dWVpZycnLUs2dPDR8+XM8++6zq1avndN3D1q1btXfvXgUEBDhtIyMjQ/v27dO5c+d07NgxNW3a1PFcqVKldNttt+X5GCNXUlKSPD09FRUVVeCZ9+7dqwsXLqhdu3ZOyy9duqSGDRtKknbt2uU0hyQ1a9aswPsAUDAEBFBCtWnTRm+88Ya8vb0VFhamUqX+/48DPz8/p3XT0tLUuHFjzZs3L892ypUrd1379/X1NX5NWlqaJGnlypW6+eabnZ6z2+3XNQeA60NAACWUn5+fqlevXqB1GzVqpIULF6p8+fIKDAy86jqhoaH67rvv1KpVK0nS5cuXtXnzZjVq1Oiq69erV085OTn66quv1LZt2zzP554Byc7OdiyrU6eO7Ha7Dh06lO+Zi9q1a2vZsmVOy7799tvfP0gARriIEsDv+tvf/qayZcsqOjpa//nPf3TgwAGtW7dOffv21ZEjRyRJ/fr10yuvvKKlS5fqp59+0jPPPHPN73CIiIhQTEyMHn30US1dutSxzQ8++ECSFB4eLpvNphUrVujkyZNKS0tTQECABg4cqP79+2vOnDnat2+ftmzZoilTpmjOnDmSpKeeekp79uzRoEGDtHv3bs2fP1+zZ88u6rcIKHEICAC/q3Tp0kpMTFTlypXVtWtX1a5dW4899pgyMjIcZyQGDBigf/zjH4qJiVGzZs0UEBCgBx544JrbfeONN9StWzc988wzqlWrlh5//HGlp6dLkm6++WaNGDFCL774oipUqKDnnntOkjRq1Ci99NJLio+PV+3atXXvvfdq5cqVqlKliiSpcuXKWrx4sZYuXar69etr+vTpGjt2bBG+O0DJZLPyu8IJAAAgH5yBAAAAxggIAABgjIAAAADGCAgAAGCMgAAAAMYICAAAYIyAAAAAxggIAABgjIAAAADGCAgAAGCMgAAAAMb+DwQEqoQD2+WqAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ]
    }
  ]
}