File size: 205,750 Bytes
ab1affe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>\n",
       "    #btable, th, tr, td {border:none!important}\n",
       "</style>\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%%html \n",
    "<style>\n",
    "    #btable, th, tr, td {border:none!important}\n",
    "</style>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# SI-649 Scientific visualization final\n",
    "### *Uniqname: ningzr*"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Running Python 3.11\n",
      "Adding xrange for backwards compatibility\n",
      "%pylab is deprecated, use %matplotlib inline and import the required libraries.\n",
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    },
    {
     "data": {
      "application/javascript": "(function(root) {\n  function now() {\n    return new Date();\n  }\n\n  var force = true;\n  var py_version = '3.2.1'.replace('rc', '-rc.').replace('.dev', '-dev.');\n  var is_dev = py_version.indexOf(\"+\") !== -1 || py_version.indexOf(\"-\") !== -1;\n  var reloading = false;\n  var Bokeh = root.Bokeh;\n  var bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n\n  if (typeof (root._bokeh_timeout) === \"undefined\" || force) {\n    root._bokeh_timeout = Date.now() + 5000;\n    root._bokeh_failed_load = false;\n  }\n\n  function run_callbacks() {\n    try {\n      root._bokeh_onload_callbacks.forEach(function(callback) {\n        if (callback != null)\n          callback();\n      });\n    } finally {\n      delete root._bokeh_onload_callbacks;\n    }\n    console.debug(\"Bokeh: all callbacks have finished\");\n  }\n\n  function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n    if (css_urls == null) css_urls = [];\n    if (js_urls == null) js_urls = [];\n    if (js_modules == null) js_modules = [];\n    if (js_exports == null) js_exports = {};\n\n    root._bokeh_onload_callbacks.push(callback);\n\n    if (root._bokeh_is_loading > 0) {\n      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n      return null;\n    }\n    if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n      run_callbacks();\n      return null;\n    }\n    if (!reloading) {\n      console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n    }\n\n    function on_load() {\n      root._bokeh_is_loading--;\n      if (root._bokeh_is_loading === 0) {\n        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n        run_callbacks()\n      }\n    }\n    window._bokeh_on_load = on_load\n\n    function on_error() {\n      console.error(\"failed to load \" + url);\n    }\n\n    var skip = [];\n    if (window.requirejs) {\n      window.requirejs.config({'packages': {}, 'paths': {'jspanel': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/jspanel', 'jspanel-modal': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal', 'jspanel-tooltip': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip', 'jspanel-hint': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint', 'jspanel-layout': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout', 'jspanel-contextmenu': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu', 'jspanel-dock': 'https://cdn.jsdelivr.net/npm/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock', 'gridstack': 'https://cdn.jsdelivr.net/npm/gridstack@7.2.3/dist/gridstack-all', 'notyf': 'https://cdn.jsdelivr.net/npm/notyf@3/notyf.min'}, 'shim': {'jspanel': {'exports': 'jsPanel'}, 'gridstack': {'exports': 'GridStack'}}});\n      require([\"jspanel\"], function(jsPanel) {\n\twindow.jsPanel = jsPanel\n\ton_load()\n      })\n      require([\"jspanel-modal\"], function() {\n\ton_load()\n      })\n      require([\"jspanel-tooltip\"], function() {\n\ton_load()\n      })\n      require([\"jspanel-hint\"], function() {\n\ton_load()\n      })\n      require([\"jspanel-layout\"], function() {\n\ton_load()\n      })\n      require([\"jspanel-contextmenu\"], function() {\n\ton_load()\n      })\n      require([\"jspanel-dock\"], function() {\n\ton_load()\n      })\n      require([\"gridstack\"], function(GridStack) {\n\twindow.GridStack = GridStack\n\ton_load()\n      })\n      require([\"notyf\"], function() {\n\ton_load()\n      })\n      root._bokeh_is_loading = css_urls.length + 9;\n    } else {\n      root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n    }\n\n    var existing_stylesheets = []\n    var links = document.getElementsByTagName('link')\n    for (var i = 0; i < links.length; i++) {\n      var link = links[i]\n      if (link.href != null) {\n\texisting_stylesheets.push(link.href)\n      }\n    }\n    for (var i = 0; i < css_urls.length; i++) {\n      var url = css_urls[i];\n      if (existing_stylesheets.indexOf(url) !== -1) {\n\ton_load()\n\tcontinue;\n      }\n      const element = document.createElement(\"link\");\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.rel = \"stylesheet\";\n      element.type = \"text/css\";\n      element.href = url;\n      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n      document.body.appendChild(element);\n    }    if (((window['jsPanel'] !== undefined) && (!(window['jsPanel'] instanceof HTMLElement))) || window.requirejs) {\n      var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/jspanel.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/modal/jspanel.modal.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/tooltip/jspanel.tooltip.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/hint/jspanel.hint.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/layout/jspanel.layout.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/contextmenu/jspanel.contextmenu.js', 'https://cdn.holoviz.org/panel/1.2.3/dist/bundled/floatpanel/jspanel4@4.12.0/dist/extensions/dock/jspanel.dock.js'];\n      for (var i = 0; i < urls.length; i++) {\n        skip.push(urls[i])\n      }\n    }    if (((window['GridStack'] !== undefined) && (!(window['GridStack'] instanceof HTMLElement))) || window.requirejs) {\n      var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/gridstack/gridstack@7.2.3/dist/gridstack-all.js'];\n      for (var i = 0; i < urls.length; i++) {\n        skip.push(urls[i])\n      }\n    }    if (((window['Notyf'] !== undefined) && (!(window['Notyf'] instanceof HTMLElement))) || window.requirejs) {\n      var urls = ['https://cdn.holoviz.org/panel/1.2.3/dist/bundled/notificationarea/notyf@3/notyf.min.js'];\n      for (var i = 0; i < urls.length; i++) {\n        skip.push(urls[i])\n      }\n    }    var existing_scripts = []\n    var scripts = document.getElementsByTagName('script')\n    for (var i = 0; i < scripts.length; i++) {\n      var script = scripts[i]\n      if (script.src != null) {\n\texisting_scripts.push(script.src)\n      }\n    }\n    for (var i = 0; i < js_urls.length; i++) {\n      var url = js_urls[i];\n      if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t  on_load();\n\t}\n\tcontinue;\n      }\n      var element = document.createElement('script');\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.async = false;\n      element.src = url;\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      document.head.appendChild(element);\n    }\n    for (var i = 0; i < js_modules.length; i++) {\n      var url = js_modules[i];\n      if (skip.indexOf(url) !== -1 || existing_scripts.indexOf(url) !== -1) {\n\tif (!window.requirejs) {\n\t  on_load();\n\t}\n\tcontinue;\n      }\n      var element = document.createElement('script');\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.async = false;\n      element.src = url;\n      element.type = \"module\";\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      document.head.appendChild(element);\n    }\n    for (const name in js_exports) {\n      var url = js_exports[name];\n      if (skip.indexOf(url) >= 0 || root[name] != null) {\n\tif (!window.requirejs) {\n\t  on_load();\n\t}\n\tcontinue;\n      }\n      var element = document.createElement('script');\n      element.onerror = on_error;\n      element.async = false;\n      element.type = \"module\";\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      element.textContent = `\n      import ${name} from \"${url}\"\n      window.${name} = ${name}\n      window._bokeh_on_load()\n      `\n      document.head.appendChild(element);\n    }\n    if (!js_urls.length && !js_modules.length) {\n      on_load()\n    }\n  };\n\n  function inject_raw_css(css) {\n    const element = document.createElement(\"style\");\n    element.appendChild(document.createTextNode(css));\n    document.body.appendChild(element);\n  }\n\n  var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.2.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.2.1.min.js\", \"https://cdn.holoviz.org/panel/1.2.3/dist/panel.min.js\"];\n  var js_modules = [];\n  var js_exports = {};\n  var css_urls = [];\n  var inline_js = [    function(Bokeh) {\n      Bokeh.set_log_level(\"info\");\n    },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n  ];\n\n  function run_inline_js() {\n    if ((root.Bokeh !== undefined) || (force === true)) {\n      for (var i = 0; i < inline_js.length; i++) {\n        inline_js[i].call(root, root.Bokeh);\n      }\n      // Cache old bokeh versions\n      if (Bokeh != undefined && !reloading) {\n\tvar NewBokeh = root.Bokeh;\n\tif (Bokeh.versions === undefined) {\n\t  Bokeh.versions = new Map();\n\t}\n\tif (NewBokeh.version !== Bokeh.version) {\n\t  Bokeh.versions.set(NewBokeh.version, NewBokeh)\n\t}\n\troot.Bokeh = Bokeh;\n      }} else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(run_inline_js, 100);\n    } else if (!root._bokeh_failed_load) {\n      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n      root._bokeh_failed_load = true;\n    }\n    root._bokeh_is_initializing = false\n  }\n\n  function load_or_wait() {\n    // Implement a backoff loop that tries to ensure we do not load multiple\n    // versions of Bokeh and its dependencies at the same time.\n    // In recent versions we use the root._bokeh_is_initializing flag\n    // to determine whether there is an ongoing attempt to initialize\n    // bokeh, however for backward compatibility we also try to ensure\n    // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n    // before older versions are fully initialized.\n    if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n      root._bokeh_is_initializing = false;\n      root._bokeh_onload_callbacks = undefined;\n      console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n      load_or_wait();\n    } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n      setTimeout(load_or_wait, 100);\n    } else {\n      Bokeh = root.Bokeh;\n      bokeh_loaded = Bokeh != null && (Bokeh.version === py_version || (Bokeh.versions !== undefined && Bokeh.versions.has(py_version)));\n      root._bokeh_is_initializing = true\n      root._bokeh_onload_callbacks = []\n      if (!reloading && (!bokeh_loaded || is_dev)) {\n\troot.Bokeh = undefined;\n      }\n      load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n\tconsole.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n\trun_inline_js();\n      });\n    }\n  }\n  // Give older versions of the autoload script a head-start to ensure\n  // they initialize before we start loading newer version.\n  setTimeout(load_or_wait, 100)\n}(window));",
      "application/vnd.holoviews_load.v0+json": ""
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n  window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n    function JupyterCommManager() {\n    }\n\n    JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n      if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n        var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n        comm_manager.register_target(comm_id, function(comm) {\n          comm.on_msg(msg_handler);\n        });\n      } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n        window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n          comm.onMsg = msg_handler;\n        });\n      } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n        google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n          var messages = comm.messages[Symbol.asyncIterator]();\n          function processIteratorResult(result) {\n            var message = result.value;\n            console.log(message)\n            var content = {data: message.data, comm_id};\n            var buffers = []\n            for (var buffer of message.buffers || []) {\n              buffers.push(new DataView(buffer))\n            }\n            var metadata = message.metadata || {};\n            var msg = {content, buffers, metadata}\n            msg_handler(msg);\n            return messages.next().then(processIteratorResult);\n          }\n          return messages.next().then(processIteratorResult);\n        })\n      }\n    }\n\n    JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n      if (comm_id in window.PyViz.comms) {\n        return window.PyViz.comms[comm_id];\n      } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n        var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n        var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n        if (msg_handler) {\n          comm.on_msg(msg_handler);\n        }\n      } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n        var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n        comm.open();\n        if (msg_handler) {\n          comm.onMsg = msg_handler;\n        }\n      } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n        var comm_promise = google.colab.kernel.comms.open(comm_id)\n        comm_promise.then((comm) => {\n          window.PyViz.comms[comm_id] = comm;\n          if (msg_handler) {\n            var messages = comm.messages[Symbol.asyncIterator]();\n            function processIteratorResult(result) {\n              var message = result.value;\n              var content = {data: message.data};\n              var metadata = message.metadata || {comm_id};\n              var msg = {content, metadata}\n              msg_handler(msg);\n              return messages.next().then(processIteratorResult);\n            }\n            return messages.next().then(processIteratorResult);\n          }\n        }) \n        var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n          return comm_promise.then((comm) => {\n            comm.send(data, metadata, buffers, disposeOnDone);\n          });\n        };\n        var comm = {\n          send: sendClosure\n        };\n      }\n      window.PyViz.comms[comm_id] = comm;\n      return comm;\n    }\n    window.PyViz.comm_manager = new JupyterCommManager();\n    \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n  var div = document.createElement(\"div\");\n  var script = document.createElement(\"script\");\n  node.appendChild(div);\n  node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n  var output_area = handle.output_area;\n  var output = handle.output;\n  if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n    return\n  }\n  var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n  var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n  if (id !== undefined) {\n    var nchildren = toinsert.length;\n    var html_node = toinsert[nchildren-1].children[0];\n    html_node.innerHTML = output.data[HTML_MIME_TYPE];\n    var scripts = [];\n    var nodelist = html_node.querySelectorAll(\"script\");\n    for (var i in nodelist) {\n      if (nodelist.hasOwnProperty(i)) {\n        scripts.push(nodelist[i])\n      }\n    }\n\n    scripts.forEach( function (oldScript) {\n      var newScript = document.createElement(\"script\");\n      var attrs = [];\n      var nodemap = oldScript.attributes;\n      for (var j in nodemap) {\n        if (nodemap.hasOwnProperty(j)) {\n          attrs.push(nodemap[j])\n        }\n      }\n      attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n      newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n      oldScript.parentNode.replaceChild(newScript, oldScript);\n    });\n    if (JS_MIME_TYPE in output.data) {\n      toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n    }\n    output_area._hv_plot_id = id;\n    if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n      window.PyViz.plot_index[id] = Bokeh.index[id];\n    } else {\n      window.PyViz.plot_index[id] = null;\n    }\n  } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n    var bk_div = document.createElement(\"div\");\n    bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n    var script_attrs = bk_div.children[0].attributes;\n    for (var i = 0; i < script_attrs.length; i++) {\n      toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n    }\n    // store reference to server id on output_area\n    output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n  }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n  var id = handle.cell.output_area._hv_plot_id;\n  var server_id = handle.cell.output_area._bokeh_server_id;\n  if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n  var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n  if (server_id !== null) {\n    comm.send({event_type: 'server_delete', 'id': server_id});\n    return;\n  } else if (comm !== null) {\n    comm.send({event_type: 'delete', 'id': id});\n  }\n  delete PyViz.plot_index[id];\n  if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n    var doc = window.Bokeh.index[id].model.document\n    doc.clear();\n    const i = window.Bokeh.documents.indexOf(doc);\n    if (i > -1) {\n      window.Bokeh.documents.splice(i, 1);\n    }\n  }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n  delete PyViz.comms[\"hv-extension-comm\"];\n  window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n  handle_clear_output(event, {cell: {output_area: handle.output_area}})\n  handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n  function append_mime(data, metadata, element) {\n    // create a DOM node to render to\n    var toinsert = this.create_output_subarea(\n    metadata,\n    CLASS_NAME,\n    EXEC_MIME_TYPE\n    );\n    this.keyboard_manager.register_events(toinsert);\n    // Render to node\n    var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n    render(props, toinsert[0]);\n    element.append(toinsert);\n    return toinsert\n  }\n\n  events.on('output_added.OutputArea', handle_add_output);\n  events.on('output_updated.OutputArea', handle_update_output);\n  events.on('clear_output.CodeCell', handle_clear_output);\n  events.on('delete.Cell', handle_clear_output);\n  events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n  OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n    safe: true,\n    index: 0\n  });\n}\n\nif (window.Jupyter !== undefined) {\n  try {\n    var events = require('base/js/events');\n    var OutputArea = require('notebook/js/outputarea').OutputArea;\n    if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n      register_renderer(events, OutputArea);\n    }\n  } catch(err) {\n  }\n}\n",
      "application/vnd.holoviews_load.v0+json": ""
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<style>*[data-root-id],\n",
       "*[data-root-id] > * {\n",
       "  box-sizing: border-box;\n",
       "  font-family: var(--jp-ui-font-family);\n",
       "  font-size: var(--jp-ui-font-size1);\n",
       "  color: var(--vscode-editor-foreground, var(--jp-ui-font-color1));\n",
       "}\n",
       "\n",
       "/* Override VSCode background color */\n",
       ".cell-output-ipywidget-background:has(\n",
       "    > .cell-output-ipywidget-background > .lm-Widget > *[data-root-id]\n",
       "  ),\n",
       ".cell-output-ipywidget-background:has(> .lm-Widget > *[data-root-id]) {\n",
       "  background-color: transparent !important;\n",
       "}\n",
       "</style>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.holoviews_exec.v0+json": "",
      "text/html": [
       "<div id='15fc2544-9f5e-464b-906f-9109c4212bb0'>\n",
       "  <div id=\"df589682-d239-4496-9ee3-560daa691451\" data-root-id=\"15fc2544-9f5e-464b-906f-9109c4212bb0\" style=\"display: contents;\"></div>\n",
       "</div>\n",
       "<script type=\"application/javascript\">(function(root) {\n",
       "  var docs_json = {\"dd67f2c7-c86c-44ca-b2d8-3972b07462ac\":{\"version\":\"3.2.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"panel.models.browser.BrowserInfo\",\"id\":\"15fc2544-9f5e-464b-906f-9109c4212bb0\"},{\"type\":\"object\",\"name\":\"panel.models.comm_manager.CommManager\",\"id\":\"0b01ae62-45bd-4928-9c36-71deea68329f\",\"attributes\":{\"plot_id\":\"15fc2544-9f5e-464b-906f-9109c4212bb0\",\"comm_id\":\"10f7114393ed47a3986ac52b4070d74f\",\"client_comm_id\":\"02d63933230c4a279fb22d296d49b821\"}}],\"defs\":[{\"type\":\"model\",\"name\":\"ReactiveHTML1\"},{\"type\":\"model\",\"name\":\"FlexBox1\",\"properties\":[{\"name\":\"align_content\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"align_items\",\"kind\":\"Any\",\"default\":\"flex-start\"},{\"name\":\"flex_direction\",\"kind\":\"Any\",\"default\":\"row\"},{\"name\":\"flex_wrap\",\"kind\":\"Any\",\"default\":\"wrap\"},{\"name\":\"justify_content\",\"kind\":\"Any\",\"default\":\"flex-start\"}]},{\"type\":\"model\",\"name\":\"FloatPanel1\",\"properties\":[{\"name\":\"config\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"contained\",\"kind\":\"Any\",\"default\":true},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"right-top\"},{\"name\":\"offsetx\",\"kind\":\"Any\",\"default\":null},{\"name\":\"offsety\",\"kind\":\"Any\",\"default\":null},{\"name\":\"theme\",\"kind\":\"Any\",\"default\":\"primary\"},{\"name\":\"status\",\"kind\":\"Any\",\"default\":\"normalized\"}]},{\"type\":\"model\",\"name\":\"GridStack1\",\"properties\":[{\"name\":\"mode\",\"kind\":\"Any\",\"default\":\"warn\"},{\"name\":\"ncols\",\"kind\":\"Any\",\"default\":null},{\"name\":\"nrows\",\"kind\":\"Any\",\"default\":null},{\"name\":\"allow_resize\",\"kind\":\"Any\",\"default\":true},{\"name\":\"allow_drag\",\"kind\":\"Any\",\"default\":true},{\"name\":\"state\",\"kind\":\"Any\",\"default\":[]}]},{\"type\":\"model\",\"name\":\"drag1\",\"properties\":[{\"name\":\"slider_width\",\"kind\":\"Any\",\"default\":5},{\"name\":\"slider_color\",\"kind\":\"Any\",\"default\":\"black\"},{\"name\":\"value\",\"kind\":\"Any\",\"default\":50}]},{\"type\":\"model\",\"name\":\"click1\",\"properties\":[{\"name\":\"terminal_output\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"debug_name\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"clears\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"FastWrapper1\",\"properties\":[{\"name\":\"object\",\"kind\":\"Any\",\"default\":null},{\"name\":\"style\",\"kind\":\"Any\",\"default\":null}]},{\"type\":\"model\",\"name\":\"NotificationAreaBase1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"NotificationArea1\",\"properties\":[{\"name\":\"js_events\",\"kind\":\"Any\",\"default\":{\"type\":\"map\"}},{\"name\":\"notifications\",\"kind\":\"Any\",\"default\":[]},{\"name\":\"position\",\"kind\":\"Any\",\"default\":\"bottom-right\"},{\"name\":\"_clear\",\"kind\":\"Any\",\"default\":0},{\"name\":\"types\",\"kind\":\"Any\",\"default\":[{\"type\":\"map\",\"entries\":[[\"type\",\"warning\"],[\"background\",\"#ffc107\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-exclamation-triangle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]},{\"type\":\"map\",\"entries\":[[\"type\",\"info\"],[\"background\",\"#007bff\"],[\"icon\",{\"type\":\"map\",\"entries\":[[\"className\",\"fas fa-info-circle\"],[\"tagName\",\"i\"],[\"color\",\"white\"]]}]]}]}]},{\"type\":\"model\",\"name\":\"Notification\",\"properties\":[{\"name\":\"background\",\"kind\":\"Any\",\"default\":null},{\"name\":\"duration\",\"kind\":\"Any\",\"default\":3000},{\"name\":\"icon\",\"kind\":\"Any\",\"default\":null},{\"name\":\"message\",\"kind\":\"Any\",\"default\":\"\"},{\"name\":\"notification_type\",\"kind\":\"Any\",\"default\":null},{\"name\":\"_destroyed\",\"kind\":\"Any\",\"default\":false}]},{\"type\":\"model\",\"name\":\"TemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"BootstrapTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]},{\"type\":\"model\",\"name\":\"MaterialTemplateActions1\",\"properties\":[{\"name\":\"open_modal\",\"kind\":\"Any\",\"default\":0},{\"name\":\"close_modal\",\"kind\":\"Any\",\"default\":0}]}]}};\n",
       "  var render_items = [{\"docid\":\"dd67f2c7-c86c-44ca-b2d8-3972b07462ac\",\"roots\":{\"15fc2544-9f5e-464b-906f-9109c4212bb0\":\"df589682-d239-4496-9ee3-560daa691451\"},\"root_ids\":[\"15fc2544-9f5e-464b-906f-9109c4212bb0\"]}];\n",
       "  var docs = Object.values(docs_json)\n",
       "  if (!docs) {\n",
       "    return\n",
       "  }\n",
       "  const py_version = docs[0].version.replace('rc', '-rc.').replace('.dev', '-dev.')\n",
       "  const is_dev = py_version.indexOf(\"+\") !== -1 || py_version.indexOf(\"-\") !== -1\n",
       "  function embed_document(root) {\n",
       "    var Bokeh = get_bokeh(root)\n",
       "    Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "    for (const render_item of render_items) {\n",
       "      for (const root_id of render_item.root_ids) {\n",
       "\tconst id_el = document.getElementById(root_id)\n",
       "\tif (id_el.children.length && (id_el.children[0].className === 'bk-root')) {\n",
       "\t  const root_el = id_el.children[0]\n",
       "\t  root_el.id = root_el.id + '-rendered'\n",
       "\t}\n",
       "      }\n",
       "    }\n",
       "  }\n",
       "  function get_bokeh(root) {\n",
       "    if (root.Bokeh === undefined) {\n",
       "      return null\n",
       "    } else if (root.Bokeh.version !== py_version && !is_dev) {\n",
       "      if (root.Bokeh.versions === undefined || !root.Bokeh.versions.has(py_version)) {\n",
       "\treturn null\n",
       "      }\n",
       "      return root.Bokeh.versions.get(py_version);\n",
       "    } else if (root.Bokeh.version === py_version) {\n",
       "      return root.Bokeh\n",
       "    }\n",
       "    return null\n",
       "  }\n",
       "  function is_loaded(root) {\n",
       "    var Bokeh = get_bokeh(root)\n",
       "    return (Bokeh != null && Bokeh.Panel !== undefined)\n",
       "  }\n",
       "  if (is_loaded(root)) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (is_loaded(root)) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else if (document.readyState == \"complete\") {\n",
       "        attempts++;\n",
       "        if (attempts > 200) {\n",
       "          clearInterval(timer);\n",
       "\t  var Bokeh = get_bokeh(root)\n",
       "\t  if (Bokeh == null || Bokeh.Panel == null) {\n",
       "            console.warn(\"Panel: ERROR: Unable to run Panel code because Bokeh or Panel library is missing\");\n",
       "\t  } else {\n",
       "\t    console.warn(\"Panel: WARNING: Attempting to render but not all required libraries could be resolved.\")\n",
       "\t    embed_document(root)\n",
       "\t  }\n",
       "        }\n",
       "      }\n",
       "    }, 25, root)\n",
       "  }\n",
       "})(window);</script>"
      ]
     },
     "metadata": {
      "application/vnd.holoviews_exec.v0+json": {
       "id": "15fc2544-9f5e-464b-906f-9109c4212bb0"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from __future__ import print_function, division, generators\n",
    "import sys\n",
    "print(\"Running Python {0}.{1}\".format(  \n",
    "    sys.version_info[:2][0],sys.version_info[:2][1]))\n",
    "if sys.version_info[:2] > (3, 0):\n",
    "    print(\"Adding xrange for backwards compatibility\".format(\n",
    "            sys.version_info[:2][0],sys.version_info[:2][1]))\n",
    "    from past.builtins import xrange\n",
    "#from __future__ import print_function,division,generators\n",
    "%pylab inline\n",
    "from scipy.stats import pearsonr\n",
    "import pandas as pd\n",
    "import datetime as dt\n",
    "from scipy.stats import kendalltau\n",
    "import seaborn as sns\n",
    "from random import randrange\n",
    "sns.set(style=\"darkgrid\")  # Optionally change plotstyle ('whitegrid', 'ticks','darkgrid')\n",
    "import altair as alt\n",
    "# Import panel and vega datasets\n",
    "import panel as pn\n",
    "pn.extension() \n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization 1 Time series"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "monsoon = pd.read_csv('https://raw.githubusercontent.com/Koi4595/SI-649/main/Monsoon_data.csv', parse_dates=['Date'])\n",
    "monsoon.index = monsoon.Date\n",
    "# monsoon = monsoon.drop('Date', axis=1)\n",
    "\n",
    "olou = pd.read_csv('https://raw.githubusercontent.com/Koi4595/SI-649/main/Olou_counts.csv',parse_dates=['Date'])\n",
    "olou.index = olou.Date\n",
    "# olou = olou.drop('Date', axis=1) \n",
    "olou['Date'] = pd.to_datetime(olou['Date'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bc8f9a5919c7498bb536a4f67788748a",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Dropdown(description='Event Type:', options=('All', 'Drought', 'Flood'), value='All')"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6a059c0d42e0479cb0245712e8e3e021",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import ipywidgets as widgets\n",
    "from IPython.display import display\n",
    "from IPython.display import clear_output  \n",
    "import pandas as pd\n",
    "\n",
    "drought_years = [1965, 1966, 1968, 1972, 1974, 1979, 1982, 1986, 1987, 2002, 2004, 2009]\n",
    "flood_years = [1964, 1970, 1971, 1973, 1975, 1978, 1983, 1988, 1990, 1994, 2007, 2008]\n",
    "\n",
    "\n",
    "out = widgets.Output()\n",
    "\n",
    "event_selector = widgets.Dropdown(\n",
    "    options=['All', 'Drought', 'Flood'],\n",
    "    value='All',  # 初始状态设置为“All”\n",
    "    description='Event Type:',\n",
    ")\n",
    "\n",
    "def plot_timeseries(event_type):\n",
    "    with out:\n",
    "        clear_output(wait=True)\n",
    "        fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 5), sharex=True)\n",
    "        \n",
    "        if event_type == 'Drought':\n",
    "            monsoon_selected_years = monsoon[monsoon['Date'].dt.year.isin(drought_years)]\n",
    "            olou_selected_years = olou[olou['Date'].dt.year.isin(drought_years)]\n",
    "        elif event_type == 'Flood':\n",
    "            monsoon_selected_years = monsoon[monsoon['Date'].dt.year.isin(flood_years)]\n",
    "            olou_selected_years = olou[olou['Date'].dt.year.isin(flood_years)]\n",
    "        else:\n",
    "            monsoon_selected_years = monsoon\n",
    "            olou_selected_years = olou\n",
    "        \n",
    "\n",
    "        ax1.step(monsoon_selected_years['Date'], monsoon_selected_years['Precip'], where='mid', color='blue')\n",
    "        ax1.set_title('Monthly Precipitation for Selected Years')\n",
    "        ax1.set_ylabel('Precipitation (mm)')\n",
    "        ax1.grid(True)\n",
    "\n",
    "        ax2.plot(olou_selected_years['Date'], olou_selected_years['Counts']/1000, 'r.', ms=3.0)\n",
    "        ax2.set_ylabel('Olou NM Counts for Selected Years (cnt./min. x 10^3)')\n",
    "        ax2.set_xlabel('Date')\n",
    "        ax2.grid(True)\n",
    "        \n",
    "        plt.tight_layout()\n",
    "        plt.show()\n",
    "\n",
    "def on_selector_change(change):\n",
    "    plot_timeseries(change.new)\n",
    "\n",
    "event_selector.observe(on_selector_change, names='value')\n",
    "\n",
    "out = widgets.Output()\n",
    "display(event_selector, out)\n",
    "\n",
    "plot_timeseries(event_selector.value)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def return_stderr(data):\n",
    "    \"\"\"Calculate uncertainty of a np array as Standard Error of the Mean\"\"\"\n",
    "    return np.nanstd(data)/np.sqrt(np.count_nonzero(data) - 1)\n",
    "\n",
    "climo = {}       # Produce a dic of monthly climatology using list comprehension\n",
    "climo['means'] = [np.mean(monsoon.Precip[monsoon.index.month == (mnth+1)])\n",
    "                  for mnth in xrange(12)]\n",
    "climo['error'] = [return_stderr(monsoon.Precip[monsoon.index.month == (mnth+1)].values) \n",
    "                    for mnth in xrange(12)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Calculate monthly 𝛿 precip. (anomaly with respect to seasonal climatology)\n",
    "delta = []\n",
    "for date in monsoon.Precip.index:\n",
    "    delta.append(monsoon.Precip[date] - climo['means'][date.month-1])\n",
    "dseries = pd.Series(delta, index=monsoon.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create a dictionary of June July August September data\n",
    "def lookup_index(yr):\n",
    "    return ((monsoon.index.year == yr) & (monsoon.index.month >= 6) \n",
    "           &(monsoon.index.month <= 9))\n",
    "jjas = {}\n",
    "jjas['means']=[np.mean(dseries[lookup_index(yr)]) for yr in xrange(1964,2012,1)]\n",
    "jjas['SEM']=[return_stderr(dseries[lookup_index(yr)])for yr in xrange(1964,2012,1)]\n",
    "jjas['sum']=[np.sum(dseries[lookup_index(yr)]) for yr in xrange(1964,2012,1)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization 2 JJAS condition"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "<style>\n",
       "  #altair-viz-1760398fda2244999956b470839e0791.vega-embed {\n",
       "    width: 100%;\n",
       "    display: flex;\n",
       "  }\n",
       "\n",
       "  #altair-viz-1760398fda2244999956b470839e0791.vega-embed details,\n",
       "  #altair-viz-1760398fda2244999956b470839e0791.vega-embed details summary {\n",
       "    position: relative;\n",
       "  }\n",
       "</style>\n",
       "<div id=\"altair-viz-1760398fda2244999956b470839e0791\"></div>\n",
       "<script type=\"text/javascript\">\n",
       "  var VEGA_DEBUG = (typeof VEGA_DEBUG == \"undefined\") ? {} : VEGA_DEBUG;\n",
       "  (function(spec, embedOpt){\n",
       "    let outputDiv = document.currentScript.previousElementSibling;\n",
       "    if (outputDiv.id !== \"altair-viz-1760398fda2244999956b470839e0791\") {\n",
       "      outputDiv = document.getElementById(\"altair-viz-1760398fda2244999956b470839e0791\");\n",
       "    }\n",
       "    const paths = {\n",
       "      \"vega\": \"https://cdn.jsdelivr.net/npm/vega@5?noext\",\n",
       "      \"vega-lib\": \"https://cdn.jsdelivr.net/npm/vega-lib?noext\",\n",
       "      \"vega-lite\": \"https://cdn.jsdelivr.net/npm/vega-lite@5.16.3?noext\",\n",
       "      \"vega-embed\": \"https://cdn.jsdelivr.net/npm/vega-embed@6?noext\",\n",
       "    };\n",
       "\n",
       "    function maybeLoadScript(lib, version) {\n",
       "      var key = `${lib.replace(\"-\", \"\")}_version`;\n",
       "      return (VEGA_DEBUG[key] == version) ?\n",
       "        Promise.resolve(paths[lib]) :\n",
       "        new Promise(function(resolve, reject) {\n",
       "          var s = document.createElement('script');\n",
       "          document.getElementsByTagName(\"head\")[0].appendChild(s);\n",
       "          s.async = true;\n",
       "          s.onload = () => {\n",
       "            VEGA_DEBUG[key] = version;\n",
       "            return resolve(paths[lib]);\n",
       "          };\n",
       "          s.onerror = () => reject(`Error loading script: ${paths[lib]}`);\n",
       "          s.src = paths[lib];\n",
       "        });\n",
       "    }\n",
       "\n",
       "    function showError(err) {\n",
       "      outputDiv.innerHTML = `<div class=\"error\" style=\"color:red;\">${err}</div>`;\n",
       "      throw err;\n",
       "    }\n",
       "\n",
       "    function displayChart(vegaEmbed) {\n",
       "      vegaEmbed(outputDiv, spec, embedOpt)\n",
       "        .catch(err => showError(`Javascript Error: ${err.message}<br>This usually means there's a typo in your chart specification. See the javascript console for the full traceback.`));\n",
       "    }\n",
       "\n",
       "    if(typeof define === \"function\" && define.amd) {\n",
       "      requirejs.config({paths});\n",
       "      require([\"vega-embed\"], displayChart, err => showError(`Error loading script: ${err.message}`));\n",
       "    } else {\n",
       "      maybeLoadScript(\"vega\", \"5\")\n",
       "        .then(() => maybeLoadScript(\"vega-lite\", \"5.16.3\"))\n",
       "        .then(() => maybeLoadScript(\"vega-embed\", \"6\"))\n",
       "        .catch(showError)\n",
       "        .then(() => displayChart(vegaEmbed));\n",
       "    }\n",
       "  })({\"config\": {\"view\": {\"continuousWidth\": 300, \"continuousHeight\": 300}}, \"hconcat\": [{\"layer\": [{\"mark\": {\"type\": \"errorbar\", \"extent\": \"ci\"}, \"encoding\": {\"color\": {\"field\": \"Condition\", \"scale\": {\"domain\": [\"Drought\", \"Flood\", \"Normal\"], \"range\": [\"darkred\", \"lightblue\", \"orange\"]}, \"type\": \"nominal\"}, \"x\": {\"axis\": {\"values\": [1960, 1970, 1980, 1990, 2000, 2010]}, \"field\": \"Year\", \"type\": \"ordinal\"}, \"y\": {\"field\": \"Means\", \"scale\": {\"zero\": false}, \"type\": \"quantitative\"}, \"yError\": {\"field\": \"SEM\"}}, \"name\": \"view_1\", \"title\": \"Mean JJAS precipitation anomaly\"}, {\"mark\": {\"type\": \"point\", \"filled\": true}, \"encoding\": {\"color\": {\"field\": \"Condition\", \"legend\": {\"title\": \"Condition\"}, \"type\": \"nominal\"}, \"x\": {\"field\": \"Year\", \"type\": \"ordinal\"}, \"y\": {\"field\": \"Means\", \"type\": \"quantitative\"}}}], \"height\": 400, \"width\": 400}, {\"mark\": {\"type\": \"area\"}, \"encoding\": {\"tooltip\": [{\"field\": \"Means\", \"type\": \"quantitative\"}, {\"field\": \"Density\", \"type\": \"quantitative\"}], \"x\": {\"field\": \"Means\", \"type\": \"quantitative\"}, \"y\": {\"field\": \"Density\", \"type\": \"quantitative\"}}, \"height\": 400, \"title\": \"Distribution of JJAS anomalies\", \"transform\": [{\"density\": \"Means\", \"as\": [\"Means\", \"Density\"]}], \"width\": 400}], \"data\": {\"name\": \"data-4603dde9f8196199e83265b381be13c5\"}, \"params\": [{\"name\": \"param_1\", \"select\": {\"type\": \"interval\", \"encodings\": [\"x\", \"y\"]}, \"bind\": \"scales\", \"views\": [\"view_1\"]}], \"resolve\": {\"legend\": {\"color\": \"independent\"}}, \"$schema\": \"https://vega.github.io/schema/vega-lite/v5.16.3.json\", \"datasets\": {\"data-4603dde9f8196199e83265b381be13c5\": [{\"Year\": 1964, \"Means\": 23.07291666666668, \"SEM\": 15.05001163174769, \"Sum\": 92.29166666666671, \"Condition\": \"Flood\"}, {\"Year\": 1965, \"Means\": -30.22708333333332, \"SEM\": 13.657374996038122, \"Sum\": -120.90833333333327, \"Condition\": \"Drought\"}, {\"Year\": 1966, \"Means\": -22.55208333333332, \"SEM\": 9.731417625640658, \"Sum\": -90.20833333333329, \"Condition\": \"Drought\"}, {\"Year\": 1967, \"Means\": 7.4479166666666785, \"SEM\": 10.720052088605135, \"Sum\": 29.791666666666714, \"Condition\": \"Normal\"}, {\"Year\": 1968, \"Means\": -18.902083333333316, \"SEM\": 15.740881491064622, \"Sum\": -75.60833333333326, \"Condition\": \"Drought\"}, {\"Year\": 1969, \"Means\": 0.22291666666666998, \"SEM\": 16.329544717208012, \"Sum\": 0.8916666666666799, \"Condition\": \"Normal\"}, {\"Year\": 1970, \"Means\": 27.397916666666674, \"SEM\": 22.513368006689486, \"Sum\": 109.5916666666667, \"Condition\": \"Flood\"}, {\"Year\": 1971, \"Means\": 14.147916666666681, \"SEM\": 15.699343231279409, \"Sum\": 56.591666666666725, \"Condition\": \"Flood\"}, {\"Year\": 1972, \"Means\": -44.32708333333333, \"SEM\": 11.848033831454753, \"Sum\": -177.3083333333333, \"Condition\": \"Drought\"}, {\"Year\": 1973, \"Means\": 20.772916666666674, \"SEM\": 17.763928497697137, \"Sum\": 83.0916666666667, \"Condition\": \"Flood\"}, {\"Year\": 1974, \"Means\": -20.552083333333314, \"SEM\": 13.973549024423358, \"Sum\": -82.20833333333326, \"Condition\": \"Drought\"}, {\"Year\": 1975, \"Means\": 33.097916666666684, \"SEM\": 10.480305742156292, \"Sum\": 132.39166666666674, \"Condition\": \"Flood\"}, {\"Year\": 1976, \"Means\": 6.62291666666669, \"SEM\": 14.464813729421202, \"Sum\": 26.49166666666676, \"Condition\": \"Normal\"}, {\"Year\": 1977, \"Means\": 13.222916666666684, \"SEM\": 14.935088814383347, \"Sum\": 52.89166666666674, \"Condition\": \"Normal\"}, {\"Year\": 1978, \"Means\": 19.772916666666674, \"SEM\": 9.337045547719324, \"Sum\": 79.0916666666667, \"Condition\": \"Flood\"}, {\"Year\": 1979, \"Means\": -30.60208333333332, \"SEM\": 5.4838401593699375, \"Sum\": -122.40833333333327, \"Condition\": \"Drought\"}, {\"Year\": 1980, \"Means\": 13.122916666666676, \"SEM\": 16.48444351179373, \"Sum\": 52.4916666666667, \"Condition\": \"Normal\"}, {\"Year\": 1981, \"Means\": 5.497916666666676, \"SEM\": 14.615455198908318, \"Sum\": 21.991666666666703, \"Condition\": \"Normal\"}, {\"Year\": 1982, \"Means\": -23.75208333333333, \"SEM\": 17.068819122213814, \"Sum\": -95.00833333333333, \"Condition\": \"Drought\"}, {\"Year\": 1983, \"Means\": 31.37291666666667, \"SEM\": 24.163718270814538, \"Sum\": 125.49166666666667, \"Condition\": \"Flood\"}, {\"Year\": 1984, \"Means\": 1.5979166666666842, \"SEM\": 8.603144780586971, \"Sum\": 6.391666666666737, \"Condition\": \"Normal\"}, {\"Year\": 1985, \"Means\": -17.60208333333332, \"SEM\": 3.2171744166040823, \"Sum\": -70.40833333333327, \"Condition\": \"Normal\"}, {\"Year\": 1986, \"Means\": -21.80208333333332, \"SEM\": 13.69145881782453, \"Sum\": -87.20833333333329, \"Condition\": \"Drought\"}, {\"Year\": 1987, \"Means\": -33.27708333333332, \"SEM\": 11.307940430618103, \"Sum\": -133.1083333333333, \"Condition\": \"Drought\"}, {\"Year\": 1988, \"Means\": 32.82291666666667, \"SEM\": 14.014964823524513, \"Sum\": 131.29166666666669, \"Condition\": \"Flood\"}, {\"Year\": 1989, \"Means\": 9.097916666666677, \"SEM\": 8.203488594234807, \"Sum\": 36.39166666666671, \"Condition\": \"Normal\"}, {\"Year\": 1990, \"Means\": 19.57291666666668, \"SEM\": 9.048703259102737, \"Sum\": 78.29166666666671, \"Condition\": \"Flood\"}, {\"Year\": 1991, \"Means\": -11.227083333333322, \"SEM\": 12.358229494019435, \"Sum\": -44.90833333333329, \"Condition\": \"Normal\"}, {\"Year\": 1992, \"Means\": -11.327083333333327, \"SEM\": 14.585554691930518, \"Sum\": -45.30833333333331, \"Condition\": \"Normal\"}, {\"Year\": 1993, \"Means\": 9.122916666666669, \"SEM\": 18.112242716650293, \"Sum\": 36.491666666666674, \"Condition\": \"Normal\"}, {\"Year\": 1994, \"Means\": 30.64791666666668, \"SEM\": 18.081774206340317, \"Sum\": 122.59166666666673, \"Condition\": \"Flood\"}, {\"Year\": 1995, \"Means\": -7.477083333333319, \"SEM\": 9.732941065392692, \"Sum\": -29.908333333333275, \"Condition\": \"Normal\"}, {\"Year\": 1996, \"Means\": 7.122916666666676, \"SEM\": 13.47097198523002, \"Sum\": 28.491666666666703, \"Condition\": \"Normal\"}, {\"Year\": 1997, \"Means\": 10.322916666666686, \"SEM\": 5.857082854133553, \"Sum\": 41.29166666666674, \"Condition\": \"Normal\"}, {\"Year\": 1998, \"Means\": 7.29791666666668, \"SEM\": 13.064001220664307, \"Sum\": 29.19166666666672, \"Condition\": \"Normal\"}, {\"Year\": 1999, \"Means\": -2.0520833333333286, \"SEM\": 11.958167947946547, \"Sum\": -8.208333333333314, \"Condition\": \"Normal\"}, {\"Year\": 2000, \"Means\": -12.977083333333319, \"SEM\": 13.487234297832506, \"Sum\": -51.908333333333275, \"Condition\": \"Normal\"}, {\"Year\": 2001, \"Means\": -9.177083333333325, \"SEM\": 28.65601672529148, \"Sum\": -36.7083333333333, \"Condition\": \"Normal\"}, {\"Year\": 2002, \"Means\": -42.05208333333333, \"SEM\": 35.33536063530203, \"Sum\": -168.20833333333331, \"Condition\": \"Drought\"}, {\"Year\": 2003, \"Means\": 4.84791666666667, \"SEM\": 8.96879637683195, \"Sum\": 19.39166666666668, \"Condition\": \"Normal\"}, {\"Year\": 2004, \"Means\": -21.352083333333326, \"SEM\": 10.560178218412307, \"Sum\": -85.4083333333333, \"Condition\": \"Drought\"}, {\"Year\": 2005, \"Means\": 6.672916666666673, \"SEM\": 26.64638557111695, \"Sum\": 26.69166666666669, \"Condition\": \"Normal\"}, {\"Year\": 2006, \"Means\": 9.947916666666664, \"SEM\": 7.748490182980211, \"Sum\": 39.79166666666666, \"Condition\": \"Normal\"}, {\"Year\": 2007, \"Means\": 26.222916666666684, \"SEM\": 9.220644265521589, \"Sum\": 104.89166666666674, \"Condition\": \"Flood\"}, {\"Year\": 2008, \"Means\": 14.222916666666677, \"SEM\": 14.733368782165753, \"Sum\": 56.89166666666671, \"Condition\": \"Flood\"}, {\"Year\": 2009, \"Means\": -40.62708333333331, \"SEM\": 20.412860260253332, \"Sum\": -162.50833333333324, \"Condition\": \"Drought\"}, {\"Year\": 2010, \"Means\": 3.8729166666666757, \"SEM\": 12.570976387614568, \"Sum\": 15.491666666666703, \"Condition\": \"Normal\"}, {\"Year\": 2011, \"Means\": 12.697916666666679, \"SEM\": 14.445099711365666, \"Sum\": 50.791666666666714, \"Condition\": \"Normal\"}]}}, {\"mode\": \"vega-lite\"});\n",
       "</script>"
      ],
      "text/plain": [
       "alt.HConcatChart(...)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import altair as alt\n",
    "import pandas as pd\n",
    "\n",
    "drought_years = [1965, 1966, 1968, 1972, 1974, 1979, 1982, 1986, 1987, 2002, 2004, 2009]\n",
    "flood_years = [1964, 1970, 1971, 1973, 1975, 1978, 1983, 1988, 1990, 1994, 2007, 2008]\n",
    "\n",
    "color_scale = alt.Scale(\n",
    "    domain=['Drought', 'Flood', 'Normal'],\n",
    "    range=['darkred', 'lightblue', 'orange']\n",
    ")\n",
    "\n",
    "jjas_df = pd.DataFrame({\n",
    "    'Year': range(1964, 2012),\n",
    "    'Means': jjas['means'],\n",
    "    'SEM': jjas['SEM'],\n",
    "    'Sum': jjas['sum']\n",
    "})\n",
    "jjas_df['Condition'] = jjas_df['Year'].apply(lambda x: 'Drought' if x in drought_years else 'Flood' if x in flood_years else 'Normal')\n",
    "\n",
    "# Now, create the error bar chart and points with the color condition based on the 'Condition' column\n",
    "error_bars = alt.Chart(jjas_df).mark_errorbar(extent='ci').encode(\n",
    "    x=alt.X('Year:O', axis=alt.Axis(values=list(range(1960, 2011, 10)))),\n",
    "    y=alt.Y('Means:Q', scale=alt.Scale(zero=False)),\n",
    "    yError='SEM:Q',\n",
    "   color=alt.Color('Condition:N', scale=color_scale)\n",
    ").properties(\n",
    "    width=400,\n",
    "    height=400,\n",
    "    title='Mean JJAS precipitation anomaly'\n",
    ")\n",
    "\n",
    "points = alt.Chart(jjas_df).mark_point(filled=True).encode(\n",
    "    x='Year:O',\n",
    "    y='Means:Q',\n",
    "    color=alt.Color('Condition', legend=alt.Legend(title='Condition'))  # Add a legend\n",
    ")\n",
    "\n",
    "# Combine the error bars with the points\n",
    "error_chart = (error_bars + points).interactive()\n",
    "\n",
    "# Create the histogram chart, independent of the conditions\n",
    "histogram = alt.Chart(jjas_df).transform_density(\n",
    "    density='Means',\n",
    "    as_=['Means', 'Density']\n",
    ").mark_area().encode(\n",
    "    x=\"Means:Q\",\n",
    "    y='Density:Q',\n",
    "    tooltip=['Means:Q', 'Density:Q']\n",
    ").properties(\n",
    "    width=400,\n",
    "    height=400,\n",
    "    title='Distribution of JJAS anomalies'\n",
    ")\n",
    "\n",
    "# Horizontally concatenate the error chart with the histogram\n",
    "chart2 = alt.hconcat(error_chart, histogram).resolve_legend(color='independent')\n",
    "\n",
    "# Display the final concatenated chart\n",
    "chart2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization 3 Drought/Flood sample"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_cframe(c_years):\n",
    "    '''\n",
    "    Function to take a list of composite years (c_years)\n",
    "    and create a numpy array (c_years, months) for analysis.\n",
    "    Also returns back a month-wise set of means, and SEM values.\n",
    "    '''\n",
    "    c_group = np.zeros((12,12),dtype=float) \n",
    "    for n, yr in enumerate(c_years):\n",
    "        tmp = olou.index.year == yr\n",
    "        for i in xrange(len(olou.Counts[tmp])):\n",
    "            c_group[n,i] = olou.Counts[tmp][i]\n",
    "    aaa = np.where(c_group == 0)\n",
    "    c_group[aaa] = np.nan\n",
    "    c_means = []\n",
    "    c_errors = []\n",
    "    for i in xrange(12):\n",
    "        c_means.append(np.nanmean(c_group[:,i]))   # per month, all years\n",
    "        c_errors.append(return_stderr(c_group[:,i]))\n",
    "    return c_group,c_means,c_errors"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\HP\\AppData\\Local\\Temp\\ipykernel_27816\\2318271557.py:11: FutureWarning: Series.__getitem__ treating keys as positions is deprecated. In a future version, integer keys will always be treated as labels (consistent with DataFrame behavior). To access a value by position, use `ser.iloc[pos]`\n",
      "  c_group[n,i] = olou.Counts[tmp][i]\n"
     ]
    }
   ],
   "source": [
    "drought_years = [1965, 1966, 1968, 1972, 1974,1979,\n",
    "                 1982, 1986, 1987, 2002, 2004, 2009]\n",
    "\n",
    "flood_years = [1964, 1970, 1971, 1973, 1975, 1978, \n",
    "               1983, 1988, 1990, 1994, 2007, 2008]\n",
    "\n",
    "d_group,d_means,d_errors = make_cframe(drought_years)\n",
    "f_group,f_means,f_errors = make_cframe(flood_years)\n",
    "\n",
    "d_means = np.array(d_means) * 0.001\n",
    "f_means = np.array(f_means) * 0.001\n",
    "d_errors = np.array(d_errors) * 0.001    # Make the values smaller for plotting\n",
    "f_errors = np.array(f_errors) * 0.001"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\HP\\AppData\\Local\\Temp\\ipykernel_27816\\461619174.py:18: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
      "  ax.set_xticklabels(xlabs)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAApUAAAFUCAYAAAB1DccrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAChiUlEQVR4nOzdd3wT9f/A8dddRtO9oUCZRaYgeyhDQERAEFAUEWUKshWQMmQqG0RkyRIEVNzgF0G+7vVTkfFVhuxdoAW6myZN7u73R6VSyui4NGn7eT4eFXu53L0/aXJ532dKmqZpCIIgCIIgCEIByO4OQBAEQRAEQSj6RFIpCIIgCIIgFJhIKgVBEARBEIQCE0mlIAiCIAiCUGAiqRQEQRAEQRAKTCSVgiAIgiAIQoGJpFIQBEEQBEEoMJFUCoIgCIIgCAUmkkpByAWxRoAgCIIg3JlIKgVdPPvss1SvXj3rp0aNGtSvX58ePXqwadMmFEVxd4g5fPrpp1SvXp0LFy7ccb+VK1eybt26QorKNS5cuED16tX59NNP3R2KIJQIEyZMyHZNvPln27ZtQOa189lnny20uKpXr87SpUsL7XyuUNivmZB7RncHIBQftWrVYtq0aQAoikJSUhI//PADs2fPZu/evSxevBhJktwcZd698cYbjBgxwt1hCIJQxISHh7Ns2bJbPlahQoVCjkYQXE8klYJu/Pz8qFevXrZtbdu2pXLlysyZM4e2bdvStWtX9wQnCIJQyMxmc45roiAUZ6L5W3C5Z599llKlSrFly5asbW3btmX27Nn07duXBg0aMHXqVADi4uKYOHEirVu3pm7dujzxxBN888032Y53q+abpUuXUr169WzbPvvsMzp16kSdOnXo2rUrv/76K7Vq1crRBPznn3/Sq1cv6tSpw4MPPpitqfv6MZctW5bj+Dc6dOgQffv2pWHDhtSvX59+/frx559/Ztvno48+okePHtSrV4+6devy2GOPsWPHjqzHP/30U+rUqcPevXt5/PHHqVOnDh06dODbb7/l1KlT9O3bl/vuu4/27dvzxRdfZHte9erV+fPPP+nevTt169alS5cu2Y59KxcvXmTMmDE0adKE++67j759+3L48OE7PkcQBNey2+0sX76cRx55hDp16vDwww+zevVqVFXNtt+OHTvo0aMH9evX54EHHmDq1KkkJSVl22f37t089dRT3HfffXTo0IH/+7//y9X5Z8yYQatWrbj33nt55JFHePvtt7Ptc+TIEUaMGEGzZs2oXbs2LVu25LXXXsNms2XtU716dd5//30mTJhAw4YNadKkSdY+8+bNo1mzZjRt2pTJkydjt9uzPW/z5s1ER0dTv3597r///hzHvpmqqqxevZr27dtz77330qFDBzZt2nTXsgr6E0ml4HIGg4HmzZvz119/4XQ6s7a/++67WQniY489xtWrV3niiSfYvXs3L730EkuXLqVcuXIMHz6czz//PE/n3Lp1KxMmTKBBgwasWLGCDh06MGzYsFv27Zw+fTqPPvooq1atom7dusyfP5/vvvsOgA8++ACAJ554Iuv/b5aamsqgQYMIDg7mzTffZPHixaSnpzNw4EBSUlKyyjp16lTatWvHqlWrWLBgASaTiZdffpmLFy9mHcvpdDJmzBh69erFihUr8PLyYty4cbzwwgs8+OCDLFmyhPDwcKKjo7l8+XK2OIYMGUK7du1YtmwZlStXZsyYMTkS8uvi4+Pp1asXhw4dYsqUKSxatAhVVXnmmWc4efJknl5rQRBuz+l05vi53cA/TdN44YUXWLt2LU888QRvvfUWjzzyCG+88UZW1yKAFStW8NJLL3Hffffx5ptvMnz4cHbt2sWzzz6blXwdOnSIAQMG4Ofnx5IlS+jbty9jxoy5a7yzZs3ihx9+IDo6mnXr1tGuXTvmzZuXdTMeFxfHM888Q3p6OnPnzmXNmjV07NiRTZs2sWHDhmzHWrhwIWazmWXLlvHYY4+xadMmunXrxqVLl1iwYAG9evXi448/zpEALlmyhGvXrvHGG28waNAgPvzwQ15++eXbxjx9+nTefPNNunbtmvWazZ49m+XLl9+1vIK+RPO3UCjCwsJwOBwkJiYSFhYGQKlSpZgwYQKynHlvs2DBAuLj49m5cyfly5cHoHXr1vTr14/58+fz6KOPZu17N0uWLKFNmza89tprALRs2RKTycSiRYty7DtmzBiefvppAOrVq8e3337Lb7/9Rps2bbKariIiIm7bjHXixAni4+N59tlnadiwIQBVqlRhy5YtpKam4u/vz/nz5xkwYADDhw/Pel5kZCQ9evRg3759lC1bFsi8437hhRfo2bMnAMnJyYwZM4a+ffvSv3//rNfy8ccf5+DBg0RERGQdr0+fPll9P1u2bEn37t1ZsWIF7dq1yxHzO++8Q2JiIu+//z7lypUDoFWrVnTq1IklS5bw5ptv5up1FgTh9mJiYqhdu3aO7aNHj2bYsGE5tv/444/83//9HwsWLMjqKvTAAw9gsViyEsPw8HBWrlxJz549syWa1apV45lnnuHTTz+ld+/erFq1ipCQEFauXInZbAYgKCiIl1566Y4x7969m/vvv5/OnTsD0LRpU3x8fAgODgbg2LFj1KxZkyVLluDn5wfA/fffz6+//soff/zBCy+8kHWsqKgoZs6cCUDjxo35+OOPcTgcLFy4EKPRSMuWLfn222/Zt29fthhCQkJ46623MBqNtG7dGlmWmTNnDsePH+eee+7Jtu/p06f58MMPGTNmDIMHDwagRYsWSJLEqlWr6N27d1bsguuJpFIoVDcO1ImKisqWJO7evZv69etnJZTXde3alYkTJ3Lq1CmqVq1613OcPXuWixcvMnr06GzbO3fufMukslGjRln/7+PjQ1hYGMnJybku0z333ENISAhDhw6lY8eOtG7dmubNmzN+/PisfSZMmABASkoKZ86c4cyZM/z6668AOByObMerX79+1v9fT8BvTGiDgoIAcsT42GOPZf2/JEm0b9+epUuXkp6eniPmX3/9lZo1a1K6dOms2mNZlmnVqlWea4UFQbi16wngzUqXLn3L/Xfv3o3BYKBTp07Ztnft2pUlS5bw+++/ExkZSUZGBl26dMm2T6NGjShXrhy///47vXv3Zu/evTz44INZCSXAww8/jMFguGPMTZs2ZcuWLcTGxtKmTRtat26d7Wa4RYsWtGjRAofDwenTpzlz5gxHjx4lPj4+69p03Y3XMqPRSHBwMPfeey9G47+pR1BQUFaLznWdO3fOtk+HDh2YM2cOe/bsyZFU/vbbb2iaRtu2bbO1hLVt25aVK1eyd+9eHnrooTuWWdCPSCqFQhEbG4vFYsl20bmeMF2XlJREZGRkjude3y+3iV58fDwAoaGh2baHh4ffcn9vb+9sv8uynKd5KX19fXn33XdZuXIlO3bsYMuWLXh7e9O1a1cmT56Ml5cX586dY+rUqfz2228YjUaqVKmS1Ufz5nNdv/u/kcViuWscN39RhYaGomlajgs2QGJiImfPnr1lLQpAenp6jtdFEIS8MZvN1KlTJ9f7JyUlERwcnC2hgn+vXSkpKVn9Jm++fl7fdv3znpSUREhISLbHryd2dzJ58mQiIiL4/PPPmTFjBpCZHE6dOpVatWqhqiqvv/467777LlarlTJlylC3bl28vLxyHOtW17LcXFdKlSqV7ffr1/JbfQckJiYCZNWs3iw2Nvau5xP0I5JKweUURWH37t00aNDgjnfJgYGBXL16Ncf2K1euAGS7GN7cN9JqtWb9//Um4WvXrmXb5+bf9VSlShUWLFiAoij89ddfbNu2jffff5/IyEgGDRrE4MGDMZlMfPjhh9SqVQuj0ciJEyd0rRVMSEjIllhevXoVg8FAUFAQcXFx2fb19/enSZMm2WpTb3Rj7YYgCIUjMDCQhIQEnE5ntsTy+uc3ODiYwMBAIPPzHRUVle35V65cyWrpCQoKynE91TQtx2Cem5nNZoYOHcrQoUO5ePEi3333HStWrGDs2LHs3LmT1atXs2HDBqZPn06HDh3w9/cHMvud6+V6onjd9XLcnCQDBAQEAJldenx9fXM8fr1rkVA4xEAdweW2bNlCXFxcVr/F22ncuDH79+/n/Pnz2bZ//vnnhIeHU7FiRSDz7vfmQSo39smJiIigQoUKfPXVV9n22bVrV77iv1s/zi+//JJmzZpx5coVDAYD9evXZ/r06QQEBHD58mUSEhI4ffo0TzzxBHXr1s36svjxxx8BcozqzK9vv/026/81TeO///0vDRs2vGWC2KRJE06fPk3lypWpU6dO1s/nn3/ORx99dNcmMkEQ9NekSRMURckxc8P1m8+GDRty3333YTab+c9//pNtnz179nDx4kUaNGgAQPPmzfnxxx+zdX/56aefcnS3uZHNZqNDhw5Zo73Lli3LM888Q+fOnbOuuXv37qVq1ao88cQTWQllbGwsx44dc8m1DDKv3ZIk0axZsxz7Nm7cGMi8qb7xWpaYmMgbb7yRI0EVXEvUVAq6SU1N5X//+x+QmSglJCTw888/88EHH9C1a1cefvjhOz6/f//+fP755/Tv358RI0YQHBzM1q1b+e2335g9e3ZWcvfggw/yxRdfULduXSpXrsxnn33G2bNns44jSRKjRo1i3LhxTJs2jfbt23PkyJGskYC5HexzXUBAAPv37+ePP/6gUaNGOSZwb9CgAaqqMnz4cAYPHoyvry87d+4kJSWFhx9+mNDQUMqVK8e7775LREQEAQEB/Pzzz7zzzjsAt+zzmB8LFiwgIyODypUr89FHH3Hy5Mmsc9ysX79+bNu2jX79+jFgwACCg4PZsWMHH374IRMnTtQlHkEQ8qZVq1Y0bdqUadOmERcXR61atdi9ezdr1qyhe/fuWX3KBw8ezLJlyzCZTLRr144LFy6wZMkSqlatSo8ePQAYPnw4X3/9NQMHDmTQoEEkJCSwePFiTCbTbc9vsVioXbt21rGrV6/O6dOn+eyzz+jQoQMAdevWZcWKFaxevZp69epx9uxZVq1aRUZGhm7Xsr/++otx48bx2GOPcfToUd58802efPLJHP3tIXOAUteuXZkyZQoxMTHce++9nD59msWLFxMZGUmlSpV0iUnIHZFUCro5fPgwTz31FJCZuIWGhlK5cmXmzp2bo1P5rYSHh/P++++zaNEiZs2ahcPhoEaNGjlGME+cOBGn08mCBQswGo106tSJsWPH8sorr2Tt06VLF6xWK+vWreOTTz7hnnvuYfLkyUyePBkfH588leuFF15gxYoVPP/88+zYsSNHc0qpUqVYu3YtS5YsYfLkyaSnp3PPPfewdOnSrDvrFStWMGvWLCZMmIDZbKZq1aqsXLmS2bNns2fPHl2WHJs+fTqrVq3i/Pnz1KpVi7fffjvbIKQblS5dmi1btrBo0SKmT5+O3W6nUqVKzJo1S9dmLEEQcu/6iOU333yTjRs3Eh8fT2RkJC+99FLW7A8AI0eOJCwsjM2bN/PRRx8RFBTEI488wosvvpjVZ7FSpUps3ryZuXPn8tJLLxEaGkp0dDRz5869YwwzZ87kjTfe4O233+bKlSuEhobyxBNPZA18HDJkCAkJCWzcuJHly5dTpkwZHnvssazYk5KSspro86tv377ExsZmVS688MILDBky5Lb7z5kzh1WrVrFlyxYuX75MaGgonTp14sUXXxStLoVM0vIyIkEQiojt27dTq1YtqlSpkrXt+++/Z8iQIWzbto0aNWq4MTp9ffrpp0ycOJFvvvnmlgOdBEEQiorq1aszYsQIRo4c6e5QhHwQNZVCsfT555+zePFiXnzxRcqUKcOZM2d48803adKkSbFKKAVBEATBU4ikUiiW5s2bx6JFi7ImVA8LC6Njx46MGjXK3aEJgiAIQrEkmr8FQRAEQRCEAhNTCgmCIAiCIAgFJpJKQRAEQRAEocBEUikIgiAIgiAUmEgqBUEQBEEQhAITo7/vQtM0VLXkjGWSZanElLcklRVEefU+9s0rKxUH4npXvInyFl+ecr0TSeVdSJJEcrIVp1OfNU09mdEoExzsWyLKW5LKCqK8egsJ8cVgKH5JpbjeFV+ivMWXJ13vRPO3IAiCIAiCUGAiqRQEQRAEQRAKTCSVgiAIgiAIQoGJpFIQBEEQBEEoMJFUCoIgCIIgCAUmkkpBEARBEAShwERSKQiCIAiCIBSYSCoFQRAKydatW+nUqRN16tShc+fO7Ny587b7Hjx4kL59+1K/fn2aNWvG1KlTSU5OzrZP27ZtqV69erafcePGuboYgiAItyQmPxcEQSgE27ZtY9KkSURHR/Pggw+yfft2xowZQ0REBPXr18+2b1xcHP379+eRRx5hxowZxMfHM3XqVKKjo1m5ciUAqampXLx4kVWrVlG7du2s51oslkItlyAIwnUiqRQEQXAxTdNYsmQJffv2pW/fvgAMHz6cffv2sXv37hxJZUxMDC1btmTatGkYjUYqVapEz549Wbx4cdY+x44dQ9M0GjRoQEBAQKGWRxAE4VZEUikIguBip06dIiYmhi5dumTbvm7dulvuX79+/WyJ5okTJ/jss8944IEHsrYdPXqU8PBwkVAKguAxRFIp5IumaSjJSajpNpAASc76V5Lgn/+A9M9C9Fk/N+7zT5deGeCG/ZBAlpH++RGEou7MmTMAWK1WBg4cyOHDh4mMjGTo0KG0bdv2js/t0KEDZ86coVy5cqxYsSJr+7Fjx/Dx8WHkyJHs37+fkJAQevTowXPPPYcsPjeCkCcxV1KRJSgV4oNBfH7yTSSVQp6pTidKYgKaU8ncoAHa9UXsVbSb9r/599zQNA3N4QCzCUtEmfwHKwgeIDU1FYDo6GhGjBjBuHHj2LVrF8OGDWP9+vU0b978ts9duHAhNpuNhQsX8txzz7Ft2zZ8fX05fvw4KSkpdOrUiREjRrBnzx4WLlxIUlISo0ePznesBkPJ+EK9Xk5R3uIpL+W9kpDOlcR0QgItJKRmEOhrxtur6KRHnvS3LTqvmuARFFs6SmKSy88jSRKaJOGIi8WrdERmLaYgFFEmkwmAgQMH0r17dwBq1qzJ4cOH75pU1qlTB4ClS5fSunVrvvrqK7p168b69eux2+34+fkBUL16ddLS0li5ciUjR47Md21lQIB3vp5XVInyFm93K++VRCsJ6Q78/S0EBHjjYzGhahqaQSbY31Kkvns84W8rkkoh15xJSSjWNCSp8O6GNEcGzvh4TKGhhXZOQdBbREQEANWqVcu2vWrVqnz//fc59j958iQXLlygdevWWdtKlSpFYGAgsbGxQGaiej1Zva5atWpYrVaSkpIIDg7OV6zJyekoinr3HYs4g0EmIMBblLeYyk15E1PsnLqUjASoqopJBofdAUByMsRdSSXI34yXybNTJVf/bQMCvHNdC+rZr5TgEVRFyWzudjgLNaEEQIOMuFiRVApFWq1atfD19eXPP/+kUaNGWduPHTtGhQoVcuz/008/8cYbb/Dzzz9n1USeO3eOhIQEoqKiUFWVhx56iJ49ezJ06NCs5x04cICwsLB8J5QAiqLidBb/pOM6Ud7i7XblTU6zc/piMhqZNZGqqqEqGoryb4ctBY24hHR8zCYCfE0eX2vpCX9b9zfACx5NtdtxXruK5nC6LwabDce1a247vyAUlMViYdCgQSxfvpzt27dz7tw5Vq5cyS+//EL//v1RFIUrV65gs9kAeOyxx/D39+fll1/m+PHj7Nmzh1GjRlG3bl3atGmDLMt06NCBtWvXsnPnTs6dO8cHH3zA2rVrC9SfUhBKgtR0B6cvpWQllHciIZGe4eRqko0Mp/u+B4sKUVMp3JaSmoozJcXtd2eSJInaSqHIGzZsGN7e3ixevJjY2FiioqJYunQpTZs25cKFC7Rr1445c+bQo0cPgoOD2bhxI3PnzuXpp5/GYDDQrl07JkyYgMFgAGDs2LEEBASwaNEiLl++TGRkJJMnT+bJJ590c0kFwXNZbU5OX0xCy+MIUkXViE+y4+ut4u9jdk1wxYCkaXl9aUuehIQ0t1cpFwajUSY42Jdr11KwX7uGastwa0KpOhxkxF5CNprQNA1LxUqYQkJ0Ofb1spa0v60orz5CQnw9YqSlK4j3SPEkygu2DCfHzyehqDnTHlVVCQmwYMnFqG+TQSLQzwujh1wDPOl65xmviOAx1IwMnFeuoNkdbq+hvNH12kpBEARByCu7w8mJmFsnlHnlUDSuJNlIszl0iKx4EUmlkEVJS8N25Sqa5pl3sWp6Oo6EeHeHIQiCIBQhDkXhZEwyTqd+DbMSkJyWQXyKDUX1zO9MdxBJpYCmaTgTE3AkJ+Wi27L7SJJERmycu8MQBEEQighFUTkVk0yGQ//ET5IkMhwqVxNt2Oyi1hJEUlniqU4njqtXUW12j2ruvh013YojIcHdYQiCIAgeTlU1TlxIIt2uuPQ8GpCQmkFCip2SPkxFJJUlmGKz4rx6FRTXfuD0JP2zyo4gCIIg3I6maRw9l4DVXjjTAEmShN2hcCUhHbsbp+BzN5FUllDOpEScCYnuDiNfFKsVR2Kiu8MQBEEQPJCmaZy6mExKWkahn1sF4lPsJKWWzFpLkVSWMKrTiePaVdR0W+GvjqMTUVspCIIg3M652BSSUu1uO3/mhOlKiZwwvWhmFUK+eMLqOHpR0tJwJie5OwxBEATBg1y4kkJ8smeMEbg+YXqKtfBrTN1FJJUlhJKagiM+PrNHcTEgSRIZly+7OwxBEATBQ1y6lsaVRJtHJJRZJIk0m5NrSenY7A4cRWgMQ37otkzj2bNn+fPPP7l69SqyLFOqVCnq1q1LZGSkXqcQ8kFVFJSkRLQMz5rMXA+K1YozORljQIC7QxEEQRDcKC4hnUvxVmQPnRjPoWgkpjlQNQ0ZMBpkTEYZgyxhNMqYTQZkD/2O1iAz7lzEV6Ck0ul0snXrVt5++21Onz6N0WgkMDAQRVFITk5GVVWqVatGv379eOyxx5BlUTFamFSnE2d8PBTTiVklICP2kkgqBUEQSrCrSenEXEn12KTsRtdjdKoazox/ay01VUOWwWSQMRpljLKMwShhNhpcXiGkaRoOp4qqqjgVDUX950dRUVSNgEBvQEY2uDCpPHToEBMmTMBkMtGtWzfatm1LlSpVshJHVVU5cuQIv/76K+vWrWPNmjXMmzePOnXq5PeUQh4pSYnFNqG8TklNE7WVgiAIJVRiio3zcWlFviVOkiU0IEPRyFAUIDPh1FQVo0HO+jEZJQxGGZPBkOtja5qGQ1FRFQ1FVf9JGG9IHDWQ5du8fpKUp7rffCeV06ZNY/LkyTRr1uyWj8uyTK1atahVqxYDBw7kp59+Ytq0aXz66af5PaWQB87k5GIxIOduMtcEvyySSkEQhBImKc3Omcsp5C3tKVokWUbRQHGq2J0q2DOTRAn+STQlLF5GLD5e2DKcZNgVFFXFmZU4ZiaRkiTdOvGWJG6XT+ZHvpPKjz76KE93Bi1btqRFixb5PZ2QB6rdjpJW9O/ccktJScWZkoLR39/doQiCIAiFINXq4MylFCjGCeXtSDc2oasaDtWBnGwjKcWOotw8Gle6fS2kC+S7k2N+EpaSkuS4k6ooOJMSS9Rrnbkm+CV3hyEIgiAUAqvNwalLSZTAucU9Xp6SytjYWMaOHcu4ceO4evUqM2bMoH79+vTq1Yvz58+7KkYhD5TERFBL3iftem2lIAiCUHzZMpyciEku7sMFiqw8JZWTJ0+mXr16REVF0b9/fyIjI/nxxx/p0aMHs2bNclWMQi4pqSloDoe7w3CLzFV2xLyVgiAIxZXd4eTEhSTUElhxUlTkKam8evUqzz77LEOHDiUxMZGBAwfi7+/Pk08+yaVLovnRnVS7HWdKqrvDcCtnSgrO1JL9GgiCIBRHdoeTkzHJOHP0GRQ8Sb77VDZt2jTb7yVx4XRPkdmPMqlE9aO8FQkJR6yorRQEQShOktPsHD2XRIZDtHl7ujwllREREaT+UxO0cOHCrO2xsbF4eXnpG5mQa0pyYrGfjzK3nCnJONPS3B2GIAiCoIO4eCsnL6aIJu8iIk9J5VtvvYWfn1+O7f7+/rz11lu6BSXknpKWhmorOYvV342EhOOy6IohCIJQlKmaxulLScRcTSuBkwYVXbqs/e3j44OPj48ehxLyQM3IwJmSUuKbvW/mTEnGaU3D6OPr7lAEQRCEPLJlODlzKQVbhiK+34qYAiWVp06d4scff+TkyZMkJSUBEBgYSFRUFK1ataJKlSq6BCnkpGla5nyU7g7EA2XWVl7GWCXK3aEIgiAIeZCcZufMpZSSODNesZCvpNJutzNlyhT+85//YDKZqFChAgEBAWiaxqlTp9i2bRvz5s2ja9euvPrqq5jNZr3jLvGUxARQRD/K23EmJYraSkEQhCIkLt5KzDWrqCwpwvKVVC5cuJAff/yRBQsW8PDDD+dIGjMyMvjqq6947bXXWLhwIZMmTdIlWCGTkpaGYrOLZoE7kCQZx+VYjKK2XBAEwaOpmsbZy8kkpmSI77UiLl9TCn3xxRdMnDiRRx999Ja1kGazmc6dOxMdHc327dsLHKTwL9XpxJkq+lHmRmZtpdXdYQhClq1bt9KpUyfq1KlD586d2blz5233PXjwIH379qV+/fo0a9aMqVOnkpycnG2fnTt3Zh2vS5cu/Pjjj64ugiDoypbh5Ni5RJJSHeJ7rRjIV1KZnp5OWFjYXfcLCwsjPT09P6cQbkHTNJzx8Uiir0muSJKYt1LwHNu2bWPSpEk89dRTbN++nU6dOjFmzBj279+fY9+4uDj69+9PhQoV+Oyzz1ixYgX79u0jOjo6a5/ffvuNl19+md69e7N161ZatGjB8OHDOXnyZGEWSxDyLTnNzvHzidgyFHeHIugkX0llgwYNWL58edbgnFtJSkpixYoVNGzYMN/BCdkpSYliPso8ciYmoogbG8HNNE1jyZIl9O3bl759+1KxYkWGDx/O/fffz+7du3PsHxMTQ8uWLZk2bRqVKlWiQYMG9OzZk19//TVrnzVr1tC+fXv69OlDVFQU0dHR1K5dm3feeacwiyYI+XJ9/kkxNKB4yVefyilTpvDcc8/x4IMPcv/99xMVFYW/vz+SJJGcnMzJkyf59ddfCQgIEBc4nSjpVpR0m2geyCNJksi4fBnvypXdHYpQgp06dYqYmBi6dOmSbfu6detuuX/9+vWpX79+1u8nTpzgs88+44EHHgBAVVX27dvHhAkTsj2vadOmfPXVVzpHLwj6UVSVc7Epov9kMZWvpLJSpUp88cUXvP/++/z00098/PHHWX19AgICiIqKYujQofTq1Qt/f39dAy6JVKdTLMNYAEpSZm2lwdvb3aEIJdSZM2cAsFqtDBw4kMOHDxMZGcnQoUNp27btHZ/boUMHzpw5Q7ly5VixYgUAycnJWK1WIiIisu1bqlQpLl0q2OT/BkO+V+8tUq6XU5S38NgynJy+mIwtQ8FodG0csixl+/duJElCNkgYDEXvezb739YFVb95yD3yPU+lv78/gwcPZvDgwfk9RJGgubm5WdM0nAkJSGKShQJxxF7GUEnUVgrucX152+joaEaMGMG4cePYtWsXw4YNY/369TRv3vy2z124cCE2m42FCxfy3HPPsW3bNmw2G0COgZJeXl7Y7fYCxRoQULJuvkR5C0diio2Yy6kYzSb8zKZCO6+PT+6WkFZVlYAAb3wshReb3vz8LC45bm4Tc9BpRZ3iTFNVMq7EoXn7YrAU/odRSU4CRXRiLihnYiKqzYZscc2HThDuxGTK/KIaOHAg3bt3B6BmzZocPnz4rkllnTp1AFi6dCmtW7fmq6++onXr1kDm9G03stvteBewRj45OR2lBHR0MxhkAgK8RXkLweVraVws5PknZVnCx8cLq9Weq3XDVVXFJIPD7iiE6PRlMMj4+VlITbW55G8bHuSd68TSpUllfHw8J0+epHHjxq48jctpioIzIRHVlIrs51doyaVis6JYrUhSyWiecbWM2MtYKlZydxhCCXS9mbpatWrZtletWpXvv/8+x/4nT57kwoULWckjZDZtBwYGEhsbS1BQED4+PsTFxWV7XlxcXI4m8bxSFBWns/gnWdeJ8rrwXB7Qf1JVNRQlN0mlhqrkbl/Pk/n3VBTVNfFrGuTylsCl2coff/zBc88958pTFBpJktCcmcml4+pVVLvNpedTnU6UxGSRUOrImZiAanPt300QbqVWrVr4+vry559/Ztt+7NgxKlSokGP/n376idGjR2c1mwOcO3eOhIQEoqKikCSJBg0a5Bg5/vvvv4sZNwSPYMtwcuy8mH+ypBEZSx5lJpdOHPEJOK65LrlUEhNdctwSTYOM2Fh3RyGUQBaLhUGDBrF8+XK2b9/OuXPnWLlyJb/88gv9+/dHURSuXLmS1Vfysccew9/fn5dffpnjx4+zZ88eRo0aRd26dWnTpg0A/fv354svvmD9+vWcPHmS+fPn8/fff9O3b193FlUQSPpn/kl7RsmpARYy5av5++ZpMW4nLS0tP4cvEiRJQnNkJpey2YTBzx/ZK3cdgu/GmZSE5nTqciwhO2diPGpEBBhLVud8wf2GDRuGt7c3ixcvJjY2lqioKJYuXUrTpk25cOEC7dq1Y86cOfTo0YPg4GA2btzI3LlzefrppzEYDLRr144JEyZgMBgAaNGiBbNnz2bFihUsXryYqlWr8tZbbxEVFeXmkgol2eX4NC5dSxdDS0soSdO0PDfA165dm6pVq1KrVq077hcTE8Mff/zB33//ne8A3U11Ook7fgbFeeeXSdNUZLMXBn9/5FssXZlbii09c7S3G5q9DUaJwAAfkpKtdy1vYVAdDjJiLyEb9R2NZwwJwa9KZYKDfUlISCsR/amMRlmUV0chIb7Fdioa8R4pnlxdXqvNweV4K0mpnjH/pMEg3TB4JXcDdUICLFi8it74ZYNBIjDQh6Qkq0v6VFavHIpskDHm4pqXr1fvnnvuoWLFisyZM+eO++3atYs//vgjP6fIsnXrVlavXs358+epUKECI0aMoGPHjrfc9+DBgyxYsIC//voLLy8vHn74YcaNG0dAQECBYsgNSZLRHA4c164ie1kw+PnlOblUFQUlKUn0o3QxZ/w11HJlAV93hyIIglDkaJqG1eYgJd1JWrqDVJsDVdGQJMkjEkrBffKVvdStW5e//vorV/vmoyI0i95r5RYGSZLRMjJwXLuKIyEe1ZH76QmUxARwfwVhCSCJvpWCIAi5pGkayWkZXLqWxokLifx58irHzidx+ZqVFKsDTUUkkwKQz5rKQYMGZZvq4nZat27NN998k59T5FgrF2D48OHs27eP3bt3Z1vCDLKvlWs0GqlUqRI9e/Zk8eLF+Tp/QUmSjGbPwGG7isFiQfb3Rzbe/uV2JiejOUQ/ysLiuHYVpYCTRAuCIBRH6j9JpDXdQZrNSZrNiaZpNySOUl4WWRFKkHwllRUqVLjlNBg3s1gslCtXLj+n0H2tXHeRJAnVbkex2W6bXKp2O0pamrjTK1QS6RcvQVC4uwMRBEFwK0VRSbY6SLM5SEt3YLU5c3wfie8nITc8tkeq3mvlFoRBlsFY0I7NEigZaAnX0LwtmaPFjcbMfpSpyRhN7u9HaZDlf/8tcHkLTtIkDLKE7IIBEbIsYb96Fcnih9ENKyUVNk9Y97cwlbTyCkJeZDgVUqwOrDYHqekO0u0K8g1Jo0gghfzK1+jvwrBt2zbGjx9PZGQkI0aMoEaNGuzatYu33nrrrsuaHThwIGut3GvXrrFt2zZ8ffM3KEN1OrHHxt19xzzSAIOPN5rTiZZR9JaFKgyqw4H1wgUMBRhNf1eyAf9qVTEVwmAuQSgKxGjo4kmTNFLtKhdjk7HaHEjFfJpqMfpbPy4f/X1dUlISH330EYMGDcrxmKqqrF27lmeffTZfa9HqvVZut27d8hzDdampNhTVBRedZKv+xywAg3zD+qGuKG8eqQ4HGWl25Az9PySZ68Kasaamk7r3LyyVKmMKCtL9PJ5CrHOsr4AAb1ELKhQZGQ6F05eTMXuZyXCoxT6hFNynQEnl8ePHWb58OSdOnGDOnDlZVeYOh4MXX3yRPXv20KpVK2rUqJHnY+u9Vm5BKKrqEfM2utw/Td6eUl7VqaGoGppLkqDMi2rmurAqaSdO4hVZHlNYmAvO5TnEOseCULLYHU5OxCShqmDWZ30OQbitAt2uNGrUiDVr1vD1118zevRonE4nNpuNF154gf379/POO+/kK6EE/dfKFYS7sV04J6YaEgSh2LBlODlxIRmHw/2VBELJUOA68EaNGrFhwwZ2797N0KFDef755zl+/DibNm3Kd0IJrlkrVxDuRELCfuki9pgL7g5FEAShQDITyiQcoqZeKES69Ei99957WbZsGX369MFgMPDJJ5/oUjuo91q5gnA3EpARF4fmdOJVoaIYBSkIQpFjtTk4EZOMqooaSqFw6TL6+9q1a/Tv3x+73U5GRgalS5dmzZo1+Pv76xGjW+V27e/ioKSs/Q2ZAzn8/LxITbXfdiCHwd8fS+UqSHLR79Re0ka6irW/80+8R4q2tHQHpy4mcfNlLa+joYs6MfpbP3kZ/V3gq+Lly5fp3bs3AO+//z7vvvsu8fHxPPfccyQkJBT08ILgNkpKCuknjqM6xUpHgiB4vlSrgxO3SCgFobAUKCU/e/Ys/fr1Izw8nDVr1hAYGAjAu+++y4ABA3jmmWdYv349pUuX1iVYwXNlZGQQn5iAzW4j3WbDZrejaRoN6twHwBdf7yIxKQmb3Ybtn8efeqwHkWXLse3LL/jv999gs9tJt9mw2220bPYA+/7azyv9BlEp8u6rN7mKarWSfuI43lWikF05X6YgCEIBJKfZOX0pBc+ceVooKQqUVDqdTurXr8+rr76abXLx8PBwNm3axPTp01EUpcBBCp7nu19+YsHyN+jycEeG9hvEX38fYlj0S9n2CQ8N44t3PwZg9ab1JKck4+XlhbfFG4uXFx3btgfAZDQRFBiIxcuCxWLB4mWhZrVqfPX9N7z/5Q4mDnqh0Mt3I81m+zextFjcGosgCMLNktLsnLmUjKaJPuCCe3nsijqeQvSpzM6pOFnx9ho2f/IBre9vQZ/Hn+K+2nVISknm8NEjWCwWvL0sWCyZyWPp8FIAaJqW50EvG97bxNr3NvLxojcJCQwqaPGyyU2fyptJBgOWqCgMPvlbncmdimv/sdsRfSrzT7xHipbEFBtnLqeQOczw9kSfyjsTfSpvr9BW1BFKloyMDEZOfpm/Dh3gxcHDebr7E1mJYqB/AM0bNbntc/Mzirpbx868vWUTn337FQO798x33HrRFIX0EyewVKqMUSzrKAiCm8Un2zgbm4p0l4RSEApL8bzVFlzCbDbTsG49Vsx/g949erp8up0AP386tWjFZ99+hT0jw6XnyjVVxXb6FI5EMQhNEAT3uZqUztnYFJFOCh7FpUllfHw87dq1c+UpBBfTNI3NH29h25dfADD42f7Uv7duoZ3/iXYdSEpNZdf//VRo57wrTcN+5gwZV6+4OxJBEMi8TtkdTqw2Bzb79R8ntox/f+wOJxkOJfPHqeBUFJyKiqpqqJqG9s9PUXAlMZ3zooZS8EAubf42m800aXL7JlHBs6WmpfLq6/P57pcfGdj7ObfEEFm6NC0bNOKDXTt4tFUbZA+aM9J+4Tw4nZgjyrg7FEEoMRRFJcOp4lRUHP+s7a4oKkhSrltPNE3DYJCwqRJJiVZURSMzndT+TdOkzJRNgszHJDDIMt5eBry9jBjcdC2Ki7cSczVNLMwgeCSXfir8/PyYM2eOK08huMjxUyfpO3IIu/fvZf7UVxny3AC3xfJUh06cvXSR3w/8efedC5GEhP3y5czkUsgzJS1NzAEq3Nb12se0dAeJqXauJqVz+VoacQnpJKVlkGZzkuFQUTWQZDlPSZb0TwIqSxKyLCHJmf/Kspx5rOvHkyS0f/4FCUXVSE13EpdoIyHFhi2jcN+/l66lceGaSCgFzyUG6gi39ObalXh5Wdi4bBXly0a6NZa691SnZuUotuzaQfP76rs1lptJQMaVK5nLOlasJC72uaRYrTiTk5BNJqTQMPG6lXCZtY8KiqJl1T46FTXnalaShCe8VSTA7lCxZdgxyBl4exnxsbi29vLi1TRiE6zIoslb8GC6JZV79+5l7969OByOHP1SRowYoddpBBfKyMjgzPlrBAeGMmP8ZHws3lg8YF5GSZLo9Uhnpq18k+Nnz3BPxUruDikbSZJwJiaiOU/gVbkKslhr/o5Uux1nUhKSJKM5FZSkRIxBwe4OSygEmqZlJo/Of5LH683XgHxTtlgUlkeVJAlVgzSbk9R0B15mAz5eRixmfetrLsSlcCXRJm6+BI+nyzt/9erVvP766wQGBmabBB0yP3QiqfR8l2IvM3HWNNJt6XywZgMhHvYl37pRE0qHhvHBf3fwyvPD3B3OLSmpqdhOnMASFYVsFI0At6I6HDgS4rN9OSrpNiRTGgbfojP/p6ZlTjEliRuIHBxKZo2jqmgoqopT1TJ/VzN/v1Xto+enj3cnSRIZDhX7jbWXXsYCz2d6Li6FayKhFIoIXb75Nm/ezNChQxk9erQehxMK2a97fmfKvFn4+fqwYt58DAaDx032bjQYeOKhDqz6eAsvPNGLsOAQd4d0S2q6lfTjx/COikI2e7k7HI+iOp04E+JzjFiVJAlnSgqS0YjsVUReM1VBk/M+9nbr1q2sXr2a8+fPU6FCBUaMGEHHjh1vue/x48dZsGABf/75J7Is07hxYyZMmEDZsmWz9mnbti0xMTHZntelSxcWLlyY1xLlWuao6exJo/pP4qiodx4wUxRqHwsqR+2l6Z/ayzxOqq1pGudiU4hPtouEUigydPmEJyUl0a1bNz0OJRSy9z/7iBenTKBOzVpsXrGGe2vWdHdIt9WldVvMJjOffPNfd4dyR5rdjvX4cVSbzd2heAxVVXEmJIB665sVCXAmJaIWgWVdnfmco3Tbtm1MmjSJp556iu3bt9OpUyfGjBnD/v37c+ybkJBA//798fX1ZfPmzaxZs4aEhAQGDRqE3W4HIDU1lYsXL7Jq1Sp+/vnnrJ9p06YVrHyKgi3DiTXdQUqancQUG9eS0omLt3LpaipXEm0kpmaQnO4gza5gd6g4FA2VvA+YKe4kSSLDqZKYlkFcvJXktAycuVjBS9M0zlxOFgmlUOToklQ2bNiQAwcO6HEooZBVr1qNIc8NYNH02QR6+Coxfj4+dGndhq3ffU263cMTNoeD9OPHUKxp7o7E7TRNQ0lIgLsljKqG4uGTyiupKSjpeX/vaZrGkiVL6Nu3L3379qVixYoMHz6c+++/n927d+fY/+uvvyY9PZ25c+dyzz33cO+997JgwQJOnjzJvn37ADh27BiaptGgQQPCw8Ozfvz9/fNfPkUlNiE9W9JoE0mjLlTAandyJTGda8k20u05xx8AqJrGqYvJJKU6xGstFDm6NH937NiRmTNncvDgQapUqYLZbM72uKjF9CyHjx7h4+1bmfziyzSocx8N6tzn7pBy7YmHHuGj/+5k588/0qPdw+4O5440RcF28mSRXS9cL0pSIprDkat9NYcTZ1IiRp3XeteDkm7NbKaX8n4vfurUKWJiYujSpUu27evWrbvl/s2bN2f58uV43aI7QFJSEgBHjx4lPDycAJ1vBmVJQsGzur8UJ5Ik4XCqJDlVktMysHgZ8fUyYTTKqJrGyZhk0tJz93kRBE+jS1I5ZcoUADZs2JDjMUmSRFLpITRN45MvPmfxqmVUj6pKSloqQQGB7g4rT8qEh/Ng46Z8+N+dPNbmIbdNQJxbJT2xdKZk1uzlpcZFsVqRzGYM3j4ujCxvMkesJ+croQQ4c+YMAFarlYEDB3L48GEiIyMZOnQobdu2zbF/ZGQkkZHZp/JatWoVXl5eNG7cGMisqfTx8WHkyJHs37+fkJAQevTowXPPPVegRQIyB5bcvYm2qLs+gMa95c1sHrc77ZgNMleTMue+NBj0r6GUZSnbv8VdXssrSRKyQXLJa+9qLn8v5+H6rUtSeeTIET0OI7hQui2duW++zs5vv+LJrj0Y/fxQTCaTu8PKl6c6dGbIq1P4v//to2WDRu4O565KamKppKWhpOa9Zk+SZJzJyUhGE7IHvEdVpxNnYkKBZgdMTU0FIDo6mhEjRjBu3Dh27drFsGHDWL9+Pc2bN7/j8zdu3Mh7773HxIkTCQ0NBTIH8qSkpNCpUydGjBjBnj17WLhwIUlJSQUaNOnn5/5pxAqTJ5VXSs1weTw+PkVkMJxOclteVVUJCPDGx+L+a05+ueq9k5cbkXwnlVu3bqVTp06YzWa2bt16x31FTaX7ffPj93z3y0+8Gj2FDm2K9nrstaOqUqdqNT7Y9UWRSCqh5CWWii09MzHMZ82epGUOiDGGhLp13k9VUXAmxFPQ1uDrN3ADBw6ke/fuANSsWZPDhw/fMam83hdz5cqVDBkyhH79+mU9tn79eux2O35+fgBUr16dtLQ0Vq5cyciRI/NdW5maastc9rCYMxhk/PwsHlXelDQbhnx+Zu5GliV8fLywWu2otxkwV5zktbyqqmKSwWEvel0PXP1eDg/yznVime+kcsKECbRs2ZLQ0FAmTJhw2/1E87d7nTxzmqhKlenc/hEa3lefMqUj3B2SLno90pnJyxZz5PRJalSOcnc4uVJSEks1IwNnYmLBBxkoKkpSInJIqD6B5ZGm/TNwSIeLdERE5ueuWrVq2bZXrVqV77///pbPcTgcTJw4ke3btzN+/HgGDhyY7XGTyZSjtaFatWpYrVaSkpIIDs7fXLOKoqIoxT/puN5M6Enl1RQNRXJtLNenfyopclNep9PJz9/voMUDrYiMLHvHfT2Ti9/Lmga5bKvJ9y3RkSNHspphjhw5ctufv//+O7+nEApA0zTeXLOSp1/oz8Ejh5EkqdgklAAtGjSiTHgptuza4e5Q8uR6YllcR4X/21SsT78kLcOBMyVFl2PlVeYAI33Wdq5Vqxa+vr78+Wf29euPHTtGhQoVbvmc8ePH8+WXX7Jo0aIcCaWqqrRt25aVK1dm237gwAHCwsLynVAKQkn03vo3eGf1AoY//wSbNqzEWkyvz4XBs0c5CPm2ded2Nn/yAaOfH0bt6p4792R+GWSZJx/uyHe7fyP22jV3h5MnxTWxVBUFZ3z8beeizC8lNQXFlq7rMe/GmZycr6mDbsdisTBo0CCWL1/O9u3bOXfuHCtXruSXX36hf//+KIrClStXsP0zt+mnn37Kjh07eOmll2jSpAlXrlzJ+rHZbMiyTIcOHVi7di07d+7k3LlzfPDBB6xdu1YsQiEIefDtf7fy7X+38tSzw+nY5Qk+fP8dBjz7GJ9v/QBHLmetEP6ly0CdxMREVq9ezfHjx7Mm5r3Rxo0b9TiNkEsXL19iyZoVPPZIZ555/El3h+MynVs+yLpPP+KTr79k2FPPuDucPCluTeFZTcWq/v15JElGSUxCCjMVyvKXSloaSlpqvvuD3s6wYcPw9vZm8eLFxMbGEhUVxdKlS2natCkXLlygXbt2zJkzhx49erB9+3YA5s+fz/z587Md5/o+Y8eOJSAggEWLFnH58mUiIyOZPHkyTz5ZfD/zgqCnI4f28+7bi2n3yOM83PlJQgIs9Hj8aTZteIvVKxZRr35jKlSs4u4wixRJu9Xsq3n0/PPP89dff/HAAw/ccl61OXPmFPQUbqM6ncQdP+NxyxbeyZwli/i/Pb/z/lvr8cvDesoGo0RggA9JyVaPKK/qcJARewnZePvReCs+fI/Pv/uGT19fho+3d66Pndmx2YvUVLtbO+lLBkOhJJZGo0xwsC8JCWk4nfqX15mYgGrLeUOpK4MBU1hYrvpq5re8qt2OIz7+rucoXb0SsiwVuzXeFUXl6OmrJaLPncEgERjoQ1KS1WPKe+mq/jcz1xkM0g2DOTyjvK50t/JeibvEzAnPE1mhCmNfeR1ZlgkJsGQtp3nt2hVCQ8NxOh0smDOFTo8+zn31Gxd2MXLF1e/l6pVDkQ0yxlysY6/LFXHPnj2sWrWKJk2a6HE4oYDGDB3B07FP5CmhLKqeeKgDH+zawfafvufJh2+9hrInKw41ls6kpDzPRZkvioKSmIDRReu+Z65NniBWMRGEYs6WbuXN+ROweHszfOyrGI1G1JtaWUJDwwFISIjn8qWLRI8dQuMmD9D/+ZFUiap2q8MK6NSnsnTp0viWgATG08VcvsTJM6fxMntRqXxFd4dTKEqFhNKuSTM++u9OFBc0vRaGotzHUklLQ0m3FloiptjsKP/M+ainrP6ggiAUa6qqsnb5bK7EXmR09Dz8/O+8AEh4eGneWP4Ok6fN5+LF8wwf/DTr1y4tpGiLHl2SyujoaGbOnMlvv/3GhQsXuHjxYrYfwfVUVWXmorlMeG0qyt3WWC5mnuzQiUtXr/Dj3j/cHUq+FcXEMmsuSp1GeueGJEk4U1JQb9F3O78y1yaPd0l/UEEQPMt/PnmHPb9/z+BRU4mskLv+kpIk0bL1Q6x6+yOGj5pAteq1Abh29QrJSYkujLbo0a1D0PHjx+nfv3+2bZqmIUmSmFaoEHz0n63sP/Any+e+jsGNk0W7Q41KVahXvSYf7PqCNo2bujucfCtKTeGZyxYmuaWpWJKkzInRQ8N06dPoTIxHc5asGzFBKIn2/P4Dn324jh69BtGgccs8P99oNPHoYz2zfn97zZv89n8/8FTvATzWoxdeXp6zOpO76JJUzpkzh2bNmvHUU0/hnYfBEoI+zl+8wLK3V9GzSzca12vg7nDcotcjnZmwZCEHTxzj3qpFt79LUUgss+aidGdffw2UxESk0NACJbbOpCS0IriChiAIeXP+7AnWLH2Nxs3b0KVHX12O+fwLL+Hr68c7b6/g88+28Gz/F3jo4S4lrmLnRroklbGxsaxbt47y5cvrcTghj15/axlhIaEMHzDY3aG4zf331SeydARbvtzBayOKblIJnp1YZvY9vFbgZQv1oDmdKMlJGAOD8vV8JS0NxVp4/UEFQXCPlORElsybSOkykQwaNkm3z3xQcAjDRkXT7fGneeftFSx7Yw731W9CRERRXJVHH7r0qaxXrx5Hjx7V41BCPkwcNZa5k2fg4+3j7lDcRpZlnurQiR/37ubilTh3h1NgntjHMrPvYYLuk5sXhGJNR7Fa8/68rLXJRUIpCMWZ0+lk+etTsNvTGT1+Dl4W/VtTy5arwMQpc1m/+T9ERJQlI8PO7JnRHD70592fXMzoUlP55JNPMnXqVPbv30+lSpVyrEcr1v52jctxsfh4+1AqLJxSYeHuDsftOj7QijWffMjHX33JqN7PuTucAvO0GkslMQHNqc+yhXqRJCkzOTQakc3mXD1Ht7XJBUHweJvfXsLxIweInraE0HDXLlUcFl4KgKtX4rhw/ixjRvbngZZt6TdwBOUrVHLpuT2FLknl2LFjAVi3bl2OxyRJEkmlCyiKwuQ5MzGbTKyc/4a7w/EIFi8vurV9iI+++pL+jz2OfzGY5spTEktnUiKqPcNt578TCXAmJmIMDUW+S18mvdcmFwTBc+3a/gnffPkp/YaMp1rN+wrtvGXLlWfZqvf47pudvPP2CoYM6MlzA4bSq/cAbLZ0HA4H/v4BhRZPYcp3UhkXF0epUplZ+ZEjR3QLSMid9z/7iINHDrN64ZvuDsWj9Gj3MO/t+A//+fE7end81N3h6MLdiWVm38N0z67ZU1WUxETk0NDb7qJpGk4Pa74XBME1jhz6H2uWz+Ohjj148KGuhX5+WZZp174zLVs/xPZtH1GhYmUA9uz+P16b/jKBgUGUi6xIZPmK1KhVh06PPg5ARkYG5ly2urhKeroVo9GEyWTi4IH9lAtvSkDgnefzvC7fSWXHjh0pX748rVu3pnXr1tSrVw9Zds3yUkJ2p8+d5a131tG7R0/uq13H3eF4lLCgYNo3e4CPv/qSJ9s/grGYLKPnrsRSsVlxJie5bOk4PWkOB86kJIy3ufg5E+KhhM3hKggl0ZW4S7y5YDI1763PM/1HuzUWs9mLHj37ZP1es3ZdJk6Zw4UL54g5f5azZ05htVrp9Ojj2Gzp9Hi0FeGlSlMusgKRkRUpF1mRDh0fw6LTzDpWaxpXr8SSnJzEvXXqA7Bm5WLOnj3J1StxXL0SS2pqCvNeX8199Rqx949fadG0tuuTyt9++409e/bw448/8sorr3Dt2jUeeOABWrVqRatWrQgJcc1SaiWdpmm8tng+ZUpHMOS5ge4OxyM99Ugndv7yI9/v2c1Dze53dzi6KYzEUlMUlPR0NEdG5lreklQkEsrrFGsakpcJo59ftu3OpES0DDF1kCAUd/8uwejDy1PmIctGj1rrPDQ0nNZtOtz28dFjJxNz/hwXzp/lf/v/YNfObXR8tAcAUyaOIi720r8JZ/kKNGjYjIgyZQBIS0vl8qXLXL0ay9UrcYSHl6Zh4+acP3eaV6e9zNWrcVjTMlck87JY2PrFL0iSxLVrVzCZzNS9ryFh4aUJL1WaChUya1af6z+U0qXDcl2+fCeVJpOJ5s2b07x5c6Kjo4mJieGHH37gyy+/ZMaMGURFRWXVYtatWze/pxFuIkkSowa9gMlowuLl5e5wPFLV8hVpVPtetuz6gnZNm3t2s20eFSSx1FQVJT0dpzUdNcOB5sxAy3CgOhxoDgeaIyNzII4kI0kSqtOJJbJoTRMmSTLOxCRMln8nIVZSUz2/+V4QhAK7cQnGqXNWExAQRGqqzd1h5ZrF4k2Hjt2ybVNVNasVuNWD7Tl25BAxF87x/Xe7uBJ3makzFxFRpgxr3lrGmrf+XT5SkiQe6dSNho2b4x8QRL0GTQgPL0VYeETmv6X+HbQ04ZXZt40pr9dNSdM03VP4jIwMfv/9d3744Qd++ukndu3apfcpCo3qdBJ3/AyK0/13OvGJCQT6B7hsYlWDUSIwwIekZKtHlFd1OMiIvYRsNN1955v8+tf/ePn1eSyfOI37qtfI8bjBIOPn50Vqqh1FKXrL80kGQ47EUnU4UNPT0RwOVKcDLSMj8/8zHMiqE1+LgdRUO2ou+xQWxaTyOqPZSKlqlbh28Sq2a/G617aWrl4JWZZ0WdHHkyiKytHTVz2qZsdVDAaJwEAfkpKsHlPeS1dTXdYyYDBI+PlZSE21eUx59bbto/V89uE6Ro2fQ+NmrfJUXlVVCQmwYPEqOp9pu92GJMl4e3sRe/kchw8dJiS0FOHhpQkJDc8xE09+Va8cimyQMRru/t50yatnNptp2bIlLVvmfRkk4dacTicvTonmnspRTBkT7e5wPF6zOvdRqWw5tuz64pZJZVF3vcZS8rJkNlU7MkDVkG7Xr9kgI0nGf+46i+cXyo00VcF+5co/c1EWneZ7QRDyZ28Bl2Asim5cFrJa9RqUjqjg9hsGl15t4+PjadeunStPUWJs/Oh9jp88weOdH3N3KEWCJEk81aETP+/fy/nLl9wdjktoioJqTUNzOJCQbp9QllCaw7Pm1BQEwTXOnz3Jap2XYBTyx6XfQmazmSZNmrjyFCXC8VMnWfvuOzzb82lqFcNaN1d5uHkLAv38+eirL90diiAIguACmUswTtB9CUYhf1yaVPr5+TF79u07gAp353Q6mbloLhXKRTLoGXEHlhdeZjM92rVnx08/kJya6u5wBEEQBB3duATjKBctwSjkjS5JZbt27UhMTMyxPTY2lmbNmulxihLLYDDQo3NXpo2b6PYJUYui7m3bo6oq277/2t2hCIIgCDp6b0PmEowjxs0izMVLMAq5k++BOjt27OCnn34CICYmhpkzZ+J10xQ3MTExoiq6AGw2GxaLhe6durg7lCIrOCCQDve34OOvd9HrkUcxFbPRuoIgCCXRd19t5dtdn9FvyHiqF+ISjMKd5bumsn79+sTExHDhwgUALl68yIULF7J+YmJi8PHxYd68eboF6w6q6p7pZhwOBwPHDOedD99zy/mLkyc7dOJaYiLf/P6ru0MRBEEQCujo4f+xed1i2nVwzxKMwu3lu9qmTJkybNy4EYBnn32W5cuXExBQ/BZIv3j5MsveWs4z3Z8i7A7rCuvt7fc3cersGZo1aFxo5yyuKpeLpFndemz58gs63N9C1J4LgiAUUVevXGbZwleoVuM+nu43yt3hCDfRpU/lpk2bimVCCeDv58fWHV/QrV8v5i97g0uxl11+ziPHj7Fhy2YGPP0s1ave4/LzlQRPdejEifNn2ff3IXeHIgiCIOSD3ZbOknnRWLy9GTZmJkbRncnj6PYX2bt3L3v37sXhcHDzIj0jRozQ6zSFLjAggC/e+5APtn7Ge59+SO0aNelcOiLb0kl6ysjIYMaiOURVrkL/Xn3u/gQhVxrVupeo8hX4YNcOGta6193hCIIgCHmgqiprls0i7vJFXpn1Fv4BQe4OSbgFXZLK1atX8/rrrxMYGIivb/b1iCVJKtJJJWTWVvbv1Yde3R7H9M+SgTMWzkFRVfr3eoaoSlV0O5eqqjSoW49ujzwq7sJ0JEkSvTp0YtbatzhzMYao8kVz+UGhaNu6dSurV6/m/PnzVKhQgREjRtCxY8db7nv8+HEWLFjAn3/+iSzLNG7cmAkTJlC2bNmsfXbu3MnSpUs5f/48lSpV4uWXX6ZVq1aFVRxBKDT/+eQd9vz+PSNfnk35ilHuDke4DV2q2jZv3szQoUP5/fff+fbbb7P9fPPNN3qcwiN4W7yzEr37atfhr8MHefqFAYyfOYW/jx8t8PFVVcVisfDysNHcU0V8aPTWrun9hAYG8eF/d7o7FKEE2rZtG5MmTeKpp55i+/btdOrUiTFjxrB///4c+yYkJNC/f398fX3ZvHkza9asISEhgUGDBmG32wH47bffePnll+nduzdbt26lRYsWDB8+nJMnTxZ20QTBZVRV5dMta/nsw3V0f2oQDZuImyZPpktSmZSURLdu3fQ4VJHRo3NXPlm3mSljojl55hQDXxpOwi3m6swte4adAS8O49uff9AvSCEbs8nE4w914MtffiQhOdnd4QgliKZpLFmyhL59+9K3b18qVqzI8OHDuf/++9m9e3eO/b/++mvS09OZO3cu99xzD/feey8LFizg5MmT7Nu3D4A1a9bQvn17+vTpQ1RUFNHR0dSuXZt33nmnsIsnCC6Rnm5l2cLJ/OfTd3ii9xC6Pi4WAPF0uiSVDRs25MCBA3ocqkgxmUx0ebgjH6x5h9UL3yQ4KAh7hp2Js6aze//eHH1L72T1pg0cP32SipGiWdaVHmvTDkmS+PSb/7o7FKEEOXXqFDExMXTpkn3O2XXr1jFkyJAc+zdv3pzly5fnmPsXMm/iVVVl3759ORaXaNq0KXv27NE3eEFwg7jYGGZNfoHDB/cyOnouj3Z/VszcUQTo0mmvY8eOzJw5k4MHD1KlSpUcK78U91pMo8HIvTVqAXA1Pp6YyxcZMXEs99aoRf+n+9CiSfM7fhj+OnyIdz/5gKF9B+raP1PIKdDPn44tWvHJ1//lhad6ujscoYQ4c+YMAFarlYEDB3L48GEiIyMZOnQobdu2zbF/ZGQkkZGR2batWrUKLy8vGjduTHJyMlarlYiI7KuIlCpVikuXLrmsHIJQGA4f2Mvy16fg5xfAlFmrKFe+srtDEnJJl6RyypQpAGzYsCHHY5IkFfuk8kblIsrwzpur+G3vbt5+bxNjp02iQ5uHeDX6lVvub7PbmbloLjXvqc4zTzxVyNGWTE8+3Ilt333Djh9/pH2zlu4ORygBUv9Zez46OpoRI0Ywbtw4du3axbBhw1i/fj3Nmze/4/M3btzIe++9x8SJEwkNDeXy5cypzW6+gffy8srqc5lfBoMMuGfRh8KUWU7PKq9kkDC4qDZOlqVs/3oiTdP4eucnbH77TWrVacDwMTPx88/fdIV5La8kScgGCYPBc1+f23H5ezkP70ldksojR47ocZhb0nu0ZGGQJInmjZrSrGET9h/4M6sZ/Pipk5w4fZL2D7bFaMh86VNTUylTujRjXhiZtU1wrQoRZWhRvyEbP/+ch5q2cHc4QglgMmXOGjFw4EC6d+8OQM2aNTl8+PAdk8rrfTFXrlzJkCFD6NevH0BWs3hGRka2/e12O97e3gWK1c/PUqDnFzWeVN7kdKdLpqq7kY9Pzi4VnsDhcLB62Vy+3rmVLj2eoe/zozDo8J2Y2/KqqkpAgDc+FlOBz+kurnov5+VGRLcsJjExkcTERCpVqgRkrg1+//33ExQUlO9jXh8tGR0dzYMPPsj27dsZM2YMERER1K9fP9u+10dLNm7cmM2bN2O325k3bx6DBg3is88+u2XfJFeTJIkGdetl/f7L7t9YsWENqzdvoO+TvenU7mHCQkNZOnthocdW0vXu9ChDX5vO+zu381SHzu4ORyjmrjdTV6tWLdv2qlWr8v3339/yOQ6Hg4kTJ7J9+3bGjx/PwIEDsx4LCgrCx8eHuLi4bM+Ji4vL0SSeV6mpNhTFM2ruXMlgkPHzs3hUeVPSbBgk1ySVsizh4+OF1WpHVXPf378wJCUm8OaCSZw6/jfPj5hEq7adSU93As58HzOv5VVVFZMMDrsj3+d0F1e/l8ODvHOdWOqSVP711188//zz9OjRg+joaAAWLFiAw+Hg7bffznEhzY2bR0sCDB8+nH379rF79+4cSeWNoyWvJ5ALFiygdevW7Nu3767NS4WhX69naN6oCeu3bGbOm4uYvWQhG5a8Ra3qNdwdWolTr3pNBnTvwfIt71K5XHma3FvX3SEJxVitWrXw9fXlzz//pFGjRlnbjx07RoUKFW75nPHjx/PVV1+xaNEiOnfOfuMjSRINGjRg9+7d9Oz5b9/g33//nYYNGxYoVkVRURTPSjpcI/PL15PKqykaiuTaWFRV85jyApw9fYwl8yagKAoTpi+lavV7dY0vt+VVVQ1V8azXJvdc/F7WNKAQk8r58+fz8MMP89JLL2Vt+/rrr5kyZQpz587l7bffzvMx7zRa8lbuNlrSU1Sveg9zX5nB6XNn+c+uHQQW0+Uti4JRzzzD3ydPMXXFm6yd9hqRpQtWwyMIt2OxWBg0aBDLly+ndOnS1K1bly+++IJffvmFDRs2oCgK8fHx+Pv7Y7FY+PTTT9mxYwfjx4+nSZMmXLlyJetY1/fp378/gwcPplatWrRq1YpPPvmEv//+m1mzZrmxpIKQe7//8g3rVsymbGQlRo2fQ0hoKXeHJBSQpOVl3pvbqF+/Pp9//jnlb1ql5MyZM/To0SNrXrW8+Oabbxg2bBjvvvsuK1euvOtoyVuZMWMGn3zyCd999x2hoaF5jgFAdTq5dvIciuoZzSOuZJBvqEL3gPKqDgcZly4hm8x33zmPMptGzMReSWDA1EnIssza6a/h6+2j+7k8wfXyWq0ZuW76Up0OLEV05SFXv5fDoioiyxJyHle9Wr9+PZs3byY2NpaoqChGjhzJQw89xIULF2jXrh1z5syhR48eDBgwgF9++eWWx7i+D2T2OV+xYgWXL1+matWqvPzyywVqlVEUlaOnrxbR2pq8MRgkAgN9SEqyekx5L11NRXJR87fBIN3QROre8qqqymcfrOU/n26kWYv2DHhhAmadu6jltbyqqhISYMHiVfTGNrj6vVy9ciiyQcZouPt7U5dXz8/Pj3PnzuVIKi9fvozFkr+Oo3qPliwIT+rIXRg8pbyqw4E12QuDWf+k8rrS4cEsnTyZZ6LH89qalSyZMMHlHeXdyccn96+l6jTgG1C0k2xP6Lh+o/79+9O/f/8c2yMjIzl69N9VuXLbutOtW7cSNbuGUPSlW9NYvfRV/rf3F57sM5SOXXuL+SeLEV2Syg4dOjB9+nRmzJhB3bp1kSSJAwcOMHPmTNq3b5+vY+o9WrIgPKXmztXcXVOpaRoSIBkMYDCCBuk2B3KG/ndeN9bclQoKZ/rQkbz8+nze2PQugx9/UvfzuVt+ayqdyVYXR+YaLq+pDNc8emoWQfBEcZdjeGNeNAnXrvDihPnc18D9Yx0EfemSVI4dO5bz588zYMCAbHcc7du3Z/z48fk6pt6jJQtCUVUUp2c0j7iU8Z/Ovi4qr6apmU07BhnJYECSDWAwZP6/QUYyGHM0J8oJiSgu6RObWRuZ2YlbpVmdegx+/ClWfbyFKuXK06ZxUxec052ylzc3VEUruu97F7+XBUHIm0N//cGK16fiFxDIlDmrKVuuortDElxAl6TS29ubVatWcebMGY4ePYrRaCQqKipreqH80Hu0pOB6mqpk1TJKsvzP/19PGA1IRhNSHpuWTSEhOBMTC6V5pE/nrpw4d5ZZa1ZSPiKCquXFRU8QBKEgMic0/5j331lGrToNGfridHz9xADV4irfSeXhw4epVatWtm2VKlW6YyJ58OBB7r333lwd3xWjJQWdyTIGHx8wykiyEclk0j35MwYGIXt5od00ybMrSJLExIFDGDZ7OhOXLGLNtNcIyudqDoIgCCWdw5HBxjWL+Om7L3ikSy+efGYossHg7rAEF8r3iIQZM2YQHR3NsWPH7rrvoUOHGDduHDNnzszTOYYNG8bIkSNZvHgxnTp14ssvv2Tp0qU0bdqUS5cu0aJFC3bs2AHA9u3bgczpjVq0aJHt5/o+gn4kswljaCgGPz8MFh9ks9lltYnGkIINtMoLi5cXs0eNJd1uZ+qKJTid+Z98VxAEoaRKTLjGvBmj+fXnr3h+xGR6PTdCJJQlQL6nFFJVlbVr17J69WoiIiJo06YN1apVIyQkBFVViY+P59ChQ/z2229cunSJgQMHMmjQIIx5nILD3VSnk7jjZ0pEvyyDUSIwwIekZOtty6tpKgY/f4z+/oUWl+pwYD186J8JWPWRuQKBF6mp9lv2Mfzf0b8ZPX8W3ds8xIt9+ul2Xne5W3lvRXU6sUQW0SmFcvFeLojS1Svla0ohTyemFHKv4jKl0JmTR3hzwSRUVWHky7OJuqe2S893K2JKIf0UypRCsiwzePBgevfuzZYtW/jmm29Yv359Vs2O2Wymbt269OjRgx49ehAgJvkuFozBwRgsBVtbOK9kkwlDYBBKYkKhnbNe9Zq89ExfFm58m6rlK/Jo6zaFdm5BEISi6refv2LdijlEVohi1Pg5BIeEuTskoRAVOCX38/Nj0KBBDBo0CE3TSEhIQJIkgoOD9YhP8BCS0YAhKNhtNTOm0FCcCfGFOp9Zt7btOX7uLAs3rqNi2XLUuSfvy40KgiCUBKqi8MmWNXyxdTP3t+pAvyHjMZv1ndBc8Hy61rNLkkRISIhIKIsRTdOQLV4YQ8Pc2tRn9PdH9i7cGlKAF/v0o1ZUVSYvfZ24+GuFfn5BEARPdyXuEm/Mm8CObe/x1HPDeX7EKyKhLKGK79IhQoFpgDEgAGNQsEeseGAKCSn8cxqNvDb8RYxGI5OWvo69EEahC4IgFAWpKUm8v2EpE0f35sypo7w0cT4duzztEd8XgnuIpFK4NVnGFBKCwdfX3ZFkMYaGgRsuViGBQcwZNZZTF84zf/0a8jm2TRAEoViw221s/2wTLw9/kh+++Zwuj/dlwbIPqFu/mbtDE9ys6A1zElxOMpkx+gV43PQPssGAMTgEpxuaoatXqszEgUOY8dYy7qlYiV6PiMn1BUEoWRTFyc/ff8nWD9eRnJRAm4e70fXxvgQEii5vQiaXJZXx8fGEuKG5Usg/TdUw+Pth9jHgdHrmWufGsFAc1666pXmlfbMHOHHuHCs+eJcqkeVpcm/dQo9BEAShsGmaxv/2/MJH773FxQtnaPpAOx7vNZhSEeXcHZrgYXRp/k5OTmbKlCkcPXoURVHo168fDzzwAB07duT8+fN6nEIoBKbgYMwePvWT0cc3cxUfNxn8xFM0qXMfU1e8yYXYy26LQxAEoTCcOHqQOVOHs2T+BAKDQpk2dy1DX5whEkrhlnRJKufMmcNvv/2G0Wjk22+/Ze/evcyfP5+KFSsyf/58PU4huJBkNGAMC8PghtHV+WEMLbwVdm5mkGWmDRlBcEAAE5YsJC3d6rZYBEEQXOVSzDmWLpjEa6+8QHq6lbGTFzF+6htUjqrh7tAED6ZLUvnDDz8wf/58oqKi+P7773nggQfo0qULL730Er/99psepxBcwFOmC8orU0goyO4bY+bv68vcUWO5khDPq6tXoKqe2VVAEAQhrxITrrJh1Xwmj3mWM6ePMXjkFGbMf5s69ZqKUd3CXenyzWy1WilTpgwA//d//8f9998PgLe3N4qi6HEKQWeeNl1QXkiyXKjrgd9KxbLlmDZkBL/8bx9vb/3ErbEIgiAUVLo1jU/eX834kb3447fveerZYcx5413ub9UB2Y038ULRokv11PUayjJlynDp0iVatWoFwIcffkhUVJQepxD0JMuYgoKQzWZ3R5JvptBQHFdiXbZObm7cX68Bgx9/ilUfbyGqfAXaNG7qtlgEQRDyw+lw8N1XW/n843ew2aw83PlJOnV7Bl9ff3eHJhRBuiSVo0aNYuTIkTgcDh599FEqVarEnDlzePfdd1m+fLkepxB0Ipkz19H2tOmC8srg7Y3Bzx81Lc2tcfTp3JUT584ya81KykdEULV8RbfGIwiCkBuqqrL7/77hk/dXc/VKLC3bdKLbkwMICS3l7tCEIkyXpLJ169b88MMPxMbGUqNGZifeTp068eSTT1KlShU9TiEUkKapGPz8MfoXn7tPU0godjcnlZIkMXHgEIbNns7EJYtYM+01gvw9ewS9IAgl26G//uDDzSs5e/oY9Ru14MUJ8yhXXnxXCwWnS9thu3btkCQpK6EEuO+++/Dz86NZMzHDvicwBgcXq4QSwBgS4tYBO9dZvLyYPWos6XY7U1cswel0ujukIsHhcLg7BEEoUU6fPMr8mS+x4NWXMJnMTJy5nNHRc0VCKegm3zWVO3bs4KeffgIgJiaGmTNn4uWVfQH5mJiYIjcIpLiRjAYMQcFFanR3bkmShCksDEdcnLtDISI0jNdGvMjo+bNYtmUzL/bp5+6QPNrqTev5cNunrFu8nIrlK7g7HEEo1mzpVjavX8zP3+2kTLkKjBw3iwZNWonvZ0F3+c406tevz5YtW7LWQb548SImkynrcUmS8PHxYd68eQWPUsgfWcYYGlasLxym0DAyYmM9ooz1qtfkpWf6snDj21QtX5FHW7dxd0ge6efff2Xtu+/g6+ND9GtTWb9kJd6WojFHqiAUNUmJ8bwxdzyXYs7ywqhJNGvZASjafeoFz5XvpLJMmTJs3LgRgGeffZbly5cT4OGrsZQkmqZhDPD3iGTLlWQvL4wBASgpKe4OBYBubdtz/NxZFm5cR8Wy5ahzTzV3h+RxklNSaNfyQQb2fo6Js6ZxOS6OyhXEACchfzRNIykxgaBgsSzwzS5fPMei2ePIsNuZ/NoK7q1bl9RUG4qiuTs0oZjSpU1006ZN7N27l7179+JwOLJqLyGzxnL48OF6nEbIA9nLC0MJqf0xhoTiTE72mAT6xT79OH3xApOXvs7qaa8RERrm7pA8gqqqyLJMp4cepmO79kiSxJZVGzAU8ZkIBNfTNI30dCs+Pr6kpqbw4fsbuBhznosx57gYc56MDDvbdv6KyWTitekv43Q6qVmrLjVr16VatVpYishqYXo6cewgb8yNxj8giPFTlxBRpqy7QxJKAF2SytWrV/P6668TGBiIr69vtsdEUln4NDSMJajW2BgUhGQygYcMkDEZjcwa8RKDX53KuEVzWTF5OgG+fu4Oy+3mL38Db4uF0c8Py7oBMBgMJCYlMmXeLIb3f54axbxmd+vWraxevZrz589ToUIFRowYQceOHe/4HFVVef7556lXrx4jR47M9ljbtm2JiYnJtq1Lly4sXLhQ99hdTVVVFEXBZDJx8sRRvv/2Sy7GnCcm5hyXLl6gTt0GvDZ3GUaDke+//ZKy5cpTo1Yd2rXvTNly5bOOU/WeGvxv/x9seXcd6elWZNnA/NdXcW/dBpw/dwaj0UhEmXKAZ9yEusL+P35m5RvTqFi5GqOj5+EnZqQQCokuSeXmzZsZOnQoo0eP1uNwQgEZ/fyK5cCc28kcsBOK43Ksu0PJEhwQyKIx0QydNY1Jby5i0diJeBXhyeYLauc3/+XTLz5n0uhxOR7z8fYhOSWZCbOmsXHpagKK2SwF123bto1JkyYRHR3Ngw8+yPbt2xkzZgwRERHUr1//ls+x2WxMnjyZn3/+mXr16mV7LDU1lYsXL7Jq1Spq166dtd1isbiyGAWiqiqSJCFJEr/+8gMHD+zjUsyFrMRx4ODRPNajF5cuXuCnH76mbNny3HtvfR7u0JUqUZk3HBZvbza+/8Vtz9HrmYH0emYgiqJw9sxJ/j78F5Wq3APApg0r+fH7rwgODqVm7TrUb9iQho1aULZc8el+8e2uz9i0bjENmrRkyMipmG8aQCsIrqRL5pGUlES3bt30OJRQULKMwa94finfiSkkDMfly3hS7UOFMmWZO/plRs9/jVlrVzL9hZElcrmzk2dOMefN1+n0UAcee6RzjsfNZjNzJk/nuRGDmbFwDgumvebxr1NmF5/cv9c0TWPJkiX07duXvn37AjB8+HD27dvH7t27b5lU7tu3j8mTJ+NwOG7ZX/3YsWNomkaDBg08uj+7zZbOj9/9l51ffMaJ40dYvf5jypSN5Ldff+Cv/+2hbLny1L2vIR07d+e++o0AaNGqHS1atSvQeQ0GA1WiqmUlowAjRk+k3cOP8vehvzhy+C/eXr0SLy9fyparyL69v/PbL99Ts3ZdataqS+mIsh7TpSY3NE3jk/dXs/2zTbTv+ARP9x1Z5Be5EIoeXZLKhg0bcuDAASpWLD53e0WRpqmYAoPdHYZbyGYzhoBAlORkd4eSTZ17qjHthZG8smwx4cEhjHz6WXeHVKjSrFYmvDaNyDJlmTDipdt+SZeNKMO0lycydtokNn/yAc/1fLqQI829awnxSFd9iChdOtfPOXXqFDExMXTp0iXb9nXr1t32OT/99BPt27dn8ODBdO3aNcfjR48eJTw83KMTyo3rV/L51g9ITUmmYePmDBw8Cp9/uki9OHZKoSdtAYFBNG3WkqbNWmIwSPj6mklISAUgMeEae/f8yudbPwAgODiUrt2f4uk+g3A6HSiKgpeXZ9YCOx0O3n5rLv/34y6eenYYj3R5ukglxELxoUtS2bFjR2bOnMnBgwepUqUK5pua+UQtZuEwePsgl+CmDlNYOM6kJI+7mLZu2JgXn+nH4s3rKR0SypMdOrk7pEJjNBpo2qAxPbt2v2uzbMum9zPomb74+fjecT93UlWVsdMmsX7TO3l63pkzZwCwWq0MHDiQw4cPExkZydChQ2nbtu0tn3O37kTHjh3Dx8eHkSNHsn//fkJCQujRowfPPfdcgWp6DQYZUPP1XMXp5Ldff6Jeg8b4+vqhqk46de5O566PZ+v3mMm9n1ODQcZoNOLtbUFRVNp36Ez7Dp1JSkzg78MHOHzoL8qULYfBIHHwwF9MGDuUNg91ZMCgEYSFu2YpQ8kgYcjj9SvdmsaS+ZM4cvh/DHtpOs1btr/lfrIsZfu3uMtreSVJQjZIGAxF7/XJ/MwW7LN7R3l4T0rajUO18+nGlXRyxiLx999/F/QUbqM6ncQdP4Pi9PwpGIzh4QVq7jAaZYKDfUlISMPpdMEbsxCkHT6ElpFx1/0MBhk/Py9SU+0oSuGUdcWH7/H+zu3MGDqKtk0Kd6Wp/JRXdTqxRN6cCORealoqfgUYoORwOLLNfZsXBqNEYIAPSclW3T+7f/xvH4883gWz2Zzrvsvbtm1j/PjxREZGMmLECGrUqMGuXbt46623WL9+Pc2bN7/j89u2bUv37t2zDdTp06cPJ0+eZOrUqVSpUoU9e/awcOFC+vXrl+/+7YqicjnemufnXb0Sx7bPPuKzTz4kLvYys+Ytpn0xunm6eiWOL3f8h00b1pKens6z/QbRp+8AvL19dD3P+cvJebohiL92hVcnjyIu9iITpi2kTr3GusZTkqiqSmiQNz6W/F1zirPSIZnvc6Ph7u9NXWoqjxw5osdhhAIw+PuL/jOAMTQUx6VL7g7jll54ohdX4uN5bfUKQgODuK/67W/Girq/Dh/ixSnjWTp7IbWr18zz89e9u5E//reXZXMXYTS4f9BZSmoKH/1nK32f7E3jeg0wGvP2xXM9OR44cCDdu3cHoGbNmhw+fDhXSeWtrF+/Hrvdjp9fZuJevXp10tLSWLlyJSNH5r//buY8hrm/0Xpv0zo2rn8Lk8lI24c60eWxnlStVoOkpLwnp4Up80bLkqvymsx+dOn2NG0fepT3Nr/NhnVvAQaefLqvrjGlpNkwSLn7u8WcP82CV8eiqiqvvLaC8hWjSE213XZ/WZbw8fHCarWjqp5fSVJQeS2vqqqYZHDYi97ysXl5L+dHeJB3rmt83X+1FgpMMhox+Hpuk2FhMoWEZg7YKXgFvO5kWWbiwCFcS0ogeslCVk6eTuVyke4OS3cJiYlMmj2dKhUrUz3qnnwdo37d+1j77gZWvfM2wwcM1jnCvElNS2XU5PGcvxhDhzYPUS6iTJ6PERERAUC1atmnTKpatSrff/99vuIymUw5anKrVauG1WolKSmJ4OD89a9WFPWOk2Onpabw9X+/oGq1GtS+tx73VK/N4KFjeOjhzvj+M0iwaEyunfnle7fy3sji7ceA50fRsXMPgkNCURSNHds/oXz5StS5r2GBI9IUDUW6eyxH//6TJfOiCQkpxZjJCwkJLZXrMqiqVkT+PvrIbXlVVUNViuprk/f3cp7kYWCiLknlsmXL7vj4iBEj9DiNcAuZK+d4bkf9wiabTBgCg1ASE9wdyi2ZTSZmjxzL8NnTGff6PFa9MoOwYrQSiKIoTJ3/Gg6Hg9mTpmHM59RWDercx7D+g1m67i3q1KxNq+YP6Bxp7qRZrbw4ZQLnYs6zfM7r+UooAWrVqoWvry9//vknjRo1ytp+7NgxKlTI+9rnqqry0EMP0bNnT4YOHZq1/cCBA4SFheU7obyTE8eP8MXnH/HtNztxOpz0HzSC2vfWo0HDpjRo2FT383myMmUzbwZVVeXbr3Zw8MB+HmjZloGDR9+i76i+/vj1O1YtfZWq1Woz8uXZ+PqWvNk+BM+lS1L56aefZvvd6XQSHx+PyWS67fxrgj4Mvj7IJXj+w1sxhYbiTEzwoMmFsvPz8WHBmGheeG0q416fz/JJU/HVuW+Wu2z86H1279/L0tkLKRUWXqBj9XniKf48fIDpC2ezafnafCd0+WWz2RgzbSInz5xm+ZxFBZqY3WKxMGjQIJYvX07p0qWpW7cuX3zxBb/88gsbNmxAURTi4+Px9/fP1TyTsizToUMH1q5dS6VKlahduza//vora9euZfLkyfmO83a+2vUfFs2bRlh4aZ58uj+PdOpGaGjB/r7FgSzLzF+8hu++2cn6tcsY3P9xHuv+NAMGj3LJSlG7vviQLe8spcn9bRk0fDImk7j2C55Fl6Ty22+/zbEtNTWV6OhomjYtWXewhUqWMIiVEnIw+vsjWyxottv3L3K3UiGhLBwzgWGzpjN52WIWvBSNqRhMWP9Im4cIDw2jSf2CNwVKksS0sRN458P3CHVDba7JZKJKxUoM7z+YWjr0fx02bBje3t4sXryY2NhYoqKiWLp0KU2bNuXChQu0a9eOOXPm0KNHj1wdb+zYsQQEBLBo0SIuX75MZGQkkydP5sknnyxwrBdjzrNj+yd4+/jyzLPP06RZC6bOXETT5i0xeEAfV08iyzLt2nfmgZZt+fSjdzl//jQGgwFN01BVRZfXS1VVPti0nF3bP6Bj1970fOYFj5/LVSiZdBn9fTvHjh1jyJAhfPfdd646hct56uhvTdMwBgdisOhXw1UcRn9flxEXS8bFi7d93B2jv29l39+HGbtoDu2aNmfyoKEumw7J1aO/r1y7isXLC38XTrx/9do1wkJDc7VvQUZ/2zPsnDxzmlrVbp9Ilq5eCVmWit3KValpafTp048/dv8ffv4BdH+8N888594+ra5iMEgEBvqQlGR1ST+0H7//is3vvMWgIS/RuOkDufpsX7qainTTQB2HI4M1y2bxx6/f0rv/aNp3fCJf8RgM0g2DOTzr+8wV8lpeVVUJCbBg8Sp6n2lXv5erVw5FNsi5Gv3t0lud683ggv5ks1nXhLK4MYaG5WluLXdpULMWkwcN5ctffmLNpx+6O5x8ycjIYPzMKUS/Ns1l54i5dJEeA55hx9f/ddk5ILMsE16dxqjJ40mzevboZVe4dvUqyclJjHl5Gps/2FlsE8rCEFm+IkHBoUydNIrJ44dz5vSJPB8jLTWZha+NYd8fPzFszKv5TigFobDokpJv3bo12++appGSksIHH3wg+lS6gAYYAwPdHYZHkw0GjMEhOOOvuTuUu3qo2f3EJcSz4oN3KRUSSrc2D7k7pDxZsnYlx06dYM2ipS47R9mIMjzU6kHmLF1EtaiqVK1cRfdzOBwOJs2ewR//28uiGXPw9Sl5N22lIyJYtmpziajJcrUqUdWYt2gVv/3fD6xd9QbDnu/Fa3OX0aBR7uaovXY1ltdnjyMx/irRU9/gnhp1XRxxyWYwyPj5GHEo7p6Wv2jTJamcMGFCzgMbjTRo0IBp01xXe1FSGXx9i12zmysYw0JxXLvqcSvs3MrTj3Qm7tpVXt/4NmFBwbTQoU9iYfjv99/w0eefMX7ES3dsLi4oSZIYP/xFjhw/xoTXprHhzbfw03EaLafTyZR5r/Lr3t0smPoaTRs0uvuTiiFTHuffFO5MkiSaP/AgjZo8wFe7Ps+admjfnt+4t259zOZbr4B2/uwJFs0ah8FoZPKstyhbTiyB7EoaGpVK+xPkb0HVNNJtTqx2J05FLRLfH55ETH5e1MgyBr/8r1JSkhh9fDH4+qIWgWZMSZIY2fs5riQkMG3lm7wZPYXaUVXdHdYdJaekMOfN13mkzUM83jnn2tR6s1gszHllBv1GDWHxquVMGTNet2NfuXaVv48dZe7kGdzfWAwuFPRlMpno9OjjACQnJTJjyhgCg4IZOHgUrR58OFvicvjAXpYumESpiHK8NHE+QcFh7gq7xAgNsBDknznrgixJ+Hqb8PU2keF0YrUp2OzOItGdyhPoNlDn0KFDrFu3jqNHj2I0GqlatSp9+/albt2iXWXvSQN1NE3FFBKC7HX3KUfyozgN1Lku4+oVMi5cyLHdUwbq3MyekcGLC2Zz/vJF3nplJpGlI3Q5rqsG6uz763/UuKcaPoU4JdLv+/YQWbbcHacYyu1AHUVRcDgcWCwWMjIyMOdyeq7iOlBHUVSOnr5aIpq/XT244U7OnzvD2lVv8PuvP1KzVl2GDB9LjZp1+HTrZ6xbPoea9zZg+NjXdF0GUgzUuTUvk0z1isHId0gaNU3DandiszvJcHpe7WWxG6izZ88eevXqxdmzZ2nRogWNGzfm9OnT9O7dm7179+pxCgEwWLxdllAWV6aQUChCU294mc3MHT2WAF9/xi6aS0JykrtDykHTNL775SdUVaVB3XqFmlACNG3QiHIRZUhNS+XkmVP5Po6qqsx6YwGjp0SjqmquE0pBKKjyFSoxY9YbzFm4EpstnW2fbeGzj99l9Zuv0qxFe16cMF/3dcWFnCQ0Kkb43zGhhMyWJF+LidBAb8KDvPHxMpA5ukG4mS7ftq+//jo9e/bkk08+YeLEibzyyit8+umn9OzZkzfeeEOPUwiALFbOyTNJljGG5G4aGk8R6OfPorETsNntjF+8gHS7Z823+fF/thL96hT2HfjTrXHMX/YGo1+JJiExMc/PVVWVuUtf54uvd9Htkc5izj/BLeo3aMqyVe8xYvRE/vj9F7o+0Y9BwyfleyUqIfc0TaNMmB8+lrz1IzYaZAJ8vYgI8SXQ14TZKOPCmRmLHF2upIcOHaJPnz45tvfp04eDBw/qcYoSz+Dvj+yCFRpKAlNoKJrmOU3cuVEmPJz5L43nzKUYpq1YilNR3B0SAAePHGbx6uU82bUHje5z78wOwwcMJsORwdT5s1Dy8PpomsailW+yded2prw0no7tHnZhlIJwZwaDAV9fP2YvWEH3Jwd4XNNqcRXga6ZUsHeBjuHtZSIkwEKpIG98LUZkiRKfYOqSVAYHB3PtWs6pW65duyaalHQgGQ0YdBzpWtIYvL0x+Be99XGrV6rMa8Nf5PcD/+P1TevdfrFKTE5i4qzp1Kh6D6OfH3r3J7hY6fBSvBY9hd379/D2+5ty/bw//rePj/6zlUmjx/Howx1dGKEgCJ7IaJCoEKHfgFeDQcbfx0ypYB+C/b3wMpXc2ktdkso2bdrw6quvcvLkyaxtJ06cYNasWbRp00aPU5RYmqZhCBBzUhaUKbhoNYFf17TOfUT3H8zn33/Dxv9sdWssn+34Dza7jdmTpmMyecbUM00aNGJwn/68/d5GYi5fyt1z6jdk84q1dOv4qIujEwTB02hoVCjth8lFLX8Ws5Fgfwulgr3x8zZikKUSlWDq0nHjxRdfpH///jz66KP4+/sjSRLJyclUq1aN8eP1m/ajJDL4+CCL2t4CM4aEYL8YAx7SjJwXnVq2Ji7+Gms+/ZBSISF0bNHaLXH0e+oZHm7dlohSpd1y/tvp/3QfmjVqfMfR4ACrNr5NaEgoTzz6GNWqePZ0TYIguEapIB8CfG89P6ieDLKMn7cZP2+ypiZyOBQUVUPTQJKLZzcHXZLKwMBAPv74Y37++WeOHTuGpmlUq1aNFi1aYBD9APNPlpCLYLOtJ5IkCVNICI4rV9wdSr707dqd2PhrzF2/htCgYJrcW3hTde3evxdFcdK8UVPKlSlbaOfNLVmWqV29Jqqq8sXXu3ikzUMYjNlvxNa9u5F1721k5MAX3BSlIAju5mMxUDas8EfVm41GzH7/pluqpuFwKqiKhqL++6OqGoqiomgguynp1FQNTQKDlJkYy1Lm92duu/rqNsQsOTmZChUq0KpVKwB27NhBcnIywcHBep2iRNE0DaN/gBiVqiNTWHiRTSolSWLscwO4lpjA5GWLWT5xKtUqVnb5eWOvxPHK3JnUqlaDZg2bePQggrMXzjPnzUUcP3WCl0eMytr+zgfvsmrT2wztN4hne/ZyY4SCILiLJEOF0v4ecQ2TJQkvkxFu04tI1TScThVVVXEqGqqmoWQloJlJpwS5LouqakhomXPrShIGWUKSM/+VJSlruyxLGI1yjimWZFnCkMtcRJeM5a+//qJDhw588MEHWdsWLFhAly5dOHbsmB6ncBtJlpGMpkLvEyGbzRjEPGW6kr28MPgX3WmZjAYDM4aNomKZsrz8+nwuX3VtguxwOpk0ewZeZi+mj5voERfjO6lcoSIvDh7Glq2f8NUP3wGw/b9fsnz9Gp7v04/+vXLOUCEIQvGnohEZ7ofFXDSmapIlCbPJgMXLhJ+PmQBfL4IDLIQFeVM6xJcyIT6ZqwD5mvH3NuLrZcRiMmAxGfA2G/CzGAnwNhHkaybY30xEiA9lwvwoHeJLeLAPIYHeBPtbCPD1ws/HjI/FhMXLiNlkuOucnXejy4o6ffr0oXLlykyZMiVrtLfT6WTq1KlcvnyZt99+u6CncKuEhDQy0qwoaVZUuw1Jcm3toQaYwsIKfbWO4riizs0ciYnYTp/CaDR45Io6uZGQnMSQV6fiVJxERVbAy2zGy2TGbDLhZTZj/ud3L/O/27y9vAgM8EVTJYwG4z+Pm3Ls52UyZ82R98bmDWz9/htWL3yTe2vUcnOpc0fTNKbMfZWfd//K1o0bMRosfPnttzzeuauuSbFYUafoc+eKOrdz6Wqqy75fSvKKOgE+ZipGFN+uZK7+7g4J8cWQi9V0QKfm70OHDjFnzpxs0wcZjUYGDx5Mjx499DiF28leFmQvC6rTiZqaipKe7rKaG4Ovb7H7svIUxsBAJJMJiti8lTcKDgjk9XETeefzz0i1WrHabCQkJ5PhcGB3ZGDP+OfHkZG5LSMjT8c3yDImkwlVVXlx8LAik1BCZnPQpBfHMfCl4fx56DBtWzzIE48+5u6wBEFwE7NRJrKUmJKvsOiSufj5+XHu3DnKl8++TvDly5exWIrXsoKy0YgcFITs74+aloaabtV3tSZZwuCn3/xZQnaSJGEKC0Uton0rr4ssHcHkXM4VqWkaiqpgNEvEJ6SQbrNnJpwZGdgz/k1Eryeg138P8PHlsS7dXVwS/fl4+7D41Tlcjrvo7lAEQXAjDY1KZf1z3R9QKDhdksoOHTowffp0ZsyYQd26dZEkiQMHDjBz5kzat2+vxyk8jmwwIAcEoP2TXCppaVDAngSapmIMCPb4vmtFnSkkDHtcnLvDKDSSJOFlNuPn54UBU66b+1Wns8i+F8uVKUOt6lEkJVvdHYogCG6gaRoVSvtjMUjFtjuXJ9IlqRw7diznz59nwIDsS0y1b9++2M9TKUmZNYsGPz8UqxXVmobqyN+XscHijcFSsGWjhLuTzWYMwUHg9Kw1tQVBEAR9+PuYKRPmR0JCmrtDKVF0SSq9vb1ZtWoVZ86c4ejRoxiNRqKioqhUqZIehy8yDD4+GHx8UO02lNQ01Ax7rjtda2hiTspCZA4NRbt8wd1hCIIgCDozyBKVyojvU3fQdTRIpUqVSlwieStZg3ocjsxBPXY7d6u3NPr5i8E5hcgYEIiUeBXS8jaIRRAEQfBcmqZRIcIfk1EsvOIOoveqC8kmE8bg4MzpgXzu0KxtMIjBOW5gDg93dwiCIAiCjsKDLAQWwjKMwq2JpLIQyEYjxoBATKVLY/DzhRtGomUOzim6E3IXZZbwMMjl3FuCIAiCZ/P2MlAuXFTQuJPHf6Nu3bqVTp06UadOHTp37szOnTvv+hxVVRk4cCBLly4thAhzL3NQjz/mUqUw+Ptn1lB6eyN7ibsqd5BNJizlIgt9tSRBEARBX5IEFSM8YxnGksyjk8pt27YxadIknnrqKbZv306nTp0YM2YM+/fvv+1zbDYbL7/8Mj///HMhRpp3Bl9fzOHhGAKD3B1KiWYKDRU1xUKh0fsmeefOnVnH69KlCz/++KMrwhYEj6ahEVmq6CzDWJzp9hfYu3cve/fuxeFw5Kj5GTFiRJ6Pp2kaS5YsoW/fvvTt2xeA4cOHs2/fPnbv3k39+vVzPGffvn1MnjwZh8NBQBFJFMRdlft5lS+P9cgRUMVcZoLrXL9Jjo6O5sEHH2T79u2MGTOGiIiIW17PIPMmefLkyfz888/Uq1cv22O//fYbL7/8MhMmTKB58+Z8/PHHDB8+nK1btxIVFVUIJRIEzxDs50VoQPFaaKWo0iWpXL16Na+//jqBgYH4+mZfDkmSpHwlladOnSImJoYuXbpk275u3brbPuenn36iffv2DB48mK5du+b5nELJJJu9MJcpi/3CeZHkCy7hipvkNWvW0L59e/r06QNAdHQ0+/fv55133mHmzJmuLZAgeAiTSaJ8KdGP0lPoklRu3ryZoUOHMnr0aD0OB8CZM2cAsFqtDBw4kMOHDxMZGcnQoUNp27btLZ+j5/lvlNuF1Iu66+UsCeW9uazGMqXRkhNRrcVzBRZZlm74N3d/X0mTMBiLZpJ9fVk2gyyD0f010HrfJKuqyr59+5gwYUK27U2bNuWrr77SL3BB8GQSVCodUCK+s4oKXZLKpKQkunXrpsehsqSmpgKZd98jRoxg3Lhx7Nq1i2HDhrF+/XqaN2+u6/nuJCCgZK1yU5LKe2NZ/evWIOngobvOKVqU+fiYc72v6jTgG+Djwmhcz8/PNU1i15P03NL7Jjk5ORmr1UpERES27aVKleLSpUt5iu1mmV/Q7k/EXS37jaVnlFcySBhc1FqS/cay6NM0jTJhvgT633qga0muJHEnXZLKhg0bcuDAASpWrKjH4QAwmUwADBw4kO7duwNQs2ZNDh8+XOhJZXJyeq7XSy7KDAaZgADvElHe25XV4RdExuVYN0bmGrIs4eNjxmrNQFVzN9pddTpwFtG1sw2yjJ+fhdRUG4oL+sqGhWt5+nLW+ybZZstcYtRszn6T4OXlhd1uz9OxbuaqRNxTeVJ5k9OdyLJrEwMfn+Ix24i/r4malULvul9JrSRxF12Syo4dOzJz5kwOHjxIlSpVclzo8lOLef0OvFq1atm2V61ale+//z6/oeaLoqglakH6klTem8sqh5VGvZaIZkt3Y1SukPlFpaparm8YVEVDcRbR6Zb+afJWVNUjyqD3TbLXP9OQZWRkXxHKbrfj7V2wL5bUVFuxv6mEzBvLrBsPDylvSpoNQy6X9s2rzBtLL6xWe65vLD2VLEtUDPe547reopJEPwEB3rmuBdUlqZwyZQoAGzZsyPGYJEn5Sipr1aqFr68vf/75J40aNcrafuzYMSpUqJDfUAXhjiRJwqtCeWzHjrk7FKEY0fsmOSgoCB8fH+Li4rJtj4uLy9EknleKoqIoRTvpyJ1/bjw8qLyaoqFIro0l88bSM8qbH5qmUaVsALIk5aryoyRXkriDLknlkSNH9DhMNhaLhUGDBrF8+XJKly5N3bp1+eKLL/jll1/YsGEDiqIQHx+Pv78/FovnNF8IRZ/RxxdTqXAccVfcHYpQTOh9kyxJEg0aNGD37t307Nkza/vvv/9Ow4YNdYlZEDxRWJA3gX7Fowm/ONJtnspDhw6xbt06jh49itFopGrVqvTt25e6devm+5jDhg3D29ubxYsXExsbS1RUFEuXLqVp06ZcuHCBdu3aMWfOHHr06KFXMQQBAHNEWZyJSWg3NS8KQn644ia5f//+DB48mFq1atGqVSs++eQT/v77b2bNmuXi0giCe3iZZcqF+959R8FtdEkq9+zZQ//+/alWrRotWrRAURT27dtH7969eeeddwp059y/f3/69++fY3tkZCRHjx697fO+/fbbfJ9TECRZxqt8BdJPHkcq1uPBhcKi901yixYtmD17NitWrGDx4sVUrVqVt956S0x8LhRLRoNE5TKZzd6C55I0HRY+7t27NzVq1GDq1KnZts+YMYMTJ06wadOmgp7CrRIS0tzeT6EwGI0ywcG+JaK8uS2r7dw5nPHXCjEy18gclOBFaqo99wN1nE4skeVdHJlrGIwSgQE+JCVbXTJQp3T1SsiyhGwsXsvCKYrK0dNXi3Sfu9wyGCQCA31ISrJ6THkvXU1FctFAHYNBumFgkmeUN7e8vQxULhOA2WTI9XPE95l+QkJ8cz1QR5d376FDh7JWdbhRnz59OHjwoB6nEAS3MJcrB/+M3BUEQRAKj6ZpBPiauKd8UJ4SSsF9dEkqg4ODuXYtZ23OtWvXckwvJAhFiWww4FUuMsd69oIgCILraJpG6RAfqpQNFE3eRYguSWWbNm149dVXOXnyZNa2EydOMGvWLNq0aaPHKQTBbUxBQRiDgt0dhiAIQokgSRoVIvwpGyYG5RQ1unQIevHFF+nfvz+PPvoo/v7+SJJEcnIy1apVY/z48XqcQhDcyisykvSUZDQXrM4iCIIgZMockBOIr7fodlQU6ZJUJiQk8PHHH/PTTz9x/PhxNE3LGgluMIh+EELRJ5tMmMtFYjt3Fkk0xQiCIOjOYjZQuaw/XqbiNQCuJNHlL9enTx9WrFhB69atad26tR6HFASPYwoNxZmQgJKa4u5QBEEQig1N0wjwM1Mpwh+Di9c+F1xLl7+e2WzGWMym1hCEW/GqUB5ETaUgCIIuNDIH5ESVDRQJZTGgSybYtWtXBg0axGOPPUbFihVzrAiRn7W/BcETyWYvzGXKYo+5IJrBBUEQCkBCo3xpf0IDxFLLxYUuSeVbb70FwPr163M8JkmSSCqFYsVcqhTOxARUq9XdoQiCIBRJBlmictlA/MSAnGJFl6TyyJEjt31MFaNlhWLIq3wF0o8dBTF/pSAIQp54mWWqlA0QA3KKIV06MLRr147ExMQc22NjY2nevLkepxAEj2Lw9sZUqrS7wxAEQSgyNE3D38dEtfJBIqEspvL9V92xYwc//fQTADExMcycORMvL69s+8TExIh+Z0KxZY6IwJmUiGazuTsUQRAEj6ahER5sITLc392hCC6U76Syfv36bNmyJWv5uosXL2K6YY1kSZLw8fFh3rx5BY9SEDyQJEl4la+A7fgxd4ciCILgwTTKl/IjLNDb3YEILpbvpLJMmTJs3LgRgGeffZZly5YRGBioW2CCUBQYfX0xhYfhuHLV3aEIgiB4HFmWqFImED8fMSCnJNClU8OmTZv0OIwgFEnmMuVwJiajOTLcHYogCILH8DLJVC4bgMUs+k+WFLr8pZctW3bHx0eMGKHHaQTBI0myjFf58qSfOoGE6EMsCELJpmka/r5mKkf4YzCICc1LEl2Syk8//TTb706nk/j4eEwmE/Xr19fjFILg0YwBAZhCQnHGx7s7FEEQBLdR0SgVZKFcuJ8YqFsC6ZJUfvvttzm2paamEh0dTdOmTfU4hSB4PHO5SJzJyeB0ujsUQRAEN8gckBMuBuSUWC6rl/bz82P06NG3XGVHEIoj2WDAK7J81owIgiAIJYVBhqhygSKhLOFc2tnhejO4IJQUpqAgjEHB7g5DEASh0JhNMveUD8Lfx+zuUAQ306X5e+vWrdl+1zSNlJQUPvjgA9GnUihxvMqVIz0lGU0sUSoIQjHnYzFSpWwARjEgR0CnpHLChAk5D2w00qBBA6ZNm6bHKQShyJDNZszlIrGdOys6qguCUCxpaIQGWigvBuQIN9AlqTxy5IgehxGEYsMUGoozIQElNcXdoXgsTVORJFG7IQhFjQaUC/OjVLDoPylkp9sV/ciRI0ycOJFevXoRGxvLu+++y++//67X4QWhyPGqUB7JYHB3GB7L6OcH4vURhCJFkqFKWX+RUAq3pEtSefDgQXr27MmFCxc4ePAgGRkZ/P333wwYMIDvvvtOj1MIQpEjm73wqlhRjAa/BcloxOAfgDE4GI2S8/ps3bqVTp06UadOHTp37szOnTtvu29CQgJjx46lcePGNG7cmClTpmC1WrPt07ZtW6pXr57tZ9y4ca4uhlBCmYwy95QLItDXy92hCB5Kl+bvhQsXMmDAAF566aWsgTmvvfYa/v7+LFu2jDZt2uhxGkEocowBgXiVKYP90iXR7+gfGhrGoCAAZKMRY0AgzqSkYv/6bNu2jUmTJhEdHc2DDz7I9u3bGTNmDBEREbcc0Dhq1CjsdjsbNmwgOTmZyZMnM2PGDObNmwdkzgV88eJFVq1aRe3atbOeZ7FYCq1MQsnhYzFSuaw/JtG6INyBbjWV3bp1y7H96aef5tSpU3qcQhCKLHNEGYyBge4OwyNomobRPwDZ+O/9rMHHB4N38U6ENE1jyZIl9O3bl759+1KxYkWGDx/O/fffz+7du3Psv3//fnbv3s2cOXOoXbs2zZs3Z+bMmWzbto3Y2FgAjh07hqZpNGjQgPDw8Kwff3//wi6eUIxpmkaQv5l7IgNFQinclS5JpclkIjU1Ncf2ixcv4u0t+l0IglfFSkheoslINpsx+Prm2G4IDCrW/StPnTpFTEwMXbp0ybZ93bp1DBkyJMf+e/bsITw8nKioqKxtTZo0QZIk9u7dC8DRo0cJDw8nICDAtcELJZhGmVBfKkUEFPuWBEEfuiSVDz30EIsWLSIhISFr28mTJ5k1axYPPvigHqcQhCJNNhjwrlwF5JI92tlwmxpbSZKKdf/KM2fOAGC1Whk4cCDNmzenZ8+et1ziFiA2NpYyZcpk22Y2mwkKCuLSpUtAZk2lj48PI0eOpEWLFnTt2pUNGzagivlRBR1IElSK8Cci1MfdoQhFiC59KqOjoxk0aBD3338/mqbRo0cPUlNTqVGjBuPHj9fjFIJQ5MkWC14VKmI7cwqJknXXr2kaxsDAbM3eNyvO/Suvt+RER0czYsQIxo0bx65duxg2bBjr16+nefPm2fZPT0/HbM65OomXlxd2ux2A48ePk5KSQqdOnRgxYgR79uxh4cKFJCUlMXr06HzHajDIQPFPTA3/TNbtSeWVDBIGF733ZVnK9u+dGA0yVcoF4GsxuSSWwpD971u8eVJZdUkq/fz82LJlC7/++iuHDx9GVVWqVatGy5YtkUt4zYwg3MgUFIRaKoKM2MvFLnG6E9nihcHn7jUeBh8ftAw7qs1eCFEVHpMp88t54MCBdO/eHYCaNWty+PDhWyaVFouFjIyMHMex2+34/PM6rl+/Hrvdjp+fHwDVq1cnLS2NlStXMnLkyHxfe/38PLN/q6ZqIGUmRQZZwiDLGAyZ/399m6ZBWroDe4aClIvkCTyrvMnpTpd/Z/r43LkbjreXkWoVg/EyFY/uKAEBJacLnieUVZek8rrmzZvnuDgKgpCdV9myqOlWlJQSMjG6BIaA3A9UMgQGoWZcgWLUjBsREQFAtWrVsm2vWrUq33///S33//rrr7Nty8jIIDExkdKlSwOZier1ZPW6atWqYbVaSUpKIjg4f2vQp6baUJTCe+1VTUPSyJYcyv8kjfIN24wmGfnGGzFNBScoZP44/tlsBJAhzZZBus2Jdpvc0mCQ8fOzFHp57yQlzYbBRQsCyLKEj48XVqsdVc3ZzUTTNAL9vSgbYsGaasN6i2MUJQaDTECAN8nJ6R7z93UVV5c1IMA717Wg+U4qn3vuuVztJ0kS77zzTn5PIwjFklelyqQfOYLmyFkbVZxo/NPsnYdBOJIkYQwJwXHtKlIx6WJZq1YtfH19+fPPP2nUqFHW9mPHjlGhQoUc+zdu3JiFCxdy9uxZKlasCJC1mESDBg1QVZWHHnqInj17MnTo0KznHThwgLCwsHwnlACKoqIo+r/wmqbhZTZguiFRlGQJoyzn6gtLVTTUPPS59bWY8PEykmZzYLU5UVTtptaBzC9fV5U3PzRFQ3Hxm15VtRzl1TSN0iE+lA3zzfPr7OkURcXpLN5J5XWeUNZ8J5XlypW74+N79uzh/PnzWU0zgiD8SzYYsFSuTPrxY1CMJ0c3WLwxWPLe0V82GjH6+eNMTvbcbgJ5iMtisTBo0CCWL///9u49OKryfOD49+zZW/aehFuAABElA2owUaAwgjZ0hATRQOQyHSlNgWiFOoBFoJRCVAShSAWLQqEEhl5oTcBKQBG8YRSpwERHGUG0AfoLoCKkud/O74+YHZZwS3azezb7fGb4Iycnm/cJJ0+efd/3POePdO7cmaSkJAoKCigsLCQ3N5f6+nrOnz+P0+nEarXSv39/UlJSmDVrFosXL6aiooJFixaRkZHhnakcMWIEGzZsoFevXtx66618+OGHbNiwgQULFrRVxK2moBHtsmAxBXRx7PrfV1FwRJlxRJmpqqmjoqqO6tp6/V5TIaCgEd/FSaxLP9sARPhq9W/40qVLr3i8rKyMZcuWcerUKYYMGcIzzzzT6sEJ0Z6pNhuW+B5UnfxP+7xxx6Bg8KNnomq3o9XW6HZ/pdLCvW+PPfYYUVFRrFq1irNnz9K7d2/WrFnDoEGDOH36NMOHD2fp0qWMHTsWRVF48cUXycnJYfLkyVgsFkaOHMn8+fO9r/fEE0/gcrlYuXIlZ86coXv37ixYsIDx48cHOtRW0zQNq1nFZTejhnh/vdVsxGo2UlffQHlVLbW1kTF7dS2qQSGhqxtHVPjekCP0RdEC+Ay5wsJCFi5cSGlpKXPmzGHChAmBeumQ+v778pBPKQeD0WggOtoeEfHqKdbq/56m5ty5Np09adw/ZqGsrPqG99w01NVh7R7fqu+naQ2YYmIwWPyb/dA0jdpvWr6/UjUquF02LpZWUF8X2JlgxWSk0809MBrbx40Ml6qvb+CLr78N2HKw22YiSqd3EKuqgsli5v/OXmy8sUcHs5cl35ahtNGeSlVVLtlDqmExGUjo6sJqDu7scbDoKce3tbaONSbG3vZ7Ki9VXl7OsmXL+Oc//8ngwYNZsmQJXbt2DcRLC9Humbt2a7xxp6w81EMJGNVm97ughB/2V3o81J4/r4u5XIPFjOqJ1kUBomcmVcHtsGDUQYuTq1EUBafdTKdoG2UVNRGzNK5pGg6biYQuTl20oBHti99FZdPs5MWLF1m8eDETJ04MxLiEiBiKomDpmUDFsS+gtvb6X6B3qgE1gE95MZjNGJ2h3V+paRqqLQqj2xOS7x82NA17lAmnrXmPTT27dGm8oqr2h7vG219x2aBpdIyOoku0rd0XzyI0Wl1UlpeX89xzz/nMTl7+BAghxI0xmExEJSRQefx4WN+4o2kaJpc74H+wVLu9sX9ldfDvlte0BoxOF6rcdHhNBgU8LgvmazS41zujasBlt+C0mamoqqOiuo66+oZ2UoBpJHR1YVZo98vBInRa/ds/evRoSkpKiI+PJyUlhby8vKueO2PGjNZ+GyEihmqzY+keT9XJ4rD9I6babBja6Bnnqieahm/OwRV67LUVDTBGe1p1B3uk0DQNu9WI02YO2+v2coqiYI8yYY8yNd41Xl2nm32XraEaFG7p7qZzTOO+OyHail9vKePi4qirqyM/P/+q5yiKIkWlEDfIFBtLQ0UFtd99G+qhtJyqBnTZ+3KN+yujg7q/0hQd3WZFcnsQqlZBwXTp0nhZZS2V1XVhVVxGWVR6xTmxR4XXlgQRnlqdCd56661AjkMI8QNz9+7UV1XSUB4+MwqapmFyB37Z+3JB219pMGCMibnms8ojmZ5aBQWLUTXgcViwGA1cqKjVxY1j16JpGh6nmZ5dXL5PIhKiDUVGNhAijCiKgrVnLzDpsxXLlagOBwZzcGZCVLsd1dqGs4eqKgXldXjsZqKd1ogpKC8VZTXR0WVFvcFni4eCBnTrYCchzi0FpQiqyMsIQoQBg9ncWFiGwR8Exahi9KPJeWuonmhog3YoismEMTZWCsqrMKkKHdxW3faeDBaj0dD4czCrBLDVc0CoBripq5NOMbIPWASfFJVC6JTR4cDcrZvu/mhdSuOHAi/IFEXB6PYE7AnFmqZhsFoaZygjcPbtujQNR5SRWHeUrntPBpOiNPbijHZYdLMUbjEZuCXeg9su+4BFaEh2EELHzB06YoqJDfUwrsrocIRsVq9pf6W/RbeGhmqzYZSm5lekGhRi3BYccqPHFVktRmI9Vkxq6K4dTdNw2k30ife02yfkiPAgRaUQOmeJj8cQFRXqYTSjmIwh793o7/5KTdMwOl0Y3e4Ajqp90DSNKLNKB7c1rHtPBoPRYCDWHYXNYgz6yoKmaXSJtdG7q1uekCNCTq5AIXROMRiwJiSgqPp51rSGhqqTp8sY3J5W7a9s7EHpRrXbAz6mcKegEeOy4HZYZPa2BVx2MzEuC0rANmZcm2KAhDgXcbFyDQt9kKJSiDBgMFuwJNyEHjZvNc3u6eVmFoPB0PL9lUpjD0ppat6cxaTSwRPVrntPtiWLyUgHTxRmo6FNZy1NJoVbunnwOGX/pNAPKSqFCBNGhwNzXOhv3DFYLLqb3WvR/kqDAWNsB2lqfgUGg0KMKzJbBQWSajAQ47LitJkC/thV7YfnqyfGR2OzSuEv9EUyhxBhxNypE6bomNANQAFVp/sPVbsdg/XaN5MoRlVaBl2DLHUHliPKTIzbQqDu4dHQ6Bht5eZuLrkLX+iSXJVChBlLjx4o1uDfuKNpGqrbhUFHezsvp7o8cJVZNsVsapyh1PH4RftjNhp/2E7gZ09LRaNHZyfdOzql+Be6JUWlEGFGMRiISuiFEuQlStVq1f0eRIOqNruTu6kHpSkmVv4Yi5BQFIVopwWX3dyqW3hMRgN9unuIdVkDPjYhAkn3ReWOHTtIT0/n9ttvZ9SoUezevfuq537//fc88cQTDBgwgAEDBrBw4UIqKiqCOFohgsNgsWJJuAnV6QSjEa2hvo2/oYLB5Wrb7xEgBosFo6Nxf6XWoKE6HBhD0KBdiMvZW/GIR5vVSJ8ebmwR/hQjER50vbHo1Vdf5Te/+Q1z587l3nvvZefOncyePZsuXbqQnJzc7PzHH3+c6upqcnNzKS0tZcGCBeTk5PDcc8+FYPRCtC2j0+l9PGJDbS0NFeXUV1XRUFlFQ1UlDVVVoGl+z85pWgNGV3RYLRurDgdqfRUmTGgW/fX4FJGr6RGPF8trqKyuu+rvZwMaHdxW4js6ZIZdhA3dFpWapvHCCy8wefJkJk+eDMD06dM5fPgwBw8ebFZUHjlyhIMHD7Jr1y569+4NwFNPPcXUqVOZPXs2nTt3DnoMQgSLwWTC4PZgvGTlV9M06ivKaaisxFBXg2oEKuvQautatHSuRtlQQ7CH01+WDrFUfF9OXV1DqIcihA9FUfA4LFhNBi6U117hDI34Tg46usPv905ENt0WlV999RX//e9/GT16tM/xjRs3XvH8jz/+mI4dO3oLSoCBAweiKAqHDh0iPT29TccrhN4oioLR7gC7A6PRgDvaTkOXcmoqqqgvL6ehupKGymoaqirRqivRNKX5jIjBoNu7vYUId1aLiQ5GlQtl1dTVN+62VA0KCV3dOKJkuVuEH90Wlf/5z38AqKioYMqUKXz++ed0796dX/7yl6SmpjY7/+zZs8TFxfkcM5vNeDweSkpK/BpLpDz6qinOSIg3kmIF33jNNivYfDf8aw0NjYVmZWXjEnpVJfVlZVhjozGYwmfZu0mk/f+K8GVUDXRwR3GxrAarxchNXV3SeF6ELd1euWVlZQDMnTuXGTNm8Otf/5o33niDxx57jE2bNjF48GCf8ysrKzGbm/eos1gsVFdX+zUWlyuyliAiKd5IihWuE2+sM3gDCZJI+/8V4cvtMON2hLAHrRABoNui0mRqnPqfMmUKY8aMAaBv3758/vnnVywqrVYrNTU1zV6nuroam82/NiilpZXU17f/fVmqasDlioqIeCMpVpB4A83lipJZUCGEuIxui8ouXboA0KdPH5/jN998M++8884Vz9+7d6/PsZqaGi5cuOD3TTr19Q0Rtdk/kuKNpFhB4hVCCNF2dPtWu1+/ftjtdoqKinyOHzt2jB49ejQ7f8CAAZw5c4bi4mLvsY8++giAlJSUth2sEELcgED33d29e7f39UaPHs17773X1iEIIcRV6baotFqtTJ06lT/+8Y/s3LmTkydP8tJLL1FYWEhWVhb19fV88803VFVVAdC/f39SUlKYNWsWn3zyCQcOHGDRokVkZGRIOyEhRMg19d2dMGECO3fuJD09ndmzZ3PkyJErnv/4449z6tQpcnNzWb16NYWFheTk5Hg/f+DAAebMmcNPf/pTduzYwd1338306dM5ceJEsEISQggfiubXw0jb3qZNm9i6dStnz56ld+/e/OpXv+InP/kJp0+fZvjw4SxdupSxY8cC8N1335GTk8P+/fuxWCyMHDmS+fPnY7FY/BrD9xHS685oNBAdbY+IeCMpVpB4Ay0mxt6iPZWapjF8+HBGjBjB3LlzvcenTJnCwIEDeeSRR3zOP3LkCBMnTvTpu/v+++8zdepU3n33XTp37syUKVNwuVysWrXK+3UTJ06kT58+PPXUU62OTa6R9knibb/0lO90u6eySVZWFllZWc2Od+/enS+++MLnWGxsLKtXrw7W0IQQ4oYEuu/uyJEjOXz4MPPmzfP5ukGDBvHmm28GPgAhhLgBui8qhRAi3AW6725paSkVFRXeGxqbdOrUSfry3qBI62Uq8bZfeopVikohhGhjge6727SX/PJzpC9vy0m87VskxauHWKWoFEKINhbovrtN+8QvP6e6upqoKP/+sEgv0/ZJ4m2/9NSXV4pKIYRoY4Huu+vxeLDZbJw7d87nnHPnzjVbEm+pSOvtKfG2b5EUrx5ilaLyBuhhSjmYIineSIoVJN5AMRiUFp1/ad/du+66y3v8Wn13f//731NcXEzPnj0B3767iqKQkpLCwYMHGTdunPfrPvroI+68887WhOQl10j7JvG2X3rId1JU3gA9bH4NpkiKN5JiBYk3VC7tu9u5c2eSkpIoKCigsLCQ3Nxc6uvrOX/+PE6nE6vV6tN3d/HixVRUVDTru5uVlUV2djb9+vVj2LBh5OXlcfToUZYsWeLXWPXyMwsWibd9i6R49RCr7vtUCiFEexHovrs7duxg7dq1nDlzhptvvpk5c+Y0258phBDBIkWlEEIIIYTwW+jnSoUQQgghRNiTolIIIYQQQvhNikohhBBCCOE3KSqFEEIIIYTfpKgUQgghhBB+k6JSCCGEEEL4TYpKIYQQQgjhNykqhRBCCCGE36SoFEIIIYQQfpOiUgghhBBC+E2KSiAxMZH8/PxQD6NNpKamkpiYyKZNm674+d/97nckJiayZs2aII8ssCIlzpZoyXWdmpoaFj+b1157jQkTJpCcnExycjKZmZn8/e9/D/Wwworku/DPA5ESZ0u0x3wH4ZfzpKiMACaTiddff73Z8bq6Ovbs2YOiKCEYVeBFSpyR6pVXXmHhwoVkZmaSn59PXl4eY8eOZcmSJbz44ouhHp7QiUjJA5ESZyQLx5xnDPUARNsbPHgw+/fvp6SkhLi4OO/xAwcOYLPZiIqKCuHoAidS4oxUf/3rX3nooYcYP36899hNN93EmTNn2LJlCzNmzAjh6IReREoeiJQ4I1k45jyZqbyEpmls2LCBtLQ0brvtNu68804eeeQRTp065T0nMTGRf/zjH2RlZZGUlMTQoUNZt25dCEd9fUlJSXTt2rXZu9pdu3aRlpbm8442Ly+PjIwMkpKSuOOOO5g0aRKfffaZ9/Opqak8++yzpKenM2jQIA4cOBC0OK4nUHHm5uaSnJxMZWWl9/yGhgaGDRvGli1bghNMAK1Zs4bU1FSfY/n5+SQmJoZoRK1jMBg4fPgwFy9e9Dk+bdo0tm3bBkBNTQ0rVqxg6NChJCcnM378eN5//33vufn5+QwbNoy8vDzuuecekpOTmT59OmfPng1qLHog+U7yHUi+07NwzHlSVF5i8+bNrFu3jjlz5vDGG2+wdu1avv76a5YtW+Zz3vLly8nIyODVV18lMzOT559/no8//jhEo74xaWlpPsmnpqaGvXv3MmrUKO+xN998k0WLFvHzn/+c3bt3s3nzZqqqqliwYIHPa/3tb3/jt7/9LRs2bCAlJSVoMdyIQMT5wAMPUFtby549e7xf88EHH3D+/Hnuv//+4AUjfEybNo2jR48ybNgwsrOzWb9+PZ988glOp5OEhAQA5s+fz/79+1mxYgXbt28nLS2NRx99lHfeecf7OufPn+fPf/4zK1euZPPmzZSUlDB16lTq6upCFFloSL6TfAeS7/QsHHOeFJWX6NGjB8uWLSM1NZVu3boxaNAg0tLS+OKLL3zOGzNmDA8++CAJCQnMnDkTt9vNoUOHQjTqG5OWlkZRURElJSUAFBYWEh0dTb9+/bzneDwennnmGTIyMujWrRv9+/dn3LhxzeK/5557GDJkCLfffjtmszmocVxPIOKMiYkhNTWVf/3rX96v2b59O6mpqcTExAQ3IOE1YsQItm3bxn333cenn37KypUrGTduHCNHjuTQoUMUFxezc+dOlixZwo9+9CN69epFVlYWo0aNYuPGjd7Xqa2tZfny5dx1110kJSWxYsUKjh07xocffhjC6IJP8p3kO5B8p2fhmPNkT+UlUlNTKSoqYvXq1RQXF3PixAmOHz9O586dfc7r3bu3z8cOh4Pa2tpgDrXFbrvtNuLj43n99dfJyspi165dzd6FDhgwgJiYGNauXUtxcTFff/01R48epaGhwee8nj17BnPoLRKoODMzM3n00Uc5e/YsdrudvXv38sILLwQ7HHGZpoSoaRrHjh3j3XffZcuWLUybNo1nnnkGgJ/97Gc+X1NbW4vL5fJ+bLfbufXWW70f9+7dG5fLxbFjxxg6dGhwAtEByXeS75pIvtOvcMt5ETdT+e233/q8E9U0DQBVVfnTn/7EpEmTOH/+PAMHDmTx4sX84he/aPYaV3q32vQ6eta0VFJdXc2+fftIT0/3+XxBQQEPPPAAxcXFJCUlMWfOHObNm9fsdaxWa7CG3CqBiPPuu++mY8eOFBQUsGfPHpxOp64Ljmtd15d+3CTclnrPnDnD008/7d0HpCgKiYmJZGdns3nzZsrLy73n/uUvf2HHjh3efwUFBd79R9B41+zlNE3z/qzaE8l3ku8k34VfvoPwzXkRN1O5ceNG3nvvPQoKCgAoLS0FGpcAcnJymDFjBtnZ2T7nh0MCvRFpaWmsX7+eV155hfj4+GYzEC+//DIPPfQQOTk53mP79u0DGi/AcGlREYg4VVUlIyODPXv24PF4ePDBB3VddFzrui4pKaGsrMzn/7C4uDhkY20Ns9nMtm3b6NKlC9OmTfP5nMPhAKBDhw4AnDt3jnvvvdf7+VWrVqEoCjNnzgTgwoULnDx5kh49egBw/Phx/ve///ksGbYXku8k30m+C798B+Gb8yJupnLIkCF8+eWXbN++nRMnTrB06VJcLhfJycnExcVRWFjIl19+yVdffcWqVavYs2cPNTU1oR52QPTt25eePXvy/PPP+2zkbhIXF8fhw4f57LPPOHnyJLm5uWzduhUgrH4GgYozMzOToqIiPvjgA8aOHRu08bfGta7rlJQUSktLWb9+PadPn+a1114Lu+bXMTExTJ06lT/84Q+sWrWKo0ePcurUKd5++21mzJjBoEGDGDhwID/+8Y9ZtGgR+/bt49SpU2zcuJF169YRHx/v83pPPvkkn376KUVFRTz55JMkJyczYMCAEEXXdiTfSb6TfBd++Q7CN+dFXFE5dOhQ5s2bx5o1axgzZgzHjx/npZdewuFwsHz5cqqqqsjMzOThhx/m2LFj5OTk8N1333H69OlQDz0g0tLSKCsra7ZEArBw4UI6dOjAww8/zLhx43j77bdZvnw5AEVFRcEeql8CEWfPnj2544476Nu3b7N3/3pzret64MCBzJo1i61bt5Kens6OHTuYO3duqIfcYjNnzmTJkiX8+9//ZtKkSaSlpfHss88yZMgQXn75ZaDxHfqIESNYtGgR6enp5OXl8fTTT5OZmenzWvfffz/Z2dlMmTKFW265hXXr1oXNzFRLSL6TfCf5LjzzHYRnzlO09rLWIUSAaZrGfffdR3Z2NuPGjQv1cEQA5OfnM3/+/GZ3+AoR6STftU/BznkRt6dSiOupra3lrbfe4sCBA5SVlV1xSUkIIdoDyXcikKSoFOIyJpPJ26phxYoV2Gy2EI9ICCHahuQ7EUiy/C2EEEIIIfwWcTfqCCGEEEKIwJOiUgghhBBC+E2KSiGEEEII4TcpKoUQQgghhN+kqBRCCCGEEH6TolIIIYQQQvhNikohhBBCCOE3KSqFEEIIIYTfpKgUQgghhBB++3/sv5xTeQexXgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 748x354 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "4966283d127e486492fa40cb6d7d7204",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(Dropdown(description='Type:', options=('Drought', 'Flood'), value='Drought'), Checkbox(v…"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from ipywidgets import widgets, interactive\n",
    "def simBA15plot(ax, dataset, derr, col_key):\n",
    "    \"\"\"\n",
    "    Set the plot and properties of the figure sub-pannels.\n",
    "    \"\"\"\n",
    "    lthick=1.0\n",
    "    ax.plot(mrange[0:5], dataset[0:5], 'k--',lw=lthick)  # Jan to May\n",
    "    ax.plot(mrange[4:9], dataset[4:9], 'k-',lw=lthick)   # May to Sep\n",
    "    ax.plot(mrange[8:], dataset[8:], 'k--',lw=lthick)    # Sep to Dec\n",
    "    ax.fill_between(mrange[0:5],(dataset[0:5] - derr[0:5]),\n",
    "                    (dataset[0:5] + derr[0:5]), color=col_key, linewidth=0.1,alpha=0.15)\n",
    "    ax.fill_between(mrange[4:9], (dataset[4:9] - derr[4:9]), (dataset[4:9] + derr[4:9]),\n",
    "                    color=col_key, linewidth=0.1, alpha=0.3)\n",
    "    ax.fill_between(mrange[8:],(dataset[8:] - derr[8:]), (dataset[8:] + derr[8:]),\n",
    "                    color=col_key, linewidth=0.1, alpha=0.15)\n",
    "    ax.set_xticklabels(xlabs)\n",
    "    ax.set_xlim(0,11)\n",
    "    return\n",
    "\n",
    "mrange = arange(0,12)\n",
    "xlabs =['Jan','Mar','May','Jul','Sep','Nov']\n",
    "\n",
    "figBA15 = plt.figure()\n",
    "figBA15.set_size_inches(7.48,3.54)\n",
    "ax1 = figBA15.add_subplot(121)          \n",
    "ax2 = figBA15.add_subplot(122) \n",
    "simBA15plot(ax=ax1, dataset=d_means, derr=d_errors, col_key='r')\n",
    "simBA15plot(ax=ax2, dataset=f_means, derr=f_errors, col_key='b')\n",
    "ax1.set_ylabel(r\"Neutron counts (cnt./min.$\\times10^{3}$)\", fontsize=11)\n",
    "ax1.set_title('Drought sample')\n",
    "ax2.set_title('Flood sample')\n",
    "plt.show(figBA15)\n",
    "\n",
    "def update_chart(data_set='Drought', show_error=True):\n",
    "    dataset = d_means if data_set == 'Drought' else f_means\n",
    "    derr = d_errors if data_set == 'Drought' else f_errors\n",
    "    col_key = 'r' if data_set == 'Drought' else 'b'\n",
    "    \n",
    "    fig, ax = plt.subplots(figsize=(7.48, 3.54))\n",
    "    ax.plot(mrange, dataset, 'k-', lw=1.0)\n",
    "    if show_error:\n",
    "        ax.fill_between(mrange, dataset - derr, dataset + derr, color=col_key, alpha=0.3)\n",
    "    ax.set_xticks(np.arange(len(xlabs)))\n",
    "    ax.set_ylabel(r\"Neutron counts (cnt./min.$\\times10^{3}$)\", fontsize=11)\n",
    "    ax.set_xticklabels(xlabs)\n",
    "    ax.set_title(f'{data_set} sample')\n",
    "    plt.show()\n",
    "\n",
    "# 交互式控件\n",
    "data_set_dropdown = widgets.Dropdown(options=['Drought', 'Flood'], description='Type:')\n",
    "show_error_checkbox = widgets.Checkbox(value=True, description='Show Error')\n",
    "\n",
    "interactive_plot = interactive(update_chart, data_set=data_set_dropdown, show_error=show_error_checkbox)\n",
    "interactive_plot"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization 4 Drought/Flood sample distribution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "A Pearson's r test, gives linear regressions and two-tailed p-values of:\n",
      "Drought sample: r-value = -0.949, p-value = 0.014\n",
      "Flood sample: r-value = 0.001, p-value = 0.001\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\Users\\HP\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n",
      "  with pd.option_context('mode.use_inf_as_na', True):\n",
      "c:\\Users\\HP\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n",
      "  with pd.option_context('mode.use_inf_as_na', True):\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA5EAAAHgCAYAAAA8M+nyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADs6klEQVR4nOzdd3wUZf7A8c/M9s1m00gjoUsRC4iCoCAKh/Xs5SyoJwqKBUVF8bBhQw+UExFET6y/AzuniN556lnuFEE5FUFUkJoGpGfrlN8fISshATZLkt0k3/frlVeSKc98dzKZZ74zzzyPYpqmiRBCCCGEEEIIEQU13gEIIYQQQgghhGg7JIkUQgghhBBCCBE1SSKFEEIIIYQQQkRNkkghhBBCCCGEEFGTJFIIIYQQQgghRNQkiRRCCCGEEEIIETVJIoUQQgghhBBCRE2SSCGEEEIIIYQQUZMkUgghhBBCCCFE1CSJFEIIIYQQQggRNUkihRBCCCGEEEJETZJI0SJM02yTZQuxL7Ece3K8ChF/UieJjkDqKNGaJIkUXHrppfTt27fe16GHHsrxxx/P9OnTqaioaFJ5H374IbfffnuLxNpY2aNGjWLq1KlNKieWdVpDIsVVVFTE2LFjOeywwxg2bBh+vz/eIQGNH69HHXUUl112GV999VWLbTeW47ol/xeEaK+kTkpciRSn1FH1SR0lWps13gGIxNC/f3/uueeeyO/hcJgffviBxx57jLVr17Jo0SIURYmqrOeff76Fomy87Llz5+LxeFpsmx3VCy+8wKpVq5g5cybZ2dm4XK54hxSx+/Gq6zplZWUsWrSIK6+8kjfffJPevXs3+zZjOa5b8n9BiPZM6iSxP1JH1Sd1lGhtkkQKADweDwMHDqw3bfDgwdTU1DBnzhy+/fbbBvMTRf/+/VttW6FQCLvd3mrbi6fy8nKysrI49dRT4x1KA40dr8cccwzDhg3jzTfflDurQrRxUieJ/ZE6Soj4kuasYp8OPfRQAAoKCoDaO2r/93//x+mnn87hhx/O8ccfz6xZswgGg0BtM46vvvqKr776ir59+7J8+fJIWa+99hqnnXZapFnSE088gaZpkfmjRo1izpw5PPLIIxxzzDEcfvjhXHnllfz666/7LHv35jWBQIBHH32UE088kUMPPZRBgwZxxRVXsHbt2iZ/9nHjxnHxxRfz73//mz/84Q8cfvjhTJ8+vcFyd911F0OHDq33WQBmzpzJkCFDCIVCMcfWWNOhN998k759+7J169bItP3t2x9++IHLL7+cI488kiOOOII//vGPfPvtt/vc7ptvvklBQQF9+/bliSeeiEx/6KGHuPzyyxk0aBB33333fo+J3cucO3cuM2bM4Oijj+aII47glltuoaamhqeffprjjjuOI488khtuuIGysrK9xrY3LpcLh8NR7+lEtLHFclzvb582tk5j+w+iOzZGjRrF7NmzmTFjBkOGDGHIkCFMmTIlpn0lRFvVkeuka665hnPOOYdXX32VM844g8MPP5yRI0cyZ84cDMPY63rR1FEtWT9B4tdRLV0/Qex1VDTLSB0l4kGSSLFPdZVlly5dALj77rt56KGHGDVqFPPnz+eSSy7h5Zdf5tprr8U0Te655x769+9P//79eeWVVzjkkEMAWLBgAXfddRfDhg3jqaee4pJLLuGZZ56JnKDqvPjii2zYsIEZM2bwwAMPsHr16kgltbeyd3fbbbfx+uuvM2HCBBYuXMjUqVP56aefmDx5cpNfHl+zZg1btmxhxowZXHDBBTzzzDNceumlDZY788wzKSsr44svvohMM02TZcuWcfLJJ0eeXDZnbLvb376trq7mqquuIi0tjTlz5jB79mz8fj9XXnklVVVVjZY5d+5cRo4cSWZmJq+88grnn39+ZN7//d//RSrtM888c7/HxO6ee+45CgoKmD17Ntdccw1Lly7l3HPP5T//+Q/3338/N9xwAx9++CFz5szZ52c2TRNN09A0jXA4zPbt23nssccIhUKce+65keWijS2W43p/+3Rvx+ue+w+iPzb+9re/8fXXX/PQQw9x66238umnn3LVVVft8wJSiPakI9dJq1ev5tdff+X555/nyiuvZP78+Rx55JE8+eSTvPHGG3tdL5o6qqXqJ2g7dVRz1U91+7e56qholpE6SsSFKTq8sWPHmpdccokZDocjXzt27DCXLVtmDhkyxLzgggtMwzDMn3/+2ezTp485b968eusvWbLE7NOnj/nvf/87Ut7YsWMj8ysrK80BAwaYd999d731Xn31VbNPnz7mTz/9ZJqmaZ5wwgnmCSecYGqaFlnmiSeeMPv06WOWlpY2WnbderfffrsZDAbNcePGme+++269+QsXLjT79OljFhcXN1hnb7Zu3Wr26dPHHDNmjFlVVbXP/WcYhjlq1Chz6tSpkWkrVqww+/TpY65cudI0TTPq2PaMq7E433jjDbNPnz7mli1botq3q1atqheLaZrmpk2bzEceecQsKCjY6+e6/fbbzRNOOKHetBNOOME8/vjjTV3XTdM0oz4m6tYdMWKEGQ6HI9NOOukk84gjjjArKysj066++mrzjDPO2GtcY8eONfv06dPo11NPPRVZLtrYYjmuo92nex6ve+4/02zasTF48OB6++qDDz4w+/TpY3788cd73V9CtDVSJzVUVFRk9unTxxw9enS9c0AoFDKPPfZY8+qrr97ruvuro2KNc3/1k2lGt68ToY5qrvrJNJu3jmpKHSt1lGht8k6kAGDFihUN7qKqqsqwYcO4//77URQl0qvY6aefXm+50047jTvuuIPly5czcuTIBmWvWrUKv9/PqFGjGjQVAvjPf/4Tecn8sMMOw2KxRJbJyckBwO/3k5aWts/PYLfbefbZZwEoKSlh06ZNbNiwgY8//hio7ZghWj/88AMAt9xyS70OEgzDaHBHzWq1csYZZ/DSSy8xffp07HY7S5cupUuXLhx55JHNHtvuotm3559/Punp6UycOJFTTjmFkSNHMmzYMG677baYttmrVy9UtbYRQ1OPicMPPxyr9bfTTmZmJh6Ph+Tk5Mi01NRUfvrpp33GcMghh0SaFpumSWVlJZ9++imzZ8/G5/MxefLkqGOL5bju3bt3zPt09/0HTTs2TjjhhHr7atSoUdhsNlauXMnxxx+/320L0VZInVTf999/D8D1119f7xxgs9no2rVrpMlgrHVUS9RP0LbqqOaqn6D56qj8/Pyo49+d1FGiNUgSKYD6JzxFUXA4HOTm5tZLoOq6Vc/MzKy3rtVqJS0tba/NTsrLywGYMGFCo/NLSkoiP+/Zu1rdiSzaphCfffYZDz30EBs2bCApKYm+ffuSlJQENG0spB9++AG73d7g5Pzkk08yd+7cetPWrVvHWWedxbx58/j00085/vjjef/997n44otbJLbdRbNvk5KS+L//+z/mz5/PsmXLWLx4MS6XizPOOINp06bhcDiatM1OnTpFfm7qMdFYj4Wx9KiXlJTEYYcdVm/a8OHD8fl8/PWvf+Wyyy6LOrZYjusD2ae777860R4bWVlZ9dZTVZXU1FQqKyv3uj0h2iKpk+r7/vvvsdls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dbbd5GtzSTWKAl2yPPEORQghmqy0tJSRI0cC0LdvX1555RWgth+bCRMm8Nxzz8X0NLLJNfrSpUtZvHgx3377LZqmAeB0Ohk0aBAXXXQRv/vd75pUnmEYzJ07l9dee43KykqOPPJI7rnnnr2+V1lWVsYDDzzAp59+CsDJJ5/MHXfcgdvtjizz3Xff8cgjj/D999+TlpbGueeey/XXX4/aRnqFM00I6rXfhRCiLTNNCIR0DDmhtbhI3RHvQHYxdR2tshx7dm68Q4nZjgo/VTVhenb2YrW0jWsIIYTYXXJyMqFQCIDu3btTWFhIdXU1Ho8n8nssoj4jGobBzTffzK233srmzZs59dRTGTduHOPGjWP06NH8/PPP3HDDDU1+H3LevHksXryYBx54gFdeeQVFURg/fnzkw+5p0qRJbNmyheeff545c+bwn//8h+nTp0fm//rrr1x22WV07dqVv//970ydOpXnnnuOZ599tklxCSGEECI6RiiE7vPV+woVFWH4AygOR4N5u38Ze6nv4y0Y0inYUUNGigznIYRou4466iheeuklfD4f+fn5uFwuPvjgAwBWrVqFxxNbK4uon0T+7W9/4/3332fq1KlcdtllDZ7qGYbBokWLeOihhxgxYgSnnXbafssMhUIsXLiQKVOmRB6zzp49mxEjRvDBBx80KGPVqlV89dVXLFu2jF69egFw3333cdVVV3HzzTeTnZ3NggULOOigg3jooYdQFIUePXrw888/880330T7UYUQQggRJSMUovp/qzB89TtOCu/YjmmYGP59d/OjupPwDDwC1Z44iZppmmwqrsJmUencyb3/FYQQIkFdf/31XHLJJVx99dW89NJLXHzxxdx999289NJLrFu3Lua+bKJOIt98803+8Ic/8Mc//rHR+aqqcskll/DLL7/w6quvRpVE/vjjj9TU1DB06NDINK/XS//+/VmxYkWDMlauXElmZmYkgQQYMmQIiqLw9ddfc+qpp/LZZ58xfvx4lN263540aVK0H1MIIYQQTWBqGoavBsVqQ7HZaqfpOqYB1vR0VNfekzAzHMbw1WBqGiRQEllS5scX1Oidn4KljbwKI4QQjenbty/vvfceP/30EwC33HILHo+Hb775hlGjRjFhwoSYyo06idy4cWNUydiIESP417/+FVWZRUVFAOTm1n9fIisrq9H2ucXFxQ2W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2fjx4we45Pmj7b3UG3nv9U4+zz3LpG4aGhpYuHAhxcXF/OpXv+JnP/sZDQ0NnHvuuTiOk4PS959M3zNtPv7440H7XmmTad1ce+21PPjgg/zgBz/goYceoqKigvPOO4+WlpYBLnn/yrReFi9ezNatW7n33nu59957qa2t5Zvf/OYAl3pgyXVtD7ToV++9957+0pe+pOfMmaOPPPJI/d3vfneP2//xj3/UhxxyiG5qampftmbNGl1dXa0dx+nv4uaV2tpaPWXKFP33v/+9fdn777+vJ02apF999dUe9/vc5z6n77333v4vYB5xHEfPmDFDP/DAA+3Lmpqa9GGHHaYfe+yxLtu/8soretKkSfq9995rX/bss8/qyZMn69ra2gEpcz7JtP601nrhwoX6+uuvH6gi5rXa2lr99a9/XU+fPl0ff/zxesGCBT1uK++93snnuWeZ1s3vfvc7XV1drROJRPuyrVu36kmTJun/+7//G5AyD4RsvsO01tr3ff3Vr35Vn3nmmXrSpEl606ZNA1HcAZVp3Xz00Ud60qRJ+q9//WuH7Y866qgh/Z5pamrSkyZN0s8880z7sqefflpPmjRJ19fXD0iZB5Jc13onLZH97IUXXuBTn/oUjz32WFotFC+99BIHH3wwZWVl7cvmzJlDa2sr69ev78+i5p2XX34ZgNmzZ7cv22+//aiqquLFF1/sdp94PM5HH33EgQceOCBlzBfr168nGo0yZ86c9mVlZWVMnTq127p66aWXGDlyJAcccED7slmzZmEYRnu9DyWZ1h+kWiKH2vusJ2+99Rbl5eX8z//8D9OmTdvjtvLe6518nnuWad3MnTuX2267jVAo1GVdU1NTv5Z1IGXzHQZw5513kkwmueCCCwaimDmRad3885//pKysjM9+9rMdtv/LX/7C3LlzB6TMAyHTegmFQkQiER599FFaW1tpbW3lD3/4A/vuuy/l5eUDWfQBIde13g3u/n154Ktf/WpG29fW1jJ69OgOy0aNGgXAli1bOOyww/qsbPlu27ZtVFZWdrn4jxo1iq1bt3a7z7vvvotSiieffJLrrrsO13WZNWsWl112WXs9DkZtYxLGjBnTYXlPdbVt27Yu2waDQSoqKnqs28Es0/qrr69nx44dvPjii9x///00NjYybdo0LrvsMvbbb78BKXM+Ofroozn66KPT2lbee72T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bv3+hBBCCCGEEEKIPZDurEIIIYQQQggh0iZBpBBCCCGEEEKItEkQKYQQQgghhBAibRJECiGEEEIIIYRImwSRQgghhBBCCCHSJkGkEEIIIYQQQoi0SRAphBBCCCGEECJtEkQKIYQQQgghhEibBJFCDBFHH300V1xxRa6LIYQQQgghCpwEkUIIIYQQIm/IQ08h8p8EkULkCdd1c10EIYQQQggheiVBpBA5cM4553D66afzt7/9jf/+7//msMMOY9myZV22u/rqq5kzZw6e53VYvmLFCmbNmoXruiQSCW666SY+97nPccghh1BdXc3ChQt5++23ezx/d095H374YSZPnszmzZvbl/3+97/nxBNP5JBDDuHII4/klltu6VKWt956i7POOouZM2cyY8YMzj77bF577bVsqkUIIYQQQhQACSKFyIF169axadMmli9fzpe//GV+9rOfccYZZ3TZ7pRTTqGhoYHnnnuufZnWmscff5zjjz+eYDDI5ZdfzoMPPsj555/PPffcwxVXXME777zD4sWL0VpnXca77rqLq6++mrlz53LnnXfyta99jZ/97Gd8//vfb9+mtbWVc889l8rKSlavXs2qVauIx+N8/etfp6WlJetzCyGEyJ1vfOMbnHbaafzud7/j5JNP5rDDDmP+/PmsXr0apVSP+xXCg08hRN+wc10AIYaajz/+mIaGBvbZZx8eeughSkpKetx25syZjB8/nscff5x58+YB8PLLL7NlyxZOOeUUXNclGo1y9dVXc8IJJwAwa9YsotEoN9xwA9u3b2fUqFEZl7GlpYU77riD//7v/+aqq64C4IgjjqCiooKrrrqKhQsXctBBB/Hee+9RX1/PGWecwcyZMwHYf//9WbNmDa2trZSWlmZ8biGEELn15ptvEo1Gue+++7jgggsYMWIEDz30ELfddhtjxozhS1/6Urf7nXLKKfzud7/jueeea79mdX7wuWjRIl588UUuvfRSJk6cyIcffsjNN9/M4sWLeeKJJzAMI6sy33XXXaxatYoFCxawdOlS3n77bW655Ra2bt3Kj370o6zrQgjRPQkihRhgb731FgCXXnppewCplOrydNe2bQzD4OSTT+b+++9n2bJlBINBHnvsMSZMmNAetN19990A1NXVsXHjRt5//33++te/ApBMJrMq46uvvko8Hufoo4/u8BT36KOPBuBf//oXBx10EAcddBDDhg3jwgsv5POf/zzz589n7ty5XH755VmdVwghRG5t27aN7du3M2HCBH7729+2PwycNWsWL7zwAs8880yPQWS+P/gUQvQdCSKFGGBvvfUWwWCQ+fPnty+77bbbuPXWWztst2HDBgBOPfVUbr/9dv7xj39w5JFH8uSTT3L66ae3b/fss8/yox/9iPfff5/i4mImT55McXExQNbdWRsbGwE4//zzu11fV1cHQHFxMb/+9a+54447ePzxx1mzZg1FRUWcfPLJXHnllYRCoazOL4QQIjfeeOMNAL71rW916E0SCASYOHEiDQ0NBfvgUwjRdySIFGKAvfXWW0yePJlwONy+7Mtf/jJHHnlkt9vvs88+TJ8+nSeeeIJAIEBDQwMnn3wyAB999BEXXXQRxxxzDHfddRcTJ04E4Ne//jXPPvvsHsvh+36H32OxWPv/y8rKAFi5ciX77rtvl31HjBjR/v/999+fFStW4Ps+r7/+On/4wx/4zW9+w/jx43sMQoUQQuSnN954g0AgwOc///ku6+rq6jj44IML9sGnEKLvSBApxABbt24dn/vc5zosq6qqoqqqqsd9Tj75ZH7yk59gmibTp09vD+zefPNNHMfhggsuaA8ggfYAsqcLcklJCbW1tR2WvfLKK+3/nzZtGoFAgG3btnHSSSe1L1+/fj033HADF110EWPGjOHJJ5/k2muv5Y9//CMjR45kxowZzJgxgz/96U9dji+EECL/vfnmm1RUVHTpSfLaa6+xadMmvvnNb/KZz3ymYB98CiH6hgSRQgyg2tpadu7cySGHHJLRfieeeCLLly/nT3/6E1deeWX78oMPPhjbtlmxYgXnnHMOruvy8MMP87e//Q3oeJHd3VFHHcVdd93FnXfeyfTp0/nb3/7WIQNsZWUl5557LjfffDOtra3Mnj2bbdu2cfPNN2MYBlOmTAGguroapRQXXXQR559/PsXFxTzxxBO0tLR0CZSFEELkvzfffJPW1laam5vbgzPf91m5ciXjxo3jC1/4AsFgsCAffAoh+o4EkUIMoDfffBMg4yCyoqKC+fPn8/e//709GQGknvjedNNN3HrrrVx44YWUl5czffp07r//fs444wxeeuklJk+e3OV4F1xwAfX19dxzzz0kk0mOPPJIfvjDH3LhhRe2b/Od73yHkSNH8sADD/Dzn/+c8vJy5s6dyyWXXNI+TmbUqFH8/Oc/5+abb+bKK68kHo9z0EEHccsttzBnzpxsqkgIIUSObNq0icbGRsaOHcu3v/1tFi5ciOu6/PKXv+TNN9/k/vvvJxgM9nqcfH3wKYToO4bem4nkhBBCCCHEoPDEE0/wne98hzVr1vCb3/yGZ555Bq01c+bM4dJLL+WAAw5I+1gXXXQRf//733n22WeprKxsX/7kk09y66238tFHH7U/+DzzzDM544wzuPrqq/na177G0UcfzaxZs7jhhhuAVHC5fPly/vznP7c/+DzppJO48MILeeaZZxg/fjyQ6hb7wAMPsHHjxg4PPseOHdu3FSWEkCBSCCGEEELAj3/8Y37zm9/w0ksvYVlWrosjhMhjZq4LIIQQQgghcu/NN99k6tSpEkAKIXolQaQQQgghxBCntWbdunUZj9kXQgxN0p1VCCGEEEIIIUTapCVSCCGEEEIIIUTaJIgUQgghhBBCCJE2CSKFEEIIIYQQQqRNgkghhBBCCCGEEGmTIFIIIYQQQgghRNokiBRCCCGEEEIIkTYJIoUQQgghhBBCpE2CSCGEEEIIIYQQaZMgUgghhBBCCCFE2iSIFEIIIYQQQgiRNgkihRBCCCGEEEKk7f8Hb+qvY02APhYAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1000x500 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bd70a68281ed4e2fb1d53d7783401b27",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "interactive(children=(Dropdown(description='Sample:', options=('Both', 'Drought', 'Flood'), value='Both'), Int…"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from ipywidgets import interactive, IntSlider, FloatSlider, Dropdown\n",
    "rval_d,pval_d = pearsonr(xrange(5),d_means[4:9])\n",
    "rval_f,pval_f = pearsonr(xrange(5),f_means[4:9])\n",
    "print(\"A Pearson's r test, gives linear regressions and two-tailed p-values of:\")\n",
    "print(\"Drought sample: r-value = {0:4.3f}, p-value = {1:4.3f}\".format(rval_d, pval_d))     \n",
    "print(\"Flood sample: r-value = {1:4.3f}, p-value = {1:4.3f}\".format(rval_f, pval_f))\n",
    "# Some more functions...\n",
    "def bootstrap_r(mean_list, error_list, iterations=1000):\n",
    "    \"\"\"\n",
    "    Bootstrap info. Error and means are set up to accept data from make_cframe()\n",
    "    which is why the offsets within the arrays have been hard-coded to the months\n",
    "    of key interest (monsoon period).\n",
    "    Guess a possible min and max (poss_min/max) values based on observed mean and \n",
    "    calculate SEM values. Assume an equal chance of any value in that range occurring.\n",
    "    For a specified number of realization (controlled by iterations) calculate the \n",
    "    r-value and p-value, of the linear correlation. Save them to a MC array.\n",
    "    \"\"\"\n",
    "    bs_rvals = []\n",
    "    bs_pvals = []\n",
    "    for itr in xrange(iterations):\n",
    "        poss_vals = []   # List for possible values of CR flux\n",
    "        for n in range(5):\n",
    "            #nb. Below factor preserves sig. figs. in change float > ints\n",
    "            poss_min = int((mean_list[4 + n] - error_list[4 + n]) * 100000) \n",
    "            poss_max = int((mean_list[4 + n] + error_list[4 + n]) * 100000)\n",
    "            poss_vals.append(randrange(poss_min,poss_max)/100)\n",
    "            #print(4+n,poss_min/100,poss_max/100,poss_vals[-1])\n",
    "        rv, pv = pearsonr([0,1,2,3,4],poss_vals) # rval, pval\n",
    "        bs_rvals.append(rv)\n",
    "        bs_pvals.append(pv)\n",
    "    bs_rvals = np.array(bs_rvals)\n",
    "    bs_pvals = np.array(bs_pvals)\n",
    "    return bs_rvals, bs_pvals\n",
    "\n",
    "\n",
    "def freedman_diaconis_bins(a):\n",
    "    \"\"\"Calculate number of hist bins using Freedman-Diaconis rule.\"\"\"\n",
    "    # From http://stats.stackexchange.com/questions/798/\n",
    "    a = np.asarray(a)\n",
    "    h = 2 * iqr(a) / (len(a) ** (1 / 3))\n",
    "    # fall back to sqrt(a) bins if iqr is 0\n",
    "    if h == 0:\n",
    "        return int(np.sqrt(a.size))\n",
    "    else:\n",
    "        return int(np.ceil((a.max() - a.min()) / h))\n",
    "    \n",
    "\n",
    "    \n",
    "def iqr(data):\n",
    "    \"\"\"Return Inter Quartile Range\"\"\"\n",
    "    q75, q25 = np.percentile(data, [75 ,25])\n",
    "    return q75 - q25\n",
    "\n",
    "def add_hist(data, col_key, axobj, mkstyle='o', \n",
    "             obsval=None, mylabel=None, bin_num=None):\n",
    "    \"\"\"\n",
    "    Custom Plotting function for histograms.\n",
    "    data - np.array of values, e.g. generated by bootstrap_r()\n",
    "    col_key - code for setting color\n",
    "    axobj - axis object to add the plot to\n",
    "    mylabel - a label for the plotting legend\n",
    "    obsval - the observed r-value for comparison (e.g. rval_d)\n",
    "    mkstyle - matplotlib marker style (default set to circle 'o')\n",
    "    \"\"\"\n",
    "    if not bin_num:\n",
    "        bin_num = freedman_diaconis_bins(data) #if no bins set, use FD spacing\n",
    "    hist, bin_edges = np.histogram(data, bins=bin_num, density=False)\n",
    "    norm_hist = hist / sum(hist) # Normalize the data to show density\n",
    "    axobj.bar(bin_edges[0:-1], norm_hist, width = bin_edges[1] - bin_edges[0], \n",
    "            color = col_key, edgecolor = col_key, alpha = 0.3, label=mylabel)\n",
    "    mylabel = None\n",
    "    if obsval:\n",
    "        lookup = np.where(abs(obsval - bin_edges[0:-1]) == \n",
    "                          min(abs(obsval - bin_edges[0:-1])))\n",
    "        axobj.vlines(obsval,0,norm_hist[lookup], linestyles='dashed',\n",
    "               lw=1.0, zorder=6, label=mylabel)\n",
    "        axobj.plot(obsval, norm_hist[lookup], color='k', marker=mkstyle, \n",
    "                   ms=5., zorder=7, label=mylabel)\n",
    "    if bin_num is not None:\n",
    "     bin_num = int(bin_num) \n",
    "\n",
    "rbs1, pbs1 = bootstrap_r(mean_list = d_means, error_list = d_errors)\n",
    "rbs2, pbs2 = bootstrap_r(mean_list = f_means, error_list = f_errors)\n",
    "\n",
    "#---- Create plot object 1 (possible r and p-vals)\n",
    "possible_r = plt.figure()\n",
    "possible_r.set_size_inches(10,5)\n",
    "ax1 = possible_r.add_subplot(121)\n",
    "ax2 = possible_r.add_subplot(122)\n",
    "\n",
    "# --- Pannel 1 (r-values)\n",
    "add_hist(data=rbs1, col_key='r', axobj=ax1, obsval=rval_d, \n",
    "         mylabel=\"Drought sample\", mkstyle='o')\n",
    "add_hist(data=rbs2, col_key='b', axobj=ax1, obsval=rval_f, \n",
    "         mylabel=\"Flood sample\", mkstyle='D')\n",
    "ax1.legend(loc=9, prop={'size':11}, numpoints=1, markerscale=5.,\n",
    "            frameon=True, fancybox=True)\n",
    "\n",
    "#ax1.set_xlim(-1,1)\n",
    "ax1.set_ylabel('Density')\n",
    "ax1.set_xlabel('$r$-values')\n",
    "ax1.set_title('Potential $r$-values from Bootstrap')\n",
    "\n",
    "# --- Pannel 2 (p-values)\n",
    "add_hist(data=pbs1, col_key='r', axobj=ax2, bin_num=25,\n",
    "        obsval=pval_d, mkstyle='o')\n",
    "add_hist(data=pbs2, col_key='b', axobj=ax2, bin_num=25,\n",
    "        obsval=pval_f, mkstyle='D')\n",
    "\n",
    "ax3 = ax2.twinx()\n",
    "sns.kdeplot(pbs1, cumulative=True, color='r', ax=ax3, \n",
    "            lw=1, alpha=0.3, zorder = 10 )\n",
    "sns.kdeplot(pbs2, cumulative=True, color='b', ax=ax3, \n",
    "            lw=1, alpha=0.3, zorder = 11)\n",
    "ax3.grid(False)\n",
    "ax3.set_ylabel(\"Cumulative density\")\n",
    "\n",
    "ax2.set_title(r'Potential $p$-values from Bootstrap')\n",
    "ax2.set_xlim(0,1)\n",
    "ax2.set_xlabel(r'$p$-value')\n",
    "plt.show(possible_r)\n",
    "possible_r.savefig('possible_rvals.pdf',dpi=300)\n",
    "\n",
    "def update_plots(sample_type, bin_num_r, bin_num_p):\n",
    "    fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))\n",
    "    \n",
    "    # 第一个图表 - r-values\n",
    "    if sample_type == 'Drought' or sample_type == 'Both':\n",
    "        add_hist(data=rbs1, col_key='r', axobj=ax1, obsval=rval_d, \n",
    "                 mylabel=\"Drought sample\", mkstyle='o', bin_num=bin_num_r)\n",
    "    if sample_type == 'Flood' or sample_type == 'Both':\n",
    "        add_hist(data=rbs2, col_key='b', axobj=ax1, obsval=rval_f, \n",
    "                 mylabel=\"Flood sample\", mkstyle='D', bin_num=bin_num_r)\n",
    "    ax1.legend(loc='upper right')\n",
    "    ax1.set_ylabel('Density')\n",
    "    ax1.set_xlabel('$r$-values')\n",
    "    ax1.set_title('Potential $r$-values from Bootstrap')\n",
    "\n",
    "    # 第二个图表 - p-values\n",
    "    if sample_type == 'Drought' or sample_type == 'Both':\n",
    "        add_hist(data=pbs1, col_key='r', axobj=ax2, obsval=pval_d, mkstyle='o', bin_num=bin_num_p)\n",
    "    if sample_type == 'Flood' or sample_type == 'Both':\n",
    "        add_hist(data=pbs2, col_key='b', axobj=ax2, obsval=pval_f, mkstyle='D', bin_num=bin_num_p)\n",
    "\n",
    "    ax3 = ax2.twinx()\n",
    "    if sample_type == 'Drought' or sample_type == 'Both':\n",
    "        sns.kdeplot(pbs1, cumulative=True, color='r', ax=ax3, \n",
    "                    lw=1, alpha=0.3, zorder=10)\n",
    "    if sample_type == 'Flood' or sample_type == 'Both':\n",
    "        sns.kdeplot(pbs2, cumulative=True, color='b', ax=ax3, \n",
    "                    lw=1, alpha=0.3, zorder=11)\n",
    "    ax3.grid(False)\n",
    "    ax3.set_ylabel(\"Cumulative density\")\n",
    "    ax2.set_xlabel(r'$p$-value')\n",
    "    ax2.set_title(r'Potential $p$-values from Bootstrap')\n",
    "    \n",
    "    plt.show()\n",
    "\n",
    "sample_dropdown = Dropdown(options=['Both', 'Drought', 'Flood'], value='Both', description='Sample:')\n",
    "bin_slider_r = IntSlider(value=30, min=10, max=100, step=1, description='r-value bins:')\n",
    "bin_slider_p = IntSlider(value=25, min=10, max=100, step=1, description='p-value bins:')\n",
    "\n",
    "interactive_plot = interactive(update_plots, sample_type=sample_dropdown, bin_num_r=bin_slider_r, bin_num_p=bin_slider_p)\n",
    "interactive_plot"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}