Newer
Older
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
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Looking in indexes: https://cosmo-pypi.phys.ethz.ch/simple/, https://pypi.org/simple/\n",
"Requirement already satisfied: graphviz in ./venv3.6/lib/python3.6/site-packages (0.10.1)\n",
"\u001b[33mYou are using pip version 10.0.1, however version 18.1 is available.\n",
"You should consider upgrading via the 'pip install --upgrade pip' command.\u001b[0m\n"
]
}
],
"source": [
"!pip install graphviz"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>alcohol_content</th>\n",
" <th>bitterness</th>\n",
" <th>darkness</th>\n",
" <th>fruitiness</th>\n",
" <th>is_yummy</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>3.739295</td>\n",
" <td>0.422503</td>\n",
" <td>0.989463</td>\n",
" <td>0.215791</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>4.207849</td>\n",
" <td>0.841668</td>\n",
" <td>0.928626</td>\n",
" <td>0.380420</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4.709494</td>\n",
" <td>0.322037</td>\n",
" <td>5.374682</td>\n",
" <td>0.145231</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4.684743</td>\n",
" <td>0.434315</td>\n",
" <td>4.072805</td>\n",
" <td>0.191321</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4.148710</td>\n",
" <td>0.570586</td>\n",
" <td>1.461568</td>\n",
" <td>0.260218</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" alcohol_content bitterness darkness fruitiness is_yummy\n",
"0 3.739295 0.422503 0.989463 0.215791 0\n",
"1 4.207849 0.841668 0.928626 0.380420 0\n",
"2 4.709494 0.322037 5.374682 0.145231 1\n",
"3 4.684743 0.434315 4.072805 0.191321 1\n",
"4 4.148710 0.570586 1.461568 0.260218 0"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"\n",
"# read some data\n",
"beer_data = pd.read_csv(\"beers.csv\")\n",
"beer_data.head(5)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" alcohol_content bitterness darkness fruitiness\n",
"0 3.739295 0.422503 0.989463 0.215791\n",
"1 4.207849 0.841668 0.928626 0.380420\n",
"2 4.709494 0.322037 5.374682 0.145231\n",
"3 4.684743 0.434315 4.072805 0.191321\n",
"4 4.148710 0.570586 1.461568 0.260218\n",
"\n",
"0 0\n",
"1 0\n",
"2 1\n",
"3 1\n",
"4 0\n",
"Name: is_yummy, dtype: int64\n"
]
}
],
"source": [
"# all columns up to the last one:\n",
"input_features = beer_data.iloc[:, :-1]\n",
"\n",
"# only the last column:\n",
"labels = beer_data.iloc[:, -1]\n",
"\n",
"print(input_features.head(5))\n",
"print()\n",
"print(labels.head(5))"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(225,)\n",
"209\n"
]
},
{
"data": {
"image/svg+xml": [
"<svg height=\"831pt\" viewBox=\"0.00 0.00 808.52 831.00\" width=\"809pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g class=\"graph\" id=\"graph0\" transform=\"scale(1 1) rotate(0) translate(4 827)\">\n",
"<title>Tree</title>\n",
"<polygon fill=\"white\" points=\"-4,4 -4,-827 804.522,-827 804.522,4 -4,4\" stroke=\"none\"/>\n",
"<!-- 0 -->\n",
"<g class=\"node\" id=\"node1\"><title>0</title>\n",
"<polygon fill=\"none\" points=\"119.416,-528 -0.138995,-528 -0.138995,-450 119.416,-450 119.416,-528\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"59.6387\" y=\"-512.8\">darkness <= 1.184</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"59.6387\" y=\"-498.8\">gini = 0.498</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"59.6387\" y=\"-484.8\">samples = 225</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"59.6387\" y=\"-470.8\">value = [106, 119]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"59.6387\" y=\"-456.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g class=\"node\" id=\"node2\"><title>1</title>\n",
"<polygon fill=\"none\" points=\"279.197,-595 155.304,-595 155.304,-517 279.197,-517 279.197,-595\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-579.8\">bitterness <= 0.655</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-565.8\">gini = 0.171</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-551.8\">samples = 53</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-537.8\">value = [48, 5]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-523.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 0->1 -->\n",
"<g class=\"edge\" id=\"edge1\"><title>0->1</title>\n",
"<path d=\"M119.469,-514.33C128.156,-518.07 137.18,-521.955 146.069,-525.783\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"144.696,-529.002 155.265,-529.742 147.464,-522.573 144.696,-529.002\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"132.037\" y=\"-534.788\">True</text>\n",
"</g>\n",
"<!-- 10 -->\n",
"<g class=\"node\" id=\"node11\"><title>10</title>\n",
"<polygon fill=\"none\" points=\"279.197,-462 155.304,-462 155.304,-384 279.197,-384 279.197,-462\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-446.8\">bitterness <= 0.203</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-432.8\">gini = 0.447</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-418.8\">samples = 172</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-404.8\">value = [58, 114]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"217.25\" y=\"-390.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 0->10 -->\n",
"<g class=\"edge\" id=\"edge10\"><title>0->10</title>\n",
"<path d=\"M119.469,-464.048C128.065,-460.402 136.99,-456.617 145.789,-452.885\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"147.425,-455.993 155.265,-448.866 144.692,-449.548 147.425,-455.993\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"132.088\" y=\"-435.294\">False</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g class=\"node\" id=\"node3\"><title>2</title>\n",
"<polygon fill=\"none\" points=\"474.782,-741 315.371,-741 315.371,-663 474.782,-663 474.782,-741\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-725.8\">alcohol_content <= 4.932</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-711.8\">gini = 0.042</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-697.8\">samples = 47</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-683.8\">value = [46, 1]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-669.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 1->2 -->\n",
"<g class=\"edge\" id=\"edge2\"><title>1->2</title>\n",
"<path d=\"M265.369,-595.125C288.033,-613.946 315.347,-636.626 338.97,-656.242\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"336.899,-659.071 346.828,-662.767 341.371,-653.686 336.899,-659.071\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 7 -->\n",
"<g class=\"node\" id=\"node8\"><title>7</title>\n",
"<polygon fill=\"none\" points=\"474.782,-595 315.371,-595 315.371,-517 474.782,-517 474.782,-595\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-579.8\">alcohol_content <= 4.444</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-565.8\">gini = 0.444</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-551.8\">samples = 6</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-537.8\">value = [2, 4]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-523.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 1->7 -->\n",
"<g class=\"edge\" id=\"edge7\"><title>1->7</title>\n",
"<path d=\"M279.252,-556C287.593,-556 296.292,-556 305.005,-556\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"305.221,-559.5 315.221,-556 305.221,-552.5 305.221,-559.5\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 3 -->\n",
"<g class=\"node\" id=\"node4\"><title>3</title>\n",
"<polygon fill=\"none\" points=\"636.319,-823 538.243,-823 538.243,-759 636.319,-759 636.319,-823\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-807.8\">gini = 0.0</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-793.8\">samples = 43</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-779.8\">value = [43, 0]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-765.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 2->3 -->\n",
"<g class=\"edge\" id=\"edge3\"><title>2->3</title>\n",
"<path d=\"M474.813,-738.842C492.921,-747.315 511.846,-756.171 528.854,-764.129\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"527.547,-767.381 538.088,-768.449 530.513,-761.041 527.547,-767.381\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 4 -->\n",
"<g class=\"node\" id=\"node5\"><title>4</title>\n",
"<polygon fill=\"none\" points=\"649.228,-741 525.335,-741 525.335,-663 649.228,-663 649.228,-741\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-725.8\">bitterness <= 0.524</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-711.8\">gini = 0.375</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-697.8\">samples = 4</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-683.8\">value = [3, 1]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-669.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 2->4 -->\n",
"<g class=\"edge\" id=\"edge4\"><title>2->4</title>\n",
"<path d=\"M474.813,-702C488.119,-702 501.866,-702 514.968,-702\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"515.318,-705.5 525.318,-702 515.318,-698.5 515.318,-705.5\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 5 -->\n",
"<g class=\"node\" id=\"node6\"><title>5</title>\n",
"<polygon fill=\"none\" points=\"795.616,-775 704.54,-775 704.54,-711 795.616,-711 795.616,-775\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-759.8\">gini = 0.0</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-745.8\">samples = 3</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-731.8\">value = [3, 0]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-717.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 4->5 -->\n",
"<g class=\"edge\" id=\"edge5\"><title>4->5</title>\n",
"<path d=\"M649.53,-717.617C664.385,-721.405 680.166,-725.429 694.68,-729.13\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"693.944,-732.554 704.499,-731.633 695.674,-725.771 693.944,-732.554\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 6 -->\n",
"<g class=\"node\" id=\"node7\"><title>6</title>\n",
"<polygon fill=\"none\" points=\"800.467,-693 699.689,-693 699.689,-629 800.467,-629 800.467,-693\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-677.8\">gini = 0.0</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-663.8\">samples = 1</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-649.8\">value = [0, 1]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-635.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 4->6 -->\n",
"<g class=\"edge\" id=\"edge6\"><title>4->6</title>\n",
"<path d=\"M649.53,-686.383C662.685,-683.029 676.566,-679.489 689.65,-676.153\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"690.65,-679.51 699.475,-673.648 688.921,-672.727 690.65,-679.51\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 8 -->\n",
"<g class=\"node\" id=\"node9\"><title>8</title>\n",
"<polygon fill=\"none\" points=\"632.82,-645 541.743,-645 541.743,-581 632.82,-581 632.82,-645\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-629.8\">gini = 0.0</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-615.8\">samples = 2</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-601.8\">value = [2, 0]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-587.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 7->8 -->\n",
"<g class=\"edge\" id=\"edge8\"><title>7->8</title>\n",
"<path d=\"M474.813,-579.596C494.042,-585.358 514.193,-591.397 531.99,-596.73\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"531.03,-600.096 541.614,-599.614 533.039,-593.391 531.03,-600.096\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 9 -->\n",
"<g class=\"node\" id=\"node10\"><title>9</title>\n",
"<polygon fill=\"none\" points=\"637.67,-563 536.893,-563 536.893,-499 637.67,-499 637.67,-563\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-547.8\">gini = 0.0</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-533.8\">samples = 4</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-519.8\">value = [0, 4]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-505.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 7->9 -->\n",
"<g class=\"edge\" id=\"edge9\"><title>7->9</title>\n",
"<path d=\"M474.813,-545.651C492.163,-543.371 510.262,-540.992 526.707,-538.83\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"527.252,-542.289 536.71,-537.515 526.339,-535.349 527.252,-542.289\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 11 -->\n",
"<g class=\"node\" id=\"node12\"><title>11</title>\n",
"<polygon fill=\"none\" points=\"456.471,-462 333.681,-462 333.681,-384 456.471,-384 456.471,-462\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-446.8\">fruitiness <= 0.072</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-432.8\">gini = 0.133</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-418.8\">samples = 28</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-404.8\">value = [26, 2]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-390.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 10->11 -->\n",
"<g class=\"edge\" id=\"edge11\"><title>10->11</title>\n",
"<path d=\"M279.252,-423C293.597,-423 308.999,-423 323.718,-423\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"323.776,-426.5 333.776,-423 323.776,-419.5 323.776,-426.5\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 16 -->\n",
"<g class=\"node\" id=\"node17\"><title>16</title>\n",
"<polygon fill=\"none\" points=\"471.282,-276 318.871,-276 318.871,-198 471.282,-198 471.282,-276\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-260.8\">alcohol_content <= 4.63</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-246.8\">gini = 0.346</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-232.8\">samples = 144</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-218.8\">value = [32, 112]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"395.076\" y=\"-204.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 10->16 -->\n",
"<g class=\"edge\" id=\"edge16\"><title>10->16</title>\n",
"<path d=\"M255.539,-383.554C283.139,-354.357 320.837,-314.477 349.941,-283.689\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"352.818,-285.741 357.144,-276.07 347.731,-280.932 352.818,-285.741\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 12 -->\n",
"<g class=\"node\" id=\"node13\"><title>12</title>\n",
"<polygon fill=\"none\" points=\"636.319,-481 538.243,-481 538.243,-417 636.319,-417 636.319,-481\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-465.8\">gini = 0.0</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-451.8\">samples = 23</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-437.8\">value = [23, 0]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-423.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 11->12 -->\n",
"<g class=\"edge\" id=\"edge12\"><title>11->12</title>\n",
"<path d=\"M456.52,-431.262C479.348,-434.383 505.263,-437.925 527.899,-441.019\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"527.663,-444.52 538.045,-442.406 528.612,-437.584 527.663,-444.52\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 13 -->\n",
"<g class=\"node\" id=\"node14\"><title>13</title>\n",
"<polygon fill=\"none\" points=\"663.487,-399 511.076,-399 511.076,-321 663.487,-321 663.487,-399\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-383.8\">alcohol_content <= 5.13</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-369.8\">gini = 0.48</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-355.8\">samples = 5</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-341.8\">value = [3, 2]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-327.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 11->13 -->\n",
"<g class=\"edge\" id=\"edge13\"><title>11->13</title>\n",
"<path d=\"M456.52,-402.98C470.708,-398.28 486.088,-393.186 501.132,-388.203\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"502.562,-391.417 510.954,-384.95 500.361,-384.772 502.562,-391.417\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 14 -->\n",
"<g class=\"node\" id=\"node15\"><title>14</title>\n",
"<polygon fill=\"none\" points=\"795.616,-474 704.54,-474 704.54,-410 795.616,-410 795.616,-474\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-458.8\">gini = 0.0</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-444.8\">samples = 3</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-430.8\">value = [3, 0]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-416.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 13->14 -->\n",
"<g class=\"edge\" id=\"edge14\"><title>13->14</title>\n",
"<path d=\"M663.501,-398.359C674.139,-403.784 684.899,-409.271 695.032,-414.438\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"693.64,-417.658 704.139,-419.083 696.82,-411.422 693.64,-417.658\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 15 -->\n",
"<g class=\"node\" id=\"node16\"><title>15</title>\n",
"<polygon fill=\"none\" points=\"800.467,-392 699.689,-392 699.689,-328 800.467,-328 800.467,-392\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-376.8\">gini = 0.0</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-362.8\">samples = 2</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-348.8\">value = [0, 2]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-334.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 13->15 -->\n",
"<g class=\"edge\" id=\"edge15\"><title>13->15</title>\n",
"<path d=\"M663.501,-360C672.217,-360 681.015,-360 689.483,-360\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"689.619,-363.5 699.619,-360 689.619,-356.5 689.619,-363.5\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 17 -->\n",
"<g class=\"node\" id=\"node18\"><title>17</title>\n",
"<polygon fill=\"none\" points=\"649.228,-276 525.335,-276 525.335,-198 649.228,-198 649.228,-276\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-260.8\">bitterness <= 0.575</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-246.8\">gini = 0.5</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-232.8\">samples = 53</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-218.8\">value = [27, 26]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-204.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 16->17 -->\n",
"<g class=\"edge\" id=\"edge17\"><title>16->17</title>\n",
"<path d=\"M471.523,-237C485.879,-237 500.859,-237 515.077,-237\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"515.275,-240.5 525.275,-237 515.275,-233.5 515.275,-240.5\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 20 -->\n",
"<g class=\"node\" id=\"node21\"><title>20</title>\n",
"<polygon fill=\"none\" points=\"647.059,-153 527.504,-153 527.504,-75 647.059,-75 647.059,-153\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-137.8\">darkness <= 1.458</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-123.8\">gini = 0.104</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-109.8\">samples = 91</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-95.8\">value = [5, 86]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"587.281\" y=\"-81.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 16->20 -->\n",
"<g class=\"edge\" id=\"edge20\"><title>16->20</title>\n",
"<path d=\"M456.52,-197.913C476.413,-185.049 498.649,-170.669 519.018,-157.497\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"521.124,-160.304 527.62,-151.934 517.323,-154.425 521.124,-160.304\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 18 -->\n",
"<g class=\"node\" id=\"node19\"><title>18</title>\n",
"<polygon fill=\"none\" points=\"799.116,-310 701.04,-310 701.04,-246 799.116,-246 799.116,-310\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-294.8\">gini = 0.278</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-280.8\">samples = 24</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-266.8\">value = [20, 4]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-252.8\">class = urgs</text>\n",
"</g>\n",
"<!-- 17->18 -->\n",
"<g class=\"edge\" id=\"edge18\"><title>17->18</title>\n",
"<path d=\"M649.53,-252.617C663.109,-256.08 677.462,-259.739 690.914,-263.169\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"690.442,-266.661 700.997,-265.74 692.172,-259.878 690.442,-266.661\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 19 -->\n",
"<g class=\"node\" id=\"node20\"><title>19</title>\n",
"<polygon fill=\"none\" points=\"800.467,-228 699.689,-228 699.689,-164 800.467,-164 800.467,-228\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-212.8\">gini = 0.366</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-198.8\">samples = 29</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-184.8\">value = [7, 22]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-170.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 17->19 -->\n",
"<g class=\"edge\" id=\"edge19\"><title>17->19</title>\n",
"<path d=\"M649.53,-221.383C662.685,-218.029 676.566,-214.489 689.65,-211.153\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"690.65,-214.51 699.475,-208.648 688.921,-207.727 690.65,-214.51\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 21 -->\n",
"<g class=\"node\" id=\"node22\"><title>21</title>\n",
"<polygon fill=\"none\" points=\"800.467,-146 699.689,-146 699.689,-82 800.467,-82 800.467,-146\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-130.8\">gini = 0.408</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-116.8\">samples = 14</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-102.8\">value = [4, 10]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-88.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 20->21 -->\n",
"<g class=\"edge\" id=\"edge21\"><title>20->21</title>\n",
"<path d=\"M647.243,-114C660.957,-114 675.568,-114 689.316,-114\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"689.631,-117.5 699.631,-114 689.631,-110.5 689.631,-117.5\" stroke=\"black\"/>\n",
"</g>\n",
"<!-- 22 -->\n",
"<g class=\"node\" id=\"node23\"><title>22</title>\n",
"<polygon fill=\"none\" points=\"800.467,-64 699.689,-64 699.689,-0 800.467,-0 800.467,-64\" stroke=\"black\"/>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-48.8\">gini = 0.026</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-34.8\">samples = 77</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-20.8\">value = [1, 76]</text>\n",
"<text font-family=\"Times,serif\" font-size=\"14.00\" text-anchor=\"middle\" x=\"750.078\" y=\"-6.8\">class = yummy</text>\n",
"</g>\n",
"<!-- 20->22 -->\n",
"<g class=\"edge\" id=\"edge22\"><title>20->22</title>\n",
"<path d=\"M647.243,-83.9318C661.36,-76.7328 676.428,-69.0486 690.527,-61.859\" fill=\"none\" stroke=\"black\"/>\n",
"<polygon fill=\"black\" points=\"692.313,-64.8769 699.631,-57.2159 689.133,-58.6409 692.313,-64.8769\" stroke=\"black\"/>\n",
"</g>\n",
"</g>\n",
"</svg>"
],
"text/plain": [
"<IPython.core.display.SVG object>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from sklearn.tree import DecisionTreeClassifier\n",
"\n",
"classifier = DecisionTreeClassifier(max_depth=4)\n",
"classifier.fit(input_features, labels)\n",
"\n",
"predicted_labels = classifier.predict(input_features)\n",
"print(labels.shape)\n",
"print(sum(predicted_labels == labels))\n",
"\n",
"from IPython.display import SVG\n",
"from sklearn import tree\n",
"from graphviz import Source\n",
"graph = Source( tree.export_graphviz(classifier, out_file=None, rotate=True, feature_names=beer_data.columns[:-1], class_names=[\"urgs\", \"yummy\"]))\n",
"SVG(graph.pipe(format='svg'), )"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.cluster import KMeans"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"KMeans(algorithm='auto', copy_x=True, init='k-means++', max_iter=300,\n",
" n_clusters=3, n_init=10, n_jobs=1, precompute_distances='auto',\n",
" random_state=None, tol=0.0001, verbose=0)"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clf = KMeans(n_clusters=3)\n",
"clf.fit(input_features)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clf.n_clusters"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.manifold import TSNE\n",
"\n",
"x = TSNE()\n",
"y = x.fit_transform(input_features)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"colors = [\"rg\"[i] for i in labels]"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1216dbe80>"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(y[:, 0], y[:, 1], color=colors)"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1218c27b8>"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"xv = beer_data[\"alcohol_content\"]\n",
"yv = beer_data[\"bitterness\"]\n",
"colors\n",
"plt.scatter(xv, yv, color=colors)"
]
},
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## SVC 2D plots"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAW4AAAEFCAYAAADDkQ0WAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzs3Xd4VFX6wPHve2cmk94bISRAIPQqHUEQEBARxIpl7V3XH+q6q6uubrGs6+ru2rvYu4IIKlUF6S10QkkgvbdJm7nn98cMGCCBCSSEwPk8Dw9T7j3nnTuTd86ce+45opRC0zRNaz2Mlg5A0zRNaxyduDVN01oZnbg1TdNaGZ24NU3TWhmduDVN01oZnbg1TdNaGZ24TyIRuU5Efmmish4TkfeboqwzmYh8JCJTPbeP+v6IyGIRuakJ6pwsIp+caDktSUTsIrJFRNo0YZlKRDp5bj8rIrc3VdmnG524vSAie0VkbCP3ae/5IFqbKy7txIhIb6AP8M3JrFcpNRvo4an/lOPl5/0W4CelVFYzhfEv4CER8fHElCgiX4lInojkisiDzVRvq6ATt3ZUp/kXz63AB6plrkL7CHfyO2EiYmmKchrpNuC9hp480Zg8XwjbgAs9D7XB/QXbHjgb+KOIDDqROloznbgbSUQ6icgSESkRkfyj/OT9yfN/sYiUi8jQOmX8S0SKRGSPiEys83iIiLwpIlkikiEifz/GH4CviHwiImUislZE+tQpK05EvvC0UPaIyO/rPGeIyJ9EZJeIFIjIpyIS7nnuwC+FG0UkHVhYzzHYJCKT69y3eY5FPxEZJSL7D9v+YAvO08XzmYi874k7RUSSReRBT0tqn4icV2ffxZ7jsMxzHGeLSISIfCAipSKySkTae7Z9UUSePazuWSIyo4HjNxFYcuTLkxc87+82ERlT346Hd1Ud/gvLi/dyMTCpgbgQkW6e114sIptF5MI6z70jIi+LyHciUgGMrmf/xSLyNxFZ6jnOP4hIZJ3nL/SUW+zZtpvn8feABGC253g/UE/ZCUBHYMXRYhJ3d8q/RCRdRHJE5BUR8auzzx88xydTRG6o5zAcPEZKqeVKqXeUUhVKqR1ADhDT0PE77Sml9L9j/AP2AmM9tz8C/oz7S88XOLuBfdoDCrDWeew6oBa4GbAAtwOZgHie/wp4FQgAooGVwK0NlP+Yp6xLABtwP7DHc9sA1gCPAj64/8h2A+M9+94DLAfiAbunzo8Oi3umJw6/eup+APikzv0pQIrn9ihg/1GO32NAFTAesHrq2eM5pjbPsdlTZ9/FQCqQBIQAW4AdwNg6+7/t2XaQ53ganvuRgAOIqec1BHheZ9Rh748TmOGJ5XKgBAivE8tNdV7H+w2938d6L4Fwz/bB9cRm87zmhzzv37lAGdDF8/w7nriGe95r33rKWAzsApIBP8/9pzzPJQMVwDhPXQ946vM5/P1q4LM3Cdh82GNHxAQ8B8zyvNYgYDbwpGf7CbiTb0/PMfrQczw61SlzGrC2nvrv88QY2NK5oaX+tXgAreEfhyaemcBrQPwx9jnkD9nz2HVAap37/p5tYnG3HqqpkyiB6cCiBsp/DFhe574BZAEjgMFA+mHbP8hvCW4rMKbOc21wfwlY68Td8SivLc6TSII99z8HHvDcHsWxE/ePdZ6bDJQDFs/9IE/9oZ77i4E/19n+WWDuYfuvr3N/KzDOc/su4LsGXkNbTz2+dR67jjpfpJ7HVgLX1InlmInbm/cSd8JUQEI9sY0AsvF8AXke+wh4zHP7HWDmMT5/i4GH69y/A5jnuf0I8Olhn50MYNTh71cDZV9Fnc9efTEBgvvLIanOY0PxfCkDb+H5IvHcT+bIxD0O2H1YPZd7jk3XE/27bs3/Tuf+y+byAPA3YKWIFAHPKqXeasT+2QduKKUcIgIQiLtVYgOyPI+B+w9q31HKOvicUsr0dFHE4f4DiBOR4jrbWoCfPbcTga9ExKzzvItDf3o2WK9SKlNElgIXi8hXuLsc7jlKnIfLqXO7EshXSrnq3Af3MSluYPvD7wfWuf8ucDXwo+f//zQQw4Gyg3D/AjggQ3kyhEca7mPaGIkc+70MOiyOuuKAfUqpuu9PGu4vmwOO9rk4ILvObQe/Hac4T3nAwc/OvsPKP5oifou/rroxReFumKypcwwE9+fwQAxr6myfxpGCOPL43IO7kbDNy1hPSzpxN5JSKhv3z3lE5Gxgvoj8pJRKPXzTRha9D3crLVIp5fRyn3YHboiIgbvrIxP3z/09SqnOR6nrBqXU0sOfONBfzLHjfxe4Cfdn6FelVIbn8Qrcf7AHyrPg/iM+Wd4HNnn6+7sBX9e3kVKqQkQOdCXk1XmqrYhIneSdgPvn/uEOeZ24fzUd4M172Q3Yq5Qqree5TKCdiBh1kncC7i6igy+hgXK9kQn0OnBH3Jm1He5WtzdlbwQ6iIj1sNdXd7983F+qPep8NurKos7nF/frO1w3YMNhj7XxxH9G0ycnG0lELhWReM/dItwfVrOeTfM8j3f0plzlPov+A/CsiAR7TiAmicg5R9ntLBGZ5jkh9n+4k8Vy3D/vy0TkjyLiJyIWEekpIgM9+70C/ENEEj2vKUpEpngTZx1fA/1xt4Bm1nl8B+6TppNExAY8jLsf/aRQSu0HVuEe8fCFUqryKJt/Bxx+fKOB34v7hOuluJPHd/Xsux4YKSIJIhKCuyvqQAzevJfnAHMbiGsF7hbyA544RuHuEvr4KK+lMT4FJonIGM97dB/uz84yz/M5HOVz6znGqbjPKTS0jQm8DjwnItEAItJWRMbXieE6EekuIv7AX+oppr5jNIjfTvyfsXTibryBwAoRKcfdErtHKbX78I2UUg7gH8BSz5n7IV6U/TvcJ6O24P5S+Bx3C6Mh3+Du8ysCrgGmKaVqPd0OFwB9cZ/4ywfewH1yD9zdB7OAH0SkDHeyH+xFfHVfXyXwBdAB+LLO4yW4+1PfwN2CqwD211dGM3oXd4uyweFqHq8BV0md3/K4k2Zn3MfsH8AlSqmCw3dUSv0IfIK79bkG+PawTY71Xk7HffLyCEqpGtyJeqInjpeA3zVV94BSajvubqT/ecqfDEz21AvwJPCw53N7fwPFvIr7M3c0f8Sd4JeLSCkwH+jiiWEu8DzuUUupHDZ6SdwX9nTnyF9Mi4Fhx6j3tCdKncgvLu1MJiKPAslKqatbOpa6RGQk7i6TRHWMD7iIfIj7RF29XSrNQdxDKa9RSl12supsaiJiB9bhPsnd5BfhiHtY5y6l1EtNXfbpQCdu7biIe9z3OtwJ6JT56er56f8xsEEp9deWjkfTmoPuKtEaTURuxn0Cbu4plrS74R6F0Ab3z3BNOy3pFremaVoro1vcmqZprUyzjOP2CwhXIWHxx95QO60ZVisxvmXU5OQiNltLh6Npp7zNeQX5SqljXvfQLIk7JCyeq+8+fHSUdqbxj4pgRvJCMp9/EUuUtxfladqZq9srb9V3BekRdFeJpmlaK6MTt6ZpWiujE7emaVoroxO3pmlaK6MTt6ZpWiujE7emaVoroxO3pmlaK6MTt6ZpWiujE7emaVoro5cu05qc+4rJBWQ89xIZc+CQZQo0TTthOnFrzUQQQV/qrmnNQHeVaJqmtTI6cWuaprUyOnFrmqa1Mjpxa5qmtTI6cWuaprUyOnFrmqa1Mjpxa5qmtTI6cWuaprUy+gIcrUnU1lbx89yn2bd7JSGR8Zz/x8kEtXRQmnaa0i1urUnM/fhe9u/dRVzS7SjVmfPveoT8quqWDkvTTks6cWsnzOmsZtfWH0jq8xBBYT1o0+FiAkJ6sDy3oKVD07TTkk7c2gkzxAIimM5KAJRSOJ0V2Az98dK05qD7uLUTZlis9B9+I9tW/5Go+MlUlG7DzyhgRGynlg5N005LukmkNYmRE//IkHNvxMe6l47du7LgtSfxt+p2gaY1B/2XpTUJEaHXwMvpNfBy/KMiCA1aiKMF4shzONheUEiEnx/dIiNaIAJNa346cWunjRUZWcyYt4D2YifDrGZs5w48PHIYoldy0E4zOnFrp40HflzEva4o+hkBOJTJfalpLE/qwND4uJYOTdOalO7j1k4LNS4XBVXV9BF/APzFoCu+7CstbeHINK3p6cR9hivM28WqJa+wdunbOCoKWzqc4+ZjsdA+KIj5yp2oc1Ut65WDrhG6n1s7/ejEfQbLTF/Lhy9eTOq27WxZv4z3/jOJ8tKclg7ruD03cQxf2Mu4gTTuVOncNLAvvWOiWjosTWtyuo/7DPbT3GdI6Hob0fHjAdiz5QVW//wmoyY91MKRHZ/O4WHMvfoycioqCPW1E+jj09IhaVqz0In7DFblKCYirt3B+77+8VQ5sputvl/3Z7KzsIj2ocGMaBffLKM9bBaD+GA9vZV2etNdJWewjl1Hs2/nW1RX5lJRupvstM9J6jaqWer6z/LVPDJvMSkrd/CPH3/myZ9/bZZ6NO1MoFvcZ7Dh582gtvrvpCy7FYvFh8Gj76Bzz4lNXk9uhYP3U7bwKomEiIUK08XtO3YxvXcPOoSGNHl9mna604n7DGax2Bgz9XHGTH28Wesprqoi3LARoiwABIiFaMOH4qoqQCduTWss3VWiNbvEkGBqLPCDWUKNMllilpKPk05hYS0dmqa1Sjpxa83ObrXy2oUT+D6oikvNXXzhX8Erk8cTZNejPjTteOiuEu2k6BwextfTL0YppecO0bQTpFvc2kmlk7amnTjd4j7DFReks3vbAqxWO8m9JuHrr08WatqpTre4z2DZ+zfy/gsXsi1lDetX/sDM/07CUZ7f0mFpmnYMOnGfwZbMeYp2ybfQsed9JPf7C4FhA1j90xstHZamacegE/cZrNJRhH9g4sH7fgHtW/UMgZp2ptCJ+wzWPnkk+1Pfoaa6iMryfeSkfUGHLue0dFiaph2DPjl5Bhsx/j6qqx5l/ZJrMDyXvHfpPamlw9I07Rh04j6DWaw+jL/4KcZf/FSL1K+UotrlwlevBq9pjaL/YrQWsTYrh3u/X0hBdRUxvn48P3EsPaMjj6usPcUlbMjJJcrfn6HxcRgnYaz45rx8/rLgZzIrKugZGcHfx55DdIB/s9eraaD7uLUWUFJdzV3f/chtNWF8ZXTimuoQ7pjzPY7a2qPutzkvn4fmL+EP3y9k6b4MABbsSePKz2fx/dIU/vHDT9w7bwGmUs0af0FlJbfMmseEUjvPm/G0ya3h9tnfo5q5Xk07QCdu7aTbXVRMjNgYaAQiIpxtBOGvDNJLGl7Yd3NePjd9M5fw3aUkpjn44/eLWLQ3nUcX/szDKpb7zWj+bcazKzOfJen7mjX+jTl5JIkvo41gIsTKNYSTUVZGfmVls9araQforhLtpIv09yPbVUMJLkLEQqFyUuCqJcLfr8F9PtqwhWlmCBcZ7hkFg00Lb6/eQEltLZ0tvgDYROiID3kVjhOKz2maLE7bR2FlFWe1iSEpLPSQ5wN8bOSqWpxKYRWhGBfVysTfZjuhejXNWzpxayes0lHMvl1LEcNK+84jgENXVt9XWsq/l64ir7yCs+LbcOeg/lzRqxv3bdpOD/EjBQc39+tNlH/DfcQuZeJT5weiD4ICuoeH8UVJEZeqMNKpYTUV3B59/AsEO02T22Z/T0F+Ce3w4Tm1kifGnsPo9gkHtxnQJpb20eE8mptJN5edZYaDG/v0JkAnbu0k0YlbOyElhel89sJUOroMajD51d+f3z32y8HniyqruPqLb5ngDORs5cs3JXt5pLyCp8eNYmT7duwpLuHmsFD6xEQftZ6LundhRtp8gkwDXwzeNAq4u9cgBsa14e45P/JxyS6shvCXkcPpGhlx1LKO5ofdeynKL+Vpsy0WETarSh5f/Aujr7vy4DaGCC9MGsc3O1LJLCvnwehIRicmHKVUTWtaOnFrJ2TZrMe5sNrC5eLuTnihrJBls56G/hMA+GVfBh1cNiYTip9h0FX5Mn33Lv7uGkm/2Bj6xcZ4Vc+gtm146rzRvLtmI07Tye97DmJKl84AfHnFRThqa/G1Wk94REm+o5IOygeLp5xO2Cmsrj5iOlqrYXBx1+QTqkvTjpdO3NoJqSjOpJvyAU9O625amZ+fBoBLKb7eup01zjKuppwBEsCt4u7GOJ78OiIhnhEJ8fU+11T9y2e1ieFV1jFRBdMOHz6kkP7R0Xo6Wu2UokeVaCckJmkoX1sc1CiTCuXiW2sVcd1GAvBRahqleWV8aEniY0sStUpxv9rPFd26YjVOzY9ej6hIHhgxhAclg2lmKnvDLTwzfnRLh6Vph9Atbu2EDJ3wAD8UpnPZ9oWA0LvPpQwYczuwmHW5RYw3g/A33IsETzXCeMrMYvbOVEqqqnh09Nmn5Am9KV06cWFyEk5TYbOcml8w2plNJ26t0Rzl+fy64H+UleTSruNAJl7zGuOc1YhhYLXaEU9rOsrfly1SyigVhIiwiUqSxM7/mbG8lZ7PXxf9wtPnnZqtWRHBZtHdI9qpSSdurVGqq8r44MVpBIYNJDCkP+t+/ZKi/L2MnfrXQ7bLyi/gp6w8ClzV7KQSuxikq2qetyQSIVZuUpHc1cwXymja6Ur/DtQaZe+OJdjssXTofhdRbcfS9awnSFn5IS7XoZerP/SvVxhS48e7lo5cZoRTJYpQsRIj7q6RTGoJOgW7STStNdAtbq1RMtLW4HT+lqTFcH+ElDIP2S51735uIABfMRgmQZSaLj6yFPME2bQxrcynlPM7dCK3wnHUyZmUUuwqKqakuprk8HC25Bfw/LKVlFfXMrpjAncPHqD7obUzjk7cmtey929k85qvUErYt+M9gsK6kbHrIzr3moTVaj9k2+6d27M4ezPJypdaFMsMB9f064nVYvDWuhTaOH3I3JnFRTt389bU8+kSEX5EfUopHl30M0t2pxNp2MhRtdSaJneqKGIlgHe27uUZp4uHRg49WYeg2Sil+GZHKinZucSFBHF1z+7Y9XS3WgN0U0XzWlrqL0S1PY/ew1/EUb6X9B3vUla8jYmXPnPEtk/cdzu7/V3cbKRzI2lExoVzQ9/eOGpq6e/0ZbIKJsll4xynP//8aTkAVU4n67Jz2JyXj8s0+XFPGuv2ZPCySuAZsy3XusLxdcHZRhCdxJe7zCjmpe4+2YehWTz583Le+mUNAdsLWbp6Ozd+M5dal3nsHbUzkv5K17zm6xdCtWM/dr9YuvR/hNLCjezd/AwWq88R20aEBvPhuKFk+ARhMwzaBrlnAswtq2CPq4r9VNNFfPlFlWMtqiK3wsG1X83BWuOiSpnEh4cwOKEtvU0/fMXdvhgsAbxAzsE6SnBit1hO2utvLuU1NXy2bTvvSAcCDQuTlWJGcQZrsrMZ0jaupcPTTkE6cWte697vItYte58dax/G7h9PfuaPjL/4iQa3t4jQITTkkMfCAvyowOQVS3usIlyowritdi//WLKUwZU+XCMRuJTiqYIc0kJKWGs4uMx0ESQWFqlSfMXgFZVLrLIx2yjh7kGDmvU1VzudvLByLeszc4gNCmDGsEHEBQU2aR1VThc2MfD3/AA2RAgRC1VOV5PWo50+dOLWvGbz8eeqO79gy7qvqKosYdTEd4mN792oMrpGRrDBYsfquYQ8GitWMdhTVMJ43EneIsJZpi/7nCbjunXi5s3bCBUrytfglfPG89Pe/ZRVV/O3Dv0avAS+qfzpxyUUZxQy1QxmS1EZ12R/y9dXTCPIfuSvjOMV4edLcngYrxblMVGFsFE52G+ppe8xJt7Szlw6cWuNYvPxp8/gq457/74x0fxNqlltVtBdfPmaYjqGBJMUFsaStKKDJzOXWhyMj2nPtX16cm3fnpRUVZMQEoyPxUL/2NgmfEUNc9TWsih9Hx8ZHfExDPoSwHZXFsszMxnXoX2T1SMivDDpPJ5Ysoxnc/NoExTIO6MmEeprP/bO2hlJJ27tpIoLCuQPZw/m2WWrKKutoW9kJC+OH4uP1cIt38zjprJ0qpXJkLg4rurVHYAof/+jztXdXMQz57cTONC+dqKwSNOf0w/1tfNPPSeK5iWduLWT6tudu/jXLyvoLwHsthrEBAYQHeCPiPDxpReSXlqGj2EQ5zmZ2ZL8bFYu7NSRv+/JYrwZxDapptRHGNK2TYvGpWk6cWv1Mk0XSplYLI27ulEpxeKvn+ClX15Hqqu5rk83bujdHRHBVIrHFi/ladrSHjs1ymTG/gyWZ2QxND4Oi2EccTKzpT02+mzeDd/E+owcYoPD+GBgP71EmdbidOLWDqGUYsl3T7Ju2dugFJ17ns+ES/+J1ebr1f5rl77NhmVfkdTnXyjTxRvrHiHc185FXTpR6XRSa5okGu6OBx8x6CA+5DpObI3IplTrMg+5EtNiGNzQrzf0a8GgNO0wOnFrh9i48iN2blrCgDGfYlh8SV3/d375/llGXfBnr/bfuXk+bZOuxT8wEYDoTtczb88nXNSlEwE2G+2DgviqvJiLCGUX1aw3HTxwAmtEVtTU8uzSlWzOzSM+JIj7hg/m2x2pLEjdS4CPjTuHnMVZbY59MnNPcQkz5s5nZ0kJkXZfnhx3DsPi2x53XE3hvY2beX31eqpNkws6deRPI4bqy/s1QF85qR1m364VRCdMweYTisXiS0ziJWxP+Y65n9zPsvn/obbm6K1ju28g1ZVZB+/XODIJsf/WPnjhgnH8GlzLRWYqj0oWj48++7i7R5RS3DXnB3J3ZXNlqT/B+8q59NOv+XbtVqaX+jMsT7hrzo9sLyg8ajmmUtw++3tGl9n52tKZe2ojuW/eQrLLK44rroasyMjiztk/cOs3c5m3a89Rt/1h917eXbmex1yx/E+1Y2tqBi+sWNOk8Witl25xa4cIDIkmc982aDcRgPTtb4IEUO1sR+rW9ezedhXTb/uk3qslAYaPu4dPX7+aGsd+lKuGspxF3DF1/MHn2wUH8+UV06hyuq96PJETkHmOSrbmFzKT9lhE6Ik/K5zlTJAgehn+IJBu1vD9rj31zoVyQL6jktKqai4w3Fcp9hF/ki1+bMkvIDYw4Ljjq2ttVg7/N3c+15nh+GLwVN4yXKbJpM5J9W7/0550JpshJBruIYFXqzBe35vOjGEDmyQerXXTLW7tEING3Y6jLIVtq//ItjV/prxkGz2GPEds4oV07vswlRXlZKStbnD/6Lge3PTIIq4d48elQdv46uLzaV9Pi9rXaj3hUSNWQ3Apk1oU4G6BVysTp+c+QKWYx+xeCLb7UK1MspV71sMqZbLfrCbCz7t+fW98vmkbl5mhjDVCONsI4lYzgo83bGlw+1A/XzLlt1kY96taQnybLh6tddMtbu0Q/gHh/O73s9m9bRGVjkJ+nrsRi8Xd6hMxsNgCcTlrjlpGeEwSM0ZcRmZhHpYmvjz8kHr8/BjdPoG/p2cz2gxgvVGFLcCHL6tKMEwhHye/Wiu517MafEN8rVbuHzqQP61YS3/xZ4dUM7R9O3qfQN/74USo83UCJmAc5Xvr2r49uWLnbkprcwhUBr8Y5bwyfHzDO2hnFJ24tSP42APp2mcySil2bJzH7pRniW43mZKCtdRW5xCX2L+lQzzoibHn8N7GzWzOziM5NIZn+vdheUYmC1L34m+38XHfXrQJPPaXx/Re3ekZE8XW/AIuDQpkeHzbJh1Hflmvbty293tspmDH4D2jkIf7Dm9w+yh/fz6/fCrfpe6m1mVyZ2K7en+5aGcmUUode6tGio3vra6++9smL1c7+aqrSlk0++9k708hOCyeMRc+Qkh4wlH38Y+KYEbyQjKffxFLVMuOzDiVrMvO4b11m3CZJlN7dGF0+6MfR+3M0+2Vt9YopQYcazvd4taOyu4bzIRL/9lk5dW4XLy9PoVtOfkkhodyy1l9zpgLWvrFxtBvYkxLh6GdBvTJSe2kUUpx77yFLF23kx77a9i2aS83fzMPp6kXDNC0xtAtbu2kySqvYG1mNm+RiM0wOEcFcXfJfrbkFdA7pvEnApVSfLF1B0t2pxHka+fmAX1PuUvmNa056Ba3dtyUUmTv28CuLfMpK8k+5vYuZWIVwYL7pJ8ANnEP6Tseb65L4c1la+iX6SRodwlXf/ktmWXlx1WWprUmusWtHRelFD9++RCpWxfjH5RAedF2Lrjqf7TvPKLBfdoGBZEQFsILRXmMMgNZJQ6KlJMP1m8iu1MFEzt1rLceoN4RHu9v2MSjKubgRSr5LidzUndzc7/GLe4AkOdw8Of5P7EpL5+4gAAeO3cEPaMjG12Opp0MusV9hqutcbBv93Ky0tdhmt4vlZWW+gt7diyjz9lv0vWsp+jU91G++3jGUfcxRHj5gvGEJUXzYXAF81Upw13+dEyv4t+Ll/P+xs0Ht1VK8eKqtQx4Yyb9Xn+Xhxf8RI3r0PgUHGy9c/B240dJKc8l77E5VTxvxjOx1M6ts+eR76hsdFmadjLoFvcZrLQ4k09evRwxgnA5HYSExXLJje9gtfmyf/cKMvetIygkli69J2MYhy7KW1q0n8DQ7lisfgCERPShylF4zItzguw+PDb6bN5cn8KmVTu5RdzLc3VWdp5cu5Gre/cA4JsdqczZuJ0XScBPDP61J4cX/NZw77Df1pi8tEdXnt24nelmGFnU8oulgrs6dmj0cSisqmJfaRlP0QERYZQEs0QcbMjJZUyHRK/KUErxyeZtrNqXSVRgALcM6EO4n1+jY9E0b+jEfQZbOOtxQqPH0K7ztSjlYse6x1n98xv42ANZvvBlwmNGUlE6hy3rZjHt2jcQ47cfaNFxPSie9yxVjix8/duQnT6bsMikBucwOVyty4VvndayLwbOOtcU/Jq2nwtcwUQZ7qGCl6pQ3k/PgGG/lXHnwH6E2O3M37WXIF8/3hk8nISQ4EYfBz+rlRplUiwuwrDiUoo8VUuQj/frSj6zbCXLtu3hfFcwO6WU6XvT+eLyqQQ2ogxN85ZO3Gewovw04pOnAiBiISRiAIV5e9iR8i19R76Nr38blOkkZdltpO1aekj/dWx8b4aNu4efvrsRi9UPu28A065/2+u6xyd14Mp1KSSYPsRi431LEVO7dDr4fESAP2lSfPD+XlVNuP+hLVgR4Zo+PbimT4/jPQRHECMhAAAgAElEQVQA+Nts3NS3Nw9t3MYw05+tlhoSosIYEOfd2pYu0+SDTVt522hPiGFlDPB4bRZL0vYxrmN7Xlu9nk3ZebQNDeKuwWcRpucc0U6QTtxnsJi47uTtn0dgSDKmWUNB9iJ6DZjAjhTB7udOWmJY8Q1oS5WjGEd5Ab8u+C9lxdnEdxhA/7NvoOdZl1BVWUxAUPQR3SlH0yE0hNcunMB/f11NWXUl53Xswk39fzupeGP/3lyxay9P1Gbjh8Fai4N3hp/vVdnZ5RUs2JsGwPiOHYj0P3aXxZ2D+tM9JpJNuflcFhTIlOROGF5e8m4qUCjsdU4Z2ZX7F8T93y+kNLOYMWYgG/JyuTZjDp9dNgW7Vf/pacfPq5OTInKPiASL25sislZEzmvu4LTmNfrCRzGdaaxddDlrFl5GTFwiA0bcTER0Z/btfBtnbRmFOcspLdhIZGwXPnzpYnJzyrH4DmTDqm+Z//Uj2Hz8CApp06ikfUCv6ChenzKRP44cgmExmLVj18ETkBF+fnxx+VQmDe/NiKHd+eLyqSQfZWrWA3YXFXPxp1+zYvk2lizbzLiZnzD981nsLio+5r6jExO4e2B/Lu6ajNXw/ry9zWIwsUMH/ik5pCgHX5pFbJMqukdG8Ov+TP6kYhhmBHGbisRS6WRtdq7XZWtafbz92r9BKfUfERkPhAHXAO8BPzRbZFqz8/MP5ao7vqS0OAOL1YfAYPfl2Bdd9wZzPvo/1iy8nICgGKZc8zJFebuw2CLp0P0uAMKih7Dqx6mce+FfsFrtxx3Dl1t38NzSlYxQgSw0avhyy3bemnI+NotBsN3OtK7JjSrvf8vXMNUZxDQjHAx4X+WTkl/O9V9/xzfTLybU9/hjrU+Ny4XNMPjbmBG8sGINH+/PIirAn5nDRxJs93FPC1inL989S2DTzw+knVm8TdwHPnnnA+8ppTZLSy/BrTWJivJ8dqR8h83uT4/+l2Dz8SMwOIbLb/3okO22b5yDYfz2cRHD6slC3ieh2TtSmbk2BVMpLunVjcu7d+HppSt4UsWRKHZMU/FgUSYL96YxPqnxo0MAiisrGcxvJwQTxE46NdiVsCEnl3MS2x1XuYcrqqzi3nkLWJ2bi49h8Iehgw4Z8QLukSYD28TyTHYO48xANkgV1XaDfjF6vhLtxHibuNeIyA9AB+BBEQnCPaWw1ort37uaz9/4HVZbEKariqXfP8cN98/HL+DILonETmezYNZjpO94h6CwHuSkfUnnHhO9XkR4wZ40/vXTcu4yo7CJ8NLydVhEqHA5ifMsHmyIEIeNkurq435Nw9sn8FnhVjooOy7gC7OQcRLMD6ocvybsV/7z/CVE59fwhdGJbGp5ePkaksLDGFjnhKaI8NyEc3lp5Tp+zM4lPjSC94YOwM+m+7e1E+PtJ+hGoC+wWynlEJFw4PrmC0s7GeZ8eA8xCRfQvtttKOViy4oH+Paje7j0pveO2HbHprmYTicFWUvISZ9NQEA44y/5bRRJTXU5FqsvNHD5+pxtqUw3w+hvuJcCu94M57ttqQyKieGtvHyuVOHsUtWsMiqYEdfmuF/T9X17UuhwcNvmbZhK0RM/1hqVRIQF0b9N07V01+Tk8jLtsIjQFh9GqkDWZucckrgB7FarXm5Ma3LeJu6hwHqlVIWIXA30B/7TfGFpJ0N1dTmRcaMREUSsRMaNoiBr9hHbmaaLRbMfo/fw1/ALbIdpOtm07DYy9q4iPLoTX71zE4W5O7CaTmqB2OgkJj93H/51yrBbLZTx25WPZbiwW608dd4oHpq/hJuy04jwtfPPUaO9nigqu7yCL7buoNrl5LyOHegZHYnFMHjg7CH8YfhgZu3cRUp2Lm1DgriyR7dGnXCsy2WavL52A/N37sXfx8pdQwcQ4evLTkc1A8SKqRS7jRr6eTF6RdOagreJ+2Wgj4j0Ae4D3gBmAuc0V2Ba8/MPjCQvYz6BIV1QyklexgJi4o48GeisrUQphW9APACGYcUvMAFHeQFLf3weH/8e2GU3f7HE0B0/5uSXcMWMR/n67H4cGGtybb9eXJ/2HVWmwobwjVHCfwaOJczPl5cnN35Jrqzyci7/bBaDnb4EKYObN23jX+PPZXg798INIsKU5E5MSe50jJKO7YWVa/lp0y6uU+HkqVpunTWP2MBA/i05DJRAsqSWgLAAJndOosblotLpJNjHp0lX0NG0urxN3E6llBKRKcALSqk3ReTG5gxMa35J3UaxYfmHFGQuwjRrUMqkx+TfH7Gdjz2Q8KjO7N/5Lm2TplNWtIX8rGWsXVpEbuZGOvedRLSxkJ7K3caeLKF8XJxGYXUNBzonukZGMHPaBXy2eRtppWX0dvnw9ZYdBNhs9Ihq/GRO72/cwginHzdIFAh0MO28uHzNwcTdlGZvT+UhFUWi2EH82Kuq2V1eTZmPhWGDuhEV4MeohARmbtjE/1avxUDoFBrCixecR5S//7Er0LRG8va3Y5mIPIh7GOAcETGAM2PZktNYeupyug14gi5nPU6Poc/TLvkGUjfPr3fbi657neK8Jfw6byI71j9Jl7MeAyMGq08Azppi9plVVHn6tzNVDbXKJMhqw5mbgSsvA4DO4WEMio9jU1YuvbOdhO0u4aZv5rI1v6DRsTtqaohQv7U7IsSKo7b2KHscPx/DwFHnXLwDk26GH22xkRgSzLgO7VmZmcUHa1N4VRL5VDrStQQe+nFJs8Sjad4m7suBatzjubOBeOCZZotKOylsPv7U1hQTHN6TwOAknDUF+PgG1LttUEgbYuN70anXHxg49lPCo4cQFX8+/oGR7E+dSa1PIHeY6Txl5vAHI4+zJ/2Vry/8irYz7jyknJlrNnKbGckEI5RpRjhTzRA+Ttna6NjHJnXgK6OEFOVgr6rmTaOQcZ2Obwjhsdw8sC/PSA7fmsW87crjV1XOaIIoVk78PSNENubmMdwMIFJs7m4aQtmYl98s8WiaV10lSqlsEfkC6Ox5KB/4qtmi0k6K4ePuYfYHd+Eo34vLWU5RzmImTGv4bQ2NSGDvrrVEtxuPiEFJ/ipi4noxYsL9ZKavpaw4Ez//UCbH9yambc96y3CaJrY6F6T4IJS5Gj+ydHi7tjwwcgivrVpPtcvFpOQkbhvQt9HleOOirsmE+fnx/NKV5JdVMEaCedkooF1kGL2j3Sv3tAkMYLGlGpepsIiwRVUSE6C7SbTm4VXiFpGbgVuAcCAJaAu8AoxpvtC05pbY+WwuuWkm2zfOwWoLYdJlswgObbiPePDoO0hLvYqUZbdisfiizDIm3voJQSGxhEa4VyzPy9rKqiWvU1tbRd9zroTkoEPKmNazK68sW81NpsKByWdGMf/pfnzD5SYnd2JyE5x89MaoxHackxDP7J272JyTx4SwEC7t1gWLZ6TKBZ2TmLt9FzPy9hMrPmyVSl48d9xJiU0784jy4so3EVkPDAJWKKX6eR5LUUr1qm/72Pje6uq7v23SQLVTg8tVS1baWkzTSZuEfth8fmtVFuTs4KOXL6NNh8ux+YSyf9dMnr3nckZu24Ilqi3VTidWw2DWjlS+2rQdH4uF6wf08eqEYq3LpLCyknA/P2yWU3P9D5dpsiIzi7LqGvrGRBMTWH+3k6Y1pNsrb61RSg041nbejiqpVkrVHBjeJCJWjmepEa3Vs1hsxHccXO9zG1d9QnS7C2mbdAUAPn5RPP/hK/TvlcCMOYtYmZGOIcKt/fsy85LJXte5IiOLGfMWIEphivCv80Y3y+iRE2UxDIbFn3pxaacfb5suS0TkIcBPRMYBnwFHXqmhndGUabrnMPEwDBumqfjbhl2kkcSgCd/TZ/THvL8tix927/WqzLLqGmbMW8D9rmhm0oE/mdHc//1CiquO/7J4TWvtvE3cfwLygBTgVuA74OHmCkprnXr0n0ZO2pfk7JtLYc4y9mz+NzddNJY1BSXEdLwaw7Bi940kNH4yKzO9m9o0vbSUMLHSx3B3yfQUf6INH9JKSprzpWjaKc2rxK2UMpVSryulLlVKXeK5rbtKtEPExPdi6nWv46xcTWn+HEZOuY+bp00k0teH8mL3kD+lFFUlm4gN8G5yqpiAAHJdNeQo9xjtPFVLtquamIAT6z8uqqwitbCIKqfzhMrRtJbg7aiS4cBjQKJnHwGUUqpj84WmtUbx7QcSf4N7lIh/VAQiC3m0d0duXPYijrxfqKkuJEyKuLKndyMuIv39mDFkAH9YsYbOhh87zSruGNCf2BM48ff2uhReWr2OMMNKlQEvTTqPntGNv3pT01qKtycn3wRmAGugzkxBmuaFWtPEAmRnLcdus/HkuHPwt3l/4e2VvbozJD6O3cUltA8JplN42HHHsjkvn7fXbOCPKoalznKyVA23ffs9v9xw1XGXqWknm7eJu0QpNbdZI9FOaabLSVlJFr7+Idh9619Jvbamkh++fIhdW37AavPj3IsfpTw+mjt+3USbXg/RI3Y4RbkrmbHgr/w4fQohdu9Xo+kYFkrHsNATfh07C4toj51nzGymGWF0FDvv1uQzZ+cuJnVOOuHyNe1k8DZxLxKRZ4AvcV/6DoBSam2zRKWdUory9/LFW9dSXeXAWVvO0DG/Z9Co24/YbtHsv1KQW0C/Ue9TU5XPwi8f5rPoi7D4hBAROxyAsOhB5PlFs7uohH6x0fXWZyrFr/szKaysok9MFAkh9X9RHI/EkGC2uxxcKKFcYrgXjIjAyofrNzeYuJ2mSXZ5BYE+Pk2+9JmmHQ9vE/eBgbt1B4Yr4NymDUc7Fc3+8G7CYy8gruMlVFfmsfrn3xOX0P+I8dx7dvxMcr8nsPmEYvMJJartBcz8pZyy6jKqK/Ow+0VRU11EhSOXaP+z6q3LVIr/mzuf1Kx82okPT5gOnj5vFCMTmmbJsX6xMSSEBuNbUmdFdgxcZv2X3e8vLeOWWfMor6qmwnRxfd9e3DWof5PEomnHy9vEPVEpVVX3ARGJaIZ4tFOMUor87C106uOeU8zuF0VY9BByMzcfkbh9/UJwlKfhF+hOslUV6QR16MfQMXez9pc7CQ1KpqR4C9f16krb4KAj6gJYsDeNtKwC/m3GYxNhk3LwyIKfWXL9lU32mv40cih3ffsjYaaFQCy8YRRwY8/6k/Eff1jEKIcvFxttKBYnf0rZRt820ZzdLr7J4tG0xvJ2HPcXnqslARCRWPQK72cEESEopC1FeasBcLmqKCveREh4whHbjr7gIfZsepY9m//L9rWPUFO5iz6Dr2LgObfyxttvcWfbEt6cMJy7B/RusL7cCgedlB2b5yrdLvhRUF2N2YSjT89qE8u/JpzLL1GK2eE13DzsLC7r3qXebbcVFjFe3F01oWJlkOl/XNPQalpT8rbF/TXwmYhcArQDZgH3N1tU2inl/Muf5et3byFv39dUVmTQPnk4HbsdOb9YQqfhTL/9U/bsWIKPTwBd+kzG7utuWScnd2N2fjFPrpuHj2FwU//eXNv3yKlu+kRH8zJrmaJCiMPGFxTRKyICo4lXkxnerq1Xl83HBwaypryCcySYGmWyyaji7KD6fy1o2sni7bSur4uID+4E3h64VSm1rDkD004dbdsP5Lp7fyA3czN+AeHEtO3V4LJcETHJRMQcufzZK/99lk37CvmvisfhMnlidQrRgQFM7HTopQA9oyP5v2EDmbF0OS5T0TEkhBcmtNwse/8Yew63fjuPH6kgx6zhrPg2jE9qnnm/Nc1bR03cInJv3btAArAeGCIiQ5RS/27O4LRTR0BQFB26jDru/Zcu+IFrVTiR4h6/PcUM5uc9+45I3ACXdO/CRV07U+V0EeDTsgst9YyO5Nvpl7Alv4AQu50eURF6LUmtxR2rxX34b8IvG3hc044qODSMjLR0uot7JfRMqSXUv+HL3i2GQYDPqTF9a5ifr1fdKqZS7CwswqUUncPCTtnpZ7XW76iJWyn1uIhYgKeVUrpPWztuHYc9wrvbprOrppoKTDYYVfQuKOKh+Uu4vn9vOp/A1ZCngiqnk9tmf8++wmKsCAEBfrw5dSJhvt7NyaJpjXHMJoFSygUMPwmxaKex2HZ9mHbnHLrceyd+bfyxmtAv20XI7hKu/WoOe4pb92x/r6/ZgK2gkpfNBF4025FUBs8uXdnSYWmnKW9HlawXkVm45+GuOPCgUurLhnfRWqPsfRtYv/xDFCa9B15G2/bHt6xYfcIiO3Dthbcw7cXnuZdoenqmai13mXy1bQf3Dmm6uk621PxChpj+WAx3//cwM4DPCopaOCrtdOVtJ5wvUID7SsnJnn8XNFdQWsvITF/L529eS4UjjMrKaL5652bSdzX94CFTqUMWDLYpcJmte5bgzlERLDMcuJTCVIqfjXI6R4a3dFjaacrb4YDXN3cgWstb8/PbtE26hjYdpgFgtQWyasmbJCQNa9J6Lu7Ujv9tTedaM4wiXMy1lPF2cuue4OnKXt2Zv2sP15ftxccwiA4O5LXhg1o6LO005e183L7AjUAP3K1vAJRSNzRTXFoLcJlODKvfwfuG1Q+Xq6bJ67mmUyJ2w2Buehb+NhsvDRtP18hDZ1BYk5XNs7+soLiqhhGJ8dw3fBA+FkuTx9IUymtquParbwl3mESLH+uVgxnDBzZq9kNNawxv+7jfA7YB44G/AlcBW5srKK1l9BpwCfM++xNWWxAiVtK3v8LoCx5s0jrenQUMfp0BM2K5L+VxMhavxxJx6CyBu4uKuWvOj9xiRhIvgby/Yz9/ra3l72NGelXH1vwC9haXkBQWSnJE03VX7Cku4c3VGyivqWFs5w5c4JlN8OPN22jrEP5AHAgsM8t49ucVfHbFRU1Wt6bV5W3i7qSUulREpiil3hWRD4GfmzMw7eRL6jaGcRc9zuqf3wbgnPMfoFvfKSc9jiXp+zhbBTLScF8ucLeK4o49e/k7x07cr61Zz3vrNtHF8GOrWcltA/txTZ8eJxzT/tIyrvpiNpNdQSRi4z+ZKyitqubKXt0pdFSRaFoPnjFKFDtF1a17lIx2avM2cdd6/i8WkZ5ANlD/ZMpaq5bc63ySe53fojH4Wq2UGC73xMFACS7sRsPdJJll5fx5/hK2FhRS43TxqqU94aaVXFXL71eu4fzkjkT4+TW4f0OUUmzMzaOwqorVGdmMNAO4zHB36cQrH55fl8KVvbozLCGOh7fuZLAKJBIrH0ghQ+Ljjuu1a5o3vE3cr4lIGO6V3WcBgcAjzRaVdoZQKJcLV0E2lojYg49O6tSRt9ds5IXqXNoqG3OMUu5oYA5sp2ly86y5DHfYGaMi+YhCwj0TWUaLjUjDRl6Fo97EPWfnLhbvSiPQ14cb+/chvs5Us0opHpr/EyvT9hNnsbO1toKzlD94vj9syMEZC89uF89tQ/rz8Io1OFxOxrRL4KGRQ5vqIGnaERozV8mBkSUvev4/sWW2tTPa6mXZrOY2/jxjPRnPvXRI8g622/nk0im8n7KF4soqHm3fh9GJR04jC+4uDEdVDZdLG0pxUUAuG00HvQ1/VpsVlBou2tWzgs57Gzczc+UGLjZDyKGM6btn8fllU4nxLEK8OG0fG9Mz+Z9qh91lsJoKnlKZzDOLicTGe0YhF/foerC8K3p244qe3ZrhSGnakbydq6QLMBB3axvc47j1ZWHaCfteTWDCmBVkLF5/yONhfr7c7cVKM4E+PpSbLspxESwWZhgxPGZmYMPAz2blvxPGElDPwsTvrEvhTyqGjoZ75EeJy8Xsnbu4qZ97rvCMsnK6KV/s4u647iP+1KDYFGvFUVvL5Z16c3Xv7if68jXtuBxzrhIAEfkJ6K+UKvPcfwyY0+zRadoxRPr7MSW5E3/YvofhZgCrqCA2IID7hw9iTIfEBufxdpkm9joXAdkRnHWWL+sRFcHrVHCJCiVKbHyniukaGsbLF05o9tekacfi7ZWTMUDdAb01nsc0rQm4+7qduRm48jIavXeBw4ENYb+qIUhZyK1UPPjTGubt2tPgPlO7JfOckct608E8s5jFUn7IPNv9YmO4YUAf7lDp/I49/OBXyb8nHrl4hKa1BG9PTs4EVorIV577U4F3miUi7YxyoK/bf1IEM5IXkvn8i8feyUN5plFdmL6PD6Qjy40KXjFzqTFNAswInl2Vwvn1zPcN8PvBZ7EpN4+nMjMBiAkMJPCwub+v7duLS3p0pay6hih/PyzGoe2cKqeTXUXFhNrttA0OYn1OLrO27sRqMbisR1c6tfIZD7VTl7eXvP9DROYCIzwPXa+UWtd8YWna0dW4XNzx/U+syynAtAZynyuHUrOSpy3tSMCHD5yFzCkrPWK/zXn5pOTmk1NRQXpuES9b2hOKhXcrCnhk/k+8clhXSIDNRq3L5MPNW6lyOjknoR3JEeHsLirm5lnz8HVBgauWgW1jWZWRxUUqlBoU12xP5d1pF5Csk7fWDLxtcaOUWgusbcZYtFNMZUURW9d/TW1tJUndxhJZz5JkTUuhFEcMD6zPq+s2kVoTRZ8xryFisPGXOxhUmkl7cZ9snE44n7kKMJU62M/99LKVfLRtL+ExQynO2cwUlz9hFvefwAUqhHs93TSO2lp2FBbhb7MR6evL5Z/PolONlVBl8NaajTw3cQzPLV3J1OpAzjdCceDi//btYxSBXGJxX6lpM4X31qfwt3O9u9pT0xrD68StnVkc5QW8/8IU/AK7YvUJZdXiy5jyu1do13FIs9RXlp3NTb8UM6lPb9ovX0mMmYElquFVZzYXlBLS5goMw929ERYzlJ0lH+JUCqsIO6ki3Md+MGl/mLKFd1O20fecN/EPTCRr7zes2/wK05XCIkKKqiQuMIC0klJu/Po7AlxCiekkLMCP7lVWfm/EgEB305d//7KSPaWl/EkSAfAXC4MJoBTXwfiCMCisdR0Z+IHXW13DorR0XKZiREI8kf6Nv0BIO3PpxK3Va92ydwkM7UfHnu6h/EGhPVjy3dNcfddXx9iz8ZzOaj5743eUl5bws18U1aUbeW1gV/ocJXF3CglgR+7PRMaNBgRVU4z4+3B/bQaJ4sMas4J/nHvOwe3/u2INFgS/APd48JiESWza8RZ3udJpY9hJlSr+M2Is133xLec7A5lmhFOjTB4s20+pacElim9UERuVg/1lThKCAllWVsYEQnEok7WGgwplskk5qFaKj41i/tGtT72x5zsqmf75LOJrLdgQ/r1sJTOnXUCH0JAmPa7a6Usnbq1eVZUl2P1+S5x+gfHkpB3ZZ9wUNq36hKpKRc+hLyJikJcxn0fXvcoXoSGIxVJvt8ntZ/VixbcL2frT1RiGlSCjkvcuuYBNeQUUVlZyb0w0HcNCAfdJTIfLSYwRSGbqB8QlXUF58VaqzRruPmcw/jYbfWKieeKnZVTU1DDMEgiAjxgMVgF8RAF/du1DEM4zQgg2HaS5TD6zljJPlVNo1nJeUgeSIkJ5b/NOLIbw4FnDGJnQrt7X++rq9Qyo9uEmiQLgS1cR/1m2iufPH9ssx1c7/ejErdWrY9dRzP30QUIi+2HzCSV9+2t07Da6WeoqLc4iMKQH4rnYJSisJ1tTLbSdcQeZz79U7z4BNhsfTRnHlrwCXErRIyoCH4uFUYn+R2wrIgyLa0NqZh4lO2ayd/sbGOLDoyMGMDm508Htlu7PJAk7C81SrrREUqlMlpsVjJUQFqpSPrAksYdqfE2hpNzB7cMH0Cs6kmC7nXbBQXyXupvRndvTLTKC0Yn1J22A/PIKeig7B4aRJ2FnfYXjBI6gdqbRy1Br9erQZTRnj7+H1PV/IWXZbbRNTGbkhAeapa62iWdRkD2f6qp8lDLJ2vMpbdr1ZX9E36PuZzUMakwX761L4YHvF7F0X/1jwPMcDrbmFzJIAplCEIEYoGp4acVaFu1NP7idr8XCRCOUH1Up1zl3c6NrDx3Ezm0ShRPl7n5xZRIrNsZJEM//ugpfq5WE4CD+8P0i3vxpFblr0/jngqX8+9dVDcY9KKEt31pKKVZOHMrFl5ZiBrXTk1Jp3tMtbq1BvQdNp/eg6c1eT1L3seRlbWX5wqtAhJi2vTnv4lcBUAqcuRmIcMTJytVZ2dw950euMsOwIDyQuZAnxo3inMNau3N27qaPy5cbjSgecKZzvoQw3Yhgp7Oah+Yv4cNLLiSjrIyK2lpeMHPoiR9bqORJI55Ew5cU5cBHDN5SedxqRDPCM92szRTeWZdCoaOSXzMyicRKFyOU/2/vvsOjqhI+jn/PnZLJlPReSKWFjnRQEaTYUBTL2nXdXXvXdV9Xd13FArZ11XWRtVcUcbGgIALSBSGUAAkQQkjvbUoyM/e8f0yIAqFKi5zP8/CYmbn33PIkP8+ce8pFejh/2LiZG/v1Jjx431Xer+jRjaL6Bm7M2YyUkgvS0rllYL9jdHeV3yIV3MpJYcjoOxg48mZ8Xg9BlkAwvj0bGDSNAcPi6PnihH32+WjdJq7UwzlHC7RlB+mC97M37hPcXl1H6JKNuMjDw9NaMpoQZBHMacLG2rJy/peTx+3EEGcwkS1dFOkt/J8sJl2zskP3MHXsWTy1cBl2789fUu0YWFxSRpJH4z+GVIqll6l6KY8ZErFrRhpbWtoNbiEEDwwfzH3DBiGl3Gdgj6IcjApu5aRhMJgwGPadEAogaXR/iuYHhhHsfmAppdyjrc+AQLaz5rDP72eR3kAegXbkQlpIJQi/lOwSLZg1A1urazmfGDoLC52FBRsamxJMeHUdZ0kTD363kIHxcUwvq+YWKXBLnRlaHS63n8dFCmHCSJQwcaZ08I5ehdVmJsFhP+D1akLAfuZSUZQDUcGtnPR2D4sfcHcc41uXOwOY1Ks79xfPJ0jXMCJ4Q6vmkT4j9ti3uKGRt9du5F+GFDxIPtNreNC/i5HGUPK1ZuKiw1i+s4hO0sQ0WcHNxNKMztt6FQlNIVgbWnjXkI4HnUdKiumblsS7VbWYDBqPDBjBMzudU0MAACAASURBVD8sp8zrJaz1T6mQFmrtBqZPOAejqkkrx4gKbqWDaV18obKYoUmJPDPuLN5fuxG/Lrm722DWFJcxNy+frjFRxNltlDtdpBiC+NpbzxLZSJIw40VHpIZxc1oqZ6elcM2nX3AZ4RRrXt7Xq3ChY0ejpK6BRw2J2IUBOwYmynBWOV18+ruf15L0+f1MXrSc0bqdEs1Hk8PEp5dOaHcqWUU5WlRwK0eFbG2jEMfwq//umvd1TwB//SP+ymJGJCcxIjmJhuZmLvn4c/o3m8mQZj7csQ6zpuHToMLXQjlGXjGkYBMGNkgXU3YWM3X0SIQQxDhsLKyr4w4Ry1hDKE/rgW6Bn8s6dugeehgCoxq3Sw+NLXsuoXZu5wziHQ6WFRXT1RLERV07q9BWjjkV3Mqvovt9zJ/9d3J++gQhBH2HXs8Z5/z5mAb4J8sjueeeWyl+4dVAjxODgfmVjXTyGvijiAYB/YSVm/0FfEAGN4gdpGHGJgKh25Ngmnxe3D4fM3K28GNRKbqucw35+JGYjFb8Erx+nfdkNbl+D250cqSbyzvtu/Bwv7gY+sWpJViV40cFt3LYmhrKcTZWEhGdzuofprMrP4fTRn2M1H3krvkrIWEJ9Bt27TE7vquymsmVfbGeN7NtKlivrhP0i0eVFjR0wCgEWdJCtnRxi6+AcGEgS1owCw2n18srq9byMsmEagb+qBdQb3YQn3Urlc21yK1vInUvVfjxCJ0wS3DbCjl7K25o5LuCQgxCMD4jTc09ohxTKriVw7Lsu3+yevF0LMEx+LwN2EPjiU+7CpM5MM9GXMokdm5dekyCW0rJ9s3f0VBbRFxSbzKjx7J7RsHhNiP/lE6+0GtJE0F86K/mTOGgDC/rpZsuBHODIYpc3cPrhgZ0TFzwyRxa/H5uYyfDhR3daKVz/0cJiwosmeb3OeknVtA9Moxgk5FzM9JxBJn3Oa+86hqu//xrhsjA8mavr87mw0kTDtqrRFGOlApu5ZAV71xN9vIP6XvGW5iDIqgqWciOnH9iC80nPGYQAK7GfMIjoo76saWUfPXh3ZTs2oQjLIvl819laNFtuIZfD4Omcd0EeOPOK3lxfR6Lm5uo9khyWxpZIp3oAh7U4ggVRv6tNRCdOJbEzlfRULORXeum8oiM4nlZRh1BxIuf/ySEZsKvS67v0/OA5/bS8tVc5g/lAi0w9/Y7vipe/ymbv40cccD9FOVIqeBWDll1+VZCI/tiDgrMOR0Zfya5a/5BeeFM3E3b0XUvrsZczr3086N+7JKdqyna8RO9R0xHMwQRn3Y5i7+5kd6DrsBosgTavf/2IBkvvNo2yrKxuYVgk5Ez3vyABl3HKP3kSycDe92NEBrRibE0Fs7h7eqN9BVWknULH699gqSed+Jrqado23skx0bw9wVLqHd7GJmRwoQumfu039d7mkni55p4kjSzyeU56vfgQKSUvPzjGt7bsAmAS7p34f5hg/a75qbSsamOpsohi4jOoKFmHd6WegBqypdiD03guru/pvfA0fQbci7X3TUHR+iBF0E4Ei5nDcH2ZDRDYKEEizUeTTPT7GkMfF5ZzeSlfZFPTGsbJh9cX4moreDmAX15XJQyV6/HL3W8zbUASOmn2VPBDpq5XovmIhHK71s0qrOn4tk0jb/ICFaXlOHKq6B7UQv/XLSSCR/M5MUVq/H4fG3nNiItmY+0Oiqll2LZwmdaPaendTrq9+BAPs7ZwtyNebwgk3hJJrFycwFvrt1wXM9BOX5UjVs5ZElpg+g54BKyf7iOYFs8ze4KJl4/HZsj5pjPaRKX1JvG2s3UVq4iNLIvpQWfYXVEY7VF7rHd27Ohocvf+XHB41Tm/UhKkImnBnQnYfQIPtqwCa3cyPpltxOTNI76qjUITxVmNApppqewcjYOFvsbGCEcDNUcROlVjNJCAiMqZRB/aSxi48YCbi+v5PUJ4xFCcFO/3tS5Pdy9ZSuaEFzXpycTu3U+pvdjb0sKdnGxP4zY1oUlLtPD+KagkN/3b/9hqtKxqeBWDsvp4++n96DLcDZVERmTSZAl5Lgc1xEaz4RrXmXOjAdwNpQSHd+TS254E7HX6ESv18NHr11Gs6cZIYxUNDVywbxVLDxvGGdPOIcvt27n1TWbcJV8zuiEKHp0782mqmqe2raD03GwTXfjljojNQc/6U5q8ZNAIAzNaAjgfj2Ga8p3cO93S0kPt3N9ryz+PGII53fNZGtNLSmhoce0O2R7woIt7KK27XUhzYQF247rOSjHjwpu5bCFRnQiNOLYNAX4fM2smP8vigrWEBqewOnjH6B0VzZLvn0Bn9dF117nMmL8AxiN+/buAKgsyaHZ4yImaTydut6ErjezcdmdvLF5GzcD54RZOP/yC/bZ75peWawsKSPe7eb97I1c4d+GEYEPyQLZQJI0855ezdkihA9FPb6gGHIt41lftok5+XO5KD2Jd9duwCEN1EgvKeFh/GfCeMIsQcfkPu3tloH9+F3hF1T4fRgQrDa6eXeIWu/yt0rI9mbl+ZXiknrLq+/48qiXq/z2ffH+7VRXVhOVOJ7qkvnUVq4CBAajjYjYoXhcu8joOoCR5z/c7v7lxRv56LXL6TXsX1gdaQAU53+CI7SWRVMup/iFwMIM+1tZx+PzMWD6O1jQcGCgCT8aAiEgVhq5jAieFBWcNnoGZkskUkq2rbyT+uocsqQFi9A4W4SwUjaxzS757PKJBBmPT/2o0uVibn4BUsLZaSnE2VWNu6Pp/tobP0kpBxxsO/VwUjlptDQ72b55HilZd7Bzy+u4mnahGSxkDZ5C1qCnaarPw2rPJG/jN/vsW7htKUu+fZaiHSsxBdmpLl0MgK57qSlfQlRUFyYv7cuM82aSeM+tSL8fX0Ux/sqfF19YXlTCLV/NxYBgsiGJ6cY0/mpIoAUdzWKhOrwL00LDkIDRFOijLYTAYA4lWBjYjocHtXgGa3bu0GIRbh/rKiqPy70DiLZauapnFlf3ylKh/RunmkqUk4YQAiklRVvfJSJ2GD5vA46w7oSEB4aZp3b/E/kbX8KyV9vtupUfsHTui0QljMftXIfF4qCiaDZVpd/j9zlJ6NSHPkOuBgK9T/5R1oN5BaFszfkSk65zU7c0wsPCeGrxCjphJg4TmSIwj3ZPYcWBgUq3kyFnTsVgtOBf/Sh5a58gqfO1OOu20FSTjV/696kFCSHg6H+hVRQV3MrJw2S20rX3+eRvWUJq91upKl2Ax1XW9nmzu4JmTyVnX/TcHvst/mYKWYNewGKNp2DL69RXb8QRGsOgM/9AdHwW0fHdEUJQU5nPzm2LyV7+HrWVBQQFR9EsPby+tRzhyeUvWgIpwsyd/p2USy+xwsQu2Uw9fgzA6m/PIyHjSqKTxpG/fgol2Q+R7LAz9fzRXD5zNmYET/iLOVcL40fpxG2GPrHRx/kuKqcCFdzKr1JdnsfXMx6griqfiJjOnHv5c4RHpR1xeeMnTWHG9KvYvvEFkDp1+kr8PjdGk5WynbMxmYLo3GNc2/ZSSrzNTQQFx7Jt/bP4fS66D3wSZ/1WFnw5mWvv+gohBLvyV/C/d24mPHY4Pl8wQdZ4UrNuZlv2kzT7dHTNgBedaGHiGi2KO/w7SRBmimmhN8H8zZDIDL2GGdveIwoTmvDx6MiRnJ2eik/X0YFpIoVPqWOOXkel8HNtv77HrX1bObWoNm7liLU0O/lk+jU4IkbR94x3CHYM5ZPp1+DzHvmoQc1gJDQ8hci400lIu5SopDGYLeEgDHQ97TGk7ttjeyEEaV1Hkb/xBapKFtC538M4wroRl3IBYdEDKMhbBMD3sx8nrce9xHaaAK4ymp07KVj1MJ263cSQ8V/Rc8jzTKWGOt3HAGHDAHROCgchuNcQTxleZss6XjGk8h9jKpO1RB7+fjFurw+jpnFmYiKvG2oYp4UySgul3qAzOvX4DsJRTh0quJUjVlWei9EURlzKBExBYSSkT0JKA7XVBb+q3JrK7UQlnEVodH9qypYSHjOExIwrqC75jk4Zw/fZ/pzLnyMsIjAbn9/b1PZ+i7uGDYun8/0n9+NyVhFkjWPrivv5U4tglqEzt2kxlG15A7/PTUhEL4zWWG7Qd/BHfwFn9+nMlIG9ibcEsVm6KZVeUjATJwJ9uruKYKxCo9zpBOCZsWcRmhLJY+YKvglr5t8XjCMxxPGr7oOi7I/6HqccMUtwKM3uKvw+NwZjMD5vEy2e2l89KCc6rgtVZQtJ63E3qd3+wMbl9yD1FlK7jmLcpc+2bedsrKSxroTQiE6cee5D2OyRbFn9Z2KSL8RZn4urJocb9RDyaxey2dBCYe5/CPf7OVMLnN9ZIoQPdCclBZ9hMATjbanj8ju+JCwihRXfTmHU/HnY7Taec5USJ0yUEBjSnijM5Eg3bvS23hs2s4mnxoz8VdetKIdKBbdyxMKj0snIOptNK+8mJHIA9VUryeo/kZCwhHa393o9eFx12BzRaJqh3W0AzjjnIT7977Vk/3AtUveSkNKfAaffiMddh7OxiiBLCBtXz2DBF48TZI3D1VSCJjSMJhsGg8AotlNZNI/pIpkYg4mzgFy9gm0N23DrLhqFH4cw0CD91Pib6LTlPaxCoNFCccGPbF75Pr61c3hMD+HF+mr8gF+CjuQevZBYg5kafEwZ3AfLSdiGXevx8Mba9VQ2uhiYnMDF3Tof95GcyrGlBuAoB9TUUM6cGQ9QXrQOmyOOvkN+hy0kmoSUAdhDYpFSkrfhq0DzRmwXMnuMbzck1q38gIVfPo4QRoQwEB3fjX7Dr6Vrr3PbPa7u91FTuR2EYNl3L1FamIMtJI26yjWcfs6D/DDnGXoO+Rf11euo2PU1PYY+j6YFUZj7OmZTFYVb5vORloZFBFoDH/TvosAaRbqzihp89BFW1koXDfiYYQzMK/KxXstM0YSmabyox7BGd/KmrOIVQwoxwsQ26eEBfxGTbvmU26/vTMgz97ed7/4G9BxvzhYvk2Z8Tne3gUwZxBxDA6O6Z3LPsIEn+tSUQ3CoA3BOvuqCctKQUjLrrT9gtvak5/Db2LL6EZbNn4Y9NJXGur9y8Q3/JaFTf7r2Pv+A5ZQXb2TxN8+S3vM+duS8TEq3P6EZgpj/+WNI3U+3PnsOQc9d/yULv3ySZk8D0XHdaGiopdew19AMZhrrtvDD1w9iDUkn2J5MacFnRCWchcEQ6HcdnTiGvDUPk5I2iMeLtnChL5hNNLND04hOGoN92yyukFZ20UIERhbIhrbjdiUIi9lEc0s1NfjIkW5SMRPT2q6dKSxYEQTbIvhsQQgMmsaAYXGM3/B3iuavaVtG7UQG+MLCXUQ1w20iBgQM0m38fkMOdw0doKZ4/Q1Rwa3sl8dVR23VdgaOeZGKXXMwGIPpM+JVhDBQWbyA2e/eSmLqQGwh0QweeQs2R/t9litKcgiPHkhd5SqSu1xLVMJZFOfPwGyJZ/E3U8nMGoPRFAje0l3ZzJv1KF36/4NgWyJbVj2MxdoJzRCYm8Qe2gVvixNnww7cTbuw2JKpKV9KXOpENM1IdelifD4/5TWV1FjtvO+IpqaulLiUa4hJGsuWonm4PA3E6JIlspEwTDRJP0YEn4omjCE9kH4bT9aXEO/3sRUvz+sVTBAhuNHxCLCHxrdd2+4FjK3nRXKvZ/LPAd46J/jx5vX7sQqtbeBPMBoSiS6lCu7fENWrRNkvkzkYXffR0lxNs6cCR1gPROuCu411Oei6EV3rTnlpPe+/cjEed3275YSEJ9JYtxkp/ei6n82rH6GpbgsxSePQjDHMevuPSF0HAkPXoxLGEBLeA5M5jOSuf6C2YgXOhnyklJTkf0xUXHfOGP8AG5bdSlXJNzjrc1m76GrWLLyOsp2z6Tn0RXoP/w+YYujU9wKGnvsQ5Ts/xVmfR0KPO8gVOlXShzCYsWUO5kr/di7z51Noj6O+IZe+Q64iKKYzuQZBbPplbM2cyH1U8Ii/iBETHgMpqa7YRrPn59q6q7KaJxpv5q1B0wLD6kf1x1dRvM+w+mNteHIiOXiYrdeyWbp5TlQwNjUFo6b+1H9LVI1b2S+jycLQ0XexZtndWO2daajdQHzqRZiCIinb+T8GjPoIsyUwH3buT39l+6bv6HHaJfuU0yljOOndRpC34VuqyxZjNNkZMOojhGYkKvFsshddTU3lNiJiOuNsqsTdtAMpJUIIhBCYzFZyVtyJ3+8lNLwTuu7j+y/+jkBD6k2Mv2wK4ZGpfPz6VSR2vo6a8mVUFn2Hs3E7C79az5Czbmf4mDtYvfjfuBrK8fvd7LSFcfr4B+lx2iRKdv7E2qXvoCMZ2O1GFn71NEGWJJIyriK5yzVAYOEGZ+33hEWm8NpjfTBLSQuSUROfosfAS/e4XldlNU9wMwyC6yYAf/3jcauFR1utvD3xPJ5dspKlziYGJiVx95CDNpkqHYwKbuWABp91K7GJPSjdlU1lqZW1i64BNJB622o0AAZjMLrubbcMIQRjJk6m98DLyVn7GZvXzoHWmrsQBjSDCV33s+CLf5C7YR4+r4ecFfdhC0mjumwB4yY9TWb3MbS0uHjvXxOIiDuPHkMvoak+l00rH2DuJw8x6aZ3MZmslBV8jtWRhttZSJd+DxMS3pP1P97L8DG34m1pwhHZB1fjLuqdxfwwZyo/LX6DS37/Nhdc/TIAPy56jfCYETjrt2GyhLddgykoHL+/ha/fvJ7+0kJ3LZh5egOLZv2FpIzB7U5zq+t+XnmvCkv/fzHkjBTGrf8bn3w4j1KXh+5hIfSICj8m7eEZ4WH8+4JxB99Q6bBUcCsHldrlTFK7nAkE5sv2tXhY8OUTbM1+nIT03+Gs30ZD9VrSuk7ebxlCCOKS+xCdkEVR/ioKNr9MROyZ1JQtJNgaipSSzdlf0Of0NxGakdKCWezKe5NLbnibTpnDAJC6n6aGMnoMnQSAI6wbIRF98PmcLJv3AgaDg94jXkbTjDTWbmLz6ocZNGYWkfFjyF7+HqFRI7CFdMHd9BEDx8zEYLSxa+ubfPvpQ0z6/Vttx6itWIExKILC3DexWBMxGIIozH2NxE49sBbl8LAhASEEo0QI1/vzqSzbsk9wV5RsYtZbv8fb4kHXW8i96HGe2F7Azm3VhERk0ZC7lHu6JHOZ3996f05Mm7jSMangVg6L0RiE0RjE2Isns3Tei+zc9jY2RxTjLn2GXfnLcYQlkpgyYL/9hg0GE5f+4T0WffUkFYVvEBXbmTOvfpeq0s0E25PapktNyvgdlUVfYQ+NbdvXHBQY7OJq3IHVkYazsYD66jUYTSEUNWzFHBzT1gYfeIhZj657cdZvQhM6Vkc6zoZtRMaf0XacmKRzyFlxJ/U1hYRGdKKqPA/NYKXP8FepLP6OHTkv0+wuI7XzMIKt4VgxtF1bCIFjOUL37LcudZ1Zb99EfPoNxCSNwdW4g+//dzea0ULf09/CYAzGnVrEU0v+SMMlMxlyZmpbzxRQIa4cnAruU1xDXQkFeYswGoNISOnP4m+ep7o8j4iYTEZf+Cg2R0y7+xmMZs4450EANq2ZxZyP7yc0qh9N9Xl07jGasy/6x36PabVFcM5lz+7xXlR8d9yNO6kpX0F4zCAqi+YihJ+Q8KS2bTSDkTETJ/Pd/+7GEd6LhuoNJGVeQ1Lm7/D7XKxbcgvF2z8kMeMKCvPewhwUwaYVd2K12+ne7wpWLXqHiLhR1FasIDHjCjTNRE35coTXw0fPjyWt5zls37wAe1hPhNCISRpLdOJoVn49DmfuEsqkD4mfuf46umvBfKzXEBXeidjEnntci9tVS7OnkZikMYHrdaThCO9BS3M1BmNgaH6wLQnNYMbjrm/rmbJ3m/huKsiVvangPoVVlOTwyetXExo9EL+3kbpZjxCVeDaJXe6ipmwRM6ZdxbV3fYVhP8uEAfh9Lcyb9TC9hr2M1ZGGz+diw5KbyOp/EQmd+h/yuVhtEVx43TS++uBOtqwuIzQynUtufAujcc+lv7L6TyQmIYucNZ+SvXwt0YmjATAYrUTFj6Qw7y0K897EHBSCIyyOrL4XYA+Nx9vcRFrXweT89A4AP31/JUIzIt2VXICDnsLB1A1fEp4wmtryFZTvmkNIeC+Ktr1HN4Od66SDV/Ry7jUk8W9/BW/6q3HEZHLprZ/ucy2W4FCQkqb6POyhXfB5G3E15uPzOqmvXkdIRC/Kds4m2BqGzb5nF8q3ZwODprW9/mU/cVAhrgSo4D6FLfzqaRIzbyAuJTAAZuu6ZzAYbDjCumEP7cr6JTdSVZ5LbGKv/ZbR7GlA04xty4QZjVZsIRk01Zftd5/9SUodyJ/+bzl+vxeDwbTf7aLiunLmuQ9TsnMd1aU/kJA+Cb/fQ331KjKzxlBWvJXkzjfR7Klg2Xf/xOZIwRqSTm35ci667nUSkk/jw9cuo666AKM1jsXhvZhTvgy734C7cTvdBz5JweZXKcz9L5rXzUvEkSc9GBFkCAvPGjvxKjU4B0xqd14WzWBk/KVTmTvzzzjCu+Ns2E5WvwtJ7TKCrz++F4+rlvDoTC5uZ7HjvanauNIeFdynMFdjJeFxmW2v7WHdaKrbAoCU/tbJow682G2wNYKg4FDKC78ittN5NNXl0lCzgZiEngfc70AOFNq/NP7SZ5jx+tVUl35Li6eWtG4jKdrxIxm9/4YtJAMAT1MRQjOR0u331MauZP7//k6P/hPxejWMphD6nvFfDIYgPK4yfvr+KhLDIsjfOAWLNZGm+jxG60EsEY28Sx2hWmDYe5FsYZHRzWXdR+/33Lr0OofYxB5Ulm7BERbf9j+/Wx/5Cb+v5YDfYvZn79q4NfrnQT+/pML8t08F9yksKX0wedlP0tJci6YFfhXMlkjKdn5BXeUyYhOziIzpfMAyhKZx8Q3/ZdZbN1Gw+RWEMDD+sqmERR77uajDo9K48b7vqC7Pw2yxEx6VzvSpZ6H7W9q28estmIyBUZm2kEzczmpqKwsItqeiGYIxtHZp1P3NGIwWqsrzCAlLpPegcURE38K2tZ9T1uxiZL+LKN2+jKc3z8dijeGCCa8QEZ1xwPMLjejUbjfBIwnt9vyyv/hu7dbKT5J5VJSjR00ydQpb8OVktm/+kS79HsHna2Lzjw+R2mUImjASGZfJacNvPOSQkVLS7G7AbLG3O/NfdcU2vpnxADVV24mIzuScy54lIjr9sM/Z5/WwYfXHOBsqSEwdgK7rLPvuJXwtbuKSe1OQ+wM+n4+Ubn+g2V1O0fYP6HbaZEIje7Nj07+w2bwkpw9m7bKZOJt20aXvw9jDurJm4bV06nI9EbEjqCyeS13lfG6459ujFrInwt7t46Bq4yc7NcmUclA7ty4hpdvtmC2RmIkkIf1yDIZSxl865bDLEkJgsYa2+5m3xc2n068hptOlJHd/hKqSBXwy/RpuvH8+ptY5Sg6F39fCx9Ouwus1Yw3pQvaK+9F1L5m9/4zf52HLuql07f9oa2B/iMkkGDLqdlb/8Bg+r5vkjNMZP+mfmINslBZms33zDnLX/A2/z43VkUp86kQAkjKvorJ4DnU1Ow/6jeNk9sv2cWi/Ng6qRt4RqeA+hQVbw3E3FeIIzwLA4ywkMiL2IHsdvuqKrWgGW1swJqRdTFXxV9RUbNunK92B7MhdiMftIWvwFITQaHaVE2xPJiJ2GKUFs4hKGEVE7FAAYpLG8uO8ixgy6g6GjLoDKfU9vgmcf+VLNNaX4fe14HbW8NlbN6H7m9EMQfi8TTS7q/H7fPs7lQ6pvTbye7rMp/iFV9UDzw5GBfcp7IxzH2Tmf6+nqX4zfl8TrsZcJlz5+RGXV1OZT3nxeuyOWJLSh7QNVAmyhNDsqcHvc2EwWvH5XDR7arAEH95KOS3NTZgtsYjWObZN5lBammsAMBhtNLtK2uY48bjKMJltbeewe2DOLzlC48jd8DXfzLgfXZesW3ILEXEjqClbisWWzNyZD3HVbbMO2vOjo3JVVjO5su8Bux/upsL85KKC+xQWn9yXq27/nPwt8zEYzXTt9RzBtvCD79iO3PVfMe+zhwmN6oezYTspmYMZf+kUhBCER6XSuefY1pVyBlFfvZKuvc9r98HdgSSlD+b72f+gqmQh9rButLRUU1O2FE0zohntNNXnkbv6YYJDMqkq/oYzznnogOXV1+xi3sz/o8eQF7GFZJC/8SVK8meS2fteIuNH8tP3k2hqrMAReuo0I+zdvAL7b2LZTTW1HH8quE9x4VGpnDbi97+qDKnrzJ35EN0HPYc9tDN+v4fsH25kybdTGDHuQYQQjL34qcBKORXbiRx8D517tr/yzYGEhCUy8YbpfDfrUQpzK0lMHcC4iz9lS/ZsfF4PA4f/m7qqHbiaqhk28iWSM4YesLzK0s04wrtjDw20Y2f0upvqsh8IieiF7neh+5sxmYKP6J78luzdxLKbamo5cVRwK7+a1+vC72/BFhLoE24wWLA5Mln/42f4fF7OOv+vCCEOulLOoUhMGcB1d3+9x3uxCT1+ftE6GdahCAlPpKl+G76WRoxmB86GfHzeJiqK5lFdOp+eAy7b7wNX5fCbWnZTof7rqeBWfjVzkJ2QsGTKCmYRlzoRV2M+DTUb6DbgCdatuI/hY+5pmyDq1/L7Wli16D+U7FpPeFQKQ0ffERhifgRiEnrQc8AlrF96E7aQTOqq1mG1ReD1ZDNi3G306L/v3OLKge2vqSWxOhtgn9o5qKaWI6H6cStHRW3VDmZMuwpnUyWaZiKj931ExY9k1bwLuenPP2C1RRyV4/zv3Vuora4hKmEc9VWr8Dbv4Oo7/rfPnCaHo7xoAw11RUTFdSM8Ku2onKdycL9samnPqdjkovpxK8dVeFQa19z5JW++MIb41CuxOdLZkfMSUXHdCLYe2QPPvbmaqti5dTEDRn+KZghCItixcTlvPjeOsRc/QUrnEUdUbmxSL2KT9j8fi3JsVdOAUQAABpVJREFU7K+pZbdx4hsV6vuhgls5aqz2CK7444d89/nf2b5+NnFJfTh74vT9zs19uHTdH+gKKAxUlSxg5+bXSO95F7rewuz3buOi6/5DcvqQo3Is5cRYveznyclW03effucAWZ1Np3yXRRXcylEVGduFy//0wTEp2+aIIb5TP3J/+hstnmrSetxBZFyglu3zNvHjwv9gDrITHdcNzaB+tX9rXJXVAKyu5JTvsqh+u5UTxu2spbo8D6sj+pDmLRFCcOE1rzHt6RH4fX6kDCz75fO5KC2YhdRbmPX2LdhDIrn0pnfanXJV+W063C6L7elI4a6CWzkhivJX8vm7NxNsS8TtLKH3oMs545w/H3Q/o8lCcvpgtm2ay/b1z+L3uagsno8tJJOu/R8BIH/Dsyz59jlGX/jYsb4M5STXXjv63g4W7kIAv5gu4WQIdxXcynEnpeSLD24no9dDhMcMwtvSwIZlN5PefRRJqQMPuO+2nG8pK9rCoDGzaKjZyK68t2j2lJHR6762ofDhsSOoKp9zPC5F+Q04ULjv7pe+W9H8NfsMNtrteLavq+BWjjuf14PbVUNYdCCkTeYQrI5Mqsq2HDS4q8pzCY0agtFkJyJ2SGBK1gVXUVO2iIjYwGrwNWWLSOjU5Zhfh/Lb19YvfbdftKsPGBbHOPENAGL9in0elu52LMJdBbdy3JnMwWiamarSBUQnjKLZXUF99ToaarMOum9EdAYbV3+F33c1BmMwNWVLiIjOwGR0snbhVSAE4ZHJjBj7/HG4EuVUFgj1vq2v+u4R6rsNGBZHj6hAT5nkBa8dUrgfChXcygkhNI0dOa9QmPsm3uYa7KFdD+lhYpde55G/ZRHZP1xLkCUSn7eOS296l4joTGqq8gFJRFTGb3ZGP6VjCYT7bjcfNNyZmXJI5argVk6IjO5nU1NVR0zyhfh9TnbkPE9q5zMOup8QgvGXTqGmcjvNngaiYru2DaePjMk8yN6KcvLZM9wPjQpu5YQYe/GTzPvsYbate5wgi4Nxk54+5NGLQggV0sopTQW3ckKYg2yc97sXT/RpKEqHpBoCFUVROhgV3IqiKB2MCm5FUZQORgW3oihKB6OCW1EUpYNRwa0oitLBqOBWFEXpYFRwK4qidDAquBVFUToYFdyKoigdjApuRVGUDkYFt6IoSgejgltRFKWDUcGtKIrSwajgVhRF6WBUcCuKonQwKrgVRVE6GBXciqIoHYwKbkVRlA5GBbeiKEoHI6SUR79QISqBnUe9YEVRlN+2FCll9ME2OibBrSiKohw7qqlEURSlg1HBrSiK0sGo4FYURelgVHArJxUhRKoQYmM7708XQmS1/vx/v3g/TAhx6/E8R0U50dTDSeWkIoRIBb6UUvY8wDZNUkr7oW7fzv6CwO++/qtOVlFOEFXjVk5GRiHE+0KIzUKIT4UQViHEQiHEACHE00CwECJbCPE+8DSQ0fp6KoAQ4gEhxCohxHohxGOt76UKIXKFEO8AG4FkIUSTEGKyEGKdEGKFECK2ddtoIcTM1jJWCSGGt75/ZutxsoUQa4UQDiFEvBDih9b3NgohTj8hd0w5pagat3JSaa1B7wBGSCmXCiHeADYB5wP3SylXH6jGLYQYC0wC/gQIYDYwBSgE8oFhUsoVrdtKYIKU8gshxBSgQUr5hBDiA+BVKeUSIUQn4FspZXchxBfA063nZQc8wF2ARUo5WQhhAKxSysZjfqOUU5rxRJ+AorRjl5RyaevP7wF3Hsa+Y1v/rW19bQc6EwjunbtDu1UL8GXrzz8BY1p/PhvICrSoABDSGtRLgedba/qfSSmLhBCrgDeEECbgcyll9mGcq6IcEdVUopyM9v4aeDhfCwXwlJSyb+u/TCnlf1s/c+61rVf+/JXTz88VGQ0Y8osyEqWUTVLKp4GbgGBgqRCim5TyB+AMoBh4Swhx7WGcq6IcERXcysmokxBiaOvPVwJL9vrc21rDBWgEHL/47FvgxtYaMkKIRCFEzGEefy5wx+4XQoi+rf/NkFJukFI+A6wCugkhUoByKeXrwHSg/2EeS1EOmwpu5WSUC9wmhNgMhAP/3uvzacB6IcT7UspqArXfjUKIqVLKucAHwHIhxAbgU/YM9kNxJzCg9eHmJuDm1vfvbj3OesALzAFGAuuEEGuBy4F/HvbVKsphUg8nFUVROhhV41YURelgVHAriqJ0MCq4FUVROhgV3IqiKB2MCm5FUZQORgW3oihKB6OCW1EUpYP5f1CIyeVANNZxAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"beer_data = pd.read_csv(\"beers.csv\")\n",
"input_features = beer_data.iloc[:, :-1]\n",
"labels = beer_data.iloc[:, -1]\n",
"# pick 2 features from `input_features.columns`\n",
"input_features_names = [\"bitterness\", \"darkness\"]\n",
"X = input_features[input_features_names]\n",
"y = labels\n",
"\n",
"'''Source: https://scikit-learn.org/stable/auto_examples/svm/plot_iris.html#sphx-glr-auto-examples-svm-plot-iris-py\n",
"'''\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"def make_meshgrid(x, y, h=.02):\n",
" \"\"\"Create a mesh of points to plot in\n",
"\n",
" Parameters\n",
" ----------\n",
" x: data to base x-axis meshgrid on\n",
" y: data to base y-axis meshgrid on\n",
" h: stepsize for meshgrid, optional\n",
"\n",
" Returns\n",
" -------\n",
" xx, yy : ndarray\n",
" \"\"\"\n",
" x_min, x_max = x.min() - 1, x.max() + 1\n",
" y_min, y_max = y.min() - 1, y.max() + 1\n",
" xx, yy = np.meshgrid(np.arange(x_min, x_max, h),\n",
" np.arange(y_min, y_max, h))\n",
" return xx, yy\n",
"\n",
"\n",
"def plot_contours(ax, clf, xx, yy, **params):\n",
" \"\"\"Plot the decision boundaries for a classifier.\n",
"\n",
" Parameters\n",
" ----------\n",
" ax: matplotlib axes object\n",
" clf: a classifier\n",
" xx: meshgrid ndarray\n",
" yy: meshgrid ndarray\n",
" params: dictionary of params to pass to contourf, optional\n",
" \"\"\"\n",
" Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])\n",
" Z = Z.reshape(xx.shape)\n",
" out = ax.contourf(xx, yy, Z, **params)\n",
" return out\n",
"\n",
"\n",
"\n",
"from sklearn import svm\n",
"\n",
"# we create an instance of SVM and fit out data. We do not scale our\n",
"# data since we want to plot the support vectors\n",
"C = 1.0 # SVM regularization parameter\n",
"models = (\n",
" svm.SVC(kernel='linear', C=C),\n",
" svm.LinearSVC(C=C),\n",
" svm.SVC(kernel='rbf', gamma=0.7, C=C),\n",
" svm.SVC(kernel='poly', degree=3, C=C),\n",
")\n",
"models = [clf.fit(X, y) for clf in models]\n",
"\n",
"# title for the plots\n",
"titles = (\n",
" 'SVC with linear kernel',\n",
" 'LinearSVC (linear kernel)',\n",
" 'SVC with RBF kernel',\n",
" 'SVC with polynomial (degree 3) kernel',\n",
")\n",
"\n",
"models = models[-1:]\n",
"titles = ('Is the beer yummy (blue) or not (red)?',)\n",
"\n",
"# Set-up 2x2 grid for plotting.\n",
"#fig, sub = plt.subplots(2, 2)\n",
"fig, sub = plt.subplots(1, 1)\n",
"plt.subplots_adjust(wspace=0.4, hspace=0.4)\n",
"\n",
"X0, X1 = X.iloc[:, 0], X.iloc[:, 1]\n",
"xx, yy = make_meshgrid(X0, X1)\n",
"\n",
"for clf, title, ax in zip(models, titles, sub.flatten() if hasattr(sub, 'flatten') else [sub]):\n",
" plot_contours(ax, clf, xx, yy,\n",
" cmap=plt.cm.coolwarm, alpha=0.8)\n",
" ax.scatter(X0, X1, c=y, cmap=plt.cm.coolwarm, s=20, edgecolors='k')\n",
" ax.set_xlim(xx.min(), xx.max())\n",
" ax.set_ylim(yy.min(), yy.max())\n",
" ax.set_xlabel(input_features_names[0])\n",
" ax.set_ylabel(input_features_names[1])\n",
" ax.set_xticks(())\n",
" ax.set_yticks(())\n",
" ax.set_title(title)"
]
},
{
"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",