From 8b0e501bac866b3f9a24346e349b664cf9ff810d Mon Sep 17 00:00:00 2001 From: Mateusz Staniak Date: Thu, 12 Oct 2023 00:44:12 +0200 Subject: [PATCH] notatki --- docs/..Rproj | 13 + docs/{Notatka_temat2.rmd => 01-podstawy.rmd} | 108 +- docs/02-wczytywanie-danych.rmd | 225 + docs/03-eda.Rmd | 67 + notatka-5.rmd => docs/04-przetwarzanie.rmd | 451 +- ...tka_czyste_dane.Rmd => 05-czyste-dane.Rmd} | 37 +- Notes/ggplot_Notes.Rmd => docs/06-ggplot2.Rmd | 40 +- .../07-czysty-kod.Rmd | 111 +- .../{Notatka-Shiny_UI.Rmd => 08-shiny-ui.Rmd} | 443 +- docs/09-shiny-server.Rmd | 26 + docs/10-git.Rmd | 222 + docs/{OOP_r.rmd => 11-OOP.rmd} | 18 +- docs/12-shiny-moduly.Rmd | 197 + docs/404.html | 402 + docs/Notatka_temat2.pdf | Bin 258875 -> 0 bytes docs/README.md | 13 + docs/Serwer_shiny_notatka.pdf | Bin 120604 -> 0 bytes docs/_book/404.html | 402 + ...dopasowanie po\305\202o\305\274enia-1.png" | Bin 0 -> 10713 bytes ...opasowanie po\305\202o\305\274enia2-1.png" | Bin 0 -> 11719 bytes ...opasowanie po\305\202o\305\274enia3-1.png" | Bin 0 -> 26999 bytes ...opasowanie po\305\202o\305\274enia3-2.png" | Bin 0 -> 23745 bytes .../_main_files/figure-html/first plot-1.png | Bin 0 -> 945 bytes .../_main_files/figure-html/first plot-2.png | Bin 0 -> 5175 bytes .../_main_files/figure-html/first plot-3.png | Bin 0 -> 11326 bytes .../_main_files/figure-html/first plot-4.png | Bin 0 -> 12497 bytes .../_main_files/figure-html/geom plot-1.png | Bin 0 -> 31200 bytes .../_main_files/figure-html/geom plot-2.png | Bin 0 -> 8794 bytes .../figure-html/mapping plot-1.png | Bin 0 -> 13633 bytes .../figure-html/mapping plot-2.png | Bin 0 -> 32955 bytes .../_main_files/figure-html/panele-1.png | Bin 0 -> 19409 bytes .../figure-html/two geoms on plot-1.png | Bin 0 -> 50863 bytes ... wsp\303\263\305\202rz\304\231dnych-1.png" | Bin 0 -> 62329 bytes docs/_book/czyste-dane.html | 1728 +++ docs/_book/czysty-i-wydajny-kod-w-r.html | 512 + ...-w-formacie-w\304\205skim-i-szerokim.html" | 744 ++ docs/_book/eksploracyjna-analiza-danych.html | 468 + .../img}/csv_example.gif | Bin .../img}/excel_example.png | Bin .../img}/json_example.jpeg | Bin .../img}/libreoffice_example.png | Bin docs/{ => _book/img}/przyklad3.png | Bin .../img}/xml_example.gif | Bin docs/_book/index.html | 423 + ...m-shiny-interfejs-u\305\274ytkownika.html" | 598 + ...iej-grabias-jakub-micha\305\202owski.html" | 556 + .../anchor-sections-hash.css | 2 + .../anchor-sections-1.1.0/anchor-sections.css | 4 + .../anchor-sections-1.1.0/anchor-sections.js | 11 + .../css/fontawesome/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../gitbook-2.6.7/css/plugin-bookdown.css | 105 + .../gitbook-2.6.7/css/plugin-clipboard.css | 18 + .../gitbook-2.6.7/css/plugin-fontsettings.css | 303 + .../gitbook-2.6.7/css/plugin-highlight.css | 426 + .../libs/gitbook-2.6.7/css/plugin-search.css | 31 + .../libs/gitbook-2.6.7/css/plugin-table.css | 1 + docs/_book/libs/gitbook-2.6.7/css/style.css | 13 + docs/_book/libs/gitbook-2.6.7/js/app.min.js | 1 + .../libs/gitbook-2.6.7/js/clipboard.min.js | 7 + .../libs/gitbook-2.6.7/js/jquery.highlight.js | 86 + .../libs/gitbook-2.6.7/js/plugin-bookdown.js | 259 + .../libs/gitbook-2.6.7/js/plugin-clipboard.js | 33 + .../gitbook-2.6.7/js/plugin-fontsettings.js | 152 + .../libs/gitbook-2.6.7/js/plugin-search.js | 270 + .../libs/gitbook-2.6.7/js/plugin-sharing.js | 116 + .../libs/jquery-3.6.0/jquery-3.6.0.min.js | 2 + docs/_book/libs/kePrint-0.0.1/kePrint.js | 8 + docs/_book/libs/lightable-0.0.1/lightable.css | 272 + .../modu\305\202y-w-aplikacjach-shiny.html" | 565 + docs/_book/operacje-na-napisach-i-datach.html | 412 + docs/_book/podstawowe-typy-danych.html | 872 ++ "docs/_book/podstawy-j\304\231zyka-r.html" | 1071 ++ ...tawy-kontroli-wersji-przy-pomocy-gita.html | 571 + .../programowanie-obiektowe-w-r-klasy-s3.html | 784 ++ .../przetwarzanie-danych-tabelarycznych.html | 654 + docs/_book/reference-keys.txt | 113 + docs/_book/search_index.json | 1 + docs/_book/style.css | 14 + docs/_book/wczytywanie-danych-w-r-1.html | 465 + docs/_book/wczytywanie-danych-w-r.html | 557 + "docs/_book/wst\304\231p-1.html" | 321 + .../\305\202\304\205czenie-tabel-danych.html" | 1114 ++ docs/_bookdown.yml | 4 + ...dopasowanie po\305\202o\305\274enia-1.png" | Bin 0 -> 10713 bytes ...opasowanie po\305\202o\305\274enia2-1.png" | Bin 0 -> 11719 bytes ...opasowanie po\305\202o\305\274enia3-1.png" | Bin 0 -> 26999 bytes ...opasowanie po\305\202o\305\274enia3-2.png" | Bin 0 -> 23745 bytes .../_main_files/figure-html/first plot-1.png | Bin 0 -> 945 bytes .../_main_files/figure-html/first plot-2.png | Bin 0 -> 5175 bytes .../_main_files/figure-html/first plot-3.png | Bin 0 -> 11326 bytes .../_main_files/figure-html/first plot-4.png | Bin 0 -> 12497 bytes .../_main_files/figure-html/geom plot-1.png | Bin 0 -> 31200 bytes .../_main_files/figure-html/geom plot-2.png | Bin 0 -> 8794 bytes .../figure-html/mapping plot-1.png | Bin 0 -> 13633 bytes .../figure-html/mapping plot-2.png | Bin 0 -> 32955 bytes .../_main_files/figure-html/panele-1.png | Bin 0 -> 19409 bytes .../figure-html/two geoms on plot-1.png | Bin 0 -> 50863 bytes ... wsp\303\263\305\202rz\304\231dnych-1.png" | Bin 0 -> 62329 bytes docs/_output.yml | 17 + docs/book.bib | 10 + docs/{notatka_lab3 => }/book_render.R | 0 docs/czyste-dane.html | 1725 +++ docs/czysty-i-wydajny-kod-w-r.html | 509 + docs/eksploracyjna-analiza-danych.html | 465 + docs/img/app.R | 72 + docs/img/app_screen1.PNG | Bin 0 -> 28364 bytes docs/img/csv_example.gif | Bin 0 -> 7681 bytes docs/img/excel_example.png | Bin 0 -> 468029 bytes docs/img/json_example.jpeg | Bin 0 -> 7658 bytes docs/img/libreoffice_example.png | Bin 0 -> 94668 bytes docs/img/module_app.R | 64 + docs/img/przyklad3.png | Bin 0 -> 33732 bytes docs/img/xml_example.gif | Bin 0 -> 8916 bytes docs/index.Rmd | 36 + docs/index.html | 420 + ...m-shiny-interfejs-u\305\274ytkownika.html" | 571 + ...ych-z-pakietem-shiny-strona-serwerowa.html | 420 + ...iej-grabias-jakub-micha\305\202owski.html" | 553 + .../anchor-sections-hash.css | 2 + .../anchor-sections-icon.css | 8 + .../anchor-sections-symbol.css | 6 + .../anchor-sections-1.1.0/anchor-sections.css | 4 + .../anchor-sections-1.1.0/anchor-sections.js | 11 + .../css/fontawesome/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../gitbook-2.6.7/css/plugin-bookdown.css | 105 + .../gitbook-2.6.7/css/plugin-clipboard.css | 18 + .../gitbook-2.6.7/css/plugin-fontsettings.css | 303 + .../gitbook-2.6.7/css/plugin-highlight.css | 426 + docs/libs/gitbook-2.6.7/css/plugin-search.css | 31 + docs/libs/gitbook-2.6.7/css/plugin-table.css | 1 + docs/libs/gitbook-2.6.7/css/style.css | 13 + docs/libs/gitbook-2.6.7/js/app.min.js | 1 + docs/libs/gitbook-2.6.7/js/clipboard.min.js | 7 + .../libs/gitbook-2.6.7/js/jquery.highlight.js | 86 + docs/libs/gitbook-2.6.7/js/lunr.js | 7 + docs/libs/gitbook-2.6.7/js/plugin-bookdown.js | 259 + .../libs/gitbook-2.6.7/js/plugin-clipboard.js | 33 + .../gitbook-2.6.7/js/plugin-fontsettings.js | 152 + docs/libs/gitbook-2.6.7/js/plugin-search.js | 270 + docs/libs/gitbook-2.6.7/js/plugin-sharing.js | 116 + docs/libs/jquery-3.6.0/jquery-3.6.0.js | 10881 ++++++++++++++++ docs/libs/jquery-3.6.0/jquery-3.6.0.min.js | 2 + docs/libs/jquery-3.6.0/jquery-3.6.0.min.map | 1 + docs/libs/kePrint-0.0.1/kePrint.js | 8 + docs/libs/lightable-0.0.1/lightable.css | 272 + "docs/modu\305\202y-w-aplikacjach-shiny.html" | 562 + docs/notatka_lab3/01-formaty_danych.Rmd | 57 - .../02-wczytywanie_plikow_notatka.rmd | 97 - docs/notatka_lab3/03-locales.Rmd | 48 - docs/notatka_lab3/04-rds_rda.rmd | 50 - docs/notatka_serwer_shiny.Rmd | 111 - docs/packages.bib | 84 + "docs/podstawy-j\304\231zyka-r.html" | 1068 ++ ...tawy-kontroli-wersji-przy-pomocy-gita.html | 568 + docs/preamble.tex | 1 + .../programowanie-obiektowe-w-r-klasy-s3.html | 781 ++ docs/przetwarzanie-danych-tabelarycznych.html | 651 + docs/search_index.json | 1 + docs/style.css | 14 + docs/wczytywanie-danych-w-r.html | 554 + 160 files changed, 38977 insertions(+), 997 deletions(-) create mode 100644 docs/..Rproj rename docs/{Notatka_temat2.rmd => 01-podstawy.rmd} (83%) create mode 100644 docs/02-wczytywanie-danych.rmd create mode 100644 docs/03-eda.Rmd rename notatka-5.rmd => docs/04-przetwarzanie.rmd (59%) rename docs/{notatka_czyste_dane.Rmd => 05-czyste-dane.Rmd} (96%) rename Notes/ggplot_Notes.Rmd => docs/06-ggplot2.Rmd (96%) rename czysty_i_wydajny_kod_w_R.Rmd => docs/07-czysty-kod.Rmd (70%) rename docs/{Notatka-Shiny_UI.Rmd => 08-shiny-ui.Rmd} (93%) create mode 100644 docs/09-shiny-server.Rmd create mode 100644 docs/10-git.Rmd rename docs/{OOP_r.rmd => 11-OOP.rmd} (98%) create mode 100644 docs/12-shiny-moduly.Rmd create mode 100644 docs/404.html delete mode 100644 docs/Notatka_temat2.pdf create mode 100644 docs/README.md delete mode 100644 docs/Serwer_shiny_notatka.pdf create mode 100644 docs/_book/404.html create mode 100644 "docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia-1.png" create mode 100644 "docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia2-1.png" create mode 100644 "docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia3-1.png" create mode 100644 "docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia3-2.png" create mode 100644 docs/_book/_main_files/figure-html/first plot-1.png create mode 100644 docs/_book/_main_files/figure-html/first plot-2.png create mode 100644 docs/_book/_main_files/figure-html/first plot-3.png create mode 100644 docs/_book/_main_files/figure-html/first plot-4.png create mode 100644 docs/_book/_main_files/figure-html/geom plot-1.png create mode 100644 docs/_book/_main_files/figure-html/geom plot-2.png create mode 100644 docs/_book/_main_files/figure-html/mapping plot-1.png create mode 100644 docs/_book/_main_files/figure-html/mapping plot-2.png create mode 100644 docs/_book/_main_files/figure-html/panele-1.png create mode 100644 docs/_book/_main_files/figure-html/two geoms on plot-1.png create mode 100644 "docs/_book/_main_files/figure-html/zarz\304\205dzanaie osiami wsp\303\263\305\202rz\304\231dnych-1.png" create mode 100644 docs/_book/czyste-dane.html create mode 100644 docs/_book/czysty-i-wydajny-kod-w-r.html create mode 100644 "docs/_book/dane-w-formacie-w\304\205skim-i-szerokim.html" create mode 100644 docs/_book/eksploracyjna-analiza-danych.html rename docs/{notatka_lab3 => _book/img}/csv_example.gif (100%) rename docs/{notatka_lab3 => _book/img}/excel_example.png (100%) rename docs/{notatka_lab3 => _book/img}/json_example.jpeg (100%) rename docs/{notatka_lab3 => _book/img}/libreoffice_example.png (100%) rename docs/{ => _book/img}/przyklad3.png (100%) rename docs/{notatka_lab3 => _book/img}/xml_example.gif (100%) create mode 100644 docs/_book/index.html create mode 100644 "docs/_book/interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-u\305\274ytkownika.html" create mode 100644 "docs/_book/katarzyna-frankiewicz-maciej-grabias-jakub-micha\305\202owski.html" create mode 100644 docs/_book/libs/anchor-sections-1.1.0/anchor-sections-hash.css create mode 100644 docs/_book/libs/anchor-sections-1.1.0/anchor-sections.css create mode 100644 docs/_book/libs/anchor-sections-1.1.0/anchor-sections.js create mode 100644 docs/_book/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf create mode 100644 docs/_book/libs/gitbook-2.6.7/css/plugin-bookdown.css create mode 100644 docs/_book/libs/gitbook-2.6.7/css/plugin-clipboard.css create mode 100644 docs/_book/libs/gitbook-2.6.7/css/plugin-fontsettings.css create mode 100644 docs/_book/libs/gitbook-2.6.7/css/plugin-highlight.css create mode 100644 docs/_book/libs/gitbook-2.6.7/css/plugin-search.css create mode 100644 docs/_book/libs/gitbook-2.6.7/css/plugin-table.css create mode 100644 docs/_book/libs/gitbook-2.6.7/css/style.css create mode 100644 docs/_book/libs/gitbook-2.6.7/js/app.min.js create mode 100644 docs/_book/libs/gitbook-2.6.7/js/clipboard.min.js create mode 100644 docs/_book/libs/gitbook-2.6.7/js/jquery.highlight.js create mode 100644 docs/_book/libs/gitbook-2.6.7/js/plugin-bookdown.js create mode 100644 docs/_book/libs/gitbook-2.6.7/js/plugin-clipboard.js create mode 100644 docs/_book/libs/gitbook-2.6.7/js/plugin-fontsettings.js create mode 100644 docs/_book/libs/gitbook-2.6.7/js/plugin-search.js create mode 100644 docs/_book/libs/gitbook-2.6.7/js/plugin-sharing.js create mode 100644 docs/_book/libs/jquery-3.6.0/jquery-3.6.0.min.js create mode 100644 docs/_book/libs/kePrint-0.0.1/kePrint.js create mode 100644 docs/_book/libs/lightable-0.0.1/lightable.css create mode 100644 "docs/_book/modu\305\202y-w-aplikacjach-shiny.html" create mode 100644 docs/_book/operacje-na-napisach-i-datach.html create mode 100644 docs/_book/podstawowe-typy-danych.html create mode 100644 "docs/_book/podstawy-j\304\231zyka-r.html" create mode 100644 docs/_book/podstawy-kontroli-wersji-przy-pomocy-gita.html create mode 100644 docs/_book/programowanie-obiektowe-w-r-klasy-s3.html create mode 100644 docs/_book/przetwarzanie-danych-tabelarycznych.html create mode 100644 docs/_book/reference-keys.txt create mode 100644 docs/_book/search_index.json create mode 100644 docs/_book/style.css create mode 100644 docs/_book/wczytywanie-danych-w-r-1.html create mode 100644 docs/_book/wczytywanie-danych-w-r.html create mode 100644 "docs/_book/wst\304\231p-1.html" create mode 100644 "docs/_book/\305\202\304\205czenie-tabel-danych.html" create mode 100644 docs/_bookdown.yml create mode 100644 "docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia-1.png" create mode 100644 "docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia2-1.png" create mode 100644 "docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia3-1.png" create mode 100644 "docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia3-2.png" create mode 100644 docs/_bookdown_files/_main_files/figure-html/first plot-1.png create mode 100644 docs/_bookdown_files/_main_files/figure-html/first plot-2.png create mode 100644 docs/_bookdown_files/_main_files/figure-html/first plot-3.png create mode 100644 docs/_bookdown_files/_main_files/figure-html/first plot-4.png create mode 100644 docs/_bookdown_files/_main_files/figure-html/geom plot-1.png create mode 100644 docs/_bookdown_files/_main_files/figure-html/geom plot-2.png create mode 100644 docs/_bookdown_files/_main_files/figure-html/mapping plot-1.png create mode 100644 docs/_bookdown_files/_main_files/figure-html/mapping plot-2.png create mode 100644 docs/_bookdown_files/_main_files/figure-html/panele-1.png create mode 100644 docs/_bookdown_files/_main_files/figure-html/two geoms on plot-1.png create mode 100644 "docs/_bookdown_files/_main_files/figure-html/zarz\304\205dzanaie osiami wsp\303\263\305\202rz\304\231dnych-1.png" create mode 100644 docs/_output.yml create mode 100644 docs/book.bib rename docs/{notatka_lab3 => }/book_render.R (100%) create mode 100644 docs/czyste-dane.html create mode 100644 docs/czysty-i-wydajny-kod-w-r.html create mode 100644 docs/eksploracyjna-analiza-danych.html create mode 100644 docs/img/app.R create mode 100644 docs/img/app_screen1.PNG create mode 100644 docs/img/csv_example.gif create mode 100644 docs/img/excel_example.png create mode 100644 docs/img/json_example.jpeg create mode 100644 docs/img/libreoffice_example.png create mode 100644 docs/img/module_app.R create mode 100644 docs/img/przyklad3.png create mode 100644 docs/img/xml_example.gif create mode 100644 docs/index.Rmd create mode 100644 docs/index.html create mode 100644 "docs/interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-u\305\274ytkownika.html" create mode 100644 docs/interaktywna-wizualizacja-danych-z-pakietem-shiny-strona-serwerowa.html create mode 100644 "docs/katarzyna-frankiewicz-maciej-grabias-jakub-micha\305\202owski.html" create mode 100644 docs/libs/anchor-sections-1.1.0/anchor-sections-hash.css create mode 100644 docs/libs/anchor-sections-1.1.0/anchor-sections-icon.css create mode 100644 docs/libs/anchor-sections-1.1.0/anchor-sections-symbol.css create mode 100644 docs/libs/anchor-sections-1.1.0/anchor-sections.css create mode 100644 docs/libs/anchor-sections-1.1.0/anchor-sections.js create mode 100644 docs/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf create mode 100644 docs/libs/gitbook-2.6.7/css/plugin-bookdown.css create mode 100644 docs/libs/gitbook-2.6.7/css/plugin-clipboard.css create mode 100644 docs/libs/gitbook-2.6.7/css/plugin-fontsettings.css create mode 100644 docs/libs/gitbook-2.6.7/css/plugin-highlight.css create mode 100644 docs/libs/gitbook-2.6.7/css/plugin-search.css create mode 100644 docs/libs/gitbook-2.6.7/css/plugin-table.css create mode 100644 docs/libs/gitbook-2.6.7/css/style.css create mode 100644 docs/libs/gitbook-2.6.7/js/app.min.js create mode 100644 docs/libs/gitbook-2.6.7/js/clipboard.min.js create mode 100644 docs/libs/gitbook-2.6.7/js/jquery.highlight.js create mode 100644 docs/libs/gitbook-2.6.7/js/lunr.js create mode 100644 docs/libs/gitbook-2.6.7/js/plugin-bookdown.js create mode 100644 docs/libs/gitbook-2.6.7/js/plugin-clipboard.js create mode 100644 docs/libs/gitbook-2.6.7/js/plugin-fontsettings.js create mode 100644 docs/libs/gitbook-2.6.7/js/plugin-search.js create mode 100644 docs/libs/gitbook-2.6.7/js/plugin-sharing.js create mode 100644 docs/libs/jquery-3.6.0/jquery-3.6.0.js create mode 100644 docs/libs/jquery-3.6.0/jquery-3.6.0.min.js create mode 100644 docs/libs/jquery-3.6.0/jquery-3.6.0.min.map create mode 100644 docs/libs/kePrint-0.0.1/kePrint.js create mode 100644 docs/libs/lightable-0.0.1/lightable.css create mode 100644 "docs/modu\305\202y-w-aplikacjach-shiny.html" delete mode 100644 docs/notatka_lab3/01-formaty_danych.Rmd delete mode 100644 docs/notatka_lab3/02-wczytywanie_plikow_notatka.rmd delete mode 100644 docs/notatka_lab3/03-locales.Rmd delete mode 100644 docs/notatka_lab3/04-rds_rda.rmd delete mode 100644 docs/notatka_serwer_shiny.Rmd create mode 100644 docs/packages.bib create mode 100644 "docs/podstawy-j\304\231zyka-r.html" create mode 100644 docs/podstawy-kontroli-wersji-przy-pomocy-gita.html create mode 100644 docs/preamble.tex create mode 100644 docs/programowanie-obiektowe-w-r-klasy-s3.html create mode 100644 docs/przetwarzanie-danych-tabelarycznych.html create mode 100644 docs/search_index.json create mode 100644 docs/style.css create mode 100644 docs/wczytywanie-danych-w-r.html diff --git a/docs/..Rproj b/docs/..Rproj new file mode 100644 index 0000000..8e3c2eb --- /dev/null +++ b/docs/..Rproj @@ -0,0 +1,13 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX diff --git a/docs/Notatka_temat2.rmd b/docs/01-podstawy.rmd similarity index 83% rename from docs/Notatka_temat2.rmd rename to docs/01-podstawy.rmd index 4c1b9ab..aff1ca6 100644 --- a/docs/Notatka_temat2.rmd +++ b/docs/01-podstawy.rmd @@ -1,29 +1,25 @@ ---- -title: "Wprowadzenie do R" -author: "Dylewicz, Kamchen, Krasoń, Kulon, Soból" -date: "12 01 2021" -output: pdf_document ---- +# Podstawy języka R -```{r setup, include=FALSE} -knitr::opts_chunk$set(echo = TRUE) -``` +Język R posiada kilka typów danych, które pokrótce postaramy sie omówić poniżej. Pokażemy ich budowe jak i operacje na nich, przytaczając stosowne przyklady. -\section{Podstawowe typy danych} +## Liczby + +Liczby całkowite i rzeczywiste (tutaj separator dziesiętny to kropka). Możemy używać również notacji naukowej. Operacje na liczbach to podstawowe działania matematyczne jak i trochę rozszerzone, ukazane niżej wraz z specjalnymi liczbami. -Język R posiada kilka typów danych, które pokrótce postaramy sie omówić poniżej. Pokażemy ich budowe jak i operacje na nich, przytaczając stosowne przyklady. -\subsection{Liczby} - Liczby całkowite i rzeczywiste (tutaj separator dziesiętny to kropka). Możemy używać również notacji naukowej. Operacje na liczbach to podstawowe działania matematyczne jak i trochę rozszerzone, ukazane niżej wraz z specjalnymi liczbami. ```{r} 5; 5.5; 5.5e-2; ``` + Tutaj liczby specjalne, + ```{r} NaN # not a number Inf # nieskończoność -Inf # - nieskończoność ``` + oraz kilka działań na liczbach + ```{r} 1 + 1 # podobnie '-' to odejmowanie 4/2 # dzielenie, a '*' to mnożenie @@ -35,9 +31,9 @@ sqrt(4) #pierwiastkowanie abs(-1) # wartość bezwzględna ``` -\subsection{Łańcuchy znaków} +## Łańcuchy znaków - Łańcuch znaków to po prostu napi. Napis jest otoczony przez " lub '. W napisie możemy umieszczać dowolne znaki, pamiętając że są też znaki specjalne (rozpoczynające się od \\ i mające specjalne funkcje). Na napisach istnieje wiele operacji (np. $\verb+paste()+,$ czyli sklejenie dwóch napisów), lecz je zobaczymy w notatce o napisach. +Łańcuch znaków to po prostu napi. Napis jest otoczony przez " lub '. W napisie możemy umieszczać dowolne znaki, pamiętając że są też znaki specjalne (rozpoczynające się od \\ i mające specjalne funkcje). Na napisach istnieje wiele operacji (np. $\verb+paste()+,$ czyli sklejenie dwóch napisów), lecz je zobaczymy w notatce o napisach. ```{r} "napis" @@ -47,9 +43,9 @@ abs(-1) # wartość bezwzględna cat("i znak \n specjalny, wstawiający nową linie") # cat() wyświetla napis w sposób niesformatowany ``` -\subsection{Wartości logiczne} +## Wartości logiczne - Logiczna Prawda ($\verb+TRUE+$ lub $\verb+T+$) oraz logiczny Fałsz ($\verb+FALSE+$ lub $\verb+F+$). Na tych obiektach możemy wykonywać operacje logiczne oraz algebraiczne. +Logiczna Prawda ($\verb+TRUE+$ lub $\verb+T+$) oraz logiczny Fałsz ($\verb+FALSE+$ lub $\verb+F+$). Na tych obiektach możemy wykonywać operacje logiczne oraz algebraiczne. ```{r} TRUE & TRUE # operator 'i' TRUE | FALSE # operator 'lub' @@ -59,9 +55,10 @@ TRUE | FALSE # operator 'lub' 2*FALSE # FALSE ma wartość 0 T ; `T` <- FALSE; T # używając `` możemy zmienić wartość logiczną wyrażenia ``` -\section{Wektory} - Wektor to w R uporządkowany zbiór elementów. Elementy te muszą mieć ten sam typ, także jeśli do wektora trafią elementy z różnym typem (poza NA), to nastąpi konwersja elementów do jednego typu. Proste wektory tworzymy przez polecenie $\verb+c()+$ i elementy wypisujemy w nawiasie po przecinku. Dodatkowo, element wektora jest traktowany jako jednoelementowy wektor. Wektory liczbowe jak i inne możemy tworzyć za pomocą wbudowanych funkcji do tego przeznaczonych. +## Wektory + +Wektor to w R uporządkowany zbiór elementów. Elementy te muszą mieć ten sam typ, także jeśli do wektora trafią elementy z różnym typem (poza NA), to nastąpi konwersja elementów do jednego typu. Proste wektory tworzymy przez polecenie $\verb+c()+$ i elementy wypisujemy w nawiasie po przecinku. Dodatkowo, element wektora jest traktowany jako jednoelementowy wektor. Wektory liczbowe jak i inne możemy tworzyć za pomocą wbudowanych funkcji do tego przeznaczonych. ```{r} v <- c(1, 2, 3) #przypisanie wektora do zmiennej @@ -83,7 +80,8 @@ v <- "a" # to też toupper(x) # zmieni stringi w argumencie na wielkie litery tolower(x) # zmieni stringi w argumencie na male litery ``` -\subsection{Indeksowanie} + +## Indeksowanie W R wektory są indeksowane od 1 (a nie od 0 jak w wielu językach programowania!). Aby odwołać się do konkretnego elementu wektora korzystamy z nawiasów kwadratowych $\verb+[]+.$ @@ -157,7 +155,7 @@ seq_vec[seq_vec < 0.3 | seq_vec > 0.8] seq_vec[seq_vec > 0.3 & seq_vec < 0.8] ``` -\subsection{Operacje na wektorach} +## Operacje na wektorach W R domyślnym i naturalnym zachowaniem funkcji na wektorach jest działanie element po elemencie @@ -633,7 +631,75 @@ a=function(x,y){return(x**y)} mapply(a,x=seq(1,101,by=10),y=seq(1:11)) ``` + +## R - funkcje + +Funkcje przydają się do zamknięcia w nich operacji, które się często powtarzają w naszym kodzie lub dla jego lepszej czytelności. Podstawowa składnia funkcji w R wygląda tak: +``` +nazwa_funkcja <- function(argument 1, argument 2, …){ + ciało funkcji + return(wartość lub obiekt zwracany) +} +``` +Napiszmy funkcję, która będzie mnożyła dowolny wektor przez podaną liczbę, a następnie zsumuje elementy wektora: +```{r} +funkcja1 <- function(wektor, liczba){ + rezultat <- wektor * liczba + rezultat <- sum(rezultat) + return(rezultat) +} +``` +Możemy także pominąc $\texttt{return}$ i zdefiniować funkcje: ```{r} +funkcja2 <- function(wektor, liczba){ + rezultat <- wektor * liczba + rezultat <- sum(rezultat) + rezultat +} +``` +Obie funkcje $\texttt{funkcja1}$ i $\texttt{funkcja2}$ robią to samo. Wykonajmy nasze funkcje dla dwóch zdefiniowanych zmiennych: +```{r} +v <- 1:5 +n <- 2 +funkcja1(v, n) + +funkcja2(v, n) ``` +Oczywiście do wykonania funkcji potrzebne jest zdefiniowanie obu argumentów. Jak ich nie dodamy wyświetli się błąd, że argument drugi zaginął i nie mamy zdefiniowanej jego wartości domyślnej. Zdefiniujmy zatem domyślną wartość argumentu $\texttt{liczba}$ jako $\texttt{NULL}$ i dopiszmy do naszej funkcji kod, który gdy ten argument będzie miał wartość domyślną zwróci tylko sumę elementów wektora: +```{r} +funkcja3 <- function(wektor, liczba = NULL){ + if(is.null(liczba)){ + rezultat <- sum(wektor) + } else{ + rezultat <- wektor * liczba + rezultat <- sum(rezultat) + } + rezultat +} +``` +Wykonajmy funckję $\texttt{funkcja3}$ na wcześniej zdefiniowanym wektorze $\texttt{v}$: +```{r} +funkcja3(v) +``` +Oprócz zdefiniowania wartości domyślnej argumentu poprzez trzy kropki możemy również dopuścić parametry dodatkowe. Zdefiniujmy funkcję z parametrami dodatkowymi: +```{r} +funkcja4 <- function(wektor, liczba = NULL, ...){ + if(is.null(liczba)){ + rezultat <- sum(wektor, ...) + } else{ + rezultat <- wektor * liczba + rezultat <- sum(rezultat, ...) + } + rezultat +} +``` +Wykonajmy funckję $\texttt{funkcja4}$ usuwając wartości brakujące z nowo zdefiniowanego wektora: +```{r} +v <- c(NA, 1, NA, 2:4, NA, 5) +v + +funkcja4(v, na.rm = TRUE) +``` +Funkcje są bardzo przydatne, gdy mamy do napisania długi skrypt. Pozwalają na podzielenie głównej części kodu na mniejsze kawałeczki, które kolejnemu użytkownikowi skryptu lub nam będzie łatwiej modyfikować. diff --git a/docs/02-wczytywanie-danych.rmd b/docs/02-wczytywanie-danych.rmd new file mode 100644 index 0000000..c4b750e --- /dev/null +++ b/docs/02-wczytywanie-danych.rmd @@ -0,0 +1,225 @@ +# Wczytywanie danych w R + +## Formaty danych + +### CSV/DSV +CSV (Comma Separated Values) to plik tekstowy, w którym wartości rozdzielane są przecinkami, a kolejne wiersze znakiem nowej linii. Plik CSV zazwyczaj przechowuje dane tabelaryczne. Nagłówki kolumn są często dołączane jako pierwszy wiersz (są to nazwy zmiennych), a każdy kolejny wiersz odpowiada jednej obserwacji (jednemu wierszowi w tabeli danych). + +CSV jest szczególnym przypadkiem formatu danych o nazwie Delimiter Seperated Values (DSV). Jest to plik tekstowy w którym pola w każdym wierszu oddzielone są dowolnym separatorem. Najczęściej spotykane separatory to: przecinek (CSV), tabulator (TSV), średnik. + +**Przykładowy plik CSV** + +![](img/csv_example.gif) + + + +### XML +XML to skrót od nazwy Extensible Markup Language. Dane przechowywane w tym formacie mają zagnieżdżoną strukturę: znaczniki oznaczają nazwy zmiennych, a wewnątrz przechowywane są ich wartości. XML swoją strukturą przypomina plik HTML. + +**Przykładowy plik XML** + +![](img/xml_example.gif) + + + + + +### JSON +JSON - JavaScript Object Notation - to format przydatny w przypadku pracy z danymi pochodzącymi z REST API, czyli pobieranymi z sieci. Niektóre bazy danych również komunikują się za pomocą tego formatu, np. MongoDB. + +Struktura: w pliku JSON obserwacje przechowywane są w słownikach, w których nazwy zmiennych są kluczami, a wartości zmiennych - wartościami. Obserwacje oddzielane są przecinkami, a dodatkowo, wszystkie dane spięte są nawiasami klamrowymi. + + +**Przykładowy plik JSON** + +![](img/json_example.jpeg) + + +### Excel (XLSX) +XLSX to format danych oparty na XML. Pliki tego typu są domyślnymi dokumentami wyjściowymi arkuszy kalkulacyjnych programu Microsoft Excel. Przedstawiają one głównie dane liczbowe i tekstowe w postaci tabel dwuwymiarowych. + +**Przykładowy arkusz kalkulacyjny w Excelu** + +![](img/excel_example.png){width=60%} + + +### Otwarte wersje programu Excel +Istnieją inne pakiety biurowe, np. LibreOffice, które - w przeciwieństwie do Excela - pozwalają na darmowe korzystanie z arkusza kalkulacyjnego. W przypadku LibreOffice, domyślnym formatem zapisu danych przez Calc (odpowiednik Excela) jest OpenDocument Format (.ods). + + +**Przykładowy arkusz kalkulacyjny w LibreOffice** + +![](img/libreoffice_example.png){width=60%} + + + +### Pliki tekstowe + + +Jednym z najczęściej występujących i najbardziej uniwersalnych formatów przechowujących dane (np. w postaci tabeli) są pliki tekstowe. Mają one najczęściej rozszerzenie ```txt``` lub ```csv``` (*comma separated values*). +Poniższą charakteryzację różnych metod wczytywania przedstawiamy na podstawie pliku ```listings.csv``` + +#### Base + + +Podstawową funkcją używaną do wczytywania tego typu plików w postaci tabeli jest funkcja ```read.table```. +Ze względu na specyfikację wewnętrzną plików, ```read.table``` posiada kilka wariantów, takie jak ```read.csv()```, ```read.csv2()``` czy ```read.delim()```. + +```read.csv()``` używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest ".", a wartości w wierszach oddzielone są poprzez ","; +```read.csv2()``` używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest ",", a wartości w wierszach oddzielone są poprzez ";"; +```read.delim()``` używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest ".", a wartości w wierszach oddzielone są poprzez ```TAB``` + + +Przykładowy sposób załadowania plików w formacie ```csv``` + +```{r, eval = FALSE} +read.csv('./data/csv/listings.csv', header = TRUE, sep = ",") +``` + +W przypadku ```read.table()``` dane zostają zaimportowane jako *data.frame*. + +Dla dużych plików wczytwanie za pomocą ```read.table()``` bywa jednak czasochłonne. Wówczas możemy użyć funkcji z paczki ```data.table``` lub ```readr```. + +#### readr + +```readr``` jest częścią pakietu ```tidyverse```. W tym przypadku import odbywa się za pomocą funkcji o podobnej nazwie, jak w przypadku ```read.table()```, a mianowicie ```read_csv()```. +```read_csv``` wczytuje dane oddzielone przecinkami, natomiast ```read_csv2()``` - dane oddzielone średnikami. + +```{r, eval = FALSE} +read_csv('./data/csv/listings.csv') + +``` + +W przeciwieństwie do ```read.csv```, funkcja ```read_csv``` na wyjściu daje dane w postaci tabeli w bardziej zwartej i przejrzystej formie. Oprócz tego podaje także specyfikację kolumn, tzn. informuje, jaka jest nazwa każdej kolumny oraz jej typ (np. ```col_double``` (**) oznaczają dane liczbowe). +Typ danych jaki dostajemy na wyjściu to ```tbl_df``` (tzw. *tibble*), który jest w pewnym sensie zmodyfikowaną wersją tradycyjnej ramki danych *data.frame*, pozwalającą na łatwiejszą pracę w obrębie *tidyverse*. + +#### data.table + +Do wczytywania danych z plików ```csv``` możemy także użyć funkcji ```fread``` z pakietu ```data.table```. + +```{r, eval = FALSE} +fread('./data/csv/listings.csv') +``` + +Na wyjściu otrzymujemy ramkę danych, jednak wyświetloną w inny sposób niż w przypadku użycia ```read.csv```. Różnica jest widoczna, gdyż po użyciu funkcji ```class()``` na ```fread()``` jako typ danych otrzymujemy ```"data.table" "data.frame"```. + + +#### Różnice + +Najważniejsze różnice pomiędzy wymienionymi sposobami wczytywania plików ```csv``` to: + +1) *Typ danych* + - Base: ```data.frame`` + - readr: ```tibble``` + - data.table: ```data.table data.frame`` + +2) *Postać wyświetlania* (co jest konsekwencją 1) + - Base: Wyświetla 62 początkowe wiersze każdej kolumny, wyświetlając informacje o liczbie pozostałych; + - readr: wyświetla 10 pierwszych wierszy z 10 pierwszych kolumn, z informacją o liczbie pozostałych wierszy i kolumn; automatycznie wyświetlane są też nazwy kolumn oraz skrót informujący o typie zmiennych + - data.table: wyświetla 5 początkowych i 5 końcowych wartości z każdej kolumny + +3) *Czas i użycie pamięci przy dużych rozmiarach danych* + Zarówno czas wczytania danych, jak i wykorzystanie pamięci najkorzystniejsze jest w przypadku funkcji ```fread```. Gdyby przez *time* oznaczyć czas potrzebny na wczytanie dużych plików, a przez *memory* zużycie pamięci, to *time*(fread) < *time*(read_csv) << *time*(read.csv) oraz *memory*(fread) < *memory*(read.csv) < *memory*(read_csv). + + +### Arkusze kalkulacyjne i pliki JSON + +Do wczytywania arkusza kalkulacyjnego (np. pliku excela) używa się funkcji ```read_excel``` z pakietu ```readxl``` będącego częścią `tidyverse`. + +```{r, eval = FALSE} +read_excel('./data/excel/listings.xlsx') +``` + + +Oprócz tego, można także użyć pakietu funkcji `read.xlsx` z pakietu `xlsx`. Wymaga ona jednak instalacji Javy. + + +Do zaimportowania plików JSON możemy użyć funkcji z pakietu ```jsonlite``` + +```{r, eval = FALSE} +listings_js <- jsonlite::fromJSON('./data/json/listings.json') +listings_js <- mutate(listings_js, + last_review = as_date(last_review)) +``` + + +## Locale + +Locale jest to *uniksowe narzędzie powłokowe* przechowujące ustawienia środowiskowe związane z ustawieniami regionalnymi. + +```{r } +Sys.getlocale() +``` + +LC_COLLATE - odpowiada za porządek znaków, ważny przy sortowaniu + +LC_CTYPE - odpowiada za kodowanie znaków + +LC_MONETARY - odpowiada za system monetarny: znak waluty, separator tysięcy, liczba cyfr po przecinku itd. + +LC_NUMERIC - określa separator ułamkowy, separator tysięcy, grupowanie cyfr + +LC_TIME - odpowiada za system wyświetlania daty + +```{r} +Sys.localeconv() +``` + +Powyższa funkcja wyświetla szczegóły dotyczące systemu numerycznego i monetarnego. + +### Ustawienie locale przez użytkownika + +```{r} +Sys.setlocale(category = "LC_ALL", locale = "polish") +``` + +W celu ustawienia innego locale niż domyślne systemowe należy użyć powyższej funkcji, przyjmowane przez nią argumenty to *category* i *locale*. + +category - odpowiada za określenie, które zmienne środowiskowe chcemy zmienić, gdzie opcje: "LC_ALL", "LC_COLLATE", "LC_CTYPE", "LC_MONETARY", "LC_NUMERIC" oraz "LC_TIME" są wspierane na każdym systemie operacyjnym, niektóre systemy wspierają również: "LC_MESSAGES", "LC_PAPER" i "LC_MEASUREMENT" + +locale - odpowiada za region, który chcemy ustawić dla systemu windows podajemy angielską nazwę języka (regionu) np.: 'polish', w systemach UNIXowych podajemy np.: 'pl_PL' lub 'pl_PL.UTF-8'. + + + +### Ustawienie locale poprzez readr + +Pakiet *readr* oferuje więcej możliwości dostosowywania locale, więcej informacji na ten temat można znaleźć w tym [odnośniku](https://readr.tidyverse.org/articles/locales.html). + + +## Natywne formaty R + +R ma dwa natywne sposoby przechowywania danych, RDA(od RData) i RDS. Główną zaletą takiej obsługi danych jest szybkość przetwarzania ich. Zachowuje on także informacje z R o danych(np. typy zmiennych). + +### RDS + +W formacie RDS mogą być przechowywane jedynie pojedyncze pliki R. Mogą być one za to przypisywane do dowolnej nazwy. +Aby załadować dane korzystamy z: +```{r readRDS, eval=FALSE} +listings_rds <- readRDS("./data/native/listings.rds") +``` +Do zapisania danych używamy: +```{r saveRDS, eval=FALSE} +saveRDS(object = listings, file = "listings.rds") +``` + +### RDA + +W plikach formatu RDA wczytane dane nie są przypisywane do zmiennej, tylko wywołujemy te funkcje i w efekcie plik pojawia się w środowisku. + +W RDA do załadowania danych służy +```{r load, eval=FALSE} +load("./data/native/listings.rda") +``` + +Natomiast, aby zapisać dane używamy: +```{r save_rda, eval=FALSE} +save(listings_rr, file = "listings_rr.rda") +``` +Korzystając z formatu RDA możemy jednocześnie zapisywać większą ilość plików + +```{r save, eval=FALSE} +save(iris, cars, file="data_frame.rda") +``` + + + diff --git a/docs/03-eda.Rmd b/docs/03-eda.Rmd new file mode 100644 index 0000000..a0cfe94 --- /dev/null +++ b/docs/03-eda.Rmd @@ -0,0 +1,67 @@ +# Eksploracyjna analiza danych + +Badanie eksploracyjne danych (ang. exploratory data analysis) dotyczy opisu, wizualizacji i badania zebranych danych bez potrzeby zakładania z góry hipotez badawczych. Badania ekploracyjne obejmują również wstępne sprawdzenie danych w celu skontrolowania założeń modeli statystycznych lub występowania błędów w danych (np. braków odpowiedzi). + +## Dane tabelaryczne + +Dane tabelaryczne to dane, które mają postać tabeli. Tabela to struktura danych, która składa się z wierszy i kolumn. Każdy wiersz odpowiada pewnej obserwacji, której cechy zostały zapisane w kolejnych kolumnach. + + +## Typy zmiennych + +Zmienne, które opisują kolejne obserwacje możemy podzielić na: + +* zmienne jakościowe (niemierzalne) + * porządkowe - np. klasyfikacja wzrostu (niski, średni, wysoki) + * nominalne - np. kolor oczu, płeć, grupa krwi +* zmienne ilościowe (mierzalne) + * dyskretne - np. liczba dzieci, liczba gospodarstw domowych, wiek (w rozumieniu ilości skończonych lat) + * ciągłe - np. wzrost, masa, wiek (w rozumieniu ilości dni między datą urodzin a datą badania) + * proporcjonalne - np. masa, długość, temperatura wyrażona w Kelwinach lub stopniach Rankine’a (przyjmujemy istnienie zera i możemy twierdzić, że jedno ciało jest dwukrotnie gorętsze od drugiego) + * interwałowe - np. temperatura wyrażona w stopniach Celsjusza lub Fahrenheita (możemy twierdzić, że coś jest o 20 °C cieplejsze od czegoś innego, ale nie możemy stwierdzić ilokrotnie cieplejsze jest ciało o temperaturze 40 °C od ciała o temperaturze –10 °C), data kalendarzowa (możemy mówić o stałej różnicy pomiędzy kolejnymi dniami) + +## Miary + +Zapoznając się z danymi chcielibyśmy sprawdzić wokół jakiej wartości są skupione oraz jak bardzo są zmienne wartości danej cechy. + +Miary lokacji (miary tendencji centralnej) pomagają nam umiejscowić dane na osi. Przykładami takich miar są: + +* średnia - najczęściej arytmetyczna określona jako $\overline{x} = \frac{1}{n}\sum\limits_{i=1}^n x_i$. +* dominanta (moda) - ozn. $Mo$ - dla zmiennych o rozkładzie dyskretnym, wartość o największym prawdopodobieństwie wystąpienia lub wartość najczęściej występująca w próbie. Dla zmiennej losowej o rozkładzie ciągłym jest to argument, dla którego funkcja gęstości prawdopodobieństwa ma wartość największą. +* mediana - ozn. $Me$ - wartość cechy w szeregu uporządkowanym, powyżej i poniżej której znajduje się jednakowa liczba obserwacji. +* kwantyle rzędu $p$ - wartość cechy w szeregu uporządkowanym, poniżej której znajduje się $p \cdot 100\%$ liczby obserwacji, a powyżej której znajduje się $(1 - p) \cdot 100\%$ liczby obserwacji. + +Natomiast miary rozrzutu dostarczają informacji jak bardzo zróżnicowane są obserwacje pod względem badanej cechy. Przykładami takich miar są: + +* wariancja - stopień rozrzutu badanej cechy wokół wartości oczekiwanej. Im większa wariancja, tym rozrzut zmiennej jest większy. Nieobciążony estymator wariancji wyraża się wzorem: $s^2 = \frac{1}{n}\sum\limits_{i=1}^n\left(x_i - \overline{x}\right)^2$ +* odchylenie standardowe - mówi nam o przeciętnym odchyleniu wartości zmiennej losowej od jej wartości oczekiwanej. Im odchylenie standardowe jest większe, tym większe zróżnicowanie wartości badanej cechy. Odchylenie standardowe z próby obliczamy jako pierwiastek z wariancji z próby, tzn. $s = \sqrt{s^2}$. +* rozstęp międzykwartylowy - różnica między trzecim a pierwszym kwartylem. Ponieważ pomiędzy tymi kwartylami znajduje się z definicji 50% wszystkich obserwacji (położonych centralnie w rozkładzie), dlatego im większa szerokość tego rozstępu, tym większe zróżnicowanie cechy. + +Wyróżniamy także miary asymetrii. Miary asymetrii mówią nam, czy większa część populacji klasuje się powyżej, czy poniżej przeciętnego poziomu badanej cechy. Asymetrię rozkładu można zbadać porównując średnią, dominantę i medianę. + +* W przypadku rozkładu symetrycznego wszystkie te parametry są równe. +* Jeśli zachodzi nierówność $Mo < Me < \mathbb{E} X$, to mamy do czynienia z prawostronną asymetrycznością rozkładu. Tzn. dużo małych wartości i bardzo mało dużych. +* Jeśli zachodzi nierówność $\mathbb{E} X < Me < Mo$, to mamy do czynienia z lewostronną asymetrycznością rozkładu. Tzn. mało małych i bardzo dużo dużych. + +## R - podsumowanie kolumn + +Podstawowymi funkcjami, które pomagają nam zapoznać się z danymi są funkcje: + +* $\texttt{head}$ - zwraca pierwszą część wektora, macierzy, tabeli lub ramki danych. Domyślnie 6 pierwszych elementów. +* $\texttt{nrow}$ - zwraca liczbę wierszy macierzy, tabeli lub ramki danych. +* $\texttt{ncol}$ - zwraca liczbę kolumn macierzy, tabeli lub ramki danych. + +Natomiast podstawowymi funkcjami, które podsumowują kolejne kolumny są funkcje: + +* $\texttt{str}$ - zwraca strukturę danego obiektu. Wyświetla np. klasę obiektu, liczbę wierszy i kolumn, a także nazwę danej kolumny, typ wartości w niej zawartych, jak i kilka początkowych wartości. +* $\texttt{summary}$ - zwraca podsumowanie każdej kolumny. Dla zmiennych ciagłych wyznacza wartości tj.: + + * wartość najmniejsza i największa + * średnia i mediana + * 1 (0.25) i 3 (0.75) kwartyl + * liczba wartości brakujących (NA) + + Natomiast w przypadku zmiennych dyskretnych wyznacza liczbę obserwacji, które przyjmują daną wartość zmiennej. + +* $\texttt{glimpse}$ - funkcja z pakietu $\texttt{tidyverse}$ podobna do $\texttt{str}$, ale stara się pokazać jak najwięcej danych. Wyświetla np. liczbę wierszy i kolumn, a także nazwę danej kolumny, typ wartości w niej zawartych oraz jak najwięcej wartości z tej kolumny. + diff --git a/notatka-5.rmd b/docs/04-przetwarzanie.rmd similarity index 59% rename from notatka-5.rmd rename to docs/04-przetwarzanie.rmd index 23cdb62..5d8c471 100644 --- a/notatka-5.rmd +++ b/docs/04-przetwarzanie.rmd @@ -1,237 +1,214 @@ ---- -title: "Operacje na danych w R" -author: - - Weronika Domaszewska - - Ewelina Grzmocińska - - Gracjan Hrynczyszyn - - Dominik Jaźwiecki - - Michał Ociepa -date: '' -output: - pdf_document: default - html_document: default - word_document: default ---- - -```{r setup, include=FALSE} -knitr::opts_chunk$set(echo = TRUE) -``` - -Operacje na danych w R są związane głównie z filtrowaniem, dodawaniem i modyfikowaniem kolumn, grupowaniem oraz podsumowywaniem danych. Można je wykonywać za pomocą funkcji bazowego R lub narzędzi z zaimportowanych pakietów: tidyverse, data.table. - -Załóżmy, że ramka danych jest przypisana do zmiennej $dane$, a nazwy jej kolumn to: $kol.1, kol.2, kol.3,...$\ . - -## Wybieranie kolumn - -Poniżej przedstawione są instrukcje pozwalające na wybieranie konkretnych kolumn z ramki danych w~zależności od metody. -Dla uproszczenia przyjmijmy, że wybieramy kolumny: $kol.1, kol.2, kol.3$. - -1. base - - * dane = dane[, c("kol.1", "kol.2", "kol.3")] - -2. tidyverse - - * dane = select(dane, `kol 1`, `kol 2`, `kol 3`) - * dane = dane %>% select(`kol 1`, `kol 2`, `kol 3`) - -3. data.table - - Nazwy kolumn ramki danych zawierą znak "." . Wprowadźmy zmienną pomocniczą $kolumny$. Będzie ona zawierać nazwy kolumn, ale zastępując znak "." znakiem " ". -```r -kolumny = c("kol 1", "kol 2", "kol 3") -``` - - * dane = dane[, kolumny] - * dane = dane[, kolumny, with = FALSE] - dana metoda nie zadziała bez argumentu $with~=~FALSE$, ponieważ szuka w ramce danych kolumn o nazwach zawartych w obiekcie $kolumny$, a nie konkretnie podanych nazw - * dane = dane[, colnames(dane) %in% kolumny, with = FALSE] - * dane = dane[, ..kolumny] - * dane = dane[, list(`kol 1`, `kol 2`, `kol 3`)] - * dane = dane[, .(`kol 1`, `kol 2`, `kol 3`)] -\newpage - -## Zmiana nazw kolumn - -Teraz zostaną zaprezentowane sposoby na zmianę nazw kolumn ramki danych. Przyjmijmy, że nowe nazwy kolumn są postaci $k1, k2, k3, ...$\ . - -1. base - - * colnames(dane) = c("k1", "k2", "k3") - -2. tidyverse - - * dane = dane %>% rename(k1 = `kol.1`, k2 = `kol.2`, k3 = `kol.3`) - -3. data.table - - * setnames(dane, c("kol.1", "kol.2", "kol.3"), c("k1", "k2", "k3")) - zaleta: nie kopiuje ramki danych - -## Filtrowanie - -Dany rozdział skupia się na sposobach filtrowania danych. Przydatne funkcje: - - * unique(dane$\$$k1) - zwraca unikalne wartości kolumny $k1$ - * table(dane$\$$k1) - zlicza ilość wystąpienia każdej wartości w kolumnie $k1$ - * prop.table(table(dane$\$$k1)) - pokazuje procentowo ilość wystąpienia każdej wartości w kolumnie $k1$ w$~$stosunku do wszystkich wartości - -Przyjmnijmy, że wybieramy z kolumny $k1$ określoną wartość $abc$. - -1. base - - * dane[dane$\$$k1 == "abc", ] - -2. tidyverse - - * dane %>% filter(k1 == "abc") - - można podać kilka warunków (po przecinku), będą one domyślnie rozdzielone spójnikiem $i$ - - aby połączyć warunki spójnikiem $i$ można również użyć operatora $\&$ - - aby połączyć warunki spójnikiem $lub$ należy użyć operatora $|$ - -3. data.table - - * dane[k1 == "abc"] - -## Usuwanie kolumn - -Załóżmy, że usuwamy pierwszą kolumnę - $k1$. - -1. base - - * dane = dane[, -1] - gdzie $1$ to numer usuwanej kolumny, a "-" oznacza usuwanie - -\newpage - -2. tidyverse - - * dane = select(dane, -k1) - jak powyżej, "-" oznacza usuwanie, ale w tym przypadku stosujemy nazwę kolumny a nie jej numer - -3. data.table - - * dane[, k1 := NULL] - operator $:=$ (referencja) oznacza, że operacja jest wykonywana bez kopiowania ramki danych - * dane = dane[, -1, with = FALSE] - -## Manipulacje na kolumnach - -Przyjmijmy, że kolumna $k2$ zawiera tylko liczby. Wartości ujemne zamieniamy na $0$. W tym celu posłużymy się funkcją $ifelse$: -$$ ifelse(warunek \ logiczny,\ wartość \ jeśli \ spełniony, \ wartość \ jeśli\ niespełniony).$$ - -1. base - - * dane[["k2"]] = ifelse(dane[["k2"]] < 0, 0, dane[["k2"]]) - -2. tidyverse - - * dane = dane %>% mutate(k2 = ifelse(k2 < 0, 0, k2)) - - możemy modyfikować kilka kolumn jednocześnie, rozdzielając je przecinkiem - -3. data.table - - * dane[, k2 := ifelse(k2 < 0, 0, k2)] - z użyciem referencji - * dane[["k2"]] = ifelse(dane[["k2"]] < 0, 0, dane[["k2"]]) - bez użycia referencji - -## Aplikowanie transformacji do każdej kolumny - -W tym rozdziale będziemy operować na wszystkich kolumnach ramki danych. Wartości w nich zawarte mogą być typu $factor$, które zamienimy na typ $character$. - -1. base - - * poprzez pętlę -```r - for (i in 1:ncol(dane)){ - if (is.factor(dane[, i])){ - dane[, i] = as.character(dane[, i]) - } - } -``` - - * poprzez funkcję $lapply$ -```r - lapply(dane, fun(x){ - if(is.factor(x)) - x = as.character(x) - }) -``` -\newpage - -2. tidyverse - - * przy użyciu funkcji $mutate\_all$ -```r - dane = dane %>% - mutate_all(function(x){ - if (is.factor(x)){ - as.character(x) - } - else{ - x - } - }) -``` - -3. data.table - - * przy użyciu funkcji lapply -```r - dane = dane[, lapply(.SD, function(x){ - if (is.factor(x)){ - as.character(x) - } - else{ - x - } - })] -``` - -## Grupowanie i podsumowanie - -Załóżmy, że do wyznaczenia wszystkich unkialnych wartości ramki danych potrzebne są kolumny $k1$, $k2$ i $k3$. Natomiast podsumowywana będzie kolumna $k4$ - zostanie wyliczona średnia dla każdej unikalnej wartości. - -1. base - - * przy użyciu funkcji $aggregate$ - zastosowana zostanie formuła $k4$ ~ $k1 + k2 + k3$, która oznacza, że będzie podsumowywana zmienna $k4$ w zależności od unikalnych zestawów wartości zmiennych $k1$, $k2$, $k3$ - - aggregate(k4 ~ k1 + k2 + k3, - data = dane, - FUN = function(x) mean(x, na.rm = TRUE)) - poprzez zastosowanie własnej funkcji - - - aggregate(k4 ~ k1 + k2 + k3, - data = dane, - FUN = mean, na.rm = TRUE) - poprzez zastosowanie istniejącej funkcji -\newpage - -2. tidyverse - - * dane %>% \newline - group_by(k1, k2, k3) %>% \newline - summarize(srednia = mean(k4, na.rm = TRUE), maksimum = max(k4, na.rm = TRUE)) - - $group\_by$ - grupuje po kolumnach $k1$, $k2$, $k3$ - - $summarize$ - podsumowuje według podanych elementów (w tym przypadku wylicza średnią i maksimum z kolumny $k4$) - -3. data.table - - * dane[, list(średnia = mean(k4, na.rm = TRUE), \newline - maksimum = max(k4, na.rm = TRUE)), \newline - by = c("k1", "k2", "k3")] - -## Podsumowywanie wszystkich kolumn - -W celu podsumowania kolumn zdefiniujemy poniższą funkcję, która zwróci ilość niepustych wartości. -```r - num_unique_noNA = function(input_vector){ - sum(!is.na(unique(input_vector))) - } -``` - -1. base - - * apply(dane, 2, num_unique_noNA) - gdzie $2$ oznacza, że wywołujemy podaną funkcję $num\_unique\_noNA$ po kolumnach - * lapply(dane, num_unique_noNA) - * sapply(dane, num_unique_noNA) - -2. tidyverse - - * summarise_all(dane, num_unique_noNA) - -3. data.table - - * dane[, lapply(.SD, num_unique_noNA)] - +# Przetwarzanie danych tabelarycznych + +Operacje na danych w R są związane głównie z filtrowaniem, dodawaniem i modyfikowaniem kolumn, grupowaniem oraz podsumowywaniem danych. Można je wykonywać za pomocą funkcji bazowego R lub narzędzi z zaimportowanych pakietów: tidyverse, data.table. + +Załóżmy, że ramka danych jest przypisana do zmiennej $dane$, a nazwy jej kolumn to: $kol.1, kol.2, kol.3,...$\ . + +## Wybieranie kolumn + +Poniżej przedstawione są instrukcje pozwalające na wybieranie konkretnych kolumn z ramki danych w~zależności od metody. +Dla uproszczenia przyjmijmy, że wybieramy kolumny: $kol.1, kol.2, kol.3$. + +1. base + + * dane = dane[, c("kol.1", "kol.2", "kol.3")] + +2. tidyverse + + * dane = select(dane, `kol 1`, `kol 2`, `kol 3`) + * dane = dane %>% select(`kol 1`, `kol 2`, `kol 3`) + +3. data.table + + Nazwy kolumn ramki danych zawierą znak "." . Wprowadźmy zmienną pomocniczą $kolumny$. Będzie ona zawierać nazwy kolumn, ale zastępując znak "." znakiem " ". +```r +kolumny = c("kol 1", "kol 2", "kol 3") +``` + + * dane = dane[, kolumny] + * dane = dane[, kolumny, with = FALSE] - dana metoda nie zadziała bez argumentu $with~=~FALSE$, ponieważ szuka w ramce danych kolumn o nazwach zawartych w obiekcie $kolumny$, a nie konkretnie podanych nazw + * dane = dane[, colnames(dane) %in% kolumny, with = FALSE] + * dane = dane[, ..kolumny] + * dane = dane[, list(`kol 1`, `kol 2`, `kol 3`)] + * dane = dane[, .(`kol 1`, `kol 2`, `kol 3`)] + +## Zmiana nazw kolumn + +Teraz zostaną zaprezentowane sposoby na zmianę nazw kolumn ramki danych. Przyjmijmy, że nowe nazwy kolumn są postaci $k1, k2, k3, ...$\ . + +1. base + + * colnames(dane) = c("k1", "k2", "k3") + +2. tidyverse + + * dane = dane %>% rename(k1 = `kol.1`, k2 = `kol.2`, k3 = `kol.3`) + +3. data.table + + * setnames(dane, c("kol.1", "kol.2", "kol.3"), c("k1", "k2", "k3")) - zaleta: nie kopiuje ramki danych + +## Filtrowanie + +Dany rozdział skupia się na sposobach filtrowania danych. Przydatne funkcje: + + * unique(dane$\$$k1) - zwraca unikalne wartości kolumny $k1$ + * table(dane$\$$k1) - zlicza ilość wystąpienia każdej wartości w kolumnie $k1$ + * prop.table(table(dane$\$$k1)) - pokazuje procentowo ilość wystąpienia każdej wartości w kolumnie $k1$ w$~$stosunku do wszystkich wartości + +Przyjmnijmy, że wybieramy z kolumny $k1$ określoną wartość $abc$. + +1. base + + * dane[dane$\$$k1 == "abc", ] + +2. tidyverse + + * dane %>% filter(k1 == "abc") + - można podać kilka warunków (po przecinku), będą one domyślnie rozdzielone spójnikiem $i$ + - aby połączyć warunki spójnikiem $i$ można również użyć operatora $\&$ + - aby połączyć warunki spójnikiem $lub$ należy użyć operatora $|$ + +3. data.table + + * dane[k1 == "abc"] + +## Usuwanie kolumn + +Załóżmy, że usuwamy pierwszą kolumnę - $k1$. + +1. base + + * dane = dane[, -1] - gdzie $1$ to numer usuwanej kolumny, a "-" oznacza usuwanie + +2. tidyverse + + * dane = select(dane, -k1) - jak powyżej, "-" oznacza usuwanie, ale w tym przypadku stosujemy nazwę kolumny a nie jej numer + +3. data.table + + * dane[, k1 := NULL] - operator $:=$ (referencja) oznacza, że operacja jest wykonywana bez kopiowania ramki danych + * dane = dane[, -1, with = FALSE] + +## Manipulacje na kolumnach + +Przyjmijmy, że kolumna $k2$ zawiera tylko liczby. Wartości ujemne zamieniamy na $0$. W tym celu posłużymy się funkcją $ifelse$: +$$ ifelse(warunek \ logiczny,\ wartość \ jeśli \ spełniony, \ wartość \ jeśli\ niespełniony).$$ +1. base + + * dane[["k2"]] = ifelse(dane[["k2"]] < 0, 0, dane[["k2"]]) + +2. tidyverse + + * dane = dane %>% mutate(k2 = ifelse(k2 < 0, 0, k2)) + - możemy modyfikować kilka kolumn jednocześnie, rozdzielając je przecinkiem + +3. data.table + + * dane[, k2 := ifelse(k2 < 0, 0, k2)] - z użyciem referencji + * dane[["k2"]] = ifelse(dane[["k2"]] < 0, 0, dane[["k2"]]) - bez użycia referencji + +## Aplikowanie transformacji do każdej kolumny + +W tym rozdziale będziemy operować na wszystkich kolumnach ramki danych. Wartości w nich zawarte mogą być typu $factor$, które zamienimy na typ $character$. + +1. base + + * poprzez pętlę +```r + for (i in 1:ncol(dane)){ + if (is.factor(dane[, i])){ + dane[, i] = as.character(dane[, i]) + } + } +``` + + * poprzez funkcję $lapply$ +```r + lapply(dane, fun(x){ + if(is.factor(x)) + x = as.character(x) + }) +``` + +2. tidyverse + + * przy użyciu funkcji $mutate\_all$ +```r + dane = dane %>% + mutate_all(function(x){ + if (is.factor(x)){ + as.character(x) + } + else{ + x + } + }) +``` + +3. data.table + + * przy użyciu funkcji lapply +```r + dane = dane[, lapply(.SD, function(x){ + if (is.factor(x)){ + as.character(x) + } + else{ + x + } + })] +``` + +## Grupowanie i podsumowanie + +Załóżmy, że do wyznaczenia wszystkich unkialnych wartości ramki danych potrzebne są kolumny $k1$, $k2$ i $k3$. Natomiast podsumowywana będzie kolumna $k4$ - zostanie wyliczona średnia dla każdej unikalnej wartości. + +1. base + + * przy użyciu funkcji $aggregate$ - zastosowana zostanie formuła $k4$ ~ $k1 + k2 + k3$, która oznacza, że będzie podsumowywana zmienna $k4$ w zależności od unikalnych zestawów wartości zmiennych $k1$, $k2$, $k3$ + - aggregate(k4 ~ k1 + k2 + k3, + data = dane, + FUN = function(x) mean(x, na.rm = TRUE)) - poprzez zastosowanie własnej funkcji + + - aggregate(k4 ~ k1 + k2 + k3, + data = dane, + FUN = mean, na.rm = TRUE) - poprzez zastosowanie istniejącej funkcji + +2. tidyverse + + * dane %>% \newline + group_by(k1, k2, k3) %>% \newline + summarize(srednia = mean(k4, na.rm = TRUE), maksimum = max(k4, na.rm = TRUE)) + - $group\_by$ - grupuje po kolumnach $k1$, $k2$, $k3$ + - $summarize$ - podsumowuje według podanych elementów (w tym przypadku wylicza średnią i maksimum z kolumny $k4$) + +3. data.table + + * dane[, list(średnia = mean(k4, na.rm = TRUE), \newline + maksimum = max(k4, na.rm = TRUE)), \newline + by = c("k1", "k2", "k3")] + +## Podsumowywanie wszystkich kolumn + +W celu podsumowania kolumn zdefiniujemy poniższą funkcję, która zwróci ilość niepustych wartości. +```r + num_unique_noNA = function(input_vector){ + sum(!is.na(unique(input_vector))) + } +``` + +1. base + + * apply(dane, 2, num_unique_noNA) - gdzie $2$ oznacza, że wywołujemy podaną funkcję $num\_unique\_noNA$ po kolumnach + * lapply(dane, num_unique_noNA) + * sapply(dane, num_unique_noNA) + +2. tidyverse + + * summarise_all(dane, num_unique_noNA) + +3. data.table + + * dane[, lapply(.SD, num_unique_noNA)] + diff --git a/docs/notatka_czyste_dane.Rmd b/docs/05-czyste-dane.Rmd similarity index 96% rename from docs/notatka_czyste_dane.Rmd rename to docs/05-czyste-dane.Rmd index e0db37f..23521aa 100644 --- a/docs/notatka_czyste_dane.Rmd +++ b/docs/05-czyste-dane.Rmd @@ -1,24 +1,12 @@ ---- -title: "Dane w formacie wąskim i szerokim. Łączenie tabel danych (join). Operacje na napisach i datach." -author: "Dominika Szewc, Helena Wołoch, Kacper Ambroży, Radosław Szudra" -date: "" -output: pdf_document -header-includes: - - \usepackage{polski} ---- -\newpage -\tableofcontents -\newpage -# Wstęp +# Czyste dane Transformacja danych jest niezwykle ważnym elementem dobrze zrobionego raportu. Dane te powinny być prezentowane w sposób czytelny i ułatwiający ich porównywanie. To od potrzeby biznesowej zależy w jaki sposób powinniśmy przedstwiać dane. Np. dysponując wynikami finansowymi zbieranymi co miesiąc przez trzy lata bo planowania budżetu na następny rok przyda nam się prezentacja ich w formacie wąskim, czyli skupionym na wydatkach względem każdego roku. Jednakże, jeżeli chcielibyśmy kontrolować wydatki w tym następnym roku prezentacja danych w formacie szerokim będzie bardziej korzystna, gdyż będziemy mieli informację ile średnio wydajemy w danym miesiącu i na bieżąco będziemy mogli podejmować decyzję o inwestowaniu lub zaciskaniu pasa. Niekiedy jednak dane mają bardziej skomplikowaną formę i np. składają się z wielu tabel. Wówczas dla łatwiejszego uzyskania informacji biznesowej będzie połączenie tych tabel. Takie operacje w połączeniu z odpowiednią agregacją i grupowaniem zdecydowanie ułatwia wgląd w aktualną sytuację. Ostatnim tematem, na temat któtego ta notatka traktuje są operacje na napisach i datach. Bardzo łatwo uzmysłowić sobie przydatność w posługiwaniu się takimi operacjami. Ułatwia to konstruowanie prostych funkcji, które są kluczowe w każdym projekcie. Chociażby bazując na imionach i nazwiskach pewnych obywateli Polski łatwo wskazać z dużą pewnością kobiety w tym zbiorze sprawdzając ostatnią literę ich imienia (tj. czy dane imie kończy się na literę "a"). -\newpage -# Dane w formacie wąskim i szerokim +## Dane w formacie wąskim i szerokim Dane najczęściej są przedstawiane w postaci tabelarycznej. Jednak mogą być w tej tabeli różnie sformatowane. Wyróżnia się między innymi szeroką reprezentacje danych i wąską reprezentacje danych. W zależności od tego, co chcemy z nimi zrobić czasami trzeba przejść z jednej postaci do drugiej. Aby przetransformować dane korzysta się z funkcji z pakietów **dplyr** i **tidyverse**. @@ -45,8 +33,6 @@ kable_styling(kable(szeroka), position = "center") Można zaobserwować, że wartości z kolumny `extra` zostały wpisane w poszczególne komórki, a kolumna `group` została podzielona na dwie oddzielne kolumny `group 1` i `group 2`. Tak sformatowane dane nazywamy szeroką reprezentacją danych. -\newpage - ## Rozdzielanie na kolumny (wąska -> szeroka) Aby przejść z wąskiego formatu przedstawiania danych do szerokiego, można użyć funkcji `spread()` z pakietu **dplyr**. @@ -79,8 +65,6 @@ sleep %>% pivot_wider(names_from = group, values_from = extra) ``` -\newpage - ## Scalanie kilku kolumn w jedną (szeroka -> wąska) Można wrócić z postaci szerokiej do wąskiej. W tym celu należy użyć funkcji `gather()` z pakietu **tidyr**. @@ -121,7 +105,7 @@ kable_styling(kable(head(szeroka %>% ``` -# Łączenie tabel danych +## Łączenie tabel danych Mamy dwie tabele danych **tab1** z małymi literami oraz **tab2** z wielkimi literami: @@ -140,7 +124,7 @@ gdzie `x` = **tab1**, a `y` = **tab2**. Aby połączyć dwie tabele danych na podstawie wskazanych kolumn lub kolumn o wspólnej nazwie można użyć przykładowych funkcji. -## merge() +### merge() Dostępna w bazowym R. Domyślnie funkcja ta łączy tabele względem nazw kolumn, które są wspólne. @@ -202,7 +186,7 @@ Bez sprecyzowania argumentu `sort` wiersze wyniku merge() zostaną posortowane l Kolumny złączonej tabeli to najpierw kolumny wspólne, następnie pozostałe z `x` a na końcu pozostałe z `y`, co widać na przykładach. -## join() +### join() ```{r, warning = FALSE, echo = FALSE} tab1 <- data.frame(indeks = c(1:6, 6), litery = c("a", "b", "c", "d", "e", "f", "z")) @@ -210,9 +194,9 @@ tab2 <- data.frame(indeks = 4:9, LITERY = c("E", "F", "G", "H", "I", "J")) ``` - ```{r, warning = FALSE, echo = FALSE, message=FALSE} +```{r, warning = FALSE, echo = FALSE, message=FALSE} library(dplyr) - ``` +``` Funkcja z paczki `dplyr`. Tabele `x` i `y` powinny zwykle pochodzić z tego samego źródła danych, ale jeśli `copy = TRUE`, `y` zostanie automatycznie skopiowany do tego samego źródła co `x`. @@ -247,14 +231,15 @@ kable(tabela) Argument `by` przyjmuje wektor nazw zmiennych do połączenia. Jeśli `by = NULL` funkcja `*_join()` domyślnie połączy tabele dopasowując wartości ze wszystkich kolumn o wspólnych nazwach w obu tabelach. -# Operacje na napisach i datach +## Operacje na napisach i datach Większość poniższych funkcji pochodzi z pakietu **string**i. ```{r echo=FALSE, warning=FALSE} library(stringi) ``` -## Operacje na napisach + +### Operacje na napisach 1. Wyznaczanie długości napisów. Funkcja **stri_lenght()** zwraca długości poszczególnych napisów w danym wektorze, a **stri_isempty()** sprawdza, które napisy są puste -> ''. @@ -325,7 +310,7 @@ x <- 'Lasy, pola, pastwiska, koszą traktorem' ``` -## Operacje na datach +### Operacje na datach 1. Funkcją zwracającą aktualną datę systemową jest **Sys.Date()**, a **Sys.time()** aktualny czas systemowy wraz z datą. diff --git a/Notes/ggplot_Notes.Rmd b/docs/06-ggplot2.Rmd similarity index 96% rename from Notes/ggplot_Notes.Rmd rename to docs/06-ggplot2.Rmd index 66a4ff5..f2c8fab 100644 --- a/Notes/ggplot_Notes.Rmd +++ b/docs/06-ggplot2.Rmd @@ -1,44 +1,17 @@ ---- -title: "Ggplot2" -author: "Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski" -output: pdf_document - - - ---- - - - -```{r setup, include=FALSE} -knitr::opts_chunk$set(echo = TRUE) -``` - - +# Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski ## Wprowadzenie - - Jednym z ważnych elementów przekazywania ciekawych informacji oraz ich analizy jest przedstawienie graficzne interesujących nas danych. W R istnieje kilka sposobów na wizualizację danych. Jednym z nich jest korzytanie z narzędzi oferowanych przez pakiet *ggplot2*. Bibiloteka *ggplot2* oprócz zwykłych funkcji plotowania, implementuje także gramatykę grafiki, co pozwala na wykonanie prawie każdego rodzaju (statystycznej) wizualizacji danych. - - ### Gramatyka grafiki - - Powyżej wspomnieliśmy o gramatyce grafiki. Dla dokładniejszego uporządkowania wiedzy przypomnijmy, że gramatyka grafiki daje nam możliwość zadawania odpowiednich parametórw dla wszystkich linii, słów, strzałek, itp., które połączone tworzą wykres. Dodatkowo możemy m.in. zmieniać układ współrzędnych, czy korygować położenie każdego obiektu znajdującego się na wykresie. Możliwości jakie oferuje nam gramatyka grafiki będą przedstawione dokładniej w dalszej części notatki. - - - ## Podstawy tworzenia wykresów w ggplot2 - - Na początku, aby móc tworzyć wizualizacje, musimy załadować pakiet oraz bibilotekę *ggplot2*. Warto zwrócić uwagę, że *ggplot2* posiada również szereg wbudowanych zestawów danych. Aby pokazać możliwości jakie oferuje nam ggplot, przeprowadzimy symulację danych mpg dostępnych w R. - ```{r start, include=TRUE} library(ggplot2) @@ -49,27 +22,20 @@ head(mpg) Składnia wykresów w ggplot polega na warstwowym budowaniu wykresów. - - 1. Zaczynamy od doboru danych, jakie chcielibyśmy zwizualizaować. 2. Określamy sposób mapowania zmiennych do aspektów wizualnych. 3. Definiujemy styl wykresu. 4. Dodajemy dodatkowe warstwy personalizujące wykres, tzn. dodajemy tytuł, etykiety, itp. (opcjonalnie) - - **Uwaga!** - - Do dodawania nowych warstw do wykresu używamy symbolu "+" . - ```{r first plot, fig.height = 2, fig.width = 2, fig.align = "center"} -# Budujemy podstwę wykresu, określając z jakich danych będziemy korzytsać +# Budujemy podstawę wykresu, określając z jakich danych będziemy korzytsać ggplot(mpg) @@ -358,4 +324,4 @@ Aby zadać względem, której zmiennej chcemy grupować, w funkcji 'facet_' po z -Kiedy korzystamy z funkcji tworzącej panele, automatycznie wszytskie wykresy będą pokazane w układzie współrzędnych dopasowanym do wszytkich okienek. Istnieje jednak możliwość dopasowania układu współrzędnych do każdego panelu osobno. W tym celu możemy wykorzystać funcję 'scale = "free"'. \ No newline at end of file +Kiedy korzystamy z funkcji tworzącej panele, automatycznie wszytskie wykresy będą pokazane w układzie współrzędnych dopasowanym do wszytkich okienek. Istnieje jednak możliwość dopasowania układu współrzędnych do każdego panelu osobno. W tym celu możemy wykorzystać funcję 'scale = "free"'. diff --git a/czysty_i_wydajny_kod_w_R.Rmd b/docs/07-czysty-kod.Rmd similarity index 70% rename from czysty_i_wydajny_kod_w_R.Rmd rename to docs/07-czysty-kod.Rmd index e70ad04..eb43436 100644 --- a/czysty_i_wydajny_kod_w_R.Rmd +++ b/docs/07-czysty-kod.Rmd @@ -1,97 +1,66 @@ ---- -title: "Czysty i wydajny kod w R" -author: Bannert Paulina, Bercz Natalia, Mrozik Piotr, Sudół Dariusz, Wyźnikiewicz - Monika -date: "`r format(Sys.time(), '%d %B, %Y')`" -output: - pdf_document: default - html_document: - df_print: paged - word_document: default -geometry: left = 3.5 cm, right = 2.5 cm, top = 2.5 cm, bottom = 2.5 cm -header-includes: -- \usepackage{polski} -- \usepackage{lmodern} -- \usepackage{hyperref} -- \usepackage{amssymb,amsmath,amsthm} -- \usepackage[T1]{fontenc} -- \usepackage{multirow} -- \usepackage{enumitem} -line-height: 1.5 cm -fontsize: 12 -classoption: twoside ---- -\begin{abstract} -Poniższy dokument zawiera notatkę dotyczącą pisania czystego i wydajnego kodu w R. -Została ona stworzona na podstawie laboratorium z ,,Programowania i analizy danych w R''. -\end{abstract} - -\tableofcontents -\newpage - -\section{Czysty kod} +# Czysty i wydajny kod w R + +## Czysty kod Na początku zajmiemy się szeroko pojętą czystością kodu. Aby dany kod mógł aspirować do takiego miana, musi przede wszystkim spełniać dwa podstawowe warunki: -\begin{itemize} -\item Być łatwym do zrozumienia + +1. Być łatwym do zrozumienia Aby kod był łatwy do zrozumienia musi być przede wszystkim czytelny. Niewątpliwie pomoże w$~$tym odpowiednie nazwanie zmiennych, zadbanie o to, żeby wszystkie użyte funkcje i obiekty miały swoją określoną rolę oraz by relacje między nimi były zrozumiałe. -\item Być łatwym do zmiany + +2. Być łatwym do zmiany Tworząc kod powinniśmy myśleć o tym, że będzie on w przyszłości wykorzystywany. Aby to ułatwić, musi być napisany w taki sposób, żeby można było nanieść drobne poprawki lub zmienić dane bez konieczności zmieniania całego kodu. -\end{itemize} Jeśli te dwa warunki nie są spełnione, istnieje obawa, że wprowadzenie nawet najmniejszych zmian całkowicie zniszczy kod. -\section{Co jeśli w kodzie jest ,,bałagan''?} +### Co jeśli w kodzie jest ,,bałagan''? Nieuporządkowany i nieklarowny kod może sprawić w przyszłości wiele kłopotów, takich jak na przykład: -\begin{itemize} -\item Zmarnowanie czasu + +1. Zmarnowanie czasu Jeśli my lub ktokolwiek inny będzie chciał w przyszłości wykorzystać taki kod z pewnością straci mnóstwo czasu na próby jego przeczytania i zrozumienia. Gdy już mu się to uda, może napotkać kolejny problem w postaci trudności z wprowadzeniem jakichkolwiek zmian. -\item Ograniczenie lub nawet brak możliwości rozwoju + +2. Ograniczenie lub nawet brak możliwości rozwoju Złe napisanie kodu może spowodować, że po jego jedynym użyciu stanie się bezwartościowy. Nie będzie sensu wprowadzać w nim jakichkolwiek zmian (gdyż będzie to zbyt pracochłonne), ani w żaden sposób rozwinąć by mógł posłużyć do przyszłych projektów (gdyż nawet najmniejsze zmiany mogą ,,zepsuć'' istniejący kod). -\item Podatność na wystąpienie błędów + +3. Podatność na wystąpienie błędów W nieczytelnym i napisanym w sposób niezrozumiały kodzie, łatwo przemycić błędy, które na pierwszy rzut oka są niewidoczne, ale wychodzą na jaw później. -\end{itemize} -\section{Opis zmiennych} +### Opis zmiennych + +### Opis intencji -\subsection{Opis intencji} Aby tworzyć czysty kod musimy pamiętać o kilku zasadach. Jedną z nich jest odpowiednie nazywanie zmiennych. Nie powinniśmy używać do tego skrótów, czy przypadkowych znaków. Idealna nazwa od razu wskazuje na to, czym jest dany obiekt oraz co oznacza. Przedstawia zamiary, jakie mamy do nazywanego obiektu. -\subsection{Unikanie błędnych informacji} +### Unikanie błędnych informacji + Równie ważne jest, aby w nazwach nie znajdywały się błędy lub informacje, które mogą wprowadzić potencjalnego czytelnika w błąd. Mówimy tu np. o: -\begin{itemize} -\item nazwaniu kilku obiektów zbyt podobnie, -\item użyciu do nazwania listy (np. osób) słowa $\mathtt{List}$, choć w rzeczywistości ta ,,lista'' osób może być wektorem, -\item użyciu trudno rozróżnialnych znaków (takich jak np. `0` i `O`), -\item nazwaniu wszystkich obiektów za pomocą jednej litery i cyfry (np. $x_1,x_2,...,x_n$). -\end{itemize} - -\subsection{Kilka wskazówek} +- nazwaniu kilku obiektów zbyt podobnie, +- użyciu do nazwania listy (np. osób) słowa $\mathtt{List}$, choć w rzeczywistości ta ,,lista'' osób może być wektorem, +- użyciu trudno rozróżnialnych znaków (takich jak np. `0` i `O`), +- nazwaniu wszystkich obiektów za pomocą jednej litery i cyfry (np. $x_1,x_2,...,x_n$). + +#### Kilka wskazówek + Jakie powinny być idealne nazwy obiektów w R? Oto kilka wskazówek: -\begin{itemize} -\item zrozumiałe dla osób, dla których jest przeznaczony kod, -\item utrzymane w jednym stylu, -\item łatwe do zrozumienia i napisania, -\item nazwa obiektu powinna być rzeczownikiem, który wskazuje na to, z czym mamy do czynienia, -\item nazwa funkcji powinna być czasownikiem wskazującym na to, co robi dana funkcja. -\end{itemize} +- zrozumiałe dla osób, dla których jest przeznaczony kod, +- utrzymane w jednym stylu, +- łatwe do zrozumienia i napisania, +- nazwa obiektu powinna być rzeczownikiem, który wskazuje na to, z czym mamy do czynienia, +- nazwa funkcji powinna być czasownikiem wskazującym na to, co robi dana funkcja. -\section{Funkcje} +### Funkcje W tym rozdziale dowiemy się jak pisać ,,dobre'' funkcje. Tutaj również musimy pamiętać o kilku zasadach. Funkcje powinny: -\begin{itemize} -\item być możliwie jak najkrótsze, -\item odpowiadać za jedno pojedyncze zadanie, -\item być na jednym poziomie abstrakcji, -\item mieć maksymalnie `3` parametry. -\end{itemize} +- być możliwie jak najkrótsze, +- odpowiadać za jedno pojedyncze zadanie, +- być na jednym poziomie abstrakcji, +- mieć maksymalnie `3` parametry. To znaczy, że nie jest wskazane, aby tworzyć jedną wielką funkcję, która np. wylicza kilkanaście rzeczy, aby na końcu wygenerować jeden wynik. Zamiast tego lepiej stworzyć kilka mniejszych funkcji, które będą się odwoływały do poprzednich. Dzięki temu nasz kod będzie bardziej przejrzysty oraz w prosty sposób będzie można sprawdzić, czy pojedyncze funkcje działają poprawnie. @@ -127,7 +96,6 @@ return(c(l,r))} ``` Główne problemy: -\begin{itemize} - czasem przypisanie jest za pomocą `=`, czasem `<-`, - brak spacji po przecinkach, - brak spacji pomiędzy `+`, `-`, `*`, `/`, itd, @@ -136,9 +104,8 @@ Główne problemy: - zmienne mają nic nieznaczące i jednoliterowe nazwy, - nazwa zmiennej `tmp` także nie mówi, czym ona jest, - dwa nieużywane parametry funkcji. -\end{itemize} -\section{Komentarze} +### Komentarze Zazwyczaj komentarze do kodu nie są potrzebne, a wręcz zbędne. Dzieje się tak, ponieważ dobrze napisany kod powinien sam się tłumaczyć, tzn. być na tyle zrozumiałym, żeby dodatkowe komentarze nie były potrzebne. @@ -146,11 +113,11 @@ Jeśli jednak w kodzie jest bałagan, dodatkowe komentarze mogą wręcz wprowadz Od tej reguły są jednak pewne wyjątki. Jeśli używamy niezbyt oczywistych implementacji lub ,,sztuczek programistycznych'' warto wspomnieć w komentarzu, co się w danej chwili dzieje. Wyjątkiem są też komentarze informujące o tym, co trzeba jeszcze zrobić lub o potrzebie poprawienia jakiejś części kodu. -\section{Obiekt a struktura danych} +### Obiekt a struktura danych W kontekście pisania czystego i wydajnego kodu, należy wziąć pod uwagę rozróżnienie pomiędzy klasami a strukturami danych. Te pierwsze zawierają atrybuty i funkcje, a instancje klasy nazywamy obiektem. Zastosowanie klas pozwala na stworzenie interfejsu definującego pewne dane. Struktury danych służą natomiast do reprezentacji danych dowolnego typu a nie ich opisu. -\section{Styl kodu i narzędzia pomagające w utrzymaniu czystego kodu} +## Styl kodu i narzędzia pomagające w utrzymaniu czystego kodu Dobry styl kodowania jest porównywany do prawidłowego stosowania interpunkcji. Jest możliwe nie stosowanie się do jej zasad, jednak przestrzeganie ich pozwala, aby w zapisie panował ład i porządek. W R dominują dwa style, które pomagają utrzymać dobry układ kodu. Jednym jest tidyverse style, a$~$drugim, wywodzącym się z poprzedniego, Google style. Istnieją przewodniki, które ułatwiają stosowanie się do zasad panujących w tych stylach. Style ustosunkowują się m.in. do stawiania spacji po przecinkach, przed operatorami matematycznymi oraz po nich, a także podkreślników w nazwach. diff --git a/docs/Notatka-Shiny_UI.Rmd b/docs/08-shiny-ui.Rmd similarity index 93% rename from docs/Notatka-Shiny_UI.Rmd rename to docs/08-shiny-ui.Rmd index c221402..a53e3e0 100644 --- a/docs/Notatka-Shiny_UI.Rmd +++ b/docs/08-shiny-ui.Rmd @@ -1,228 +1,215 @@ ---- -title: "Shiny: UI" -author: -- Stanisław Banaszek -- Mateusz Drobina -- Dominik Mika -- Adrian Płoszczyca -- Jakub Sobkowiak -date: '' -output: -pdf_document: default -html_document: default -word_document: default ---- - -```{r setup, include=FALSE} -library(shiny) -library(shinyWidgets) -library(shinydashboard) -knitr::opts_chunk$set(echo = TRUE) -``` - -## Wstęp - -Shiny jest pakietem R pozwalającym na tworzenie interaktywnych aplikacji webowych w łatwy i przystępny sposób. Aplikacja w shiny zbudowana jest z dwóch następujcych elementów: - -* ui - user interface, czyli obiekt, w którym zawarty jest wygląd aplikacji, - -* server - funkcja organizująca działanie aplikacji. - -Do uruchomienia aplikacji służy funkcja `shinyApp(ui, server)`. Stworzenie dobrej i czytelnej aplikacji może znacznie ułatwić analizowanie danych. - -W tej notatce zajmiemy się omówieniem elementów oraz podstawowych schematów budowy UI. - -## Tworzenie UI - -Do budowania podstawowego interfejsu w shiny będziemy korzystać z funkcji `fluidPage`, w której tworzymy cały UI. Wszystkie informacje o rodzajach wprowadznych danych, strukturze wyświetlanych danych oraz szeroko rozumianej estetyce aplikacji będą zawarte wewnątrz tej funkcji. - -```{r} -ui <- fluidPage( - # coś -) -``` - -## Układ strony - -Tym co jest bardzo ważne w UI jest oczywiście wygląd, a dokładniej mówiąc przejrzystość i czytelność, dlatego chcielibyśmy uporządkować wyświetlane elementy tak, aby umożliwić użytkownikowi intuicyjne korzystanie z aplikacji. Pakiet shiny oferuje wiele narzędzi pozwalających na zorganizowanie układu interfejsu zgodnie z naszymi oczekiwaniami. - -Przydadzą nam się do tego następujące funkcje: - -* `titlePanel` - funkcja tworząca panel tytułowy, w której podajemy tytuł aplikacji, - -* `sidebarLayout` - funkcja organizująca wygląd strony jako mniejszy panel boczny po lewej stronie oraz większy panel po prawej stronie, - -* `sidebarPanel` - funkcja, którą możemy umieścić w poprzedniej funkcji, aby uporządkować panel, w którym będziemy np. wprowadzać dane, - -* `mainPanel` - funkcja, w której umieszczamy treści, które chcemy, aby znalazły się w panelu głównym, - -* `tabsetPanel` - funkcja umożliwiająca organizowanie paska zakładek. Aby utworzyć zakładki w jej ciele używamy funkcji `tabPanel`, w której umieszczamy dowolne treści, np. wykresy lub tabele. - -Oprócz tego możemy bardziej modyfikować wygląd aplikacji dzięki funkcjom `fluidRow` i `column` pozwalającym na uporządkowanie obiektów odpowiednio w wierszach oraz kolumnach. - -## Inputy i outputy - -Układ strony należy oczywiście podporządkować temu jaką funkcję ma pełnić aplikacja, a także temu jaki rodzaj interakcji ma mieć z nią docelowo użytkownik. Interakcje użytkownika z aplikacją można intuicyjnie podzielić na to co zostaje do aplikacji wprowadzone (input) oraz to co ostatecznie w związku z tym aplikacja zwraca (output). Każdy input i output jest w kodzie identyfikowany dzięki nadanej mu przez nas nazwie. Wewnątrz `fluidPage` możemy zawrzeć różne rodzaje inputów i outputów w zależności od rodzaju wprowadzanych/wyświetlanych danych. - -#### Przykładowe inputy - -* `textInput` - funkcja tworząca pole, w którym użytkownik może wprowadzić dowolny tekst, - -```{r} -ui <- fluidPage( - # Okienko do wpisywania tekstu - textInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji") -) -``` - -* `numericInput` - funkcja tworząca pole, w którym użytkownik może wprowadzić wartość liczbową, - -```{r} -ui <- fluidPage( - # Okienko do wpisywania liczb - numericInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji", - # Wartość domyślna - value = 10) -) -``` - -* `selectInput` - funkcja tworząca listę, z której użytkownik może dokonać wyboru - domyślnie parametr `multiple` umożliwia wybór jednej pozycji z listy, - -```{r} -ui <- fluidPage( - # Możliwość wybrania z listy - selectInput("nazwa_inputu_3", "Tekst wyświetlany w aplikacji", - # Lista możliwości do wyboru - choices = c("Wybór_1", "Wybór_2")) -) -``` - -* `sliderInput` - funkcja tworząca suwak umożliwiający użytkownikowi wybór zakresu interesujących go wartości, - -```{r} -ui <- fluidPage( - # Suwak do wyboru wartości - sliderInput("nazwa_inputu_4", "Tekst wyświetlany w aplikacji", - # Wartość domyślna - value = 1, - # Wartość minimalna - min = 0, - # Wartość maksymalna - max = 10) -) -``` - -* `dateRangeInput` - funkcja tworząca pole wyboru zakresu interesujących dat. - -```{r} -ui <- fluidPage( - # Pole wyboru zakresu dat - dateRangeInput("nazwa_inputu_5", "Tekst wyświetlany w aplikacji", - # Data początkowa - start = "2001-01-01", - # Data końcowa - end = "2010-12-31") -) -``` - -#### Przykładowe outputy - -Używanie funkcji wyświetlających outputy jest bardzo proste, ponieważ w UI decydujemy jedynie gdzie i jak wyswietlić output, który jest obiektem utworzonym wewnątrz funkcji `server` na podstawie wprowadzonego przez użytkownika inputu. - -* `textOutput` - funkcja wyświetlająca tekst, - -```{r} -ui <- fluidPage( - # Wyświetla tekst, który stworzyliśmy w serwerze pod daną nazwą - textOutput("nazwa_outputu_1") -) -``` - -* `tableOutput` - podstawowa funkcja wyświetlająca tabelę, - -```{r} -ui <- fluidPage( - # Wyświetla tabelę stworzoną w serwerze pod daną nazwą - tableOutput("nazwa_outputu_2") -) -``` - -* `DTOutput` - funkcja wyświetlająca interaktywną ramkę danych z użyciem pakietu data.table, - -```{r} -ui <- fluidPage( - # Interaktywna ramka danych z użyciem data.table - DT::DTOutput("nazwa_outputu_3") -) -``` - -* `plotOutput` - funkcja wyświetlająca wykres. - -```{r} -ui <- fluidPage( - # Wyświetla wykres stworzony w serwerze - plotOutput("nazwa_outputu_4", - # Szerokość wykresu - width = "100%", - # Wysokość wykresu - height = "400px") -) -``` - - -## Przykład użycia - -Oczywiście powyższe kody były jedynie fragmentami większej całości. Poniżej możemy zobaczyć przykładowy kod obrazujący strukturę budowy interfejsu. Rzeczą, o której należy pamiętać jest oddzielanie funkcji przecinkami. - -```{r} -ui <- fluidPage( - # Tytuł - titlePanel("Tytuł"), - - # To co będzie wyświetlone z boku interfejsu - sidebarLayout( - - # Panel boczny - sidebarPanel( - - # Pierwszy input - wybór - selectInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji", - choices = c("Wybór_1", "Wybór_2")), - # Drugi input - suwak - sliderInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji", - value = 1, min = 0, max = 10) - ), - - # Główny panel - mainPanel( - - # Tworzymy zakładki - tabsetPanel( - - # Pierwsza zakładka - wykres - tabPanel("Tytuł wykresu", plotOutput("nazwa_outputu_1")), - # Druga zakładka - ramka danych - tabPanel("Tytuł ramki", DT::DTOutput("nazwa_outputu_2")) - ) - ) - ) -) -``` - -Dodatkowo warto zdawać sobie sprawę, że po wprowadzeniu danych przez użytkownika outputy aktualizują się automatycznie, dlatego często przydatne jest programowanie reaktywne z funkcją `observeEvent` oraz użycie `actionButton`, który pozwala na wykonanie danego działania dopiero po kliknięciu odpowiedniego przycisku przez użytkownika. - -## Wygląd aplikacji - -Ostatecznie chcielibyśmy, aby aplikacja wyglądała bardziej estetycznie. Możemy do tego użyć kilku narzędzi. Po pierwsze możemy zmienić motyw naszej aplikacji. - -Z pomocą przychodzi nam funkcja `shinythemes::themeSelector()`, którą musimy umieścić w naszym UI. Wtedy w naszej aplikacji pojawia się pole z możliwością wyboru motywu. - -Gdy już wybierzemy ulubiony motyw zamieniamy poprzednią funkcję w UI na `theme = shinythemes::shinytheme('NASZ_MOTYW')` i gotowe! - -Poza tym Shiny umożliwia całkowitą customizację wyglądu aplikacji przy użyciu HTML, CSS oraz JavaScript. - -Ostatnim narzędziem, o którym warto pamiętać, jest `shinyWidgetsGallery()`. Jest to bardzo użyteczna aplikacja stworzona w bibliotece `shinyWidgets`, dzięki której możemy między innymi zobaczyć w praktyce działanie różnego typu inputów oraz kod umożliwiający użycie ich w aplikacji. - -## Uwaga - -W tej notatce omówiliśmy podstawowe elementy pozwalające na zbudowanie interfejsu w shiny ale chcielibyśmy też dodać, że w poszukiwaniu bardziej zaawansowanych rozwiązań warto odwiedzić stronę https://shiny.rstudio.com/, gdzie można znaleźć dokumentację pakietu shiny, wiele przykładów oraz nieomówionych tu funkcji. +# Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika + +## Wstęp + +Shiny jest pakietem R pozwalającym na tworzenie interaktywnych aplikacji webowych w łatwy i przystępny sposób. Aplikacja w shiny zbudowana jest z dwóch następujcych elementów: + +* ui - user interface, czyli obiekt, w którym zawarty jest wygląd aplikacji, + +* server - funkcja organizująca działanie aplikacji. + +Do uruchomienia aplikacji służy funkcja `shinyApp(ui, server)`. Stworzenie dobrej i czytelnej aplikacji może znacznie ułatwić analizowanie danych. + +W tej notatce zajmiemy się omówieniem elementów oraz podstawowych schematów budowy UI. + +```{r } +library(shiny) +library(shinyWidgets) +library(shinydashboard) +``` + + +## Tworzenie UI + +Do budowania podstawowego interfejsu w shiny będziemy korzystać z funkcji `fluidPage`, w której tworzymy cały UI. Wszystkie informacje o rodzajach wprowadznych danych, strukturze wyświetlanych danych oraz szeroko rozumianej estetyce aplikacji będą zawarte wewnątrz tej funkcji. + +```{r} +ui <- fluidPage( + # coś +) +``` + +## Układ strony + +Tym co jest bardzo ważne w UI jest oczywiście wygląd, a dokładniej mówiąc przejrzystość i czytelność, dlatego chcielibyśmy uporządkować wyświetlane elementy tak, aby umożliwić użytkownikowi intuicyjne korzystanie z aplikacji. Pakiet shiny oferuje wiele narzędzi pozwalających na zorganizowanie układu interfejsu zgodnie z naszymi oczekiwaniami. + +Przydadzą nam się do tego następujące funkcje: + +* `titlePanel` - funkcja tworząca panel tytułowy, w której podajemy tytuł aplikacji, + +* `sidebarLayout` - funkcja organizująca wygląd strony jako mniejszy panel boczny po lewej stronie oraz większy panel po prawej stronie, + +* `sidebarPanel` - funkcja, którą możemy umieścić w poprzedniej funkcji, aby uporządkować panel, w którym będziemy np. wprowadzać dane, + +* `mainPanel` - funkcja, w której umieszczamy treści, które chcemy, aby znalazły się w panelu głównym, + +* `tabsetPanel` - funkcja umożliwiająca organizowanie paska zakładek. Aby utworzyć zakładki w jej ciele używamy funkcji `tabPanel`, w której umieszczamy dowolne treści, np. wykresy lub tabele. + +Oprócz tego możemy bardziej modyfikować wygląd aplikacji dzięki funkcjom `fluidRow` i `column` pozwalającym na uporządkowanie obiektów odpowiednio w wierszach oraz kolumnach. + +## Elementy wejścia i wyjścia + +Układ strony należy oczywiście podporządkować temu jaką funkcję ma pełnić aplikacja, a także temu jaki rodzaj interakcji ma mieć z nią docelowo użytkownik. Interakcje użytkownika z aplikacją można intuicyjnie podzielić na to co zostaje do aplikacji wprowadzone (input) oraz to co ostatecznie w związku z tym aplikacja zwraca (output). Każdy input i output jest w kodzie identyfikowany dzięki nadanej mu przez nas nazwie. Wewnątrz `fluidPage` możemy zawrzeć różne rodzaje inputów i outputów w zależności od rodzaju wprowadzanych/wyświetlanych danych. + +#### Przykładowe elementy wejścia + +* `textInput` - funkcja tworząca pole, w którym użytkownik może wprowadzić dowolny tekst, + +```{r} +ui <- fluidPage( + # Okienko do wpisywania tekstu + textInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji") +) +``` + +* `numericInput` - funkcja tworząca pole, w którym użytkownik może wprowadzić wartość liczbową, + +```{r} +ui <- fluidPage( + # Okienko do wpisywania liczb + numericInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji", + # Wartość domyślna + value = 10) +) +``` + +* `selectInput` - funkcja tworząca listę, z której użytkownik może dokonać wyboru - domyślnie parametr `multiple` umożliwia wybór jednej pozycji z listy, + +```{r} +ui <- fluidPage( + # Możliwość wybrania z listy + selectInput("nazwa_inputu_3", "Tekst wyświetlany w aplikacji", + # Lista możliwości do wyboru + choices = c("Wybór_1", "Wybór_2")) +) +``` + +* `sliderInput` - funkcja tworząca suwak umożliwiający użytkownikowi wybór zakresu interesujących go wartości, + +```{r} +ui <- fluidPage( + # Suwak do wyboru wartości + sliderInput("nazwa_inputu_4", "Tekst wyświetlany w aplikacji", + # Wartość domyślna + value = 1, + # Wartość minimalna + min = 0, + # Wartość maksymalna + max = 10) +) +``` + +* `dateRangeInput` - funkcja tworząca pole wyboru zakresu interesujących dat. + +```{r} +ui <- fluidPage( + # Pole wyboru zakresu dat + dateRangeInput("nazwa_inputu_5", "Tekst wyświetlany w aplikacji", + # Data początkowa + start = "2001-01-01", + # Data końcowa + end = "2010-12-31") +) +``` + +#### Przykładowe elementy wyjścia + +Używanie funkcji wyświetlających outputy jest bardzo proste, ponieważ w UI decydujemy jedynie gdzie i jak wyswietlić output, który jest obiektem utworzonym wewnątrz funkcji `server` na podstawie wprowadzonego przez użytkownika inputu. + +* `textOutput` - funkcja wyświetlająca tekst, + +```{r} +ui <- fluidPage( + # Wyświetla tekst, który stworzyliśmy w serwerze pod daną nazwą + textOutput("nazwa_outputu_1") +) +``` + +* `tableOutput` - podstawowa funkcja wyświetlająca tabelę, + +```{r} +ui <- fluidPage( + # Wyświetla tabelę stworzoną w serwerze pod daną nazwą + tableOutput("nazwa_outputu_2") +) +``` + +* `DTOutput` - funkcja wyświetlająca interaktywną ramkę danych z użyciem pakietu data.table, + +```{r} +ui <- fluidPage( + # Interaktywna ramka danych z użyciem data.table + DT::DTOutput("nazwa_outputu_3") +) +``` + +* `plotOutput` - funkcja wyświetlająca wykres. + +```{r} +ui <- fluidPage( + # Wyświetla wykres stworzony w serwerze + plotOutput("nazwa_outputu_4", + # Szerokość wykresu + width = "100%", + # Wysokość wykresu + height = "400px") +) +``` + + +## Przykład użycia + +Oczywiście powyższe kody były jedynie fragmentami większej całości. Poniżej możemy zobaczyć przykładowy kod obrazujący strukturę budowy interfejsu. Rzeczą, o której należy pamiętać jest oddzielanie funkcji przecinkami. + +```{r} +ui <- fluidPage( + # Tytuł + titlePanel("Tytuł"), + + # To co będzie wyświetlone z boku interfejsu + sidebarLayout( + + # Panel boczny + sidebarPanel( + + # Pierwszy input - wybór + selectInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji", + choices = c("Wybór_1", "Wybór_2")), + # Drugi input - suwak + sliderInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji", + value = 1, min = 0, max = 10) + ), + + # Główny panel + mainPanel( + + # Tworzymy zakładki + tabsetPanel( + + # Pierwsza zakładka - wykres + tabPanel("Tytuł wykresu", plotOutput("nazwa_outputu_1")), + # Druga zakładka - ramka danych + tabPanel("Tytuł ramki", DT::DTOutput("nazwa_outputu_2")) + ) + ) + ) +) +``` + +Dodatkowo warto zdawać sobie sprawę, że po wprowadzeniu danych przez użytkownika outputy aktualizują się automatycznie, dlatego często przydatne jest programowanie reaktywne z funkcją `observeEvent` oraz użycie `actionButton`, który pozwala na wykonanie danego działania dopiero po kliknięciu odpowiedniego przycisku przez użytkownika. + +## Wygląd aplikacji + +Ostatecznie chcielibyśmy, aby aplikacja wyglądała bardziej estetycznie. Możemy do tego użyć kilku narzędzi. Po pierwsze możemy zmienić motyw naszej aplikacji. + +Z pomocą przychodzi nam funkcja `shinythemes::themeSelector()`, którą musimy umieścić w naszym UI. Wtedy w naszej aplikacji pojawia się pole z możliwością wyboru motywu. + +Gdy już wybierzemy ulubiony motyw zamieniamy poprzednią funkcję w UI na `theme = shinythemes::shinytheme('NASZ_MOTYW')` i gotowe! + +Poza tym Shiny umożliwia całkowitą customizację wyglądu aplikacji przy użyciu HTML, CSS oraz JavaScript. + +Ostatnim narzędziem, o którym warto pamiętać, jest `shinyWidgetsGallery()`. Jest to bardzo użyteczna aplikacja stworzona w bibliotece `shinyWidgets`, dzięki której możemy między innymi zobaczyć w praktyce działanie różnego typu inputów oraz kod umożliwiający użycie ich w aplikacji. + +### Uwaga + +W tej notatce omówiliśmy podstawowe elementy pozwalające na zbudowanie interfejsu w shiny ale chcielibyśmy też dodać, że w poszukiwaniu bardziej zaawansowanych rozwiązań warto odwiedzić stronę https://shiny.rstudio.com/, gdzie można znaleźć dokumentację pakietu shiny, wiele przykładów oraz nieomówionych tu funkcji. diff --git a/docs/09-shiny-server.Rmd b/docs/09-shiny-server.Rmd new file mode 100644 index 0000000..090c68b --- /dev/null +++ b/docs/09-shiny-server.Rmd @@ -0,0 +1,26 @@ +# Interaktywna wizualizacja danych z pakietem shiny: strona serwerowa + +## Wstęp + +Shiny to biblioteka w R pozwalająca na budowanie interaktywnych aplikacji w prosty i szybki sposób. Aplikacja Shiny składa się z dwóch części, opisywanych w dwóch osobnych plikach: interfejs użytkownika (UI), czyli jak aplikacja będzie wyglądać u użytkownika oraz sposób przetwarzania danych (serwer). W tej pracy zajmiemy się stroną serwerową Shiny. + + +## Serwer Shiny + +Aplikacje Shiny zazwyczaj budujemy w sytuacjach, w których mamy dane, chcemy obliczyć pewne rzeczy i narysować odpowiednie wykresy. Użytkownik widzi efekt końcowy, czyli to jak zaprogramowaliśmy gdzie ma się wyświetlać wynik, natomiast w części serwerowej opisujemy jak ten wynik ma być obliczony. Jest to więc część zależna od pliku UI. + +Musimy więc w kodzie serwera zamieścić obiekty opisane w UI. Zauważmy, że tworzymy kod serwera jako funkcję od dwóch parametrów: `input, output`. W środku serwera definiujemy zależności pomiędzy `inputami` i `outputami`. + +Jedną z zalet Shiny jest interaktywność. Dzięki temu użytkownik może na bieżąco zmieniać parametry i generować nowe wykresy. Jednak generowanie kodu na nowo przy każdej zmianie danych nie zawsze jest pożądane. Ważnym pojęciem przy pisaniu strony serwerowej jest reaktywność (żródło infografiki: [Shiny Cheat Sheet](https://rstudio.com/wp-content/uploads/2016/01/shiny-cheatsheet.pdf)). + +![reaktywnosc](img/przyklad3.png) + +Jeśli zmienna jest reaktywna, to znaczy że jakakolwiek jej zmiana powoduje ponowne uruchomienie funkcji z nią powiązanych. Do budowania reaktywnych wyrażeń używamy funkcji `reactive()`. Taka zmienna jest liczona tylko raz i wyrażenia z nią związane używają tej wartości aż do momentu aktualizacji wybranego przez użytkownika. Z pojęciem reaktywności wiąże się kilka ważnych funkcji: + +* `reactiveValues(...)`, które tworzy listą reaktywnych zmiennych, +* `isolate(expr)` - zapobiega zależności od reaktywnych zmiennych, +* `render*()` - funkcje tworzące obiekty do wyświetlenia, które zmieniają się wraz z reaktywnymi zmiennymi, +* `observeEvent(...)` - gdy nie chcemy aby model od razu się zaktualizował przy zmianie danych, a przy jakiejś określonej akcji, +* `reactive()` - tworzy reaktywne wyrażenia +* `eventReactive` - tworzy reaktywne wyrażenia, które nie zależą od wszystkich reaktywnych zmiennych, a zależą jedynie od akcji wymienionych w pierwszym argumencie. + diff --git a/docs/10-git.Rmd b/docs/10-git.Rmd new file mode 100644 index 0000000..c62e5a7 --- /dev/null +++ b/docs/10-git.Rmd @@ -0,0 +1,222 @@ +# Podstawy kontroli wersji przy pomocy Gita + +## Podstawowe informacje +System kontroli wersji to narzędzie, które zarządza zmianami wprowadzanymi w plikach i katalogach w projekcie. Istnieje wiele systemów kontroli wersji. Przykładem takiego systemu jest Git. Jego mocne strony to: + +* Nic, co jest zapisane w Git, nigdy nie jest tracone, więc zawsze możesz wrócić, aby zobaczyć, które wyniki zostały wygenerowane przez które wersje twoich programów. +* Git automatycznie powiadamia Cię, gdy Twoja praca koliduje z pracą innej osoby, więc jest trudniej (choć nie jest to niemożliwe) o przypadkowe nadpisanie pracy. +* Git może synchronizować pracę wykonywaną przez różne osoby na różnych komputerach. + +Kontrola wersji nie dotyczy tylko oprogramowania: książki, artykuły, zestawy parametrów i wszystko, co zmienia się w czasie lub wymaga udostępnienia, może i powinno być przechowywane i udostępniane za pomocą czegoś takiego jak Git. + +Każdy z projektów Git składa się z dwóch części: plików i katalogów, które tworzysz i edytujesz bezpośrednio, oraz dodatkowych informacji, które Git rejestruje o historii projektu. Połączenie tych dwóch rzeczy nazywa się repozytorium. + +Git przechowuje wszystkie dodatkowe informacje w katalogu o nazwie $\texttt{.git}$ znajdującym się w katalogu głównym repozytorium. + +## Podstawowe komendy + +Używając Gita zapewne często będziemy chcieli sprawdzić stan swojego repozytorium. Aby to zrobić, użyjemy polecenie $\texttt{git status}$. + +* $\texttt{git status}$ - wyświetla listę plików, które zostały zmodyfikowane od czasu ostatniego zapisania zmian + +Git ma obszar przejściowy, w którym przechowuje pliki ze zmianami, które chcemy zapisać, a które nie zostały jeszcze zapisane. + +* $\texttt{git status}$ - pokazuje, które pliki znajdują się w tym obszarze przejściowy i które mają zmiany, które nie zostały jeszcze zatwierdzone + +* $\texttt{git diff}$ - pokaże wszystkie zmiany w twoim repozytorium (porównując obecną postać plików z ostatnio zapisaną) +* $\texttt{git diff directory}$ - pokaże zmiany w plikach w jakimś katalogu (porównując obecną postać plików z ostatnio zapisaną) +* $\texttt{git diff filename}$ - pokaże zmiany w danym pliku (porównując obecną postać z ostatnio zapisaną) + +Git różnice między dwiema wersjami pliku wyświetla w poniższy sposób: + ``` +diff --git a/report.txt b/report.txt +index e713b17..4c0742a 100644 +--- a/report.txt ++++ b/report.txt +@@ -1,4 +1,5 @@ + -# Seasonal Dental Surgeries 2017-18 + +# Seasonal Dental Surgeries (2017) 2017-18 + +# TODO: write new summary + ``` +gdzie: + + * $\texttt{a/report.txt, b/report.txt}$ to pierwsza i druga wersja pliku, +* linia druga wypisuje klucze do wewnętrznej bazy danych zmian Gita, +* $\texttt{--- a/report.txt, +++ b/report.txt}$ oznacza, że usuwane linie oznaczone są przedrostkiem $\texttt{-}$, dodawane linie oznaczone są przedrostkiem $\texttt{+}$, +* linia zaczynająca się od $\texttt{@@}$ mówi, gdzie wprowadzane są zmiany. Pary liczb to numer lini ,,startowej'' i liczba linii, +* kolejne linie są listą zmian, które zostały wprowadzone. + + + +* $\texttt{git add filename}$ - dodaje plik do obszaru przejściowego + +* $\texttt{git diff -r HEAD}$ - porówna pliki z repozytorium z plikami z obszaru przejściowego +* $\texttt{git diff -r HEAD path/to/file}$ - porówna konkretny plik z repozytorium z plikiem z obszaru przejściowego + +* $\texttt{nano filename}$ - otwiera plik w edytorze tekstowym $\texttt{nano}$ + * poruszanie się strzałkami +* $\texttt{Backspace}$ - usuń znak +* $\texttt{Ctrl-K}$: usuń linię +* $\texttt{Ctrl-U}$: cofnij usunięcie linii +* $\texttt{Ctrl-O}$: zapisz plik +* $\texttt{Ctrl-X}$: wyjdź z edytora + +* $\texttt{git commit -m "comment"}$ - zapisuje zmiany w obszarze przejściowym z jednowierszowym komunikatem o wprowadzonych zmianach +* $\texttt{git commit --amend - m "new message"}$ - zmienia ostatni komunikat + +* $\texttt{git log}$ - wyświetlenie historii projektu (od najnowszych zmian). Wyświetlany zostaje unikatowy identyfikator dla zatwierdzenia oraz informacje na temat tego kto dokonał zmiany, kiedy i jaki komunikat napisał dokonując zmiany. +* $\texttt{spacja}$ - przejcie w dół o stronę +* $\texttt{q}$ - wyjście +* $\texttt{git log path}$ - wyświetlenie historii danego pliku lub katalogu + + + +## Repozytoria + +   Informacje dotyczące zatwiedzonych zmian przechowywane są poprzez trzypoziomową strukturę. Każde zatwierdzenie (tzw. *commit*) zwiera komunikat o zatwierdzeniu i informacje o autorze i czasie, w którym zatwierdzenie zmian zostało wykonane. Każdy *commit* ma również swoje drzewo, które śledzi, gdzie w repozytorium dokonano zmian. Dla każdego pliku w drzewie istnieje tzw. *blob* (*binary large object*). Każdy *blob* zawiera skompresowaną migawkę zawartości pliku, z chwili w której nastąpił *commit*. + +**Czym jest hash?** + + Każde zatwierdzenie zmian w repozytorium ma unikalny identyfikator zwany **hashem**. Jest on zapisywany jako 40-znakowy ciąg szesnastkowy. Zazwyczaj jednak wystarczy podać pierwsze 6 lub 8 znaków hasha, by odnaleźć konkretne zatwierdzenie (*commit*). Identyfikatory jakimi są hashe umożliwiają Gitowi wydajne udostępnianie danych pomiędzy repozytoriami. + +**Jak wyświetlić konkretny commit?** + + By wyświetlić szczegóły dotyczące konkretnego *commitu* należy użyć komendy **git show** z pierwszymi 6 znakami *hasha* danego *commmitu* np.: *git show Oda2f7*. + +**Czym jest odpowiednik ścieżki względnej w Git?** + +Innym sposobem identyfikacji zatwierdzenia jest użycie odpowiednika ściezki względnej. By wyświetlić zatem ostatni *commit* możemy użyć komendy *git show* z etykietą *HEAD*. Jeśli natomiast zamiast *HEAD* wpiszemy *HEAD~1* wyświetlony zostanie przedostatni *commit*, polecenie *git show HEAD~2* zwróci nam natomiast jeszcze wcześniejszy *commit* itp. + +## Podstawowe komendy + + +* **git log** - wyświetla całą historię danego pliku lub projektu. W Gicie możemy jednak sprawdzić bardziej szczegółowe informacje. Dzięki poleceniu **git annotate file** możemy sprawdzić kto i kiedy dokonał ostatniej zmiany w każdej linijce pliku. + +* **git diff ID1..ID2** - umożliwia sprawdzenie zmian pomiędzy dwoma commitami, których identyfikatory to odpowiednio ID1 i ID2. + +* **git add** - polecenie umożliwiające dodanie nowego pliku. Po wykonaniu tego polecenia Git zaczyna śledzić dodany plik. + +* **git clean -n** - pokazuje listę plików, które są w repozytorium, ale których historia nie jest śledzona przez Gita. + +* **git clean -f** - usuwa pliki, które są w repozytorium i których historii nie śledzi Git. Z używaniem tego polecenia należy uważać, ponieważ usuwa ono pliki z pamięci na stałe i nie da się ich już odzyskać. + +* **git config - -list** - wyświetla ustawienia Gita. + +* **git config - -system** - wyświetla ustawienia każdego użytkownika na danym komputerze. + +* **git config - -global** - wyświetla ustawienia każdego projektu. + +* **git config - -local** - wyświetla ustawienia poszczególnego projektu. + +Każdy poziom zastępuje poziom nad nim, więc ustawienia lokalne (na projekt) mają pierwszeństwo przed ustawieniami globalnymi (na użytkownika), które z kolei mają pierwszeństwo przed ustawieniami systemowymi (dla wszystkich użytkowników na komputerze). + +* **git config - -global setting value** - zmienia konfigurację odpowiedniej wartości dla wszystkich projektów na danym komputerze. Jako *setting* należy wpisać to co chcemy zmienić (np. *user.name*, *user.email* itp.), a jako *value* to co chcemy ustawić. + +## Cofanie zmian + +Teraz dowiemy się jak cofnąć wprowadzone zmiany. + +* $\texttt{git reset HEAD}$- usuwa ostatnio dodany plik ze śledzenia, + +* $\texttt{git checkout -- filename}$ - odrzuci zmiany, które nie zostały jeszcze dodane do śledzenia, + +* $\texttt{git reset HEAD path/to/file}$ - odrzuci ostatnie zmiany w pliku, który został juz dodany do śledzenia, + +* $\texttt{git checkout 2242bd filename}$- zamienia aktualna wersje pliku, na tę o hashu '2242bd'. + +Do ostatniej komendy przydatne może być wykonanie poniższzego polecenia, aby sprawdzić hashe plików. + +* $\texttt{git log - 3 filename}$- pokaże 3 ostatnie commity dotyczące wskazanego pliku. + +Poniższe dwie komendy pokazują, jak cofać zmiany na więcej niż jednym pliku. + +* $\texttt{git reset HEAD data}$- usuwa ze śledzenia wszystkie pliki z katalogu data. Jeżeli nie podamy nazwy katalogu( wtedy wystarczy samo $\texttt{git reset}$) wszystkie pliki zostaną usunięte. + +* $\texttt{git checkout -- data}$- wszystkie pliki w katalagu data zostaną cofnięte do poprzednich wersji. + +## Gałęzie + + +Jeśli nie używasz kontroli wersji, typowym przepływem pracy jest tworzenie różnych podkatalogów do przechowywania różnych wersji projektu w różnych stanach, na przykład deweloperskich i końcowych. Oczywiście zawsze kończy się to ostateczną aktualizacją i ostateczną aktualizacją-poprawioną. Problem polega na tym, że trudno jest to rozwiązać, jeśli masz odpowiednią wersję każdego pliku w odpowiednim podkatalogu i ryzykujesz utratę pracy. +\ +\ +Jednym z powodów, dla których Git jest popularny, jest jego obsługa tworzenia gałęzi (*branchy*), co pozwala na posiadanie wielu wersji Twojej pracy i pozwala na systematyczne śledzenie każdej wersji. +\ +\ +Każda gałąź jest jak wszechświat równoległy: zmiany, które wprowadzasz w jednej gałęzi, nie wpływają na inne gałęzie (dopóki nie połączysz ich z powrotem). +\ +\ +Domyślnie kazde repozytorium Gita ma branch zwany **master**. +\ +\ +Podstawowe komendy związanie z działaniem na branchach (gałęziach): \ + +* $\texttt{git branch}$ - pokazuje wszystkie branche w repozytorium (branch, w którym obecnie się znajdujesz będziesz wylistowany z $*$). \ + +* $\texttt{git diff branch1..branch2}$ - wyświetla różnice między dwoma branchami \ + +*Ciekawostka:* + + * $\texttt{git diff branch1..branch2}$ - -$\texttt{shortstat}$ - wyświetla konkretną liczbę plików które się różnią między dwoma branchami\ + +* $\texttt{git checkout branch1}$ - pozwala przełączyć się na *branch1*\ + +* $\texttt{git checkout -b branch-name}$ - pozwala utworzyć nowego brancha o nazwie *branch-name*\ +\ +Rozgałęzianie pozwala tworzyć równoległe wszechświaty. Scalanie (**merging**) to sposób, w jaki łączysz je z powrotem. Kiedy łączysz jedną gałąź (nazwijmy ją źródłową) z inną (nazwijmy ją docelową), Git włącza zmiany wprowadzone w gałęzi źródłowej do gałęzi docelowej. Jeśli te zmiany nie nakładają się, wynikiem jest nowe zatwierdzenie w gałęzi docelowej, które zawiera wszystko z gałęzi źródłowej. Do mergowania dwóch gałęzi używamy polecenia: \ + +* $\texttt{git merge source destination}$ - mergowanie dwóch branchy w jeden\ + +Czasami zmiany w dwóch gałęziach będą ze sobą kolidować: na przykład poprawki błędów mogą dotyczyć tych samych wierszy kodu lub analizy w dwóch różnych gałęziach mogą dołączać nowe (i różne) rekordy do pliku danych podsumowania. W takim przypadku ty decydujesz o sprzeczności zmian.\ +\ +Jeżeli podczas mergowania występuje konflikt Git informuje Cię, że wystapił problem a $\texttt{git status}$ poinformuje Cię, które pliki wmagają rozwiązania konfliktów.\ +\ +Git pozostawia na danym pliku znaczniki, aby poinformować Cię o konkretnym miejscu konfliktu. Znaczniki te wyglądają następująco: + ``` +<<<<<<< destination-branch-name +...changes from the destination branch... +======= + ...changes from the source branch... +>>>>>>> source-branch-name +``` +\ +Aby rozwiązać konflikt edytuj plik, usuwając znaczniki i wprowadź wszelkie zmiany potrzbne do rozwiązania kofilktu, a następnie zrób *commit* tych zmian.\ +\ + +## Tworzenie własnych repozytoriów + +Przejdźmy do kolejnego zagadnienia związanego z pracą w Gicie. \ +\ +Do tej pory wszystkie poznane funkcje Gita dotyczyły działań na repozytoriach już istniejących. Aby stworzyć własne repozytorium w bieżącym katalogu roboczym wystarczy komenda:\ + +* $\texttt{git init project-name}$ \ + +Warto wspomnieć, że chociaż Git pozwala tworzyć zagnieżdżone repozytoria nie powinieneś tego robić. Aktualizacja takich repozytoriów bardzo szybko staje się bardzo skomplikowana, ponieważ musisz powiedzieć Gitowi, w którym z dwóch katalogów .git ma być przechowywana aktualizacja.\ +\ +*Nie tworzymy repozytorium w innym już istniejącym!* \ +\ +Poniżej kilka ważnych komend:\ + +* $\texttt{git init}$ - inicjalizacja repozytorium w bieżącym katalogu \ + +* $\texttt{git init /path/to/project}$ - inicjalizacja repozytorium we wskazanym ścieżką katalogu \ + +* $\texttt{git clone URL}$ - tworzenie kopii istniejącego pod wskazanym adresem *URL* repozytorium + +* $\texttt{git clone /existing/project newprojectname}$ - tworzenie kopii istniejącego repozytroium o zadanej nazwie - *newprojectname* \ + +* $\texttt{git remote}$ - wyświetla informację o fizycznej lokalizacji na serwerze Gita, z której zostało sklonowane repo \ + +* $\texttt{git remote -v}$ - wyświetla informację o *URL* serwerze Gita, z którego zostało sklonowane repo \ + +* $\texttt{git remote add remote-name URL}$ - pozawala na dodanie własnego remota z podanego *URL* + + * $\texttt{git remote rm remote-name}$ - usuwanie istniejącego remota \ + +* $\texttt{git pull remote branch}$ - pobieranie zmian w *branchu* w lokalnym repozytorium i mergowanie ich z bieżacym brnachem w lokalnym repozytorium \ + +**Uwaga!** \ + +*Git powstrzymuje Cię przed pobieraniem ze zdalnego repozytorium zmian, które mogą nadpisać niezapisane lokalnie zmiany. Wystarczy zrobić* commit *tych zmian lub cofnąć je, a następnie spullować repo ponownie. * \ + +* $\texttt{git push remote-name branch-name}$ - pushuje zmiany wprowadzone lokalnie na danym branchu do zdalnego repozytorium \ diff --git a/docs/OOP_r.rmd b/docs/11-OOP.rmd similarity index 98% rename from docs/OOP_r.rmd rename to docs/11-OOP.rmd index 2497f16..5de853a 100644 --- a/docs/OOP_r.rmd +++ b/docs/11-OOP.rmd @@ -1,12 +1,4 @@ ---- -title: "Programowanie obiektowe w R: S3" -author: "Agata Cieślik" -date: "22.01.2021" -output: html_document ---- -```{r setup, include=FALSE} -knitr::opts_chunk$set(echo = TRUE) -``` +# Programowanie obiektowe w R: klasy S3 Programując w R jesteśmy oswojeni z myśleniem kategoriami funkcji - przekształceń nakładanych na macierze lub ramki danych. Jest to naturalne ze względu na zastosowanie R głównie w statystyce i pochodnych jej dziedzin. @@ -14,7 +6,7 @@ Tymczasem programowanie obiektowe, choć często niepotrzebne do przeprowadzenia Ponadto, znajomość podstaw systemów programowania obiektowego w R umożliwia nam lepsze zrozumienie działania bazowych funkcji i obiektów R oraz ewentualne ich rozbudowywanie. -# Systemy programowania obiektowego w R +## Systemy programowania obiektowego w R W przeciwieństwie do wielu popularnych języków programowania, R nie ma jednego ujednoliconego systemu programowania obiektowego - jest ich wiele, przy czym różnią się nie tylko składnią, ale też funkcjonalnościami. @@ -41,6 +33,7 @@ Każdemu obiektowi mogą być (ale nie muszą) przypisane **atrybuty**. Atrybuty ```{r} attributes(m) ``` + ### Klasy i atrybuty W systemie S3 nie tworzymy definicji klasy, nie określamy również, jakie atrybuty obiekt danej klasy ma. Obiektowi możemy nadać klasę przy jego utworzeniu, z użyciem funkcji *structure*: @@ -296,7 +289,8 @@ setMethod("nazwa_metody", "nazwa_klasy", function(x,...){ # działanie metody na obiekcie klasy }) ``` -### Bonus: wykorzystanie systemu S4 w *autoedzie* + +### Bonus: przykład wykorzystania systemu S4 S4, choć bardziej restrykcyjny niż S3, nadal daje dużo swobody w przypisywaniu klas, dziedziczeniu, w szczególności w manewrowaniu wbudowanymi klasami R. @@ -323,5 +317,3 @@ setClass("BuiltInMeasure", ``` Następnie dla każdej potrzebnej nam funkcji utworzyliśmy odpowiadający jej obiekt - funkcję generyczną klasy *BuiltInMeasure* i zdefiniowaliśmy metody tej funkcji generycznej dla możliwych typów zmiennych, zwracając NA domyślnie i wynik liczbowy, gdzie to możliwe. - - diff --git a/docs/12-shiny-moduly.Rmd b/docs/12-shiny-moduly.Rmd new file mode 100644 index 0000000..07a0a25 --- /dev/null +++ b/docs/12-shiny-moduly.Rmd @@ -0,0 +1,197 @@ +# Moduły w aplikacjach shiny + +## Czym jest moduł Shiny + +Modułem Shiny nazywamy odrębny kawałek aplikacji Shiny. Moduł nie może być wywołany niezależnie od reszty aplikacji. Traktuje się go jako część większej aplikacji lub większego modułu Shiny (moduł może składać się z modułów). + +### Dlaczego warto używać modułów Shiny? + +- **Uproszczenie kodu** - moduły pozwalają nam na uporządkowanie złożonego kodu w przypadku dużych i skomplikowanych aplikacji + +- **Własna przestrzeń nazw** - w aplikacjach shiny ID obiektów z inputów i outputów pochodzą ze wspólnej przestrzeni nazw. To znaczy, że ID każdego z obiektów w całej aplikacji musi być unikalne. Jako że moduł jest osobną funkcją wywołaną w aplikacji, posiada własną przestrzeń nazw. Wystarczy zatem, że ID obiektów są unikalne wewnątrz modułu. + +- **Recykling** - ponieważ moduł Shiny jest niezależną funkcją, może być użyty zarówno wiele razy w jednej aplikacji, jak i w wielu różnych aplikacjach. Dzięki temu można z łatwością przechowywać gotowe fragmenty aplikacji w eRowych pakietach i wykorzystywać je w razie potrzeby. + +## Budowa modułu Shiny. + +- kawałek UI - funkcja odpowiadająca za *User Interface* w module Shiny + +- kawałek serwera - funkcja zawierająca fragment serwera, który jest wykorzystywany w UI + +### Jak używać modułów Shiny? + +Rozważmy aplikację składającą się z dwóch paneli - każdy z wykresem i danymi dla dwóch rozkładów, otrzymaną za pomocą poniższego kodu:\newline + + +```{r eval = FALSE} +library(shiny) +library(ggplot2) + +ui <- fluidPage( + tabsetPanel( + #generujemy panel dla rozkładu normalnego + tabPanel(title = "Rozkład normalny", + tabsetPanel( + tabPanel( + title = "Wykres", + numericInput(inputId = "normal_n", + label = "Podaj wielkość próby", + value = 1000), + plotOutput("normal_plot") + ), + tabPanel( + title = "Dane", + tableOutput("normal_data") + ) + ) + ), + #generujemy panel dla rozkładu wykładniczego + tabPanel(title = "Rozkład wykładniczy", + tabsetPanel( + tabPanel( + title = "wykres", + numericInput(inputId = "exp_n", + label = "Podaj wielkość próby", + value = 1000), + plotOutput("exp_plot") + ), + tabPanel( + title = "Dane", + tableOutput("exp_data") + ) + ) + ) + ) +) + +server <- function(input, output, session) { + #generujemy dane + normal_data <- reactive({ + set.seed(17) + data.frame(id = 1:input[["normal_n"]], + sample = rnorm(input[["normal_n"]])) + }) + exp_data <- reactive({ + set.seed(17) + data.frame(id = 1:input[["exp_n"]], + sample = rnorm(input[["exp_n"]])) + }) + #generujemy tabele + output[["normal_data"]] <- renderTable({ + normal_data() + }) + output[["exp_data"]] <- renderTable({ + exp_data() + }) + #generuemy wykresy + output[["normal_plot"]] <- renderPlot({ + ggplot(normal_data(), aes(x = sample)) + + geom_density() + }) + output[["exp_plot"]] <- renderPlot({ + ggplot(exp_data(), aes(x = sample)) + + geom_density() + + xlim(0, 5) + }) +} +shinyApp(ui, server) +``` + +Aplikacja wygląda następująco: + +\begin{center} +\begin{figure} +\includegraphics[width=700pt, height = 300 pt]{img/app_screen1.PNG} +\end{figure} +\end{center} + +W naszej przestrzeni wykorzystaliśmy nazwy: + +- **inputy** - *normal_n, exp_n* + +- **outputy** - *normal_plot, normal_data, exp_plot, exp_data* + +Co daje razem 6 obiektów. W aplikacji *UI* zajmuje 36 linijek kodu, a *server* 29, razem 65 linijek. + + +Zrefaktoryzuemy kod powyższej aplikacji przy użyciu modułów Shiny. Za powtarzające się elementy (tj. panele z wykresem i danymi) będą odpowiedzialne następujące funkcje *module_UI* oraz *module_SERVER* (odpowiedniki UI oraz servera dla odrębnego fragmentu aplikacji). + +```{r eval = FALSE} +module_UI <- function(id) { + ns <- NS(id) + tagList( + tabsetPanel( + tabPanel( + title = "Wykres", + numericInput(inputId = ns("n"), + label = "Podaj wielkość próby", + value = 1000), + plotOutput(ns("plot")) + ), + tabPanel(title = "Dane", + tableOutput(outputId = ns("data")) + ) + ) + ) +} +``` + +Na szczególną uwagę w powyższym kodzie zasługuje linijka + +```{r eval = FALSE} +ns <- NS(id) +``` + +Za pomocą funkcji *NS()* tworzymy osobną przestrzeń nazw ID.\newline + +```{r eval = FALSE} +module_SERVER <- function(id) { + moduleServer(id, function(input, output, session) { + #generujemy dane + data <- reactive({ + set.seed(17) + data.frame(id = 1:input[["n"]], + sample = rnorm(input[["n"]])) + }) + #generujemy wykres + output[["plot"]] <- renderPlot({ + ggplot(data(), aes(x = sample)) + + geom_density() + }) + #generujemy tabelę + output[["data"]] <- renderTable({ + data() + }) + }) +} +``` + +Ostatecznie nasza aplikacja używająca pomocniczego modułu wygląda następująco + +```{r eval = FALSE} +library(shiny) + +ui <- fluidPage( + titlePanel("Przykładowe ciągłe rozkłady prawdopodobieństwa"), + tabsetPanel( + #generujemy panel dla rozkładu normalnego + tabPanel(title = "Rozkład normalny", + module_UI("norm") + ), + #generujemy panel dla rozkładu wykładniczego + tabPanel(title = "Rozkład wykładniczy", + module_UI("exp") + ) + ) +) + +server <- function(input, output, session) { + module_SERVER("norm") + module_SERVER("exp") +} + +shinyApp(ui, server) +``` + + +Powyższy kod jest czytelniejszy, krótszy, a także rozwiązuje problem wielu zmiennych. diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..072e41a --- /dev/null +++ b/docs/404.html @@ -0,0 +1,402 @@ + + + + + + + Page not found | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Page not found

+

The page you requested cannot be found (perhaps it was moved or renamed).

+

You may want to try searching to find the page's new location, or use +the table of contents to find the page you are looking for.

+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/Notatka_temat2.pdf b/docs/Notatka_temat2.pdf deleted file mode 100644 index 5beb963adec91ca53937e5a66f2894a94a8100bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258875 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

sM;6wcd(YAjA1cY$%fi) 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 z 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

v{iN`c3>>iiHe75eE_Y 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 oI=YYnO18A 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 diff --git a/docs/_book/404.html b/docs/_book/404.html new file mode 100644 index 0000000..072e41a --- /dev/null +++ b/docs/_book/404.html @@ -0,0 +1,402 @@ + + + + + + + Page not found | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Page not found

+

The page you requested cannot be found (perhaps it was moved or renamed).

+

You may want to try searching to find the page's new location, or use +the table of contents to find the page you are looking for.

+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git "a/docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia-1.png" "b/docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..53ae0df41ffd444f4ede7eb8e56a3682477301ff GIT binary patch literal 10713 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 Q3&8%VDQjIVSF(=y7g}_3A^-pY literal 0 HcmV?d00001 diff --git "a/docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia2-1.png" "b/docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia2-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..78d0668b6c0b11cfbb99a912e50d71159eb4c407 GIT binary patch literal 11719 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 TdC~(k;73_OUA{!t{Mmm1kx%)* literal 0 HcmV?d00001 diff --git "a/docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia3-1.png" "b/docs/_book/_main_files/figure-html/dopasowanie po\305\202o\305\274enia3-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..925ed386160c039e884551ff5f061a3270f07d16 GIT binary patch literal 26999 zcmb?@2RxPk-~Q2ZB023rI1P!=5ZOXQRzpNa%PwSQtB%qnkt8ERGBYwGDMD6OvXZ^` z9_N4EzQ6JOp8qrc&;RwD*X#Q|;+*^3=l;Au@Avh-uIqi@Kc#YCoIZUdM*EE7Cff7c%*&TKaHe-o7W6&YZ>$)hApUH~Y0lThfP1vGt+LHmRmy+= z3Gbaa9nv!HlfA_0xmn1%t-!Mym&{T;@lrw<@U($kPW+8&nGv33mM;;)Q^*pAt#~?h zi^PJbw=(|^Z?nFlZC!En?urznicr(qIJ+kM&iu!0y;=8$TMLR!U50WQOSGMwpKKEs zw(a{l(3n|}pKse!6%`Ys)cat`NP|^b;qj4b4L!+C6KuoB9&M&_{uIoaON>fgLJGN| zq_v6S&&x+Vn3M32q zvdyEufAtM#8H?N9EhG|+!XU=Oua!LHDi|LXwP(+s(+dr0H(Dq9>nHo`Yu}xVj)?x! zZ@ZhDn~8en>{(Av={Va_!(eB1l`{3{@w;qhCr+MBJiqsK{92?)9bPax4xfF#P$7$ z{qzkDGqnY%@+VK8JZrw3B-2U>36Qt69AOb@7%Grn7%t+AZ^*ETrdhuKJ3ez?J>cKu(97RmRwgy8ly`Z_RiUjZ z0$5&|T5`E^G!|sbmMtUwOBq)iU3jFTrml`FCELqeYMhdiQe9o`z0+9d#MB-^!T8wN z>I^25TRz@3kTqKR%$%n)jr_&`prNkQ@YmcsjH%|$O_$#%8&`6Ri#v9F_g~mE*Bu!w zym=LOrK>^fD;!lSSmVr@ADWYim%lRE>+h;~sl=WBHS*V|-qT7ig%q-*cN~90rm6%< zh+g_kd-UkhMt-fnUnzV;a#Y&XOmBR_lWp}WrnPBlX+AzaeSLj7bM1mT3p1u%^}?Ye zUVW3lbMKsuQ0lG-JMQG<6d-(k1V*$M)2xnqR(rS$pvjEagmG(m-)L;kh9O(o==o z4s~^PBNYMSb_1Fk13%w~WsPjJYj`d6giS=n%!xifIWMA_?Ue5HnZcF&S@&=Or(I@a zQIV?TxLTkoH#c`s%7+y$wKr$Ry7Q~UULf+bN?Y>oVS`jwR{F+DEljm0)o@40#AJ=v zThpz~yh*?ACU^d&fZ91KSh6V=s5YO>Og)r7u{I>qX z^?ET8p{I@^1pSI=w$tT|4-U1n2+x7c|xw#Dx86(%}T=iW=cNzvmk3P&w?XQWwfMxS3 zZ13*w4ivLlYqPwoG1G4M?%jNB`2_`f*c14t=YyI4fKa~pti;5`172af&n_7|x=E)k zushSbJJd-eR3aaHzmU$c)p>Ky+=!z7&!0v@1_lPYH@}Y+aD)rQk zSK-XjqhHslO1%EkRrqW-qsuB^QtS&cn;!h5J)GE)9sY)^R@}*Yi_EPOc~I@%etv#s zU7>3~6Obx+`tgda{txwSNB8gFFC0+f7(Ekektdmz9eX=UZ)N$&@Rt3TX(X{q{%mzt|vHm-;7xT2z> z^FU3zE#241;H&TDIi6lR{3oV|x%_e5@e!tSS&z(t48`jT8#Zhx@)&%v|BBP? zz?}-xb3<~nvbPhNgZ~yUJ3J+}r+RWo{+iw5$FH4ss;+#uj5K|2)Y1_tZJzo0&hGxy z=I0vwwmx>89EhF#G#{kurki#1JzdPSCg${ku?HLYvNj!>*|%~1`fvT$eE zUAyc(=j}sNH$6IxW`|&=`WzRBe_>7R_{d&gI8IUpZ29{s@bS04guR!>l8;@b|-s_E#o zi@dA`IoNqoB?jwc8!Ylziad{h^jC^lxsH1(wX>t6s5VhSRn^ZhtI8O4VqrO>S^lFf zP~?s!nMMeF8-)#%c3vLVguzB6`f3BJraA$ z=J#C@M$)T08U7RKQ^` ze7IJ3J+-kW!=@K7GF3r(+1+ z-um;TsQStMxpr>P`7bPt$GZj|G%U4icAgxs)iZC*IOl)mdTM>M%WS`=^ukS?T+wek zqwaoACK6>oaVcK?jDGv}?X7B`he<-0uZn2*+<)=}JDr!Ge}nA$_3MQwS9`P8TZQql zTILkZ&&@W|8D6;9=YpRZ#x~=l4aFd zxO3$}7b1W8y+sp!9=56im)v5hWA063vZqgU# zS=MWxJ9q9p@#wOO@FO_`+Klu6N;MCjd!Ku8-x%O`D_4k^kPaV+R{}MuQ%wrQie*a?#Q5Y(zf1B zF7xBH>FMb<18U^`H~xHy)5!#27!UK5dS@QEB5UX~^Eki5Kze5z+x*P<*%gqW#z|| zP~_60uYy^HyR)lRB_G=&GzvSl1orIlKcN2rTUxW_+tVE<`HT@1-n(xTuM|8%5^cN10J5;|CCNJ# z2t@R;RR!Hm$dNlvDja>!M6aHl+lp!>$0{j=w)RtRl%NdbS=Awij1M1bI)8DZ%LK$P zO7SZ(7`?rmxvgI6i0})b%lO0-&Bsy)p9k`{ zyx*YOCS^Z7as2pkV6eu1+gbDQ?+jkMxVcy8sxD>7s2E?y8L~^^9eRoO=NEb!Y;Xzg zvatCScT6+Z9n;{La{+*T^GJwKiM#U8*N5nx1?c|1zU?_Jz_+@czUnl}v9KF`Ki?yz zzgr!$HpFqP>&D#F@QlE*pTGy(#BHnWc0U$>giaKY@7nJ#_O-f>{Q#rRA56HIM9TBn ze!i<1UkAEkyhX^?!5aC4l}-3s_mA*kr;$Q*2&Jz?D*@QiXRqESW{nRT*P#xAO;A=) z(8L}_soT3zacM25S&)P5XOk3{v5MmXBIdg3mhH$Y4<0^L=05A-FoX7v!)YiNhY%Wi zmWf;~9Q(c$ocGrc`VBjd^?Qyj66JOS;j`h|K5{*agFo(xEZJ=z%)$Hfr zU;a8X-a9%n0uI2}+Z#JS6^*F!OQAjAI)x4$!s^DNq&aj3+JO&<1X@#%)f(@svugYH z6v<>*b?!m_wtTd|=%MzBh}czx9>qc;{J-5_w;QM(y7(J%X;X-h69?Y}AERv*pW|%X-YuPR^F?e;XGE!lf4{ zvT8*h*qJlU)}55g%eIo-yjms7Wq1lJ57H>W1$uzvlc8b9Jy!#pWgC6Nb$v;dTuO3_ z_(T?>ob>heMVmQQo3pTsW>lBh?y+VEx&bv!&2(4#!eI7n97;R+>8n>+Kt=>#Bq#X@ zd=TrwC7Hp zI(7cM(Z0>Ul8p~u{Nxs3mSK!bUF1uDd8@*xuPW*pCDeI#qU6I_pis6Qe^Fs`9+dwf z`}IF0&A4Nk%l&{u)ig9rb=;ZEQZEqcAT)Gpul2^oo{K84rsk7-u{?ua=h@D})?spn z`bD2OeULhFM+dvK-hGQ7x*fNH6mII?$TtTPDk(8BIc~|jH6gB@U_p>}5MMzx?#tx8 zcizjR(mWnKc<|&&O$Pf%t90#=%%^qNR>%9*c0^k9hgBFI80NjPQ6=)MOJ{^>pl?Cz z4Y5F3^0PvD9tl3YSHT-4I-o?WHq_26wZ7f*enO8Hs=27B=%GW0v^L$&{~cRVd#G0X zAgGksXtGB^D?WXVto-rgsn_bx^jeO^B_{qbOJ%06UAJzfI}1KvUteFA{P3%{msg05 zsDp;CuE4#|ZEaVNonz~;ILyn-OQYOad}#TF+3ni3i^CI@Alan)WUtm(+=mb93rp%u zQu4oiG15_yK{yK8wsUVH#i z95ncT;=~D~KU;B*7OPi!lIDLX3Wi5U&h7=JSkyl~+PP`NhVh>2-uDF@iV6yQ1O!|b zraRFXfI;|ioYOg3lWzs-H~W>~iG&Z!MZBJL zux}mpM@&#>WXbfT>*r(Dsq(;KbjeNY*Gr6*%PsV)M^~Gr`uX|Yo46%( z$gg;V?IF{*@7|s4UHkcNW%nD?<%s4p#6L<5lIpH$X{_PcsqllI^V&tl?%W095pA=9 z;i=w!A5~wn;3Y~(ta>lN^{c?Z>j(VbMMo2D5Pdd>jxIzKjU-AF@4{?_gs^ap;b>ag zVJfZB%zWZAf`szkdRxf7Ra-1u+&39qy~6C9uvao08JEvNU+LQdAu(9rJ&Nj2?VftB4p(p>>1 z2HA$@FRqu1rR>IsM@7XcJ#Vb}pA}v`&^^O)g0;^!bEm?J zJGryTu}0^ut*z6v<&<5t?4_B`X1L7vG^Asd1Ly0(qRxQj;1IJuv2ajSG(9HfJKfPf zeb=5nV84D;R<;lIw>}iiMmia3V4WYmDPid*y!CO*nWVcQ_uEO^Hf<^px68w#ds||q z&ml7~c1=y)Y+@!dLtC7_a6r4@$_f&)lB!oVan-YXQqJ#fIl#nCXC4Y&6Y+V(*tGsb zEG6{K8+jLf1tldP`j}>HaAMLHxDmJ{uh<$!V*Uz6ntD`k?z#0MmPG~0Ej~YIbFlVplE@tXA;d=4G ztWhk|?wvauZWL^@yaM*>;K767qc#a>^Qc;;)c50>+K2@L!9MWxtnH!VM7Tz}W+K&6 zn;cB9U++i1O-Kr$NO5XsBUP|ny}b767p=GNNxD|#vj@LwOw=z%6La9e0brUoi^B*W zP#j^G=5Z_!iHz0dKxN-w><3{+@VLxOOvt_{n>F|a2-lQrbw3Cr?dU3qkQH#5bb%~(&WC-hu~2|AC_il;qPDWuM2q1fxo>f9usFIl%#U% z|F5p}Kdh|(qGH`v=v`tB22;U1Ic_^wlg(Yl5(mmL)%WUMT94&w#rQJRTPzOz$d#?@W5JcD%9hIpjZoLlyWz%VVA>B$1i9v{JR@8n(-4p_H#Z1hYyMZx>s zyLSX4-Y+1af&y7;kR%HELS9?@RfSO%D!x@_qh;EDeUT>H? z8DN#-=8<0d`R>k#@Af&Y^OKev!JfPM3(NbzB_jU+E%vjT+S8BzH-&rR(;51YqHS82sL!Vnr=56J0Zjy04?h8&U*C_SY;q;KE4$$rlVG4467?17 zM`tGo%ZiJWv|^FHl@t`#$i4{=FL`;W*ht8%DQg;ya*6I<;`G#SF6#njTh6?3CpR~w z)W8MB)a&)!v~Q)Q6G5>RD9|x6dlkGbEiGThpTZmDGlt0J@mV7Thx$h0Sr7XyfxUaz z%c4Umi_|fD>PN`G)HN%lx6kz@mEm0r&GcDULVdcJv!s+QpJbjoY7NNY5^{;)!{eF{Hh)M(n<@!!b} zxxQbl(=xq{4dKEgIKm$N$-N>VEw6>5E662Qi_B6PsVWUJcp>tLxJb98%%)A71a&f! zfxkgf#F_{8^q5d-^g7`f^=L|HL`1&pGn6f)=h@T?vFi8oPHSpzQL88^?YF(BQ?m74 zl46L8fZxNo4QcP*@y05W*=#cXuU3>i)Cy#*{v;%J_K9ClM9)u<4xtG@|b#?U% z7kVoNScPirIl8a_&_q5i^n<*|PF>K{2EFJlZ3xBe&=AAY1Nt3zzh1uo;K%s!<0X5Z z-F|coJRIQnz^xVT2#ZB8z{jNe{*ldRl$2JTJ-ju-I<~9J=$S&Txs1cbq`I972R5$) zEF-q_=eMSXs(gdTFP+Q@j7dlsB3hoNkFx}cIrOryun=&1K`*F?UqL}(ApqfoRGtH|!&dC~ z)%WBetN783+#1dNB9HXan@>sWjce_FZZVxj^{g4jo*!e|fu>oKqYSM#NdJ~39ubkr zhyb&-vfl$l;vqHzRLXjId#??yKB=haPKnh@F?sHQEmW#wmO6`e1^PxshF3>ObD1QP zT>sp+yh4K{&4q(vVp`;~5fLdw6ph*dhSQU`%{{8NT z^wHpju}DZ{Rp|!S*2%dSrx4sU3YMfBx~r1Xca%tXil^kn3$!qsR{?Fkv#MXSDqCK%p8cyCyT*U=(*01`|@dIkCuwFT$_Rlsq*S@MW#N41u#$RWMgzPCq6R^ zj%ns3CXNKt=OQV8GJ4}o@fqJZWJZ4slC6J3Sq}8~*VNL=uxOFB_l|Bf3l_JFtL$bM zGV)r8e1fZI)SJu5=~HP1_63AfGRy&@Rvp?7-Qi&G>>6z}06qdQ5ag<-#K;NY{#T+_ z>hZe#WeNSwIj+zXX%vtTqs>PGo+Z;t~*P1tvwdvPC=kvNVu2_7LkpO z?ZT;3UN2r8cA6Rj?OScXS{!MMCy0=&ugUVM$DI0+MA^>EYm$3=IY3&BxtwP~(#6~* z!DD-Ar&L~ZmpxGD85J?hnV(3IQZ{+t7=HP?i9JZ ztJ0xeIB(pt>MoK27_0137C~49z|~Br>Ve`0i?C7{Znr+HPz zGAhk0Zd$i@Es4u}Pb3L;3!6B~x^?R|ZPI|A+Zj4D@Bzdf)K5ZjMAQ@H|4J%YZu6u% za5bP+*e079c;9u{l46^Uo5>~-OO9S;oz|@ajUpMK^ z{dp+3)wyhhYb+8VccR{$nQE5azA?IbtM>bhMLW{rNPPo?CWtAr9;hGVgU$2`G|FI~ zHtjvX&$_GJxH3X>@AH_LnEb{hCxIt`T!>I@8ofJs!z*`$^l$A+d`&`cX!VpPm}Bs> zJ`*oqyntjUl9&K>TxZToa{q-s<~j!(h<~t#EAL@_<7rg4b;MCYY3Yanfe99K1hV_<^`gT zKqqVBhxYwx7JTMzg4Cp}kKDaxL=>+j8FBmzsQs_3Sr!~d(CiEPZB2EK$`FNG&ijo; zl%^b7K#|W~duks1NEwr%t3Lmcf;wo)X7lG<^o_&nx0u5;ZcaDf+Vpte(M1e=P56Sb zaa4`_+g8i;&v6DU=hW1Ube5=*!?JaBb>j%|`+<0<{|)@o1y2y*cTopEDp8N@UWwr-+G;2SxU9+?0Cn+O2^Jw~UW*U{;>Os7#+u3Wjs%J&!dAIo&K(e4z4B)U|BT?!4A_1<|Ww>ghWqrd?4{k2g6^~e*lyv!T-Qe-7YzU^R%w*}XZL=^evO@mFX&XIvNIA-~&1cn)GnGFofy1+sc zBon+MkICg|Z=1l_f;K5GE=G1iR|>{q0%&?V2BgP-jH=%?ZX=HAW{}}CNvJ%u!!|uW zzgQpuEqJ=l$&oJ|@IQ0r%)_v#g@Qutyf=Kj0$%^__3m{Sxr(-I#bvNp+ zQF#dJdrwafbWDP8AMGro6YA)yePzMYIgnH};&p)v&cl6o5K6j}5i5jDkU$M>1m~rqi`g1YKp-)TSO{BmAr{GN#o9Os#EwlTc zo~~0Z_i!L*Tx?KIkb_Q>-~SsrPRTw?l%M~4O^oI`Zl#}D_M`CIR9j>tgk;hHR8heF z!2aBI##aUF=-Lw%=_5@a@yj7ovo7>BJua+@*UMou&pKV54KZR9RUW>iEH>!wVz8_I z{=~3L#=QQ6GWls>V87&rFtA+^>HuC#3JXtX>fvkA{E!j*8#7bwC&I;K?7GS?P4v|j z1zWmJn5}$$!7Tl&S*qdHt2aeXdRxy;-Jr^&iEKD?{yYz@t2REktOLorKGQBfYdsG2 zv?r-d>O!*7Xj;fI;W$P>qD_)=trZ8km4IXS8iOAH8x3+n^#3l?{e2+SnRR78N2 z`t!e0f6#iTQ3&ShcPRjU3J35{{Rz0WQ(=U~vtS*8Q;8h**&LhGUV`JFn-fj=#eGH> zl=7@~w38}bYtQJmjqAO0$#`DbU6nzTDLlwxJ?_AkO$3#}_ZL9vQlsAwvPw-|JlMDY zC+XwO;XhtgH`E2QhGfweqVPAGO)lT0z0df^&i2ReVE7=nxPD-XuI8n^jfxu1NhNG( z(3Tcy!4?a(bLZUCX1F_SGxOp)tk}ymet+&dUl@PXAz$=Sbg z`l75SW@V<-h*0mZU%w#ATf;sIKWHC-AQZ#JEJ}0>!J=(twl+bG87Q33xRpoD^|GDp zLF&O#+4|s`0g8oZg^|!A#r~wJuHV+L7z{i8^{7JyY=z3hV%~DP`zwHjJg3ui(F2c>-afelEXj)zENgoW#Ui9zZzWoGifE+21 zGiNziZE0oYPJu;d_4P|QYnuID$jjPKX%aii-~hlt3X~ZGW9OU^y^4b^@%>u)ng<4?%3F zej$vT^mH_H+`k-8F=S+9{A#iA$SBQam%thaC${=(=oXfh`LS(VT>$TACTcvuQ*T_R zidi4l82(035ue?e+xFCUv0i-2-5GBN^OZw`Ct!%cz{{sRr@e!$FVJNBnw zk3t|tyPJ29H5iI=U}pkRueS34pXsLI?Iv@W41ZrT)_Wg zOu2XOhH$h$*^vMePRrOrP)_Q%KrMpJ5Pc)WkM!0hlmql86$az>XJ7L7oqMoYbYl#uQZyjpMll7RInnF~IlyTsc z+#<@^8Gf}}5=L-Y59}e4yaBw)En;2Y`X`7Bp#(MWH>lik+Ub^%-ef&c*v0<&WjxtM z4}3ZVMO+e*$YqBWbMrcQZR^{Xrf}2jT8qKQ8t>7uTf#h|tPv8X5c)O+X zzoPMsj7M3e!Gfvvu{JAnDyHAB)zv9(w>*0EhJ9_qYkFKbIqb}#O~=gtjPS+AH3d-8 zkTsyWmu9G--sZI{ANAfDPy#wC0vvUkc3eXAG<(75hO~WR>PV+reij>7YHbSPYx$7^ zB5X0ufk4IsVije2gPg|Fjb!Zv20{;`M#(|Rzw`C7ab03K#Nscl!ut0q# z9Q(G>-U*o$zl4x!&%%_h8e z=PVJFLhEmn2uHPQkc4LT^%O1e7d265cRwpsQ&Y44{pl9yAh1rW0A=_WeuCUS4C}8F=q0zRKRpMfbmM=lkAOX$v)g=+;B(sJzjB!MUhc8b*j(5t)|j82a8%6Ademy08dFOS4WA0oU~r{(Khi3 zq%+W`0KvrQ0Qo(T-eQ1~jQD<%oX5IO6SEP9>2s|}CZRD<+8A3D+O!0q55la(GpU3Nbnbj%FIonJD`ck*1qr{*$Gj_K`>>1qt1I{WzHK zT9;^+@-lPnl(ouc^(!975u5RTcoas=a#}E|l-d6Q?Mz1FfL9-pM$6U7$3j>+rRIpy zBGi?FGePwFLYijJWN^esB!F0}G!!xENih5_Xi^X6h)EfmI$^*|#1+?k6{j zZFL-U@9@pPRwyL);_(m=pEjbB2v}l^h+^`fOTon`w5!R4*76vj09pY^u74${X9<0$5m0$DwsD*QNQq~HvAYe!I#%iU#*S$gAE5AkZ25X#d6TU zz$=mqSGYTc_yLIfO^m4P!W>i!@Q6Sp*V>DGF{1*Tc{AE-SVzuD6BBtMF4%1lEfzao zHeG%y^#~b$xEtr}ve8w7diC`^q+jF%Qw)_>VZ@G(84Wp9Mu4LB>WRVTU_U>@6fJa6 z{@&i(X(tpF1K?S&FlsZkfM7?9uxn9|X%uKdmP&ppAi??g6usZTjd@O-fErr?9I|J6K)DqA3DPHX=sL|} z7zH7$wv@}zNZt*=cM<;P4H&oFNJ)affBou0#y{*K)omN?_uw#;wYfp=S5Vt=6lqv% zfzd!4@9Z=tdY9Q?`gAb7s|8=a0LvY%4kR=pn-6r*jj|pBIvL+w7u(0SLbj&1=ZMki z<~$6f0hqJVZ56x$_Dc-To{Ln60AqerB8cF-GBRFzqQdF~-Z;})aPsCh0cf}THYf8( zT*?rLtLx4&J#<^0^`x{;aksUJj%*0lw7jnO`e8V$tFPu@ZKRxMz5{(@z713++kvYm z5P2Aox;-{#{qQTicu#@IFt8=3Yt@uxk6>S!aq($DKqk0vD$U7&l`0Pvcxq6{)LcFK z9QpLwv#qYX5i`Z;!{+K^)uZ!Tyms5(Ta#M9&Gt}m>&`EAzK)U3$4ijt-_F;B|fNR5}$B)M~rO~dYAFFYujBv zjB@%Tyj|HybiFSqA}3B<<5CTt}N zK2`qu^;n4`JW^7+e{U(*Y#%uib@~1IHqMjX!4ltLlIn}E2)SRr%m|9*SIwaIKFf6W z)%O|>-o|9?dvy2UkX6Vx>h%4Hgi1`&=u-dgL*YvgFYRkW(g`rnuFIK6`vTz(JR&tJ zE9zgmNU^~GtBW*CEoS(2`F+>iN3X%wtbfK2pO~1Kc97=7uiMGxm-wzS%-GqP9H_QG z_xacq98eg@u|)_W$pOAibXDZJ27dV>PnB0txUZTi5ubG~TAdoTj981@;QTm+>Z&RU zuoc+WTi}(3b-h=qOxEMkqgB)|h()JgAjKBDK(ih(pjnH7avQe=R7Uid&jSPJu~|g+ zg-3yKlJy`OJ-TiJI5k1RvTMT8lGB8+UQW_s>>@~T@_wf&3suRs>VK7-xI_Pqqy`P=`B90yH{B7yFT8l@P*AOnP9TU8*N7Dr*1d%Y9`HRvd?G zOkxQ!irnP|$qr{#F7XDSJA-ENnfx!F0Z1nJ(2VzrDGjrUvne1}_btBf|7nEzUyk(O zPd*bS&TXmn{nlax*G!lys0wG&s$!_^7Tvf01>ehJ5WCqzEb#Q{M<;14^LDYvJial8 zpWOWMKBjX8D z_$AwOE_a!HT5@ZL4E;&&MUVUU;e4vf@Nz>keDHvYN-MmY2xrJ&P7=VNUfu<{PUr9a zw!OQVdk7{6+DO~eH^A*(PRm}3n3x01KMtwB^Fy^3DldovbPitlE13!zyT)DK2V7Fe zv>=zvEO77v|Ie)nJXUL0t&k(WIy?aAXbi=hbd$c9M-+T?EBt%*M1hVi zNjke|CHh>Ab{(h?s8k?(>W@MFp2d;%mL3Qz;(wz1{HssG-nM2rOxa`Y@=$eSIky;@5cl>bT7 zzxaI1;PRqX^M(69X6jv|3#g=I$A5j%=hJbj7x0;jUI6$?z*VPUq}82y6Kq8@f+_#0 z=QKwJA0?k)!Bmd%=ft{eHUeU(Kxix;K6pT*0CapWTYQw11n$3bOjcHQ^f}rew-XyV z&K|~i6ja{l!NGdXOkl+YF&k4IT?_g^9ZfGjeQazDl?^2~S+p04N#;xCEO`t>&@lRZ zBwrAlGc|QNuCDO7RhtBgT17}Sy@E^(CKCAW8XPQfnFA&u2M#`86*9e9m<7tE^V7eC z%Mzveob|Da6j=}bU)ps`OHK~%D8I+bDIg&5;rw2(UJ&SQ;*$Oo6RJ`Q+Ops5A(Lym z5HpxbR>_7i2Zsz3-3A_DcM9m~QRBhd_+|k9_HbMvnG;>k%fu*vDzY9v>zf757LkMT zsdf0Axlr|=Qa&&PFeGtGe|LycxH}`Iuuu3KewGK zLyV=%U%M8g>Iie!lsV%#F$8h+;l^pg&=Og>XZOfH$X(-l2MyPaMbJAHr4OsW6LLzM z5*ge0R7WwI@o4SH#@|U?tV7+qW#oKMOqKI^O3u3eewNAINoct;==MuIqwMQfGKlTpf0|72nw7d*TD&wcExvSaxH&Qa zedp`-?AtdyD_p;BUF9h=+3D#SN_JBreM6^-A zpiTMcDtI2gY9L?X08B*0=on)qJ%pZ8LIB17X`D!{=cgt7JMUzM3|=b#K!>2%h{p@ z5`r)y@h^A&Q}Ywv>je(UMT~Y9|4n0Yi5a__x8d*;UtWa5@|!V0)D&6oH{1e@%HTo7 zy?0{Yg9DXO51Mh^qpYJ!+N-r`C}7jQK(mX+vPsozRxjzhLSg6g{cDlKOrvCLnY7(> zqG6Tpy7n)1>Ey{D8D0rhLpQ7rUD(zlvsi^R2yywVE3ute=yz}Z^X-Ih_YzF@Y3xEP zmn6r(eaquu)hguFaMOM~VpJ+3I)1$kaptahpWp+3ZMt0GQye&`T{L78W$o23mq~9Y zu+_hlXJ0I3A-M_8Cf^I_iMuCMy=|$H@W1Be|L|@ohAkxP$d#@OoC(Wv(-E3)|2`@5 z|E$daZDqH2%JK>aTnA%`0SZF>$gqZ2X%IE*F>0#~kPTO;{0TSoAOA&0zg<&JywFnq z+xjQ}r3>+$&Eh8E!6upf@4Cih0m2>qbjR8yV}EZ5o01Ow`fxqK*LRn~8QAGKC2cOb zt~5hqxMdUqn=Ic87|ULex~V5q+_`73;MSA;j|@pGWc)X-ohbJNg#PG@e!Z^`;l{vG zC_w34Ei-HDxR{t-LN&YkmPtveEeS^PM0{0KLxTbFh!9#cw95LjH@c1-K>PT?&+i8C zB!n8QDaB;zI>NLwFwm9l!=JFp9`+!{Kp%2n` zYN=B=TTty@6%LkW+{#oJeF(M#2VO6vclEEDQaT43HRYmpeKaZZ>gq#Kzd`z9d(Glq zy+g?R9J0R1_{C!E7Wfd|-#wXKQOg-&<+Zk2?iMw*wk`sM(_JP0K61y^@TkT#r}hFa z@~D=9^7Ft=X{6C;xE6Fsts(*u`BSZ|0~__c1*-X!uTyA_FGj~T7n_?mLe+CqEE6Gd zXf{vS+D=3MMM%-urZ^sKA~A8b`}H@Jg{v%9Gbkjit1oao{LL>rKjXn&v?vUsW;-bZ zt1P=3h(s1HTnO_n&hXyeUbroKbaK%cquQ;p%)MUe>2&;fE&5(4m?R`3@c*1!3;Di& z`J#&M2yYz*$5zBO1_a=l4lqt~_3&uaw%-VwE_MTv&Iok11%@YJQJlZ1cs!mD;7M%y z&~el+@Dr$C9gulND8T22J9CfL(?UZ+$SY{~M+*h7W|wdN zs=#!%L$kh~+1|}bhQ^+lU{6j?-UjFu5Fny{Fp~gcMhB{+ql532!^_IcIS7*fW0x!Y zRe^hdN5=t6%Wn|Y(%e^z3&X>Llm0nR&zZa2A4P)nXY)d4XJp*y5Hs-en}#<5ZeZxA zH*VO_+|&e83TmwmV51XnyhKGsiF`hS;DLCirNzR~u*6Wx>jSPSnK!%c_%*wLlvDWJ zfZ4=n1n7X=%)vX&0c)3-`1I-1q{)|$M+N$x^@~5W=C^rgTATjmQ3{dnVH=R4i0YU5NoAJWS}OGyhx&qjC~ufLhf!u zeLVz&+T*QfKyW~Oxd%ER!hKg>UT>exzBP1xTdG9@_nI>1p+~;F|s_t zr1E&YICzFrwbr4N46_Z0%j9d3^PeZcUtq`oHWntKUopmj1Zu1?LeP2Za&59c+tfJ8 z1c|=wXKuae*){J$Z~VzmF%??BwKHuWss2&U>sBkS{ua0p@%p z(x<-(Rnd3;la+|oF~GB))m}t)ZWLt+YRGGBS$g*_X+TU{pOD&uslPa5+5F)T|HH%* z;!@IEzJDT^KW#;8qbCDsfN?XpcM|F7TI&BI|Np+GA70vj@+CB>@b7?VR$aXscP9>@ z2x<;xap8f(FH1`gaa~UW*yFZ0w>DLZq@zwt6D_%-;U~KE*oK((-Zo_8Bt~;xIvm^b zo?Ah(k9;vqFOa*hO4!!B4NzvAS$I~#OQ1XCjf6T9@3DKW;4;#H57?_xNTYWM5#(md z{=_B@_Iuacw|YY8FMm2J0t9BC&49!d>?W{q-!JHBac7vLyqN9GW$-U)qQpRTH&L3rZvp%TuSYIKa~?)RoN0=;#5sGLg%U_z20PBCP`!;k5TXW`mFVDQPF8XPL zesYPU6W&5l)aO@O>@hNuAvg)JvlVx=%sJ~0uN%H&FcT`}wsU9jDON;8BP8gMT;;un5`)io1Z_4 zU6yU8F1p=t^}`+Vq40Sd8W@bV*J0k)BaLRLZe}yAz`!wgoZzzB+hfH(L-@@rER5yZ z15lo|E5TVXr|Cj+@+!(b968G2nGqgtZp0@HoRzg5+xdil)+`|k{Kvd}9;k#}(-7SR z&HMAA3RyvFm3aUDeRs@ROuUfk;R%xklvYsfM-h$V4I_C_!626J#nJkp-|wo5+bc9Q zJp3AvIX&G8(=t>!B7p?k0S6WaH|TRPg+$e7J%5i4j$z+Is=n-gP=lDCT_P_>Y!AoF z>kC2cm}|Y ze}x_miEIM1wmCaH8yN{vPC!kJKLP5*2F46kQ5=1pnd}W1AL-aTVCDJ>hK%9wc@an< zgs>R@y`@lRzWIA_{7+{G@f-hqEa3^{nUl4)=Xs*L~ezFS!fSTPWx$NF>shvu7mb zNu)I|Nu*VuH?GES`tCkz#E(rDXH=|7q`h~E|E==t`>9JJ?IWF)JfUzSe7Ms=O+j~g z`DfjccfOplWcK_X)!ni7gArGsB=kRI;d&fuX!kTh(J|SuE4NLFtA(dlzL77Gk1NQk zT8%8Lc4iaZPOjsUZ2_iQ!QD*X<|8(Uzx=|Wr?viu=rVn(b%eFLb*XzK@E9@sp%*aIFD;NUT}SNBnx#Dti2=cPDMZ4+9DJ_4vWJPht&z&~J+-KDlLM zJ^t;!{@?jnP_Erb`*+S~8pV!}Sk7zQ_~H>EY)@P0aVhRJ8~<_Bc7^v5rBTK$sm0?} z9Q*h09~~XtLeF>R{P}Eqzoizh9fu-a=e~dbtab5XT?LcdCp9s%PkGuEKU}X5xnDQ4 zUbA7VLRat7;(WCu7m38qr|)D>^5`sfni=gZq~q53^y1p7C@~jWF4d3mXCGyl@o{mT zmkjuoYTFrh++1wo$7}o1PnTSatopng46-bjW%@ps-Rdl~udAz5a$OioD;@5L@~#f; zTtjlNx=S)W-juAwO)t&E%lqijqgwINPx%uw-EMw9KFN5Nwy8G;d~Wah6#q8@9zHHpC3qLE| zmL{U6NA9WE*-d|Md@2?1I5l|m=+UL6rFB6$MorJmyGzL1cka}QS`v(W@!~~MkqGss zjT>2qvPq=G`i=ElE4sT&@t%ufvpTtEoxTi$WU_JdbBBrAcW5Ya zahjiwkACw;vTxG5_w9Yk1byn=ym~dkN3Rbza98k~wr5#gr6jpi+z;EhHy|@}Vz4P0 z1JqUA;Tv)3Y+6f4A!WHmjm9dHySEQ%BrlZDa61FT^CB^~r6L#M-hFtZ(?tJyrKcJ1ApV)D$e@rhKfrd{I) z^+LPzhT0z!FOjW!-gsd}&(6&`IyhWOR!qTvh&oL#^!RXZUVp1^BtUy|XGlm0CEelS z?ozj*<`hv;(V?c~mVE1PN3XyAWM2L)%B`gSwvCaUU#zi8_p*Jri&EPYt359ZY=_#j z410%$hQ1K5pFdtxmHv1|+0fANxLb@w(!FaOy;t?*$(!S^s;kfSvE!k3i@Q3Pg#;2ZcDR$L7Ivz74<_?=R^6DEwNS(w0SE!EW^B3ObUp#)b&@Sa+Wap<(j1FJ@A3S()`}Xa3 z@7`fAKB~;pseCBS=%DlK#}^|Zgc+_7xsq3}UIq9^@#_0}7&$mNV9D{j$IIW;c3ce3ou2&`MQ3!5jcW5|&T?Uj z&6^bzm9+0qEglV#?Kf$Olcu8n-dQ-)R~^JZH8|c^T}6xU^FGXPURuAa%iLs4$*c^6 zPPx|@!CFRER^c%V3rh(Wj!?t}l}RkdZ~gtWYMr4CymhrLrEbd{N~yusJ9g~2yLopk zCl*xo`}c?Qnyu?ZpK`Y6nroI>RTow)HfKCp9xIyg%{a3=>W?)Wo+KoM1Vsv3KT*ll zlksRyxk@KKMC@%O#*0+q3oit(-S+V4`}Qr2;}dty)Nos)nm99a zLcQL^`1qZzd!H#JV%3&uvF5!yd6Kb&O&^mz(J8Z&wX0MmU%h_q zb8K#Ytd!&2lw+~gWftUbudt0Hde~B1eDJMyQ-e)W&f}HA!MhSdqoSg$3M2bc)C+73 z$GVF9xj6iMInJcDxJ@=lo0*vr(dE}`D)H92ErDm<)YR0(eto{hGh!rY(2--B-grTL zqK0?P`pt40Y0BxZ)XZuJ*!=vc{V}t&#m%ppnr!i%W5qLFPGiMNDXRR*T}_K^KN_(- zE;NiIu{NcuUzNOf`T&*mT2g@c>a5QA_;|I$Js8w=Ln3nnaT}-@P1-Vay{^t<(ITvR zVnl6mm#sp7{P72O=|V<+Nw#^k+FT$q_Q}w5)3|$Ve2fluqHl7MRP_=qh`xgOW;p66A&h^nJ zur%)7yT|Ehu99B!s8Gd~A=<&v>rt6XrQ+hzi(i#uu!X<4`XJcFed;veqsLZE*s03v zn4+33&oW$HS^2#^duXCgywqVr?|kDv)jGwfl3CSnu~pVAyGbO9FF_AFKaJ53eERe$ zFE6h)?06~g1G7f{wZ{Pg@kIu$FJe55`X?Ov=XBpFE+(yg8ioDGS;z1p&+>Yohr?-8 znz!XRk%HMiT9z!CB#JDN~-v$-)2eW5xY*m*Y-v>9Bjgux|Z&)umI3h+0*Y6Z@0}9ZfrOiY>mp z5*{n+9UDsv2$p?K{2X8z8PYfLk5fKal^wV)x1(_c@`%et}*gm zy{~~iQD8SBWZhrmGC!U0#^Jc z@#R^+aooU1XL56B!=9tsl3K*;GqRG(us61*t-U>+KZ0v@ka7Thlo%=6>HsDUDUJVP zp0LCC*H~Vzuiw614CQ0v<-IHkjKpv8`DN^$bmt_q*_o#w1nh>D%f7`2FCx}aQ&U$B zEicWK_FG}OI3Kg0=&voe>&JlCRaI@LR#H-$xO}iluGHzr_cbK;&IKKw8ftO-{Ktmr;kGzVdLf&E zfrdEB)Wnt{7iVY5gNF`1y_#!gUi9{#-|qnW$F9@l(;pD^6FKQ5&<4c<_43ihJXWd0ENrS$}kTj^)aU~F+gLfnx%)y z*w%9h>rIoTHia9AY1xixVMkVYkC{snX}cgPFE77!uaM2u;FZ1#Ov~bY_wuo*S&l@_ zQrDGOR3|n+TsT&eY3|1U2w%UvFi}_adgFPP#Pu*7b5Gnyf{;KYeQUYY>l<}%y1h3WP}W-V%(oMlVO!(zd`Hz0cl^rwPj#J z`;m6rrG;4l1%)(?#XmMM4gkDyq!oPtkI-&WMW~mMc!?;Rre4@TIB4{Rx~i`c!*=Az z4~!t--qljqMc^R+@NfdPKIXc*l~Lrz8&7K5!&Q2(bN322oth3@}cD#?xZw0?Vb}d@vUyd+O>Q}AK!KDWm7RTOC6UQ z?&*0&XPJ&%SEjX%8Y>%XsjX0WYn1_Ce_x-MXJ)4Lx;fh`?*%@|y!rBEJuch-x)$85 z%Z05C#4$ED76fmklR9Ais`kf`H+sAXa#u*leD2)2>e^ZwYBx8x_cJ>=#KpxC7A2ou zN$&6My*@T7kof#LXJ6@I4Gj$>{pnHPTRp#Tn!(H{m@1c^-$-DoI~kmGGZj^?J-3{U zbJ%}5lDE8Vc6_N5UoLW<9cMoGcCs;1&?L@W>iSNE=5^KR?`EYlp* zj$`LJBEfnlzc=EsFF(DoW#h(e{?XCV;D%UhAm^a1hR+E7fR#a1LbJqqc5Z4YHI-Px zEqrW_Iy&(L9-%4P90w@FrJ8jlL>3Pi`i!_i3TdkPG{lvH<+$(OUy;(h&lngO#8@Rr zsyr(po;W)3%yDWXtHn86>Px9rtY_Hr?M6bM7_HmA`HnXC2re}{J9|2=p*=N7^igGe z(GmLl{VlAlSX&O)ctY6U=o``XUwX#sRHAN?7wGx={Fbf9`6(F9e3x0x`*{0|V{Sgn zS|xPgz$r=Z$gJt{@$LRKHL~ZMD7^3A-^*{L&|t;Qoi;o?jAUnAsNwtJ!-wI{b<#mW zK}zXjmkTkloYPt-PB54;_gGxM_4@q%j~^AB>|=DQ>{q*Oy&@NQOaeIC+q1CHDaMM5 zii*0jva&&;wx7jC^H;ci6JOf$$UN8h(m-in+m5@oGo8C>AM?miRL3byd~NJ&-XZ;X z^4;`2m$tOLMP5=FYtl7`0J%*H?WB>Bk%-XH(7?beiE6X2JDsakbhB?dySO+(X~+^` zXO~H9DJ&>Z?Vf#h>kB*esrdDA_(y?!=ggMVXSeXjeeLNXlP_HGbv;h+eZ_E1R%xl5 zkG!la&P-`*7_5*q2#%iKv)Z zm)Zw#J0Pos_;^m049SoKEQb#1zYiD8&(Fu36c3BYYZ8){oWjGfjY?@6rbl*R88^qD z-C_OZ4V0$yp*8>{y%m07jG6^Dm0CyEu3LA1*U{L|1?<1~jNy9;x?~VZtj5u{%%_+> zXXm1{v@!QpYiK!@Wf#r#t@`p^i3%SX7vohZI4x>GhRASLW#?$<6-s#CkfN1fhpW z6;&m|FGN>o)ehJQ(b3Ueym-;cKAxO@L`|@-jcUVN#sp$z-@WS9>i_YDh|KUg3jXIO@cn;7Mt%J8xyt3Ijpw7pI=l8-?)=Y$)|YKvdszwL z4~rgI>qBEBvce}2N8p^HDaUH#EqjIdL`6GKdaR?Q({S0Z&zM#-pGdVly`J=gmMWBFONBaiapsP1c6)5WB2{H zz(yaRU8zRmrSfHrru%#T01*)0x9>9|J#ZOB&>Fz03O^?EYvlyrY#kS0UcfIyM%uHD z>!bgWk6k+e*{KD&Mot%qdQTA$iMzK}h40?#$6Ue?iHwYlB7|%mr-x^!JIwFizP&R= z1z@tMs3^*HE(zQCYK}<=Zr#LW_$hwVZk$F4rIfUs+x$W6k)&wV?LWW#12o0j&aT9D z(Xlp^zj{GEaMj(C^>f46#TTOx-a~;aBqZEDvEyrlkDf|vVG^*|$HrFqs=%xqC<)f`s1crH0eDNR|Q8qRDy9$Gdg!Jjt-e;7RmCKU( zjapJWW2Gn`RqmvrNwB>II)cYV_6aC0EtS_kvJ27F#l;20)}+al7_`2r7R@Mew-V1^ zv$Kmsn#*7uwRf3ZTcJ@sfBu|K)A^_COdtlw+`M>7QBJNNf7?Y(-H@g!PHos-QatXq z1j5~;UuhE8^ir2@5awq&)awI(6Uo)*&=G)e=kF!7zE#>t4NTK zFAL-07}e1}^5v-|Vrit*w9(UT1IAJVrVZ!h`G$AS1=m4zPMIq#VjE$MZ5%sg)v!+ zAS(EA|K2@@quRH}qdZSuh!hbt`j{Bo2gC$T75h%HCGM3Qjly}_JJrtw71^nqoD>4z zvL=;%Q6$?P({3wAsl=( zH^P3raNz<_r*jM*f@6m5w4|gn6vsWsOa{73OB)ObsEBlT#T+r?Wjcy1N?xb@#O4gr zX@u-Yol9-^@Eh5bN>!a5fNq3H6ij)5OqM)&@L;@we3~-D+~%y@Tzl+gB!?KQzE7ER z4$)v^J-xlcwu9hU#V37G5NW`zqu4XyL5_@!1RIk*dsfh9Ku%Kf4eBD4DLsROs>6*} zfVOOe)V(g=IB{aLlGiRW|1M_!T?yNdN*W!JF-qLcoZx$)W=2;`{YEJt0|NtY&F8`@ z6G*>H;>#1_ERVip-QO6=Zjt;7a$RUY_L#zTKKfP6e*`@2x!_xesU0A%_#8IE^v3uI z?Su>s`Ye~ObTZeZZ5$#Yw<>VAJzi7AHR)7d>?JC*&R3Y9^WMWdZr`pL z4WBVmW@Mgb_6T)h194#JrP@AmnR_&-AKO<%M8vz;ruo%DJ*b`**e@Xdxwb=!%o58` zA+QyNBFqNrV{!)aLV=C5ND~&8CJ7yKy3#W%+~?W+{??) zZ%Vo>E$PcBs%qj9dsdd2nE<$>?b+2L%cq(1Tu&jeVX13K#>T}_c5w$sqN+D(NJj@% zqad-()9Simddo9pXlbmurP*(XE`+mY4ZQqg4fz9jjJ!P~zT~7FPZI{3Ao8*2zSV{) z71ZXKb*hG}HV54nU-)qf$o1*dZ@hIP*Uu~My?tuK0OIa(<7Q4~X5Gq%%%|fn5eprO z=TTT#N4~W_K!bJdZ|qn+5WgEj)hs4+%F!j}Y!Qu6MC!#TF>;1M1G(>cj;D^kKJt@m zU8E@Zla&4lc0i&|m)o*SpV9D_*LUd(Rv{2NAZ&6>Jq~*Gj2syXoj!N?hh+PTkEh z?-pZYGeq6SX?obw*47l2D+thRISh=9L}Etr8EMOuW?!1D(?bd$`k0i7aA;mK+yCol z@6Vqk06N}mz6uSfK3Hbs6HZCsi^5x4I zfZ1QYeh~JOkaoIVX4I2%@tmn^2ZA&llLqc>rBPV7QnqH@096QTj77sZv=-#J7%i{y zJOh3pCjcbAJvQ(C6&{un=+1ro#Q(DR{qJK$9+{chzj*=h)&GJ{SI|9)^dd97(!4$0 zwk7}EaH}Jm#d?AV|2u_x+3Whe5LTeSq5`gN8QrH2@4DJqk8(7Un@`M&9)W(c`d-IDwApJy}f6*RL8w3iI>ad zM(N7SQzMOge)Q$^^DXsYOtk*FU5?dO*~kr&l9FrJt}Xi2pHP^ggZPO~x8hN%v-a1n65{3_n;z-#pzwLT(-_G{bwz@a35bYT zMBTRkYd}Tu^UyUmSdQIJW1`}C)(+6Kc!$s)|alN_; zMSk66T3ku4+~sFE9g@5g1RLz;Vq9a~@Z*>~?sI~+4Lbzd5DTTYJurXT5` zhuA^XZXaD16z$xGcVB6)3E{<7J%&JnK@GBQY+gSASmON-Y`AJ9b_d?0V2PL)j9L{! zJJ9p|-Q7uhrU=cF^$%z*z%~>#T}a{mwP7%h*bX(*K$UOdG3tCq8tLij z>FXnET|k|WmzxgZLy4ht(5is=PkMkg>_!X#dYc~Yy!s^Ns_pA2RF-et$n!+N`h_KP zY;Ze1@;UE$#L??tUU`5!dHMJZ0e`Bgg`b~Wi@ynQ8tZ=%uozAh!toCQ71;& zgOLUGwW{n6DS~ZO5pzWn&NwD911rcvy8$1g7z*iMUegZlApA6Pw2);L#HfmMj!D2T z^5-h>&@y!|0WCN`M|@ggqlg^>{oi-H)(A5Lf_;O+GQ{Z@8B+MuOJ8g>m}lx0N}bK_ z6E|4pnZ2rjfyiE0a}Tq#vx|xr0~_N>@aQkFIW5Z(^HMZROIoEswk|V1G}9%fEzt-U z!pNhZ^Y!ajNaa$J1dtOD6eJQRRBY8;H_RxifXoLEdV2c#T{KyF$;#GXB#MfQxzgb0 zsLe1VoKIKo;~w0WmmYI0d=p=GKrNFf^26^y_=32LCm%i;0pLHfe}4?ZHYx~q5Y|zw z06TEO4h!T^f~BErygFHGyMfmt8v0JJ>%%d2FY6RAXZVNsl(f3)%-mAD!&OhL?JJit(&l`@8wBhry zlD}zAmG^I&qoS;o@A|r>#U8U%x-foDTU%Q~LIMTE4O{53jShtIVTri2CyK1L0To@C zoshzGNj7@_rYr25|D-EfFH*M?pc}97hzJl9SBx5dpwj0HnF|Of!K{bChCI454dWn0 zz#R}cZOz|bRL_>VFlBK?{kIT9d%7}CWd6&`zvwISj*bPM*u)uQTTSZPNr*(Wl;^P3 zaebox1@PnfuGddI)v&i}?_KOwk1A0S5u)-`@d|Sb2JQ&c(d$>QaAUkYJjcvF{X$_g zO*Q)&#uGLRHuW7aM3qN|;GH}nvJ9I-kEk(gdw$dkz(0Scp%}e@03i{r)SK97Nbt(K z*n7sbPCd=5&CSO?e*B21IoVg`b*=gl-weuM;JT<(^;h#kqm=e#2zmIB2$`Oqp5Sz< zZ7Z`A-O*9zn-UiJtJXIq=%j<%t1o?hO$q0Ma8I-I^Tw(T-QD8+{8I=P9#w(c#l_Dl zoq&1?jr5LGwbRrfD%>#$+kpjM@OTg+rhxRU{7d<>x2swTIn8 zbu>{_YzCJ=+8BkxJ~|p15TL^of-r}nO;nqEoS!Wg|7ApbH1t z=i%Y-2M;VzNt~RVM6rr$*AXo|H~b#;1wSz@M5+lhFA;>y1!@h!9kN%H)2N_sq#os@ z<03GEYOYx^5(*>|TmcaE4%|a`@6P}F)f&Gt+9!~85$#ImM+?b4V`Jh7?hSF$9Cbe~ z>*(sHD5q-!AA#FAfXQPlnRf1s&)($bwoLewQZo@ZwW~W;{9nQ=F@)qf)gnRQDohb% z574UDP{t{r=u=zT+q(^=m8v5+x!a$tg$&)Alyro^6*HdqTH|v|7sYR;OOZQc{F>sd<&v;la zq@+wg5l)o*aMXo8jKu!P0jMEx^IQ&|#~pwAZX?8OGzb`eA;{nVl37Z}=SyAW53pi^ z^SJ^B`uqEXy5U78YSk<#YQSfc5Ts#cmvjCUt|4)E>)wpaOprq3BfA2=-4D=j&r&(( zSnNswlDky7P3wti(JqGRkh|!|D?HDZ^{=5FUV5Jr)IH)&T!C3Dj1&>HV(i67fGtwB z9H0zfax$#?Wa1hO9^Jv)Nb?zG%nU)?nyy$+D9|4wqr%6U#|n8tNNBDD^E;TFhJ7{j zat)Po_sU9=ZjSupeP!j*r}`+b>aG^fT(xFBYs@SZFVqri>gsa;v6i5%%6*u?MmO&) zpaJ!?_zubNFt$_F@`AJ^RJMHWate+WfIo~SwwIcEKOwTBTxpk{c^B15)F?MI2*^od zMVskb<96L$RQ5#o_Vh>+wEc1NmR(0)su4>vF%L@@aeD_f6BAQ)6ZXB-R{)LQi?THc z=mr%b@^;u^h~)~9@Q=UDVa3q-6IINy(&ZA(2%twOU8<5;W!nGvPOO}#Ekg)TZOFyg zNOURNcJFROxIy5AvT{CLprNXt7*HuxRVsDZm+ewq9#p|nCW3W?{r0xJdX+n(J`9{iozUmTHHV3B)qfGBXb2JJMOPC$*Fy0Wfrg;lmTnO4F#wt2m+ zExwWb-+k=UCpGHy>YXMp7z+!Cni0f0v!IW+|5gOO<8i5qtI-_18~m*^+rW$A_P`Fy|mI4!2S%JtuQ|y%JyO}(=u!BX$}eZ_XwEqUn?jmI668a zXmw;6^4|ENRjiSw*9rT8c}LC&=vGov5@gDaTemXu8OXuALDAfXt%}_2qwWH0BH~+i znG-R*yYsC2s*spqNUh4e^#53t8ZRJF8_FFG20Q)18<`IsA_Sq<^y?_DAavc#Z$~Vy zp5(%{qwk@1@z~mtwt}i2WK;Ic8H1*0O^88zw{5e)j)8?JO3+%buPPAb-`p44s;cd= zQa<-i_g?oCJ!bXw3``%e2!gc(&YHJpCE=#2L?<7}U*1%YtWIcyG57Nd3LZDigYvjf z0sbp2-4~kVWB?Blb(zaT?FgZ2&Fa;X2U%GOcco+T66DRZXV20$W4P1GwBWERN2*<1 zT$GYbYXMG(24`Y*29>x(;phg$vzpcj7e8mu~)BN zO^}1cqLq@X+Ac1#mzNhbq$5Y_6S zXRsmynF5E7!+}6Z<<;D!2U%F)CIdvaK!~-=k0*B1*7tY{uzSy)5vH%?$BTWFCvp5($!<>R}7P3k#0m6VN~K`=j@p?zu*V+dHfBpuU|i* zIH9g76MQn>TTWE%3f+p;0lVC4WtUeAfAB1I<;aZ`;Q6gqO(ewM4o3uA;V!rv_=r67 z3JdAjXMX(H1`8L%R2baC#Hs~t4T_3d2BIWfyfXRQql=4*x|}C!U%WV?um25xSD*k_ zNYuauMp)d0Kw-+x&u@$LC>8bt+=c%BGbbr`+J;~I70>^TOnKGEu^LMEI9-j8zoe}x zpExVevupE7_tX~<<(-_Io<4a3V?7PK(tFV$0jjJvB0yuO0M21U-e(ZZKn(Af5_Oy; z9K}%OXHQb2TgLx@^pp5_1|b_(GFcleIOhfjMmzB!t~ozHk846VNt4T$??H1!4=t+4 zL0ng-(evW{4i?KgLe&l(iU*T{M#@>BjkHCW^WeOQ^}&Le0y(4OViK}RgcumAQFiaI zp_JoaLn%?ZVvl-$Pa8LD_4S>`K%5*f7c(ivR=AYD%oXU9hnD zfqe|~L~6c4NRQNAO#pTE8u;d94BNAi05`d(d{4xLo~Cayo_~qp%tv z;XnW6LPuTy%7wJAbs{Lh?a0N+Ib3_ZTcO|ea1{i4GPwuVWpT?M$rve^Hn;i1m7+3_ zG6syU0ygfbz1yP91IOcIPL)`ZISj);d@9qElYE5P^&3>R+B&+O{%}}%5~AAp*eOZW zz2K;n)M<#7s!}nfu0#Ze(-5czu!Lw$75m7u>AK3(7^s=U5jSZ^v=;v6#<1>i6iok~h$0;ICo#;$B56$Ev zJYY%T%9qkw{Gc%)a0=TE6Oz%ziwLBKXU?2~GtxN29=67+%C7TOplVP==J}{O>qBSvaTmA9f=AEz5wX3{&RGs{tFx`7$3g7 zhGQjG+`c3)T^l5is+T9+ltC``T25;X!qDZh{?-==5`)hsXbzBL|4HLlCp3QMku%Qb zK1XB*5oW4tYId%+@sM)Q*^NE*_yKS|Gs?^k~eSOL%McZVzyk;jiv`WUMZJGY^8YMCHm4b% zUlD9>BB-O>e@XJ>sZ;RRF;~fR{Ouu5Y~34;6nU6j6-cv=jTze~(^cI#6gMJ4^R+(H z0)|}AGYv^c;HQy1$jjR}XM3*U4elBlTRuxfT)bQB2gnK*-LV9K$to0_!>1G1c8X>E-ZANt#${0}2>%E^Vp zh~GQmJHA`8XUj}){i^oA`yQXh$9tYZIeujve$CBIgR~jU!i+EgBPmSeF-lv>!opW) zy)7**ztnR*o^>;VBZH=gH``}n!MX3aqg30($j#R&lCTuR_<8Avh4n(I5=6P%a99dX zR?spqaFS8bU{_cX`jEJ@{xa38h@ulgQ`LXyl|W0v@L2`T(Y#7r z_n&I!eLefj32%aVHzN~Mnyva2v7kvkpIan+-u<@@O08@FwmqBg08jA4i8l17p|a<* zeza8le`%H zlnU-)8#x{j-WZk4w_U}oA+y(>GBPsyF2A^32$L}8njG6Q1Q*6|=iUv0VPQ~3B;UXf z-WJ0BsK@f})?oJLFLvMF?{%_Yl~8fQfEPXh%o1MHqh~6yJSugzQzL}_(mZNcwk^p& zD$3k-bhl6qa zfXsypgu9fmTcx5WtgF*f4wY$i{P;=gAf2DOvpL<~o&mal9ApkQLSvhnn8?Jh8X!ZV zq2Mg_CQ8byCC>T8>O_J2h})7g_3TXPvM9)zlYPYrz%U*bmeZ2(cZ{u=*Q0roce%w9 zlz;2Z|7;BZIbF(LSE4B|FDD#8l0-}6Z-c!r>+$1CA&xa29fc5S2?IRZ2Z`2dPd;>C zDyFCsznTLo8tW`P#9%f9WdIY;%wR@qnU{1;>=Qzl!>7$vJO51P=ZLiZUp1Pyr>m7X zI{*X0BE*2pV_Qs9Mir)4GT4gt(=SfLR2dSr3y$5fdhslqL$$ZRLfYsF{di(WU~jbs-E`#$|`9@Q5dg`fwOI3@;12(K&9-kXwe*|wyXv_TSITXn^TK)#drn?c$M=U~y> z!(3dZ(6`aSUS!#O2mWYaP3WneFr%C-6=?kMflMYNfXuXLx}kMC2hW9a9LmZPF?R5> zqyydIA7*Ce*-#a{O3n#{6VlVNysdyNG5(-0?rYi{rady!wF)P86*ck zZ|}j5+%Zti=Z4Beq(Th=1iic1DHmEOA&&tqhlekf8qaWRmMnDIccW|bJ9r030;)`# zsHkQpCU}*8p;;1!?juGYS*fV}px?1`an)jBqv8n-aVsTdA#f}-z&f}s@wgE3C&#)= zF%A8;knIqCGa&=Q>tcpYjR1oJBnrZS@te17Y2phu>I(2!rSv+~o`}fYCBMibA`56) z<)ecs1+8zlV5R->KFa!^>&4u z5DF@~H=z+A0!524sRw_ zR_DS#?Z6JDt`<~gF;7E%eSN*XafY%uZ{jHphax0StTTk`MJP8|&?30Eua%E#zi2Hl zEkc^$-L=`VSPVvIz`k#FQOoe&;$7%k9J+Z`7?KfO0^8SO4KwcD>jG;FiZX7faH8aZ zygd2i2Z)a{VnK4UF)}tq>OAZs48nG@k`PO9x&*WhH#CS5&ZW=6K>}DZ9~alF?J(|2 z3aQkYgA@yg2^Sf12;7X&kM$9r45==p=!@*O!}D)p^!< zNKxK;-_F>6*24qvO#(i^4&HzHqG&?Aewcm6PT>??FkP_ryOlcQQ&Z>9otr0GQ=`)w>pQ>=q6L0>$BXDNQ5ld05sD3@NG2y*hd`VMCAh0x(ts16fc~8u%C>{o`49~ zoTk|ghcayb)JJ!1W^$RlBqLK5ed1Q6+mZto3P2hh#86<4Ls~RK@kCDUfhW3JuL0=- z&LQt#xgd_ZG@9`&%e`q}`?yrX9OXEe1cwn~3r^**MQer(lY*IMI+g}|u~ z7%^N~7Q7XHB!nekG5G6$K}koeayF!IB@G8DNl^K0oURbpKFd`8AMJ(v9Go4aSPOFu(MHBc4`bsDWXX}v z!rc0_a6lc8+qcmpDU4kWA1GXHofs}WS_jIDea1?)TF)FVmv7BeY%aQ-iRum9E?05G zjG{#4!QRr+%g+z3;_s2}6kdde?#+0hr0J3^SBZbq?AXzmWq6sH!MMFlrj{ixz7-}` zD4}pZ6(gQ`zC+{J6U4GTd-mYY(H3?x5O%0C2ybv`Y35nPd_EBqo=ntm6T2d08VUks zM7B{}vffD-5E3%GG{2lyJWu8GtZJFGlwY%vVzW$~=ej2gJQ5z;&h2#~y9VdOYg3n%DAg?hSgLt!E-~QKp{CQbNI1!2Jl1`w{Wc zCCidJks0ANuZwvXj9f~WZd%tB&wO&K%by6rp#zzOLV%+(a9ew#Pqtq&G({h|1KM6; z>?2ARZEYd&deylt@xlp5Cg0pr{JOJdv{1!Oo%86(R*CJh*N;C(LSWFEJl;o8_bSvfO3&K)!^r(NQ=2t6Fy=v5sP_sqUQO+409EAS% z_RX7Mrmjkz4D2$Lz6+p)qtKWu@AXLxMKX9C3@To{!`Umhzs=%225D*OOy4ZH9SP65 z6|rW^6}%jh^pr!MO5M%K=~<;6Ni?FFMhv>buP&VY=W=JIOPgQ zm`Y2YEX(zaB%C6`MbV3j_2b9=BO|rV>R_fjE{c>b6pBF35W@e+P zm8hJ36E5q&fq8UuThBXx9ta0hQ&Y%`oLi5eiFqC~w?8~XN!BAPrliCbftR5IE%zC} zZXHzoJ;;!w@w&}M)FaYkWfH3D>XuQ+CMwsN0dP~=+1P*|WY92YpHFhKmyFtSBJYg6 zN6XL@?7MnWQssceh*ksdK0gwp{H~RdeGDYP=lCpqx@d@-06^Mx|1@^;r`q9WKf2^P zyAAs`tseL?0PhfSWQ36sJ(OB(CL(N3#G(mx7}*(JE!{Ye2<}Y-g8``Fob+z$>U*hi zLI<&&kP$agCI$wE=TBpDo660jJmX6Q-tiqfw%z|nr?oK`7new# z(~TR-cPUMz<|E%uCssVXw^ukPB_#!c%H`{%1BU41k%kW+PD&!K_)U?UQ*@j4J+iK$ zB!LYDpURH+t^2ZXZrOlF^@jmbqUR5@va+(VsbuJQH5hQRvF%3ZipBG1zjD}Y$9%Un zZmT(X<;MNfaq>y<7EBUdC}{LYj>$5&J9gB=CjNtWH~wZ~Y}{y+{hVr-J@5Qv@5&Z_ zbBZK-&w!6OUW4!Walrkb`0#ae@zdMr=|dwUQ{i5M*%gy;?p%}66fikFKrn=TwaPyk z1Hb~r`YPzcb6tIXeLcN`f&wuBe-!#qVHyANV_z)J?r1(u;&Pq8=W_9HN?JbPf(!U+w+2Go2^|2>0sZmf%`^|r~jZMP3z`GvE55SBw^ zpTLIG+|t4X6ju`vBx+ab!xrxn*z7Bc6Qa`3-6;&|ocpQWW@b-%_?h|Dmz%||U7tQN z?AcQY+Q1m6f2$1Dx0j4ISon1zyoUq@XKzu7Y557)nuo{+ANk|kY*X^)n^K6y8ml zgbxOMU3r$T$q>V~OrdCG*1Q39CZ)Mq@mM9jmvD&o)@P*@!~3RhPhtP72w`{_v? zk1WM2SF+ufUC~lcl#YdXcHO2p_7%n2ofPE&81YR;DNzSHI*)BoMKD4va_jLrq{GvO zQUm(byas@xo6SpAN`uQz&!1tBkC)-F^27S0Wvi{NRZVFIx@m0OK?MBy@{CR*;FCnv zcGA*f$YD=})oh};HmI$uD-wP&F!^iBuPqt&h#MW*rA!ef@EyRMHkk<_D^N)z-{Q;a z`5;>p<)SYw7*lk|6(*8%$2R7xq3ObekDiO=d~#9}8#_CSXcT*HRLG1Y8(n=K`RLIp zNm|~gLS%@ZJ=QmCeGw~Pz1{997(%8p5|CpLgx3=SqzR)zCUOZ#Vbwy~I|{>?;$j!< zZ;TTr;`>kfEhpFQvEm6C#>pA|4okptI0NS9$(U`vt8)uYw`L(3K5(HCgWrLNM}DQv z@MZWrAziLJM-{GInfhf~Ww&2SQT417CYGD4#0c$j;d?17Ec3$JQo6YxkNg>@Z@PqN z6x~QqqLbu9*$>s3Vhx<*CN>e5g(K*2vJ07~ZZ`D6gJ?NcZ*OnNJm^*QM6@E@;vlGK zp+35NBrq+FdvTfjCwg!k(GAr)b0a6V4eJGa>!4}(iQ!eF=+heqt;rh&^>{M)jK4_h`2nU}r`TZl>%% zWM8}(UWL9BoDg`5+z#3cqJ(i=no4uS!D?Lwd`5iqk>7wo^dh^vYHPW0lnWp~@(DUD z%VDZXZZfhJf`_aT4k|5IHwV}XP^_)Pp#ZF`SVsT?NP@$EsO#$XA2aDFXHPMJUL>0QcR% zTQQnQpO7_?H_ze>#j(3-j`8wIIGt>{hPRH$3keD327DRYcm)K4b+-|@Az*6LSX$fz z$9K?4ma*sv$_DWEuC_KMA;F_J@6DSxIQhW(*ijn!#G;}F6o+wwm`%a)t{bnllS)gM zK@HYFy}2bH6>vPmvFVRJ_6(AWPs_NiqqdaY45l!@zqo!1vi9W7m6 z!a)V_Tijr_twGz#O+MW$P?zmiUbCk|FoLA0U5A82H3 z94OO=ZVdE&zAc~)#_$PnagBhn6*^8CNlV|wL!qe@9&02cqUb%+&OfoH5I})R%vo8$ zB{+CQ*bI0dvjc&^D7yed3g;Bc2Sk(0^zJw1y6*)y2o(3Xeo0w-oHQ+NJ; z5JFn?>H)svG>o>_uMe=Y4iF|WvH2ZtzbAvqnW4h8^~HWz#W*4+!DC% z?NwQbIeMcnm++~SpwMs6_l8p(%W4fL;rv60(zIhDo@p0uJ+Hf?bzasZ7YbVj5Hhwj zBpo7SLNXwZ`2jg04t1-ll0iWi9@U2rKQuMz?%hA7a^`5D;s?fV5Ng2BhYz=BtEMQh z-@19zbt0@=S>%th&YF@B(|=CD7n22z^(5l>BE*n(^wgQVn2_vmeQDeVAagoyx3Jyw zse^rM6wd5%TCm+MMrZkXp-zo+*HS&H*b?Xu{ybA%_1MB2WO zFe{Nr4@jp3NJMM*V?V#Tw4RyVRqNlU#qM8Vrx3ht;YymL)*uswf#2^V{?9>)744d| zZ`Eqz*aMulx^1N{Ksw`2A{wPg606sunv2)US3G!Wz-Pr!VX1cd^jo{&D@GodFN79WURI4-bjbkywURRJux-;MdG%+pXvLGN*PUVs9C zVu7t*iegw~BqI$C6sKMss0RS_+a=7H%gM$|B5h{%{WcqOcn#@gy%S8g8aVY6gwbD2 zw<-W@0BwpVNkr0H((E^u(hILEMv<-%gEA!Zb*m@C&M@9OK{^f*>ZzhwmC6x1v2hLn|?c zlTM+*vBctN7ld2v*~o8%e2S97B6zQ47WN(vIC-2O6SJR_Qx;CC{QMLMao7@IJVZAn zgj%3>FIM;*U?8;9Sx<5=d%1@6sZ&T;7$;D9vI+>~!Ty>zKydTID`<}iPJmJN@%U)r z7=?Al;lT}zH$KA;@yaGeQP}XqL9!~eGr^w_OHB@7cfG1H%5Dd__e5K%;XDtFrI% z&Skeo_XeHUyS6q#C~3iM*x{g(AjGI}PV3_SPwZnFMAd9_`puiG$rNBZo^oDi4hNxE zeGK#z=_u+x7fwS{!{Lv)35fT!#MwKNA3Hl;AbEfNs`Dil=T=Jpf+eK>! z`M?1b1fS=!tSqC|lM-uQs@G~AL8RU055vu^uxE*hsFYBZpeF-*xxJlT`@7w{cHMw> z3k;alG>8KKhY#{(D@#jMcBBD;P`T;*^5vSQ9*MMT?Jn$G`)n-mX^rSxdkY}<+JU%W zcDdCHbol5I+97w9;7VAgXc~Jf6bLm_nMPrL%-S+MJfB>MAna?P*VhDGap)>z3vLZG8+!LSuf&Xu zaRfRpdiO$^caJP{$;H4oI|SbYibS> zY6A@|4nE4OkLB$UnTSw1PrPb@M{3wWBMIw2$UFowX-WJZXYU5?4OvCf+J*q-Uf2os z&TD|+^8I1voV39I$eM{+Sswvv-_o{n-oQd3IGpmE36VY7oXEo9O98>b2E|FOt;*BV z#>UBiy&A0jumzrybo=$1X>e%B!w0_P_jl}S!j9LyrG*#I^Gu2&_WZRuAhbwy2psdz z{2~1c1MZpl;zfNy$2{EI!+zMsZT`gmUiBn>4JjIXFkSFFi)`=<)FX&PnQRKM3D6I= z!(S!=UHjp(EO8o7(urg79x|WvWJS(tQqtVAX;VJB&s9{~;46Ce>=}+&Z13oZ2oJ~k zo+y>a$+4mnc`p;wMM(%x5N$#J7|`NjYML@z@fso+hFZY)0QoF2R!26EQ0-q$+PniS zXT*~13#|v0ZtI*b*D5E7b1>uGR literal 0 HcmV?d00001 diff --git a/docs/_book/_main_files/figure-html/first plot-1.png b/docs/_book/_main_files/figure-html/first plot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..192e82c604ada2366e722e1f2e5d743c8f87ce8e GIT binary patch literal 945 zcmeAS@N?(olHy`uVBq!ia0y~yU~B+k4rZXpWJ%XvAjKBo6XN>%_3Qut|FBm$C2IfFd7srr_Id3m+ z!HPMF?FdhYq=2zPn!}lf8H|Pqfo=Q}dRT-p)Qt+DhTCX(4At-`lQ?i5M`nOT>PG%B Xov>Q5<(H&^IgY{8)z4*}Q$iB}C6yQG literal 0 HcmV?d00001 diff --git a/docs/_book/_main_files/figure-html/first plot-2.png b/docs/_book/_main_files/figure-html/first plot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..7212b79751aa4354bad0caac48d34c1e6f7aa077 GIT binary patch literal 5175 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 literal 0 HcmV?d00001 diff --git a/docs/_book/_main_files/figure-html/first plot-3.png b/docs/_book/_main_files/figure-html/first plot-3.png new file mode 100644 index 0000000000000000000000000000000000000000..83cc79cf53e3ef4238a976afcee40309d650a333 GIT binary patch literal 11326 zcma)ibyQT*+wL9)7-^K0MnO_iy1TnOL_!b;=^jBsQb4-9L%JD2MCk^V7?1{OY2@PX z`|e%qyKCLG?jL)dGy8qs+Iycl`|S65uc@wphfRSE0KijHl+^|Rg80|&LGOAJ9?C@n z00o+=x^j0vArJ@}8X6P|MMp=+z`(%7#Du|M_wL=p!otGF#>Tsdh=_@aNk~XYNlD4b$jHgbA3l6YK|w)DNl8UTMNLgjLqkJLOG`&b zM^8`x=+UFcj~_EIFfcMQK6&zliHV7snVE%!g_V_+jg5_+o&D+4ryLv{oSd9oTwL7T z+&nxyyu7^6o;~B^m6er~larU1S5Qz;R8&+_Qc_k{R#8z=RaI3}Q&U%0*U-?=)YR0{($dz}*3r?? z)z#J0)6>`2H!v_TG&D3aGBP$cHZd_VH8nLeGcz|gx3I9Vw6wIcva+_ee*XNqjg8HV z7cXpWZSCyr?CtFx92{Q0eCg=u=;Y+|>eVY}XXn?iU&G;W7Z;Z|Z{E1Ny1Kc!xx2f2 zczAevdU|!{Kc6N47PEKxaZeCtqetv#IK|x_*VNp?0adB};Nl9sG zX<1oWd3kw7MMY(0WmQ#Gb#--3P0goIpK5Ds>+0(2>+2gD8X6lLo0^)Mo10r&T3TCM z+uGXN+uJ)jIyyT$ySloNNMv_+cTZ1GZ*TAC&!7AH`o4Vm(%;|z_3PJf-@XkD3=9qq z4h;yuCA`HuWxQ{{{H=Y zdwaW5W9EPN3}C?(ja&hs4*S<2v1^Af0H6a(vQoNU8NV|`ZpdtxF=Uw9&RZ^ zI2bveO^5v`oKF27V?2<5N&F~0$E{SGjXi1A7qXlA8G3X z_#>e;MpTI572rhre~ZciqyQ_Prw%>oO@_LympnhO;7`ZnXGPvI2J5%A!*v-W<*LV~ zIO|jhvb)BLkMuRuNdB0ZFrr;G`3<-08~^Cxk89yc(OI@*)kg2e*>!=<)LXDhVmj5Q zh;a`^F+RNO$i7yBX}mCWI3PMXb3+dw7x z7L6PO+%|RsR zOcKw#tT17gIKV)D{=8eE*W;j(?k6C00aOS(SA0nl7!soC0`!N306xND1ma~i0x4Mm zg5YixB82XQT*JR%gc8rkY6{8jh8vjf(&MR?a-~CSFp!0q%7IADf1w9EBp*22{wJ~z zrtdwJI=lZXc#pSQ_w`cl0%YHD`nkMH_uTv}yqnFn0vJNW3K{CO2O);j!=Bs_x|6dm|AuhZkhi}wQA>uZ@PUp_eq+oj>0fdWq|D$y0cvtWo z-?GIH;jO}Ttifkz2$EFvCku2lC{{^IXKlP1e zN(DhS1a6)=UZ{3b-+dnKYbi5O0M;Yaqy( zjlM&|Gc_d=K_CLyapS|#<%-?_esG?NuaYqYnFFX-!mNjjy77#FmXI@`AsqC|}lq>?cKdGEih zb%jWf(*GRNju~h^{dW@^tm;JzLj?j)04!YZf`>DKnh59t8=~MbR?qj}iN6 z=#O3vQ^6h1t0h@IU2^C@q6wHT3tyI(9Lgoez zB&4r|Kp^Bi2n#_bbAxHgK?JJ9FYu7IPY{ASVD>MM>wVq~=m9$2g>&fbFvTzRFZv24 z+QmyL9M(4}$U{FbS zOYbk6kJfu#Ko&q$d98v{9<*lM{>p0`xBJJ-fLgG) z@Qv529=icok*oE;ZQDT*3e&oNKaV(c8^?om)2fcokP^r`TrzIjn7b4uy&_uOyD~zj zXx>N;swmes%A7s!Z~AZPJyiBlgh?2i19_g0ur}5kd+>3t5B{GZVgXN`c~ZM?KPw{^ zmfPBsFw-C7Hq#spmj9I#1_-JNICwYt42u_0e3g(RNsU0&$=~^`NRq8X>!?Qs}|6-hUpdfT=M5F8w%(-qmjb z)3o;n5ws7fKbzrJzTWgRq{%X=%H7_yTP>T*76xqO|M7!~n)nNuNQpPjCu&%RemdE6 z!AG`r%#8_^Hm;Z(uY1cVky5opQpp(pLmy(I+}3X<+UhssH*AsYLe9zcFSN}STqu>kityqwq3cf4*;~cK6~{6QA7S z1v%ZTKLRB+N8LhAEk>}_yHa~`JyI>~?jE}rS$D5we%?`D-Y%)p3h391Pq8PMtlwXD z+pTJS!Q5834{kU z?+iDLonuP3o!Gh_$bJbOiI`G7-}KecFI#+Lg^PpSO02 zx18z5DVGSI{xh(8v=hGFttL z!QXY;<9TSvjw9jarNZEEUY#3wnb{LpKO&TQO$!Jpq=qe;{sD6On=T(k$*aIUXMJzi zd8l0awj5+O#4Zjcq{E^)CM3vGJgJ7r<#h`nbh;~jhhaxUzy|M2vrOzvbH~Z4XIJiV z&ov~)(k+gIfrJCStv6305+7*kqDLNj(EE~q-$K&@7&CW)HkY2i`(P8 za7L_E!5(;=U%hcG?m`_v@S|5V48p zA2O1z{dQktcI(3&Rr6jq+p)FJ)A-XfQ5Ok34u7RHLRQ2p+}r&44b;F?6?;nwlHXpq~RvFQbv4=Ny zeuWD1utijS(rUP=4|X<@KZb((yj)wcJscMQz+Dn4a)XDfJ+WM-^$k~bu>#col0V^U zx-z`I)u!5UFuLve2~V12Q|-nJ@+CAvduW3U4YQf8j$X8a9l7bp=>*f#G2(}RO6jQb zWU64qH`*Wa%6DLV#AIS;+z0~}&dT8I2*zJJbX&y-p;gFO_`67L3D83C)Y` zs(jqEU~t#7xuOD6KhKjlH&2^zbKYWr1ot!1jYYp=Td)12M+A}-G2ub!s=^r>8*LZ| z43lBT9o20c+-K{3H8ckYZ9BKN=56j^m>rxedyWq74F^sV8k?*_>a+YWXEI)+p~6zg zvK=Lo7t(U>ZxML0eO_ih+{BVH^a%4kMikoyYbg}|>Te3@>_Z0QTC5UC_H2@lcJh3j z!6S*S+WJu=H5LC64WNh~0#kbhs*~^y@iZR}*M3z zh;a*#rufe$ON+d=#_yP87KDn#t?U{RC{^wU6Ql2+y{xj#Xe>}HtxYT`z$#jQc@pf8 zW|>QI?6o;wpvl-As%>*jkLcLWVNw!@aM2nWPb z*CZBDFPz-QC0gN%0VYsJe*H^cEQ;4auS02t?S*shSFUAoT7XRZWgTsDxJhzO6Mf8w z_)((P>9#SFun3~wHj>Hh#UvcnUp{Q36 zmdw^kBaE*Al915i*&ln>`P9SkYKX3U*9DDafdHsC8FOUhe14F&VR(W^p$|;|*6Jka z2cMP$e#H4YS}cEVHvx0IA7&0?+Kw*}5fun3Yn7So&C_!i>f9ImqPRyZyXWiBf<5Mfv(`J7WI1Wy$vj=_+s8Mvp;Wc z#J5f;GGNsY@?nF=jzy<*nRU@*!WECVdJ-jouVLrjNyPW)l%CFB<5C9YP|QQQ3#{Z$YP2jjj>@vx z2`ed2^pI3mZkrC_R#{;iX$S9<9-x%7ak2mdLDClv^gqod?|8u&pO5lx12uv!BXw57 z;|Q{)iGz9^xmSI8_!54a{dp9ImvYqh;M+wA)S7AcCpxb95eQpAoB>T z?($D6HXS8o7vuew&OHDeAoaEP=u9`!Mh0s2hbVAx%_l8R&Pwhz%fEs?&=rI{lbtzv zKm}n^=iovkxAe1R4TK`PLWLPh;AjYE_hJue0k{VY2PtT2X(-dP1W?cZkSS^|qk}+} zy=O|3qPG>K$Zr~L^8U?O>W?U|er}Fr%I_6E;Q%HudG}1>YPBdBFzDQ-{&OlS{AySj z0j1-G3ceUa;({HW^z*ug;Q>8BW>$O0)c{Ap%U{XGFZz-F8B5B-rGuY%|O{ zCqbMvDX7sBZ`RrYT=G@EHY;NYF``D1*FG;RRAEqfqF-!~VQ^nD^ZU3F0yL%wEYcer zV2JH58KJ{d8|(DXCmli0Ya2hE5F=$tD-1f*G=idPeW3+R-Ql3o3L4VmW$86Lc2)0B zGdc@j9ZfL^L*}=ntle^-;RR8j?tu!lan-xkwL|-ir|5S6c-tWtBgYJE3glu6UM(IE zv{Yc7NZRmu7%H`qeO|#whM}@z80PjE2eI!Vg*I!RrYV) z;CN&7O4rxChaN~#SJ9UI9h!C?xKxI`%#J91aBbW42jQ-4jYi5PhCLK12f|L5W&Mms0JqqU4Nh4%ct9_SI~DQlRpZd7>dtp%gI zccswz-5V7Pcaok99lqy-mn8-Ri0R^BqAnlK+F9IBH&**KU-4xEwDKkJ7Imh(XMOB( zTHCpvv|nwIsfymY7Y8d^%|mBxJy04!D(*chDkE|)QiA%IIRQ)al(2vo{3q*ZRTh1v~i=*BnAJ8 ziSgSqi;XVbqlygwG5{b?jqxPK`$Vw$!kKUcqWPXiOlFBmZxqL1Gq!EWMGA<)A|Zgw z1m*4;8?@a=M>qu0RHDhO{>TFDW5k&XYJSGy^WHe#fez_|oK&u9e)uU>!Lv+Y2_skt zu&#_>*l5f4F>23I@SvCPx@|c%ioQHqBZh!EIfXCoyl0zNWm-u6e>T6-h>0-Pdau^I zzCjg!H#6TC)k+P2!`-OAwq3o4SP#mnDq*aA^m1jKVeIn{$U9e{yKeHUMW9;EEOI8r z+YN{7DDP2`0X=|wyliR|>(8QNTHIq||27NQr=dxZeC;1|k)#NV9`3zG{4gbvNbip9 z8iu=#1~~U9OjVeL=9k?8h!H0qUPpR%Bc4`P3K@&LOt@=UlKa~v<-rRTqG>fVQ=;`p|We-7u_@&e9T#N%e8s-l8`Y)F|<%&38K>J}O?>RX< zj?z_X((`YDX?QeGTJZJ{YeHN=g&A1*8Bly0}=Tml#zB9y4%YQ7a_3ON8 zyl_KMj78vg%dC=<`e z-07K)bKaOcOdSpepw_oBk26+7GAa3Xt`hhSG2rA|HuH?*D6PA{UBP)$+84V_8FP`F z)$B?w-bUnb3ISX}&qsyxE8^faLQBqz$X%jCBMP{i|uuV05gSB18BTtLMT z-T%R0p)O^knBputtt6H+c4Qr7Q;i(hTaJLOm#v2}1y$mCc&X20_3d&zSg$JMWkLq1Gk z^t1jP^qSY0yHX{O30o+!O`xb_EHKIWLC-?8sQ3g=*K|Wz9S9Kce$K)teU7WGz&@${ z!8uDh(e;u%s)aRiiDx-*v3qiQ=<{Si&qXP0Y*G}#f#eW9bE^bN2v~7O*VGL^Q z0^+zRGVtyf1=rcR$5~9pTHxwDXDSuL*%ag2m8E}$GvE+S(kCePo5_@}GPh={E)f{O z{f*BFuCaEkQ!9_V&Tr%H@F8Y@M~Q#TjIkL)kv9Q77-*pLTlP$pVvEI??q|18*iS(ut0aI6)ybzl{Y*2hnmE4EL%Rd{_|I=h@FPc8AZZLZfyAF#RXqFh zRCfKR-aEVB(+gwXK94MVsxem#(=>?AEFh(r`p$%=Xe{EoS2g_VZ}s#`-dODgae$1V zhP;=inxpY-Dq`VNW*ybPs)m=e*b@TZ-SbK=!s*bCW#ovLV#ZGVd!+aC-gWGlrxi)C ziXI2q=Di9Y>MvENShqrDpn_D@W>T*b}Ni4jU>`TSJrGYovlVx*}V;I z^PVZO75k3kpBSZGfVfEOU^JpBY&E+(Hs*cpZG2PFb=NJaHkm&75B?JAK2e&DgEFd6IXLwn;`Y!YpA@KEZcdvHu2$o z+Bzq<3p7mS=Ce4ozx>LbWu85;uPjO+CZE|B#5j1+voZc9Rwyn0G0mxGF=Pn z-y?iN&-pj8%)H`lC!(~Z()6OFtB^?tFUce?1B#)o;v9Xdc^_Uf6V{`|W&KO%LuZo%oaDwL#|y$$!G%p~Zd}e_uTH*9QGnZrh8#T3Ys+ErSGatLNX?utX-b1;l9$Mdu9*BF{XQJYc#eE`Z)`mNie%GvaBta|z&%vIj?e@m@&anc z!OmeIS!}>FpxJ=Y{Cp|!Gr4X#{Cqfhy1jJu)EZwh9j85yZ`P^Hz$eMn7B?f`boQx} zzB)TM>sr~-SLVBFGYx1cc#-|&+hYS`vnfB<_IVkXVi$G;7bu+{M^&^*o^HW>J?u;%@`LAIxZnCKt<<@{9&H+LY~g$_o)Efr7;!70%>ZL+~a1eij~x(1iM z0l&?Qul*~NwsgF_4Z`baXzX&K_>~h02PRkjkWr&;3 z(>ZgRlUw;I=KceMj|{#@)UpmRZtQ3I#dyPyQ9eC485K>%5fV;W!-z+^)8hFhi{y*q zS#owiq?xy?WY@)WNvfC6OfHu{T1;(juml#)D>}j~1_;U%URw(SfpxdM1)|W|G11CE zi-J$ZSdrwn2*uexkEny!f|#XzMqB8Iq@?vK z$y2+}dhAeNWKsAUW7i4TMY+f}pocb?xLH9zBtB)~W2G z1EcT_`kPiTx7#^%@OrJ9(9-c4G(w(mCvQ?WJx?#=z<0%SSaWUOa> z0_sRFv+uKSpHZvvw!do)chJznRIew0q(CJJt2qm~Q>^WLt%Z*sN+!LR8OTeWv@|u*+t9o5APLM$!ApHnE(v+g{qNcnk%#D@<9y+c8?IS z&*B7@kC|MqWQYJKl&zT#2L^_ZF+kO;`5|IpI{qATZv*6bcY*>0o?LMn8W568<)zDj zBGxa^z@n5pM>?n8m~I0Fr1zgK3D85>!gKJUdFI1IMEStbs&iTy*FS?;l5=CCpA#Vj zajY&yk?!+U7X5F7C@aT8UBQ@W7eJ@KDA3;aY%(4QNl5;)d>87d1Yqqnjb_EqNr4D9 zbBzQE!Ey$Q0Y}0_z}j)vzw&D*I$ZYE`R%vhf0ATiUmVr@pW85i8Jv`Xzc+k`5l097 zt~#f+D*zFRO$ByIJ(>kJfUXPZg8}l!yo%ic2q3#F);2%)cRl;Zdaxjsp}rI#gn?BU z_^AiVMN?csncolML)bS=X?!1^JLQX3Zf8-N7u^|9&A#;fyS@JZ;RyVz3rF$;@2gJS zQ~l68y2%jy^>AHkcVKGD?I6EE88Wipby-U{~zn_|tV4t9%`% z@F#qeS7+(N=3mMm_)YdL+TXKp;`=BAsHW(BR+StZGdEB7->X7>!S#a}mopDRr&PY< z5b~z2hcQ1*{Oq*^miqJ|s>k?}BVJJ=@~E2MNfi)8ohsA>6g2fFR13Ry;^2r__leT8 z`}rmv?<)yD=|3{?d;1hh9;H#bGhsBQJuk-1`I_3fdf(Ve*@$J2j;5FYj#VMxm9si< z;gvyhoa$A09ybojuDis8^$MF{j$!POO}G{hl^n3GY{<6HM7GuX$fZtYzJhQ;UdM}T ztW@a_!K{z=9wIzVu7mz@Au7^7X%oBGft(t-PNG`Q~@VUImU$>){N0`?-g8DjsP6J{=lfiX8rii}q+Y zZn!;>Yfo^XMhY813WrU|!%TdOJ&{ZGWP{J{+wK#G2J|PWRey)kxw<&Uw-`^r4ZN#H ztyGGHZhDC_W*~lV^8S)i^uIt*Lh+{!sZaDos<#;y+3T6dy*dW!W7zYy$+>}gsPwZz!l zWi@-jj<<83%y{+IYsKAe=BVa$o%%OL;WGS~#>yA0*6UkLaO>~ZVLqSFRdAdSNG7we zekeJD7A4|A&`V8VSl2aoKg=Dc|94<*$_HvMMBAVTXb$RtqK1qF=vY^7Qb~8LWX(SY z1yGK2TO;S)%GV9-JRQkIrjN1@dCxf27a!aH|M9a(6hPt_yqFg+ms2c#o$kb;o9Sz& zAizg%+)=rb(CIjZzW2!L;pfmXKx&@cT~_ZSZ>PL5sSunEe;dje9ltOTfm1q~nR zx&2o2VllE`K$gB6AQM?jRF_B`nRI3BJ9N+qS0qQHZpxO#?uCd50orXZ;G;|RKILcs zpPeGG{2nm_$uxXSW<*VRGp2^n}%JKz(C0YkC%J+9Xj;;1Zz z*#!JtbB^ooSSjGR6MJltz6(GBzareQOKj!oYbZlz+U$hhg>nL5c8xX*vl9YKTjnPb ze)S}1f}ZMGx#G}VzWCYVLECX=!DQ$`W?sRYjuKl!Nxl$n9hv{W?ST312 z_f**BW5VgUbz_YQ-OpUC?y9ZgS zT{F1LP{se)I1%-7yg!oyjL2ke>oH%+rbkb_$3ZSB`O~l)Emu>Sv` z0=lO|&O42GU+Zrk2RrkE5RLyK{r}<+?%YB;vH{Psuu|?F2@)vDsmoSLTL%3vqM_f1 literal 0 HcmV?d00001 diff --git a/docs/_book/_main_files/figure-html/first plot-4.png b/docs/_book/_main_files/figure-html/first plot-4.png new file mode 100644 index 0000000000000000000000000000000000000000..ba37f1e7c9dd0b1756b21ed3ee61bb636db2f682 GIT binary patch literal 12497 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
v5eBlV7#1MG7pS*oD<=~u}`!4B`5d@+=G8Ca) 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 aiz_9+Ln&2vUGdPC_^E`vc%G>KhyMWzTDk53 literal 0 HcmV?d00001 diff --git a/docs/_book/_main_files/figure-html/geom plot-2.png b/docs/_book/_main_files/figure-html/geom plot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..59ab9c50e061b9b9a1d8ebf9274815d8e98372f4 GIT binary patch literal 8794 zcmd5>c|4SFyElW7vX&)Vr2L8y*+NqZm5j>L~%oSdB7wr%6$ z;^OA!=HcPlzI{6{FYk^WJ9h5e$;ZdX&(AL)ARs6xC?q5#EG)ch*RI{WcZ-OKh>D7e ziHV7ei|^U9M?ykEQc_Y%N=imXX7Ap;va+&ra&r6j?UR?6-@kwVfddB=6cqmWgq?29@Ws$(9+V<*4Eb1(b3h_)zj0{*VjLO z{5S*xIdS5|$&)8fojPS;U|?uyXk=t$Y;1hy%$c)i&z?JX&cwvT)YKFTg_@a}UAS=J z;>C-XE?qJ=H@C2`u(Y(ava+(awzjdcv9-0ev$M0ex4(S(vV((zqoX4X27|-lSFT)f za&mHZcD{P`s*8(@tE;PlT%VsuvlzrYU=an&v7{1ix)3mzI^%W)vL6$wDk1!*RNl{dGjVCBjfGc zx0#ul+1c4SIXStxxp{ec`T6+;1qFqLg+)b0#l^)XB_*Y$rDbJh<>loS6&010m3Ta! zKp+r_#OmtmnwlCCiS+K>yV}~?_wV1=)z#J4*EcjYG&VMV`0$~rsj0cSxuvD0wY9aa zt*yPiy`!V!)2C0LKY#x6<;&NvUpqTHySlo%ySsaOdU|_%`}+F&`}+q51_lQQ$z(Ex zLZMQrLqkKu!^7Xde;*kc866!R8yoxaMT zo1dRwSXfwGTwGdOT3%kJ)9EWKE32!kYin!k>+2gE8w>_xb90l)Wb$tcm;;{8<8#Iq z!Nw*P!TJNmjLf;PvB?}dd-|kBAa;5%3U_(QfjOsA^2Bkd-O6tAb!V1meU?TirG1$$ zj3)QdT;p6!ookbC%BCOG+FybfWS845chBU(?(+Cc?hiSWw;S49o0AUQ?qCzlyxYfi zh39JA;FPCpH8V_otmV19LUFNM`*V6_>*VT>G=xs^fr}3%@e#38vC4g!npqq2c`1q#GKT--JoOg*>u2@;q?$%q6z+6zAd<`XDj z14Rk?U@)BAHV-lE|0B`I*%<5ggOP?jz)D|WahT43wA(o6Wwe!yZgN$o`pL| z9@Up2Js;qmnd85O`CrCWq;MubJCAOCzhv-Z(fU?pFoCgb!9J>AAVdp$eQZ--70|n2 z7f8531Y{zp3i9~>I*30`b+dLH!9A-W)*#_-cQNKhq)RURffG)XTzY<)r5?FbJD5WT zz*WODi?}ut%fx3zbXAA=yo&mHv>iBROFoHD!I&G8E{*W59K+LOA=JYGJ$P5^6|rQ%X>78-f*^2jL@TDdmqE6C zAE5qo1N~~RkxeUbn+OQ`L>q)gt?rIS2XyXOQCkm3P8SdxC?PlV^EaK)i)SX@ zWR2$srB7VmmfhA;LI|G0#MzW=N^5U9l*O7y7YuV~JU=*Hvo{n42GI%?^oGm&^vR{j zeyI%dL;k|L6#G&};C5G8;rajC1^x{4fFHNaUABwTSo{oTQ30(&&?zC=5GSKqs|RX&?l!T}Zl%L~qaaTtW9 z1UPH;?2JwvJRAV8lNz{MF6>hU#9bYTR-h}PAe=pgXp<_)mdGcn1R#m0Nttr+Od+lf zo=GWPyyDcIww=8aMBY0AT3c~>PI8v4KO7y`N9$AAW8Cqc9FMPU>|mk(rTu(8T65P? zzO9x10X0b99ELSj=+Z+6ieG0F?k4MdOVN?f-s&9?TK>xBwKsZ%n{OV)Jrwp1Ac7&ZelBlS)so%|-U zYIYFfoR6F-YEZDvo0DGI!|a>O2w5_C{K?u}%QDsZ{XqL7vhipo07A#+yf1HsO)gylj@D9=xjjAeqqLKX^$Un_G1Vvygw@WWqI=42DZWSq{% z(+zSA%F0Jm#mlTUHl-Ldqv-1!cKC^p(kMYn z^i!5c_>%I9)*o~dYiiPh+#7ch9r(00G0pA zfg#_@n-pl(?1m|9FLik!B2_(VPOt>rbS)~Cf1jOvOpLiH# zLTze(*L16nOm9OqP zVvSpiVf+35u34Qox>m&;*aLvkd`P9mEw^&>6sS5|<;*LNkd`FkZ|OfkW`{L!vQ*Bk zqUJPD&r%BFk)Y4bUrWm{I1w}E9FpR!T4(Pi5}H{Kx$d~|ZWDrK+)K9sb>ljRoikJN z+6u4Cj4cg`<{m3&`PRADBb^^lHa1|h_xoz`TBM#uxB8Ba1}h)zeADk8v&&~i;~QO-Sl8M``>1+^Ple@XC+aXX9k*qJ93;hrv>?km?`hsZ)bQ{aJ@>~gCNm3H8G#wQ zxPnPT?*v8d7n%+0PL?5jS|2&o=zXjod+RZ#f8UnS_P{uu$#=aA{5TiozZftyrZ>>9 z6=Fb|-qKc%bHfPH7|9D$-Eh4ZwB;+n)V(Nsx&EdMVLpe54;)_SL99D=@;wo*Gd;ti9ZqM2WF5+d&bCkO4DJ;I59Gb6kUCIx7MNRPk7a9NMWBW zAUpJc@E^yN_2^PGZF+5c*^28uk8X6cE~9MPL-Hg)N;KeZ%u7}={(8H#&n{%I2iD$= zjuO4+`NPWllf=^+|vgT2}e9~vxmS(H%Sq?^#6 zy7a{h^#Q+;K26ust7_4zy3f?)Zed8a2Db}|xOF^QeSa`j2OPSr-*B0ty%6eryknk@ zf>e-~k9TMzLT9&!RMyhCDdld*@ zzBNb;-D9N)(e=Nih)+O@fSj=f(pAsm`R4559eWra6SOd4iM>@Hff7(UQzqg~%|v!* zk12wZ{w24&~`BV!@0ko69gq;CDLd84i1 zV?oS}c|#ICPl^!CQ0Z(R5Xpvtt$_C76xY<|+H^4mx-trh>HZn-h3o;sTAN*F#IB8= ze6OJWt~DGvz!^FDE3S-|@W0`%*uRxYPJtaI{|d$A;NUK~-;nl?2W@iHN?at6<#?y{6FC5%<6)Sc}$cGoO)w74f&KJO5VHh6mxc|YT zf1pS(+O3yCUPH^9iJL^TlFor_0Pp7K>5Y%#4lIy&oDeTcQEXcTmv4s z1t=Y8QSZ@0J|kNyGn-24gB&vuZkf@-Zj@K(Xhi8%
>1P4J6jS>idzC~pB7pnT0> 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 literal 0 HcmV?d00001 diff --git a/docs/_book/_main_files/figure-html/mapping plot-1.png b/docs/_book/_main_files/figure-html/mapping plot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e9a97525911e0fce2628111677ae8986931a9e91 GIT binary patch literal 13633 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 A z&Q+K8_rA23^*Wtne|l{5#%r5D<1|xoQDu09ns-xDikf14_Fo-#>sXBJ#w`0WZntpD z0BWNgm#WeaK2aVPjX?obJ6l_c!$mae|NUrG%UTe&zCBG5svki7Ok$c)PU_g;9FwE2 zU1*1^eupu_AEVt@id7*O8v_fpRmf?Ozc2V7>}JSi0Js=3K^MSbIrjnj`b#id(s{2y zh>~RuB})Pefb>APBM>zPKnfZf8^?@gE^d8tuO$AK_re$icAzbrV`FXOX*7QUOp@)$I(xeDoR&G=K-WP=W3W{t@5d1Qjf> zc)(vJf3dc#@dM?2`{jwYq2W`IL2Pe33S_)VNfClegZS2VpXg5fTd7~+DnXA;Dn(EN z!dVESZ1-_A|9*G8sU|s)Yx-bBAP1$7x`No_0JMNG+CdGef4qKh04oF}UPzlaw5lm{ zzqccwtW}|&6-X6y*nUVvLSCqjqr)D-S%CJe(bdSUUK$Tw23cVzzfBWFZM7@c>Y17S zgHJ^x__P3~TlkA#r+W8jfTIUgqwnu2NA-e2kru@9j|c8w9(IGs0CKO?D1e0vJe_=G zIviuy*a08|{5n#ZC`2WWldWzB&N;B4Ja0&eJuoB8?rz(d_JuwN5cAh+bP#-d2?YuE zqdazFxR2J-0VsAr;iZKG>5fsTHk6xNm@FXbeRA_3G5QU z#E?8w3=M1#rM7I5c0Z(6f$yzc?yT*D&#_e z)5AU1tz?Ko|1?1;mmTCY{g#7sAJJ{5Y{W=(+oV~DpMT5|x8c|KGlICdIG{b9oSlV? zmq3IHt}}>#g4GjZW6p+#8C#2=QsDUjRBQwN1bC{;Z#o)=cRB!F0lW+P(w{baAuo(7 za>PB0ZLV*|DIE9FxP6CC^pw5cPbS_3jFe8? zqi4#9E7b_%ET0xy6ihnmXlpx94x=N&!o#8c6Zdz5SU<4qbiTC7gq0Z}SEX~DAg{jI zfjF||kM1meKOtM)w9Y=UztuA*&`Zh-%QxH1+uIw`J}9XofiishbCBv$`zIz0)1bUH z0zSL~)aELMTyKn9En)vWbCwrfvraWNKcRg)R`h=La*u7c^cL zVuk{POfQM;Q6c{V3jkBwu<9RRk?mHe29N!75WGdw`+s)81Z&&9%R@P1Cu3t{{%@2B z>5_>6NHeJH`}=Dx3P^`Q20f+iiQ@iCcinUBea@N(_nY{Rxfxi#1k} zazh}3AdmwDlbVJG+M}aRG(xd&w|}c5PM(1R$$3colpQN%cfOHu-WF0J+c|TwtIwcA ztv>d?hGGE_cl)tGA;T(5%`guBnQZ&Yu1n&gfT=rE+0z1v2!*fi!)7I#w?Hm~6(X;w z_)JmiE+!Kc8#+*l`nW(z-i{9L`w6&X@oG*3?P1TOyD7%h;SWOv^Vg}yJPt=>zk9n7 zymUZFtB6( z7qz*eVM>6jFBS#>beY3%0w#XLZkQY#M|f*N_U{7;-I18KtsH%E8PCC-EPg$oBY(NZekrFD<=}| zKoTa8?)Y6c1v{^dEGlHEQ?FrkB9Wecn-}_nfIz=B%=mI$u1QP|LgJYs2D-?5uXvU0 zC@~tH#5p`K_lAiJbynY}{-vrGVT_CCsRu7}ITda^-W1cg{3H&b6hjeBj^MLIL!)U zM!w^Y8|JZ_agkm68_)1G3YMny3#c;82?yAV4!?*;LHzfOfwCk;iM2udGYSI81tebn z^-(7uNLk}<5>(^O;1d#dY~(x(JX@zQ&PrA)g!rSD@8B|n45a${N$@pq8Eyra`tM?utC)L_M)2uQ zJbmS7*(6&y)ga&}W6Ok8$KO7sD|Ipsy5mp+jL@Sm9B&7+?@n*`X3H}}fQ_Qx(tV>M zNZA0x5|WyG^oXLFRa_jIRRAN=$1VAHpv{HyKZis5xY5-FlsBFPn_kUeBs2$M#_8$l zCP|F}vQB~BX*hLj5V{OxU>nFYa=*SL8SznAPRGHJHNeFF9BVnJ5UzG;*9A7KOFraAoD(&lsiM{?v}uNf7eH<(E312Oef|4&4U~aFM$5JF8}L- zLHh#E{|bYePrDSb9pnNULuBsoMrOcz>LY-1A$Vf&*DQE&VJ%jtV#Hf55M+VKmj@*q zqE~v{PRsydg77|2qu8g7+~Max0xut+RRQa--NrZMh6TvawDVRPpIej+s@Gv;gvGu} zA5uMt#rgDAS8Rm|r}PpnKLG~=jhDDhxd;puhcLn#85vz(U4c*vpnS_a={t{|{M+sU zHJV0-Kp@Ex;NAF5P`eMI(FbG4^vuj>%Nh`f!ydcc$Hej}u!rI=e1?Xp;T)+804`vw zMLHyGz+?a;Lw_1dlsqhyh_ngMOrtk?I$_2#;Zu8LCC&VT@4hhg79hkp;soigC?Y*4 zu*V`&%ZU#XIp4ke{NXWydW!No4Dk^4zr47}Lxcq`E?AUiNf5dA*hv8v*TEwn35_#U zd=e4?$ae;&{%MDRh>yjq|D#T_%$mJm&)k63lK4nx3w{2_Hcc(igaKcjkd;-gc?*KX z;RAyde&=d!H2q?Ld}}vNmdkrDwze@Gv<7<$vo%{0U*!CY3HLsUbM`ur;oQi?oO8Nb z2Lf1D`X8FCwAIQ01>>V9kAjeqQZuCm8LGA_Dlr?{I1otznn$a*V}Q3sZWMETUH71m zxAQUwe^HtUWL0+F>+nxa`Cx1Nl(hVPhT+BvoXH{RbLce!Ou8AA#W+8lvYjBN=3)6H z?AC)Nb5^gB2Zw(7%{9B+9J84aRYoGEBJJ3rwY9aH0s2$&(Ati3-u79u%6N$u=3H<8 zP5&DQvhCHMOkMF2(u`(z1>2ltqf=yhFVaTH&%=Y+WyP?t7D5-hOj4D-fx)9F;jnxH z>p)sYxy~4u=#88R_mpb@H2bj$%@5RL?bq73$5-NKxZwfi;eqi{c%B6bA8+Lc(}(Hm z=~)0ygYcmp@3i|%1K@)Q7n-$9-T=`rtBT#WNcowcIoaU7MHQOjoSNP?6xZLRu&UD z!e{!zfAobZ5S@ix*m*%wTkjZ!u|Ie`s+p^`wVW%szbk#iE&&nu^SOZ}%8P^1$nho} zg*F4mkB?b5wPre$F>&iAB78KI_ASQRh%3f|nEv}Hu#6IxF!eP=#l#%HL-TQw+(zVl zdzN;FGQ_^O+S-qfEo6EBs^N(8q>x zC4Wj8>v9y>;^lYo{p$(OFW}4%r2crB9KAr#kpTKT-KE`_iUGNQbx%NbLIoyMXuff;anHM2l!Imm2$i4qTIm=*@N40{b$oQLt zb|4)`$9|BdgkipF8rW_MfLhkjAna@Ci^MD#2}^2Ffh@m{j*bfF&0F_Uz2bvAwa%3# zM19A2DX=SV9{cP4wxN%-c>S6=J9BF9#CoR-8~PZmg>E>*Umje?k1i)1RxMkoN zG^#WKi~xA)0|$nsryJP->%uf+TnVnkDUjMq?RA3P3UC@;(^mT?pfGEOU?N-!84%yB2UT}9L;KxstgmII|rV7#W%0(dvQ-GEc6%v{;%F4=u*>s7* z)UPY+4l$9K{M$|2ikuYVFKtGjc+2eOvmukzTys_Hs4ZFNnWda=&L7umX)Ktk<2$Vd zq^OUaDY#O(NTON=x1Gsx!oQCdGU&U@szzefGs*IB6&pXZFH(E|9Yfz8jYgxrq$5~~ zr|oj$>55klLuv?X1lI)f4~ImYH)lFp_sMY}d4hGxjg|3gbDPdxyw_5AOzuwt9ZF*T^Q52TNlS+$z{sl<_S`;& zdBM!(PemsqcIy7#UcHkQA0=#Pc{}na+}5%# z`i&Q#sP#qO5`Scz5FI}59%$?#ZxGb=Fls@Z2(q0VxQI5YKrSN#MrdSdX$e?ou$P0- z=p|(%VETOBey5#Tc9|nA4rLEB9Y?QN5Uj5=uxb@I4ZAJ$xq_d>VRT{XB8N#!x^|2( zS`&pjNfw11va;$d2}g78E!bexB69mCcn&Pw-|^>kxPa+j{l>~C{$JEQg?Q0Q)~NKCU?c4QL0;`;*~&x;skZsS9tE?_i_KEcgWU(|x$4j-TU)kQ;a)=H?uO$??o! zg(eiM7?%}cyK`c|*C6Ae>iv7Len64PfG{o|mC&vyV9|l>s5Vmua&lpx-I@06g$3Tj zcGq^DfhMi47Ly^ZohNGetcjfoPtN{YJNOssmgrR*+(yveB73lM^SO~U#73)^Pr}tg z>@GEaA7k#T6P&9|*Y=SrrRz46!9&eXd<*yCF$`Y8qo^6+wKnBU*Q8~gJ z=;$X$IYfBWrhcp8P(hi3;uWU8eFN!SI8>%Ke{YbE1nkhDsNe2A0jUM7zs=0b;)!Fz z@`o9qyZ6l#cQ=4jLxLmJ6#{u$a$o5z4SrjrR0tt{(kO};rAOpr&efd?-#0t^zH&jx zOPP}@JT}FSW-EOTx4PfDZpY~AYI`(K}t%2X6N-+ zYl1uiw0J zevB%^xL`)NUzH=6uT#N7E?Rx;G<)X##^<@`hJ}&X?w{)6gVhnYI@3~z%MOR@BTF`g z)b8ubLXcd5iWCs&-%HO9ILUC(-d9$- z!Xwld4*19t+>XK9uxo6p%Is}=`X6|@tTK5WVhhZsuy2!iqc415*+=<8i$q<{5aI zhJr9^b^!9O(dna&nkr?@{o8Sxp5c1h!3|zt z5L@{_EkFh64%;DT-rHL^N*>fKuqu^=*une@phveSYZC#Ixp&x!1~@h%7@6Au2u<2L z+)ij+a-ROAiuaohIxKe8cX;UQDAuI6aJQad)Ar5;pG3Q_bBNF#dEx2})RPumibHo4 zSU#XoJ^;3P0t6^*W&S-_E;rJ@E0+#Jgr}nqP(wPJph#BZpZLQ)4nppi^zUat)gYp# zK8N5Lnt#1PXaqMM59pS>4-W5yM?BUYX*V2dGF6^n`7LZ&741?%cN0 zEE_HX>gC4<{e9xRL z*yr-D87`sStDwqNF0x^PaSnKwnspD#2x00tRd&x_IiYL4QeA>-3hTas8ql>>tyW$` zh7u&ZA|bB~!TwaYF2Xrb;u2l0i>ofjTi7M@$zm|7tZ{^!ruDea5LxIp()pFu@ZP0Z=N%Wh}?{~qW@HKJ`k6Cu|9OX17U<8 zoPc2rJ@|Id$!f+__xs!eX`=CvP*&Hm&1g^ zC1QRl2V(6LCc`Q;f7&XZ`nhW|Oc(zLAH2`~{$0uj$ywQ>(Vr&=PuUBBOd6KQ-oon! zrf@WYNp5s~)5(3{Pr&V)xQkyul;-5nmrqj=L_$aK-u3$}v{M_Y5JuOtfamzr7q}Xo z`e1VS6C{=2(Hbhx%pa)WHaW9d$CY$1z4-Huin|v6buaD$`5er*OL70v&gW_FF!=G} zdc(E#<>j_I_D&aN@*N(Y2loN&U7aC}UkSZhztidyxGMe*z7K^0&`LlgnNQr#&JGU? zs}_cKP{x(3f7_Cr89GaDL$;0q@8_xwQSX{VHzl@iP7((N-RXow`o3k34|1;lt|bfM zTfO~xI(<$X6#j#E$@~`G(7hl!4JzN#*jSf2A7rlvj!6BXd<3!iaGhX)X~35Ft@`5y z`yl}lI@51$6hTTqZduY3r&wQHyfG_k$+(-2c|N;}_Lfq1AurNz2qvLe+hJ)Iu&nFF z{3?5(EAWOZu~^Z&C|qSrH;d(#g5A01LsBvPoM%)Lt2vO$wdGYmr*3I3lC?)a@|;9+ zgvM2-f`vl#7w-1igE-WTuPAB{n7TPF##hID)aS1Uf;)y!&`=iV=btO|^66ONvI8Q(d%>P^*QQID2a$Rj(XRL|^Ub|IkZ_YJ-~apc zh$U6of--_piIE8E_kNGbRj)bU?YG|tDS>~EQKSfbdHw5#YRkMBiSy&hsVQ4qLWitU z6HNFaj(+>%E((d-#1W9n%!Z-V7vRx)p zM2R)Yn8dodoQ}a-dOv;Vsvf2tFs@q7KR;VfU;1~7VGxwpeR*|ssr>Mv%>7)?*J-y6 ze?dyZj6lRmcFMlhz|EK1kpgb|o*vv!Z-}uoZJmr(IPOOZpN4J%A>8b~H@88OCsWR{oomK?@UU)2BMHjhA zA+G!98wb6ibDl02a`gfv;z9QS$MW)2vKquHB31ypwjCJLJx04`Lwyl{2s7=ty+Qgn zaR26#8e_-SH8g-uJh|6Wh6r7TC{BR}Dmp~mwEYa$FE@ex@6wFYbkJ5oin~w$*<)mU zH7BP7oYM96^^~@-_6*WGog*w{KX^^HM#Sgb4)V7>erb^LWpSF_AI+;I?RaZ8!R~(4 zvx}0$m>Zu=i?Uafk~-Y&%@$-K1``&{IS5hD;ljBK8V%?X)6%$79l!TLz#aKH4M8Mw z&)vbr0!QoVlrg0fI4_Y#gup;(-o_^;Tnr&0*=4zXacKDThN+l6G5WX035|`jwx_I@ zTLDK9hX1C8r>83C>SObkT#IQ_$9@6F*MCxN;w;qDXY;&D0(n&dTQtx8(a%9x2W1o`5Qzc~Kya#5iK$2=Q!)X18yEADWX3~IAOPx(_FxJF04W4RSB9u( z?FekVDuqEJ1@-mbAo$Veh-bn2HD&AuYhaLX4*e+;`1f_CvOM57fxiRm^ai~*qln1V zEn0v=d{08P9=ZW31U+HxLNwr|J%3(B9ZYUR<1-`5^|aAxH{CXvSaYg}%gK`NBMBLK zAw4lS4ep|Enwbaq@B0Wau1`E~3E?D>6)VN35ym84xMM0&lgjd2ncsJlHnZTP+=s6*Hiemq ziK*}LFhC{&TSe)G+MF@HID~{%m6cPD^)T0D`!2cP!tIB=H2UXSSo+ zcq}>!4Wq7(9bHDh`|Aa-e9$R2u#;lY7)89$yjAyR2DWtUoJvVaRsNXsPWJs zt3Fj(iozQ?t^q$nG5-_DBRZrHvDnN1U2cwN!5bi<%D;&bz2>;-pwRPGq31IT8r?h3 zpQBRbEge0U{646s;P{6}odFRH%RNuvUFf>5grwd?rLbkuM~ByEH@ctb>XP|T|5xR} z#O}Lpyx<+!bVD@SHeB|FI_PBUMvSp7yHx)>-wfr^+8g z6pnmO9VjDGmDyr?J*@ERcwgFrjl!rxL{QKZ$WkAte5#{G;?3W`eJ-)jz}o9A>QjQ9#h3F_%#43!0ZGZyMdvxj->FFT5 zPl(Y(JW~!)mKn`ll|a+g9T_hDv99M%=6I3pmf5n&;X10Za7a;oN;US&LhA$Q8y6|n ze0%-ipq=BnpOT&)8Cabu`Xv_ZGO#|fr1ImBflI&;ePV)XCA>aA0H2MYMWLZxu%l51 z;8#f)`cDNXTxnC-SV=%?iXWE(&xay9UKk_38PU)c!7}+MY#juTd8ZpMNmS0Weesbq zIcez?h27#yG{oa(uP>gc%|%7MmH0mNXcS#K#6z2fN55?qA0`uf@j1`xzI&IGs`F)_ z{QFnk-+)brc>E7eRM08MOoqIGF%S9)b#Dv`E6LG38)q*G6E`IJ<0?S!fl3RGe=3mddknS7kG8t5tF-V7D=Uw7;>}V6iFH>8Qtrm+bmK2uY4bsxRp1sV z`}kDvF$ub*tnQZ9hrC3bsE#Xs5y7Ctg)H~qRmw%*kNo`d@h=|9SSfbZ`d+P591hEO zf(WrJT<DeDOmY{GexiQPzsae(I);m-BI355h6`OjH#bsGgdxtf|%7xZZ# zel$nd6%ypm%!vGe^0r7LMi(zCp(KL)qv~TcH-&U_N&+054~~Km0o}4EO%&#;UNE+s zHWd>W*SltX|AyL3G%`|&LeiZ89%4$2IFs0DTibOL_$e+Z&5TQ6B>GvUj{m3_uvEF! zrFdr_mN5I@w184FGH#;55DP#YAD(1(s0X+bL4I|kVF>V-9dS%(dXb_XtNF_vvwxo^ z$Z{+kuu%EC%3hmKqOHwu&u_sn*ve%ZaJQ1g9+WMAEUyoGpOc_7qv^eS{R&@y^-Y7W zj!w5V1T_)IF7@^I*Umcc_ETCl)W^og0&i~-lxX<91EmkdsC(CseM*Y_Ne}P@2PS{O zYa87%2>;%`S!}d%`MB9UPefcbkvdNmulFK%Gn6QL*6F_+pGyd8e+HkxC9hD&SsSyKCQ^Z>uXy~^ zi44zh)(cxS(eEb-%`w8$fK*k^?C(VKoWe6#w;6-Ln{sJR8NItM|acj$7gCre_ z?>sT3g9sUcZ$hFs=Vm%;y}Gqq~l+6_d+if?agv8n*A82-{}Bm1=* z2{}0%5!SiG)@dOAQ4B!8Cn$jBfSLD0g(D~2Dznt>W8CS$26S75;~rh`TG_=sNSaNI&U5wD{ViX(Jy@-64?)3w+>$LDOhMmw}`s zX6@d>GDnefH`pHvuq$M+I+pK22L+kTt;=(6vtZPL6h2r1YuluJi;VuR&!CWE7Dych zY@)YR0TTQU#WE}+0_X^Su&RhNK#FpgldQbqGiUSP3Mzt>COlllgMH*}_@&U?$8I z4KG!s##P_lb@Iu)d;A_}eTwnqf-z{~5y==FVO;RhKu7lyA)M;W5$FZVPGH3^LA$87 zi~$@MGUHlMaKcLyS(ahu0m3r%i*+#%tmpm#K%6Q&X-VT11x`3bG9`izq7@!BFl=qg zQpX|FZQ!0~-FR41Sg8Bxk+I15w{Jp_JYH7DHKEAal1rC2=?FsJ#h*WI1<$}O0iufe z$;o<%BC}#khrU!;M8rrWobfX>aB_K?aL8Dlw)m5!oD(Pn+-SFwTZUOT-~Bai?Un+s9H)l&=`0JSB0Pr5eFq9D2vPW%jsar zrmZb|Lrn{g6lh$*QfoP=0ue;x;Nmbj!*Ld(M(!xpiwcF85)2=7Jk*bjjk8ix!fMRG zEmST1%1ObKq9XTIve^KL>YTEbFCH+X)M(P}bHtN7S;^Ir1PO;bAHPE4N;*1n%!y#H zf*b+<%)R}6U`(P_*&(KmQq+}}nsCJ?acpA)_8J>nS+Qgd(F<6=T$lL(Zwv&I(^+|1 zg;NUx@C9Iys@0U5_|spk)E-tbU}#6prpZiBK87dX!XW9(54iaV#0kc`qDcK^^{NB& zZ;gW6b6ai7qIi2_x1M-aOWctsr^#0(Di6+^c4Q)7M*r6pYf6Y|iiN4A6b`6o=RLp< zfqIKg@9+XLYQ~Tbba1-b+7N!>1JU7lr+5f^SJ!)imw%ykrgfa!hYh8(cAztpA$7LW zI3|gyv(!Sq#u8E|zn6|vT~PS!gjC~u4)E|o`_vVzIM$5BArSQQ%N{d2y24jD+L6&h zmWgQ({w?cPz~-knG8^EogU}jVT>jrS(gZ7zXl&lf1Td^dwJ1Q({;+FwUFViU^h0zR zSk)A=xC`%`7D@mt$lAF{bR+K}UY!!1l*hy)JYiPXy}Z?^j(#~tGYXpgSbY87hU|FXl9~Jw9OFrtiQ>&TqYFkIB zh@>tcOfwX3R|{kK*6Y+)2~P>mibbV`D+V*C{`DFi8k}n;iWs~jhKtW*moGfs*j_N5 z9&(j<`GUi2wEEV-XAd1%VhlQ`h>juHjYN3SzgO-fpg<8sB$#MTMA?-7yV)=#!?;EO%|F=sboP&V@Y|Oe@dTE$zzMVU5d;9 z-bkvnJydJCi_du2hWhg993p4On1 zUxmB^%<^8@I9#g3R&=IxOzi*8WXf2;xcgjl#EcD57uJJ~oo|bZ1NFTFxmpsj(a~I7 zTpwIsRV(q}_U&+{up>GbU5)f`Yn#Kh=KJ2e6zt%+CP)g98y24{{>8*e4S6Xhalg{E zXY9<~TlN+F@3DbDlVZOe)#pMP36-2)OAA6uIii%z%xH_z@U(KA z64u0-f4eb~-tuE~lcFDbkpy|m=duIUL7z*o(saMDzm3S_>F9qC1!_E~nzleC2I2kS z*s~yv0copAtDjbdKGZ!Cu+-h%m-;N;i+?kR>7C8qy^^jtB&{gnRIzrMz+*5>X z*c?%w&+{ZQM6M`fYMfH7F8FUM9W8`>#utUH@E(*z8a=buk4cszTH!x^o@V-a?0EKF zwa61H|9i$GHq;+g(bDsLUByUc5@2@_=m9p4!883+*^o#F4@1t$3C`?w=(v|y%@Z;* zqOP9b!j9LqHyn~mp}$e|=;6MWb`g$8RnmAtuGiPkQaG8z<`r3=Z*$|C1P}3rojLR{ z$Mu-e{49BeHTrs(+nWL_1k92kN`_|1vWAg@wMpZP4Y~|`ub@xw{`3h>Ym-@CR1Tze z0p&$j2Gj*m55~GBz*=pXZ$XVAWYq^vC&Y8!Kk6X`&a;mVXiQ{^orue?x@0&?-CB?O zfJm#T1kgSiCA@u76cHp3tZM^wz~I?cxwb24V73tPH}>&%*}M$nL3rmnE~{G^{4! z9(ZHNcaj9j8!kK#bp&0W54I(f{-uA_Ikx2mwRr~)_P7a#rpK<3uK}@2M?bnwIGdb- z;}6`aXat}J-uUP{*m!u)0hTjGa?uGyi;DmAMa_>o*2A)MkER9ZCS9&JXsBR*rqk(a zhHe5#*r7q~JWc1N)-$+~knZrit`W+Yg+K;eil`?nggFCk=PQB<>Zc&7LGJpi4F|>> znr+DaQ3k1my9LBInYx)sck=COX5%84n81$a$>-L(T*49(b4|9$PY(+uL8L>2hheS_ zn;4$$8@Bli$AmjMCn?KVhUoEkajhkpwEQ7Y`O{hVB#a(q;uFx5vZQx2m%APOQ-7GU zRep`Z<5Df6Bx|GVtj35QMTFvXDr4zOzifV|c>F!<48m_ouxH2wRGH8)$Rij#^QmB? zFOF*c=Rmar<~|ZZUt@_sL06%V?_g@OnnS*)tY!VJ&u0I0GflAA)iP|PKU33L2S22y zE1Zxsl6q(t?B$;%E2r)7(2>Wmh^@4qwJ4(SThc#@v)#tUsdhi6%5Y_czj%fkJ9N1Y zj1Dx6YG@Cq5nKPhwsctwPz?D+Dxbdh*XK%wlt~#Alk6>7cs2l8MTS$Gw#}Vn^xM^c zU;}^y-jk7m0YQ_Qsi_7SU|{#iB?va|w6`;MVrwa_GZ2OA@@*b}LZJ`YVgTCFHX^|}D>eK<4|!k#bh%u}e}aG@cJkA=;K2yaE-W7F?{%0;gVi9Ns?YkifP!dZ z_^ zn}Y-t!57sEkf->Yky$gp9vQh&0tf*eXXOiyI`WGfzrXp37J4zALoFY`7Yy)vReuMo z+LnWD1j5yt*$ako~$YC9|3M30g(L zKO}bD%}ok4hff^{B#vcDs)wXhnZP{y&$Gn>H_X0!5vWK}jhv#b* zlA@1~+!}>e=BAx?u}ajv@!PZBF_X8rsz}6$_*H0X-xS(sDH&m)K7C6+n@*!Ff?V(P zoHm-0egN6V!mBrt4{%x|>-gciLcWpO;=%pt={zkH=>f!Gw!X0|vDq28h`@L{|Lkq7 z@>MwsNOC&L%LE60r~I2rT-@w^KFOhVKSQ(8*{-CU(7|uqSoOrZX)7x^VHt z!^2GdPR*6-C}^`fA5tBNC))j9TQ@2}^)Io#`W(%)oU~=n^7;jMVkSTQvmTUoS9Rce zV0x?7r>3B+%=~Se@(=#wkn?G3Q_jkm_rcwls%p%tOUx<;AI`jp_6btWIUiZF;hrcR znM%p@KCRuaKMxu&MDWz9v(?c)P7Mh0(P3Kf*-X3e{+`ds`J79u>h`@uZu3J0RZWlx z<|e7DC>gj}IqoT|x@E5SM6|$n(p8{U)ojbR5YLk!T+MHWr{c*+pi=?!);e%uO9!c_@>!k*wCQmZ# z-kz~JcOaKOU)rY7;+g0U*Y=`=_J;52w$#=~nDcx}Fm!#XihoTm^mYhIoI191>y6lp zQT7%G$OEUOqndeM_=Xqg3Vqg$iq3vPS)j`;J)v28DtuB+Gd%mwt=r75i;Xe%>#4!> zoL7(grF&DDyer9D$!Pn;!@xK6)qG9r2VZ~Oj;lt=v#vXN@7a?ab`je4ZsT$xd-V1gpFRhVg2A5nkD@!IBzk4+QW(f(jY`bd`=| z@EteqyGYA3Zn$eFPbT|~rw{w%`*t~&h;HUm=;-Pa2-cO{qB`>1?3kVgO-6QR>_=|d z#J9esCz|4x9!T;%j%tag`yrX3DD-ikj`#Y(8m+l$*u&eN?`B3fwWGGl3hoq;&C{y= z9+H=rHz)&+o!0WuU2XRxV#>iA*-7jzsL(5&`h+HAAlRGBmETzdIR_4tmf&sL+S(l- zDwe$EuUNeV6B=gKFWwKK{Z-A#EiX@qoii{BMkIrrMch8*PvM_6p*P@h3w^go5RNP^ zE`G@9bgBvysb{h_?c2f1ntex6vq(@+mH)!{^w<2L4Tm3y_pKMTx5#^an>fYBekUm@ z`)M|6pJwgwU__o^|BqkUeiV09EAg3mv@oI#oN1ESiJDl$B()(F}|>Lvw56*5UzGteEE(-ab$uTnET*&Q)9V4 zh_x?68aQ~gjez<6IEmfJ=T>?Bj zN_{@EswdGLTM{xQC{ED3E!=el4}#I+Mv5pjj)AQjR(nBsxZ1c+4Hs$nSX+=aH#he! zABic<{pWWV!(r-;8(a1D{KP?>13*zQ_{jH%8y6SXT7@F_04$sf6IfOIQXV{w9qHTO zW(6g-LY8d_2?-ccdRr(9wZ)q^3%5(JE-%{&rgf#GBZn5KZgqciGoO^y?a^thD@J)A zXcb}>#PD(oY73Z5Ie3e#)W8A9Fu)SJK&DuV`kT5{;OS_{X$;*rB+L0@-XrE}=@jV_ zzd;WIJJEj5?LMn&H3*03D=R4}RhvV#egf2JMCO}kH}7IK0FBJ9{9u<{;X7d|vD zOih{mR1l)4j|5`1m!H4)yyKZO_zYzLYYir{K>{1R70ft0ySU8m2uw`u2j2;Xio!al z1S2vdX=Jj4HS`IKJ`6=0&Y@DeFuv^$Ee~d@;tCVsQ{aF3nt)@b1=Iov$rX?%`@86I zEW$AfS%}k*U;ZvG1LaD6nNlDg!5y*qc$!|pGDaVlxXK!Zkvw2jZCV0i(z0)RnYg&p zU@$^x72a&*=ne=&!2tzsdTJuTgmNkO4gwV9YIAYw) zJE(#{AAMXRaBf74$ajC^qG`2jR{-kg|OrU*END4U`cCXZtQrohAjy5D<-bw^>?6w-hx~+ zX2@{A9KUC7>I&LPoI8zAF}KEJ9I)Q>CKv&9h!zzQMnP``gB-6mj~@#Y? z&(ddG(~NO}Bo4?>)Yn@)`pL<0b)```A`@Xq%GBajxm5p{Bn?&?yjGCL=>FX1U~j*t z;eCd{3ZFk_gZ%sjqD>}#Gvd~bpD@tWj{1%8PNis=S7d>{l5>()7Q7Afa zu*Y>tKX-*90-ktvXK(2aCK5xeBJc_N&%(~)S&eJP)un2~38AWSIq&b?yH_<6*D~fP z`KH$O?9hh#3;+5~SWcFDcGdcx@x{vN^Tet7j^^~V5k9NGSHZ|89#|KIGeZ7?*csv(++6c|p}pgbH?Rh3BGL+RivnQsq|JrJVLS?{%}IEZD3bmrp*GXh`nhNQiAF8ZML!Isv=HG{bX{^6T8mwtM{Fy6$f@A#t)&&+W6i$0 z5`X)4_Sb^YSCcw00>p$R&oF3s$1@J|sh))34iJjrX_vfP*p?PC4#|gXEIW9Pd=M?5w zWAuBpROgj$!QIUKLE&)-@FHzE|L(r(=v(OgeTKM2+TlwY&FAYZN}0rtwzRas;}fjZ zN7V=hy>Qb$!p)ry&r<(k=%{#rngnB>@5kUWdFRg5{CsJfRuUxTRJjRT7eyuirgP*}H+o0nSYpKzKnLVqkHkgj&bv;Q|Nj-4RyDyz#Fm}(r3O&Fe3iI zR#LNw;B60Z!h`rGEeR_$IFcRj0jNus}xpV&>75!rxJ594u2_ zx~ypINtwP&4Kfe{052{h1IfSWZFdyl9G=)_$Exb6_qr+2x}G6Yg}0!%*qM3^SCCVq zg%H91kLR<)p^H6shYoH0ijs%yULA^rB}Y5l0g&}hzGyJl*#TQt9EGf*9|g4a;>1sNA=kE2%0b9rXJ z-|+<*ft(XeKCOHOt#ZT?%Amkkld?tzYp5=-{<(Jk4b+;Xp^a2jv?1hxfPm_T zOVd3eH}X)5b{zN;LOzWnWR`mW_DGKL-_Z8!LKw6;uOG7rnNxkAP6dAc?DMtD-X~e@ zr}hg{EiKxZcsysG_OGAP;WqPQax~&H#Y~|pIDk1hdz3do!KA!gJmqa2AnsO3nw5!fh#my@~+2t6vwC90o*$jX3sc$9rpUrwqFcL@6C*VE~}`h zAW5BWLBwE~M(=wLh{DX)(iep6d??*#Uxfgm6DuZ>aF`uta6bcc3s5hs=k(!tf_!Z! zb|mmm3$gzGexls%I2YdZv*YW?c@il(46ug>5YtQgyt`vof$Ma^VRtk((6jN|*Z3P*wMU_w?%sEsQAK!-|18N2~-53R}6DJT^ zvX=i)D5Nz8tp9<9RbQ4lxfQ|U@THk5s3!j)bD?)_iAR~1b_%W#zt@5%N=&tqDM;cX zSR)XM`HV>dbf=bJW(GH8m{X#&m2=3xvKO2!fb3sj0s#mF2i9_YBjzxGPMM8HNT$64 z=3)-nA>0ofH_Y|)dO+7!x<-u*Su5`6mX!pkPGg&6NU#*{MI9X-nBhWK5oZiE+}c`N z@;uuSmFM489(UY}6BA49k?UCKuWY15*ixzJ45H9MEeM$k@B@%^Ly`MdMTM(A7b{Qj ztH}ibURVoIJA}5fHm(jSB}BE^4_d*?6~{0B^a^eO<-5IPQclizy3#fOwduWD^OXid zkaB?H0PoHG`BEH=06#HX-~Y(np)_B>Qe*g|FJ@NIG}hSf=Ag}clXcrRQ!_L6H7#vA zIP>M`?NdD&YA$KKFDmi$mdNJ_Q_sD3(nT5D!fzQFNC!O+rk@H^jJm%3-c^QG1(g8_ zd4gxCb!0lne`*m4qSG1KEi->s3@t4Ix-RU|Oo(Ea)@aVNrrSg!1wMuyrJnh*&$zvZ zw7G}CBdxnQO6ksV&m{lvM!`2|X&DYpfV22kiNCW0WlC?ttL|*Zf6uO_!ZLl!}T)K$L9k$Uy@j!*e(??~o}hftsx{bOA2e zSU#tu-au^VKnjz3?}|dh8E0o_?KA}!8=K6r*yJ$CilHYVl+t?I&JJGR{+l;%9zITW zh3Q{E^3kmhvO|9W?!i24oFjxh3Z5S3Z7?@y64lx52lgoBU8byT3zsXrtmWv$Nq3&&mhs@I_`8X(Bs0Qy3$Oq7Mkv3u^d&SC zkjMN4DfHb9D$5AM|Sce?4I0r66$=x23p_bsJL`)X?CE z?Dx`E1`>%#h`POe6^KYt_#N%2tXMkI6btdTI0=r4*pMurZ+-Lx0SC! z)j;aTAiS29)$ZR1_w0H8>Q&6JH|b+Th%o-LwRbF(mm>d`3?z~R1#w?kR@?vIZ?q5W z)6mww5gzWSwpp*B3d}`8R&-TfL}+lq{05pF5t-1n9k`Jrak`#?{zZE^5(VN*_n5u2 zGpH6tvl$P$_9M%m(~nhbY=*`NLNkJ=i}lgvCRq)&HD#grp3TYc=;7wb!1!N3Z(YwG ziKG$cw)IE$#I+@hu{&rVi(F$vQo^B z#CG_}atu`j5+~)>$mjohH>PD43HVS&J^`fRrAYrj@05=foFukDkl}D*AHfV5APdMo zd$_qFsN#s=9C8gJ=GNrU4MFh>IxtTD+S*mjc0k^w&C?>?3NFVuRsH<@jEhZ(C#Ztv z9xNPh&kx?W*F^O9*tOZ=)6#f5z#@>ik+tC1fVSu=JVWIKby>G;IjN`jwA&hoH>{`* zM;;gD?@ou8r7U2XJuI|5&$_xwk@3jNuEOl$*A#|~VER;(wLz5-)OG!|kteui?A^dX zz3&f6KE5#|&q!37))|f%TUuf+))M4DPwsTR^XJ8ecmlWcv$SE*4u`oH`FdU5WqbQ^ zfQ<0jI*MP0YrfCP=@8cPrtG$1V@#&%=8jg1Y`zIQh$ z?{w38;DwF4%@dEMV#^lsLwNi+KF*&#TkG(e7uqG{R-B>Wb3Mi+0cJsv2Gnc_4gg(D zdHOq1C}D&USC7-}VYC`!M-a6DG96;5u)lP;{_?ltk`h`T%s9Zn81%W@ZFVTFZRHfb zTM)GDCEwu_BLx0}el-YT7B z9eVvlPKEcRg~cvt^VGTJgoSNVJ;|yX%_hOi&8^7Kf{!tBjx@@7>6AV>Bes2fexRbc zqr(~5oAai88d@pw%YS|y;>ku%L}x69s~7!1zcvQW8O*wW{OB8jUN}BAS{}9Z6(e=^ zHjrJA35bhoq(O3i$M)@Jrl!cTiG7RANDq)ugO3;VAP0vafmwqz^)|m04Vde=3B+x7 zKU$qKoZjNd2N2~v)(koPF2$v?F|P56h@9YOK`Rh{Fs=>R7Yz>gA#><7$~`mt?k&%4Ey%&z|CKHdZb_f)7AO*tqj&Um~t3QKpNcH=>nMWA67eN zq>2LZ8dwt@p4=~S0F?kT0`PQ?SrRVScwF&DWmdmI)x`0m$$tx6tPYqixJ#{cV<;2e zB=0a(K@4Cxw@^A^UE*YiEKE#GWqElkaLSi2kwLx%y%o6JOV7ZsOjoq38rT2Gq0;AP zdCf6>ml1XrrD;2)mBi5YMs5W=28_el%WWTzRlK$xs|67OUWVCv)4{Y`4|{%T^;AiR zv?*RYk96iDt(BAGsJ%DK5w1cmGnd8mZt-aP`qaijtQ+h$jDgGVE~~Hqg@GG{{ShdW zmX(!RiR#gN^wfh>fLb3zAh4CGE-(KI(F$ZD2o#lhd1r^;g{L1ylOJF?#{1tfsq8^$ zDL`~bZhiosZi1|cMoc>;gXgXX(prXR-M_ztNCqH^(8aMQAzeAE(^Nm7AAWxrH@fWq$%Rgfq({ zdXZt#8r|%}iXe*P>4rwxP3H|CffKx!`~BQuXK($i85 zp+hAM2unnKlVSnrD(X3)UG_d)Wq}uU_g1Hs5)V;9ba#cxM9=$#KywQ9S~KD`_U!!c ztH@D^%0U$6rxIZ zb}oJzKy^hdJtTxmGb4xv4#aRwr{gFpEW{6Pq*TI()V5x-gO(`Yc_k!nHjm;F3D!Rb zLQKnpUQz3dWthkv2l;k*W)_J~a4h8LZR?lyk@B7p08N7{EUUkgpSTk6Q0>p2#YP11 zd3Vl4krDeF@I62vSc{_--aoQ}DNGjf@^`C=)i{Wt;PvzcphxuH3Nd4`%<9?Ag$u+I z*e51dQ(J4C|HKuJFXZdBwX(Q)H>AWn#4Moe$%f=%&fp91uV7{!9i8vw4FW)axr3L# zyo;Mt?CqZYvfIRK^eGj&6@y&aLgk#?zaldQuZT@xEpQ$6KXC!^T>)q)q7r}wH8q+d z3Q9Kdh)e{^V>CoV12zE-6@`T}V4vVG;@Iq;9H$)7K^Bc1S5rr49rKn`d*+}70EqAQ zojVS8cEO81I#|_!s6M;Zt*z5;GEP_8gT1(4rL6E?#IjfAJ!>yj+*}Ccx%S4DzMcF|CFE@tB#P7h|RwxS`634a<_^Q^85) z5cF!Y%%VSS(@afMNnCmk&meLF+@05e*j1 z@7O^y15q?MD{BmS#4ZjF;&=m9TgGM3+uJ(|ylmsG%iB{FIaG!%G~f-yNo2vKz$Z<+ zkSpUQ%1x9bNQ^0otX3xn2&Wn~kYZBCy?{ssLO3S45~nH!n;(8$4~BPo6h+P4ceLpA7E z;VMr(S>cgQ6c*O`SlhDB1L8hDKG4RQnZZO)8quS3F|x8Mb=r0V&j<5D%L^YqpxM#e zTZO=mvJRh|fkTbs8-a*S1ambSR5*)EOOmp(lZ)OpH8q5!B4C1SJ;$w_e5AnLPg$9u zQ})H?|-01^x2oC{d5?4D4E@7%(743%PAEfyLU(OwJ( z!7(JYXWJA|nD3pkA6f%CUcG9B7%{SM0(gSnZAS%l;Oa)=b7@9twG7reGa0zmmfgEY zkk@?q@&&j%)|>VnaizGnZCH~4llBP-fdvp974-`W0Lb=JCPT#WG@nh>OQ?9mNT?gXh`M z&`)S!A*EgZ4qgU8|4D?9x7l$}iN*tDCL^}OAX()C10y5m(trlf6&4lYAj^nVG&V9~ zA@lO_0VsSqwn)PRJx+p^@8B?n%oEbxD}betS7a?Rv62*ZPBTf70)vQR|H$M)0fA$w z=vx6fLqtG{C_N2yzmP7g@^1N7Ni?K9es1FORipuGoNc>-;nC8m`VIK+}Yde9Uhx8fW}w%p%X6W~7`t zcf>Ptb3>WQ{rg~c`dv4i8Nblm#|O{X9)S*}{2W?30EdaT@Y2$!u`yzp7Z~Qm#CJ3@ zCbXevgn15gLqjOa>y+7@J$LRd@@POi0BX0AsTtWnkBw!06+xne$p*+r#;{9Ah>iOp zIYytCjAK^~u=CxC>lCDA`oCeKl9-5q(h62{db%|II#cB%h8)D%kqg@L2^@UT~ag*m9H zT}Qf)F8Q0>&TREKB%R7TsCu6vy+II>gAx*!l?moRl9Dcg0f7w-2oQPoqnsT3;k;!u z=0E@dz7DAL0Fum_n)&`RI2~gh4dsmvUPhcJh1@TKWw1%4U5Dp2v%$kUZjo1I$5r^OP|8s8sIx0z5 VKF8s({(!g&byaPZQnK~ce*;E}m`nfw literal 0 HcmV?d00001 diff --git "a/docs/_book/_main_files/figure-html/zarz\304\205dzanaie osiami wsp\303\263\305\202rz\304\231dnych-1.png" "b/docs/_book/_main_files/figure-html/zarz\304\205dzanaie osiami wsp\303\263\305\202rz\304\231dnych-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..903f0b8cc6246348805c21317f7e73b03b797c77 GIT binary patch literal 62329 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%0ASpe3s5RXIJoSjeaQ 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 xcNGH%zAy + + + + + + Chapter 6 Czyste dane | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 6 Czyste dane

+

Transformacja danych jest niezwykle ważnym elementem dobrze zrobionego raportu. Dane te powinny być prezentowane w sposób czytelny i ułatwiający ich porównywanie. To od potrzeby biznesowej zależy w jaki sposób powinniśmy przedstwiać dane. Np. dysponując wynikami finansowymi zbieranymi co miesiąc przez trzy lata bo planowania budżetu na następny rok przyda nam się prezentacja ich w formacie wąskim, czyli skupionym na wydatkach względem każdego roku. Jednakże, jeżeli chcielibyśmy kontrolować wydatki w tym następnym roku prezentacja danych w formacie szerokim będzie bardziej korzystna, gdyż będziemy mieli informację ile średnio wydajemy w danym miesiącu i na bieżąco będziemy mogli podejmować decyzję o inwestowaniu lub zaciskaniu pasa.

+

Niekiedy jednak dane mają bardziej skomplikowaną formę i np. składają się z wielu tabel. Wówczas dla łatwiejszego uzyskania informacji biznesowej będzie połączenie tych tabel. Takie operacje w połączeniu z odpowiednią agregacją i grupowaniem zdecydowanie ułatwia wgląd w aktualną sytuację.

+

Ostatnim tematem, na temat któtego ta notatka traktuje są operacje na napisach i datach. Bardzo łatwo uzmysłowić sobie przydatność w posługiwaniu się takimi operacjami. Ułatwia to konstruowanie prostych funkcji, które są kluczowe w każdym projekcie. Chociażby bazując na imionach i nazwiskach pewnych obywateli Polski łatwo wskazać z dużą pewnością kobiety w tym zbiorze sprawdzając ostatnią literę ich imienia (tj. czy dane imie kończy się na literę “a”).

+
+

6.1 Dane w formacie wąskim i szerokim

+

Dane najczęściej są przedstawiane w postaci tabelarycznej. Jednak mogą być w tej tabeli różnie sformatowane. Wyróżnia się między innymi szeroką reprezentacje danych i wąską reprezentacje danych. W zależności od tego, co chcemy z nimi zrobić czasami trzeba przejść z jednej postaci do drugiej. Aby przetransformować dane korzysta się z funkcji z pakietów dplyr i tidyverse.

+

O postaci szerokiej mówimy, gdy pojedyncza zmienna jest rozdzielona pomiędzy kilka kolumn. Różnicę najłatwiej jest pokazać na przykładzie. W tym celu wykorzystamy wbudowany zbiór danych sleep zawierający informacje o wpływie dwóch leków nasennych na ilość przespanych godzin. Kolumna extra zawiera informacje o ilości dodatkowo przespanych godzin.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+extra + +group + +ID +
+0.7 + +1 + +1 +
+-1.6 + +1 + +2 +
+-0.2 + +1 + +3 +
+-1.2 + +1 + +4 +
+-0.1 + +1 + +5 +
+3.4 + +1 + +6 +
+

Dane są przedstawione w postaci wąskiej, każda zmienna jest przedstawiona w oddzielnej kolumnie. Teraz ‘rozbijmy’ kolumnę group na group 1 i group 2.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ID + +group 1 + +group 2 +
+1 + +0.7 + +1.9 +
+2 + +-1.6 + +0.8 +
+3 + +-0.2 + +1.1 +
+4 + +-1.2 + +0.1 +
+5 + +-0.1 + +-0.1 +
+6 + +3.4 + +4.4 +
+7 + +3.7 + +5.5 +
+8 + +0.8 + +1.6 +
+9 + +0.0 + +4.6 +
+10 + +2.0 + +3.4 +
+

Można zaobserwować, że wartości z kolumny extra zostały wpisane w poszczególne komórki, a kolumna group została podzielona na dwie oddzielne kolumny group 1 i group 2. Tak sformatowane dane nazywamy szeroką reprezentacją danych.

+
+
+

6.2 Rozdzielanie na kolumny (wąska -> szeroka)

+

Aby przejść z wąskiego formatu przedstawiania danych do szerokiego, można użyć funkcji spread() z pakietu dplyr.

+

Funkcja spread(dataset,key,value) przyjmuje trzy agrumenty:

+
    +
  • dataset - zbiór danych w formacie wąskim,

  • +
  • key - kolumna (klucz) odpowiadająca kolumnie, która ma zostać rozłożona,

  • +
  • value - kolumna, w której znajdują się wartości wypełniające nowe kolumny.

  • +
+
szeroka <- spread(sleep, group, extra)
+colnames(szeroka) = c("ID","group 1","group 2")
+kable_styling(kable(head(szeroka)), position = "center")
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ID + +group 1 + +group 2 +
+1 + +0.7 + +1.9 +
+2 + +-1.6 + +0.8 +
+3 + +-0.2 + +1.1 +
+4 + +-1.2 + +0.1 +
+5 + +-0.1 + +-0.1 +
+6 + +3.4 + +4.4 +
+

Drugą opcją na uzyskanie tego samego rezultatu jest użycie funkcji pivot_wider z pakietu tidyverse.

+

Funkcja przyjmuje dwa argumenty pivot_wider(names_from = name, values_from = value):

+
    +
  • name - nazwa kolumny, która ma zostać rozłożona,

  • +
  • value - nazwa kolumny, w której znajdują się wartości.

  • +
+
sleep %>%
+    pivot_wider(names_from = group, values_from = extra)
+
+
+

6.3 Scalanie kilku kolumn w jedną (szeroka -> wąska)

+

Można wrócić z postaci szerokiej do wąskiej. W tym celu należy użyć funkcji gather() z pakietu tidyr.

+

Funkcja gather(dataset, key, value, other) przyjmuje również trzy argumenty:

+
    +
  • dataset - zbiór danych w formacie szerokim,

  • +
  • key - nazwy kolumn z kluczami,

  • +
  • value - nazwy kolumn z wartościami,

  • +
  • other - kolumny dataset, które mają być zawarte w nowej tabeli.

  • +
+

Aby wrócić do postaci wąskiej nałóżmy funkcję gather na wygenerowaną wcześniej tabele szeroka.

+
kable_styling(kable(head(szeroka %>% 
+  gather(group, extra, -ID))),position = "center")
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ID + +group + +extra +
+1 + +1 + +0.7 +
+2 + +1 + +-1.6 +
+3 + +1 + +-0.2 +
+4 + +1 + +-1.2 +
+5 + +1 + +-0.1 +
+6 + +1 + +3.4 +
+

Drugą funkcją, która umożliwia przejście z szerokiej reprezentacji danych do wąskiej jest funkcja pivot_longer z pakietu tidyverse.

+

Funkcja pivot_longer(col_names, names_to = name, values_to = value) przyjmuje trzy argumenty

+
    +
  • col_names - ciąg nazw kolumn, które chcemy złączyć,

  • +
  • name - nazwa nowo powstałej kolumny,

  • +
  • value - nazwa kolumny, w której pojawią się wartości.

  • +
+
kable_styling(kable(head(szeroka %>% 
+  pivot_longer(c("1", "2"), names_to = "group", values_to = "extra"))), 
+  position = "center")
+
+
+

6.4 Łączenie tabel danych

+

Mamy dwie tabele danych tab1 z małymi literami oraz tab2 z wielkimi literami:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 6.1: tab1 = x +
+indeks + +litery +
+1 + +a +
+2 + +b +
+3 + +c +
+4 + +d +
+5 + +e +
+6 + +f +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 6.1: tab2 = y +
+indeks + +LITERY +
+4 + +E +
+5 + +F +
+6 + +G +
+7 + +H +
+8 + +I +
+9 + +J +
+

gdzie x = tab1, a y = tab2.

+

Aby połączyć dwie tabele danych na podstawie wskazanych kolumn lub kolumn o wspólnej nazwie można użyć przykładowych funkcji.

+
+

6.4.1 merge()

+

Dostępna w bazowym R. Domyślnie funkcja ta łączy tabele względem nazw kolumn, które są wspólne.

+
tabela <- merge(x = tab1, y = tab2)
+kable(tabela)
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+indeks + +litery + +LITERY +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+

Jeśli chcemy być pewni, że tabele zostaną połączone po odpowiedniej kolumnie, możemy przekazać nazwę tej kolumny w argumencie. W tym przypadku:

+
merge(tab1, tab2, by = "indeks") # INNER JOIN
+

Jeśli jest więcej kolumn, po których chcemy połączyć tabele, wystarczy przekazać w argumencie by wektor z nazwami tych kolumn.

+

Gdy nazwy kolumn po których chcemy złączyć tabele różnią się, należy wykorzystać argument by.*. Załóżmy, że kolumna tabeli tab1 - indeks zmieniła nazwę na index, zatem:

+
merge(tab1, tab2, by.x = "index", by.y = "indeks")
+

Wartości kolumn indeks w tab1 oraz tab2 różnią się. Dlatego korzystając z funkcji bez dodatkowych argumentów tracimy dane.

+

Aby zapobiec traceniu danych z poszczególnych tabel należy skorzystać z argumentu all, brakujące wartości zostaną uzupełnione NA:

+
merge(tab1, tab2, all.x = TRUE) # LEFT JOIN
+merge(tab1, tab2, all.y = TRUE) # RIGHT JOIN
+merge(tab1, tab2, all = TRUE)   # OUTER JOIN
+

Dostajemy wtedy kolejno:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 6.2: all.x = TRUE +
+indeks + +litery + +LITERY +
+1 + +a + +NA +
+2 + +b + +NA +
+3 + +c + +NA +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 6.2: all.y = TRUE +
+indeks + +litery + +LITERY +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+7 + +NA + +H +
+8 + +NA + +I +
+9 + +NA + +J +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 6.2: all = TRUE +
+indeks + +litery + +LITERY +
+1 + +a + +NA +
+2 + +b + +NA +
+3 + +c + +NA +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+7 + +NA + +H +
+8 + +NA + +I +
+9 + +NA + +J +
+

Bez sprecyzowania argumentu sort wiersze wyniku merge() zostaną posortowane leksykograficznie po wspólnych kolumnach. Gdy sort = FALSE wiersze będą w nieokreślonej kolejności.

+

Kolumny złączonej tabeli to najpierw kolumny wspólne, następnie pozostałe z x a na końcu pozostałe z y, co widać na przykładach.

+
+
+

6.4.2 join()

+

Funkcja z paczki dplyr. Tabele x i y powinny zwykle pochodzić z tego samego źródła danych, ale jeśli copy = TRUE, y zostanie automatycznie skopiowany do tego samego źródła co x.

+

Są cztery typy join zmieniających:

+
    +
  • left_join() - zwraca wszystkie wiersze z x i wszystkie kolumny z x i y. Wiersze w x bez dopasowania w y będą miały wartości NA w nowych kolumnach. Jeśli istnieje wiele dopasowań między x a y, zwracane są wszystkie kombinacje dopasowań
  • +
+
tabela <- left_join(tab1, tab2)
+kable(tabela)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+indeks + +litery + +LITERY +
+1 + +a + +NA +
+2 + +b + +NA +
+3 + +c + +NA +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+6 + +z + +G +
+
    +
  • right_join() - analogicznie do left_join(), ale zwraca wszystkie wiersze z y, a wiersze bez dopasowania w x będą miały wartości NA

  • +
  • inner_join() - zwraca wszystkie wiersze z x, w których znajdują się pasujące wartości w y, oraz wszystkie kolumny z x i y. Jeśli istnieje wiele dopasowań między x a y, zwracane są wszystkie kombinacje dopasowań.

  • +
+
tabela <- inner_join(tab1, tab2)
+kable(tabela)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+indeks + +litery + +LITERY +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+6 + +z + +G +
+
    +
  • full_join() - zwraca wszystkie wiersze i wszystkie kolumny zarówno z x, jak i y. Jeśli nie ma pasujących wartości, zwraca NA dla brakujących.
  • +
+
tabela <- full_join(tab1, tab2)
+kable(tabela)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+indeks + +litery + +LITERY +
+1 + +a + +NA +
+2 + +b + +NA +
+3 + +c + +NA +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+6 + +z + +G +
+7 + +NA + +H +
+8 + +NA + +I +
+9 + +NA + +J +
+

Argument by przyjmuje wektor nazw zmiennych do połączenia. Jeśli by = NULL funkcja *_join() domyślnie połączy tabele dopasowując wartości ze wszystkich kolumn o wspólnych nazwach w obu tabelach.

+
+
+
+

6.5 Operacje na napisach i datach

+

Większość poniższych funkcji pochodzi z pakietu stringi.

+
+

6.5.1 Operacje na napisach

+
    +
  1. Wyznaczanie długości napisów. +Funkcja stri_lenght() zwraca długości poszczególnych napisów w danym wektorze, a stri_isempty() sprawdza, które napisy są puste -> ’’.

  2. +
  3. Łączenie i powielanie napisów. +Funkcja używana do łączenia kilku wektorów napisów w inny wektor napisów lub nawet w jeden napis, jest stri_paste() i jej warianty.

  4. +
+

Przykład:

+
  x <- LETTERS[1:3]
+    y <- letters[1:3] 
+    z <- '!'
+    stri_paste(x, y, z)
+
## [1] "Aa!" "Bb!" "Cc!"
+
    +
  1. Przycinanie i wypełnianie.
  2. +
+

Funkcja stri_wrap() wstawia znaki nowego wiersza (n), by napis po wyświetleniu np. przy funkcji cat() miał szerokość nie większą, niż podana, jeżeli to możliwe.

+

W przypadku przetwarzania tekstów pochodzących np. z formularzy na stronach internetowych może zachodzić potrzeba usunięcia tzw. białych znaków, np. spacji z początku lub końca napisu. Możemy to zrobić przy użyciu funkcji stri_trim(). Operacja w pewnym sensie odwrotną do tej można wykonać przy użyciu funkcji stri_pad().

+

Przykład:

+
stri_trim('            Mama i tata\n')
+
## [1] "Mama i tata"
+
    +
  1. Formatowanie napisów na podstawie innych obiektów. +Najprostszym sposobem na uzyskanie napisowej reprezentacji danego obiektu jest użycie funkcji as.character().
  2. +
+

Przykład:

+
as.character(list(1L, mean, NULL, pi, FALSE))
+
## [1] "1"                                       "function (x, ...) \nUseMethod(\"mean\")"
+## [3] "NULL"                                    "3.14159265358979"                       
+## [5] "FALSE"
+
x <-data.frame(a=c(TRUE, FALSE, FALSE), b=as.integer(c(1, 2, 3)))
+as.character(x)
+
## [1] "c(TRUE, FALSE, FALSE)" "1:3"
+
    +
  1. Zmiana pojedynczych znaków. +Zmiana poszczególnych znaków na inne przydaje się między innymi na etapie wstępnego przygotowania danych w celu ujednolicenia tekstowych identyfikatorów obiektów, możemy np. zmieniać wielkości wszystkich liter w napisach.
  2. +
+

Przykład:

+
stri_trans_toupper('chcemy duże litery')
+
## [1] "CHCEMY DUŻE LITERY"
+
stri_trans_tolower('ChCemY MałE LiTErY')
+
## [1] "chcemy małe litery"
+
stri_trans_char('zastępowanie znaków', 'ąćęłńóśżź', 'acelnoszz')
+
## [1] "zastepowanie znakow"
+
stri_trans_general('żółć', 'Latin-ASCII')
+
## [1] "zolc"
+
    +
  1. Wyznaczanie podnapisów. +Funkcja stri_sub() zwraca podnapis składający się ze znaków leżących na określonych pozycjach danego napisu.
  2. +
+

Przykład:

+
x <- 'Lasy, pola, pastwiska, koszą traktorem'
+        stri_sub(x, 7)  
+
## [1] "pola, pastwiska, koszą traktorem"
+
+
+

6.5.2 Operacje na datach

+
    +
  1. Funkcją zwracającą aktualną datę systemową jest Sys.Date(), a Sys.time() aktualny czas systemowy wraz z datą.
  2. +
+

Przykład:

+
(data <- Sys.Date())
+
## [1] "2023-10-12"
+
(czas <- Sys.time())
+
## [1] "2023-10-12 00:39:40 CEST"
+
    +
  1. Operacje arytmetyczne na datach – dodawanie, odejmowanie i porównywanie.
  2. +
+

Przykład:

+
data
+
## [1] "2023-10-12"
+
data-365
+
## [1] "2022-10-12"
+
data+365
+
## [1] "2024-10-11"
+
(d <- data-as.Date('2021-01-01'))
+
## Time difference of 1014 days
+
    +
  1. Do konwersji do napisu może służyć przeciążona wersja metody format(), której wywołanie jest tożsame z wywołaniem funkcji strftime() (ang. string-format-time).
  2. +
+

Przykład:

+
strftime(czas, '%Y-%m-%d %H:%M:%S %Z')  
+
## [1] "2023-10-12 00:39:40 CEST"
+
    +
  1. Do znajdowania “najstarszej” i “najmłodszej” daty używamy funkcji max() oraz min().

  2. +
  3. Do pracy ze strefami czasowymi możemy używać poniższych funkcji:

  4. +
+
    +
  1. force_tz() ustawienie strefy czasowej,
  2. +
  3. with_tz() sprawdzenie daty w innej strefie czasowej.
  4. +
+ +
+
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/czysty-i-wydajny-kod-w-r.html b/docs/_book/czysty-i-wydajny-kod-w-r.html new file mode 100644 index 0000000..b33fbba --- /dev/null +++ b/docs/_book/czysty-i-wydajny-kod-w-r.html @@ -0,0 +1,512 @@ + + + + + + + Chapter 8 Czysty i wydajny kod w R | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 8 Czysty i wydajny kod w R

+
+

8.1 Czysty kod

+

Na początku zajmiemy się szeroko pojętą czystością kodu. Aby dany kod mógł aspirować do takiego miana, musi przede wszystkim spełniać dwa podstawowe warunki:

+
    +
  1. Być łatwym do zrozumienia
  2. +
+

Aby kod był łatwy do zrozumienia musi być przede wszystkim czytelny. Niewątpliwie pomoże w\(~\)tym odpowiednie nazwanie zmiennych, zadbanie o to, żeby wszystkie użyte funkcje i obiekty miały swoją określoną rolę oraz by relacje między nimi były zrozumiałe.

+
    +
  1. Być łatwym do zmiany
  2. +
+

Tworząc kod powinniśmy myśleć o tym, że będzie on w przyszłości wykorzystywany. Aby to ułatwić, musi być napisany w taki sposób, żeby można było nanieść drobne poprawki lub zmienić dane bez konieczności zmieniania całego kodu.

+

Jeśli te dwa warunki nie są spełnione, istnieje obawa, że wprowadzenie nawet najmniejszych zmian całkowicie zniszczy kod.

+
+

8.1.1 Co jeśli w kodzie jest ,,bałagan’’?

+

Nieuporządkowany i nieklarowny kod może sprawić w przyszłości wiele kłopotów, takich jak na przykład:

+
    +
  1. Zmarnowanie czasu
  2. +
+

Jeśli my lub ktokolwiek inny będzie chciał w przyszłości wykorzystać taki kod z pewnością straci mnóstwo czasu na próby jego przeczytania i zrozumienia. Gdy już mu się to uda, może napotkać kolejny problem w postaci trudności z wprowadzeniem jakichkolwiek zmian.

+
    +
  1. Ograniczenie lub nawet brak możliwości rozwoju
  2. +
+

Złe napisanie kodu może spowodować, że po jego jedynym użyciu stanie się bezwartościowy. Nie będzie sensu wprowadzać w nim jakichkolwiek zmian (gdyż będzie to zbyt pracochłonne), ani w żaden sposób rozwinąć by mógł posłużyć do przyszłych projektów (gdyż nawet najmniejsze zmiany mogą ,,zepsuć’’ istniejący kod).

+
    +
  1. Podatność na wystąpienie błędów
  2. +
+

W nieczytelnym i napisanym w sposób niezrozumiały kodzie, łatwo przemycić błędy, które na pierwszy rzut oka są niewidoczne, ale wychodzą na jaw później.

+
+
+

8.1.2 Opis zmiennych

+
+
+

8.1.3 Opis intencji

+

Aby tworzyć czysty kod musimy pamiętać o kilku zasadach. Jedną z nich jest odpowiednie nazywanie zmiennych. Nie powinniśmy używać do tego skrótów, czy przypadkowych znaków. Idealna nazwa od razu wskazuje na to, czym jest dany obiekt oraz co oznacza. Przedstawia zamiary, jakie mamy do nazywanego obiektu.

+
+
+

8.1.4 Unikanie błędnych informacji

+

Równie ważne jest, aby w nazwach nie znajdywały się błędy lub informacje, które mogą wprowadzić potencjalnego czytelnika w błąd. Mówimy tu np. o: +- nazwaniu kilku obiektów zbyt podobnie, +- użyciu do nazwania listy (np. osób) słowa \(\mathtt{List}\), choć w rzeczywistości ta ,,lista’’ osób może być wektorem, +- użyciu trudno rozróżnialnych znaków (takich jak np. 0 i O), +- nazwaniu wszystkich obiektów za pomocą jednej litery i cyfry (np. \(x_1,x_2,...,x_n\)).

+
+

8.1.4.1 Kilka wskazówek

+

Jakie powinny być idealne nazwy obiektów w R? Oto kilka wskazówek: +- zrozumiałe dla osób, dla których jest przeznaczony kod, +- utrzymane w jednym stylu,
+- łatwe do zrozumienia i napisania,
+- nazwa obiektu powinna być rzeczownikiem, który wskazuje na to, z czym mamy do czynienia,
+- nazwa funkcji powinna być czasownikiem wskazującym na to, co robi dana funkcja.

+
+
+
+

8.1.5 Funkcje

+

W tym rozdziale dowiemy się jak pisać ,,dobre’’ funkcje. Tutaj również musimy pamiętać o kilku zasadach.
+Funkcje powinny: +- być możliwie jak najkrótsze,
+- odpowiadać za jedno pojedyncze zadanie, +- być na jednym poziomie abstrakcji, +- mieć maksymalnie 3 parametry.

+

To znaczy, że nie jest wskazane, aby tworzyć jedną wielką funkcję, która np. wylicza kilkanaście rzeczy, aby na końcu wygenerować jeden wynik. Zamiast tego lepiej stworzyć kilka mniejszych funkcji, które będą się odwoływały do poprzednich. Dzięki temu nasz kod będzie bardziej przejrzysty oraz w prosty sposób będzie można sprawdzić, czy pojedyncze funkcje działają poprawnie.

+

Co więcej, nie ma sensu tworzyć funkcji, która zwraca nam już oprawioną tabelę z wynikami. Lepiej, gdy zwraca surowe wyniki, a tworzeniem tabeli zajmuje się kolejna funkcja.

+

Przykładowa, poprawnie napisana funkcja:

+
calculate_conf_interval = function(sample, alpha) {
+  len = length(sample)
+  successes = length(sample[sample == 1])
+  mi = successes / n
+  se = sqrt(mi * (1 - mi) / len)
+  quantile = qt(1 - alpha / 2, len - 1)
+  left = mi - quantile * se
+  right = mi + quantile * se
+  return(c(left, right))
+}
+

Przykładowa funkcja, napisana w ,,nieładny’’ sposób:

+
func= function(x,y,temp1,temp2){
+  n =length(x)
+  s <-length(x[x==1])
+  m = s/n
+  sgm = sqrt(mi *(1- m)/n)
+  q<-qt(1 - y /2,len-1)
+  tmp = (s + 0.5 * q ^ 2) /(n + q ^ 2)
+  se = sqrt(tmp *(1 - tmp)/ (n+ q^2))
+  l<- tmp- q* se
+  r = tmp + q*se
+return(c(l,r))}
+

Główne problemy: +- czasem przypisanie jest za pomocą =, czasem <-,
+- brak spacji po przecinkach,
+- brak spacji pomiędzy +, -, *, /, itd,
+- niepoprawnie umiejscowione nawiasy {, }.
+- nazwa funkcji nie opisuje, co robi ta funkcja,
+- zmienne mają nic nieznaczące i jednoliterowe nazwy,
+- nazwa zmiennej tmp także nie mówi, czym ona jest,
+- dwa nieużywane parametry funkcji.

+
+
+

8.1.6 Komentarze

+

Zazwyczaj komentarze do kodu nie są potrzebne, a wręcz zbędne. Dzieje się tak, ponieważ dobrze napisany kod powinien sam się tłumaczyć, tzn. być na tyle zrozumiałym, żeby dodatkowe komentarze nie były potrzebne.

+

Jeśli jednak w kodzie jest bałagan, dodatkowe komentarze mogą wręcz wprowadzić dodatkowy chaos.

+

Od tej reguły są jednak pewne wyjątki. Jeśli używamy niezbyt oczywistych implementacji lub ,,sztuczek programistycznych’’ warto wspomnieć w komentarzu, co się w danej chwili dzieje. Wyjątkiem są też komentarze informujące o tym, co trzeba jeszcze zrobić lub o potrzebie poprawienia jakiejś części kodu.

+
+
+

8.1.7 Obiekt a struktura danych

+

W kontekście pisania czystego i wydajnego kodu, należy wziąć pod uwagę rozróżnienie pomiędzy klasami a strukturami danych. Te pierwsze zawierają atrybuty i funkcje, a instancje klasy nazywamy obiektem. Zastosowanie klas pozwala na stworzenie interfejsu definującego pewne dane. Struktury danych służą natomiast do reprezentacji danych dowolnego typu a nie ich opisu.

+
+
+
+

8.2 Styl kodu i narzędzia pomagające w utrzymaniu czystego kodu

+

Dobry styl kodowania jest porównywany do prawidłowego stosowania interpunkcji. Jest możliwe nie stosowanie się do jej zasad, jednak przestrzeganie ich pozwala, aby w zapisie panował ład i porządek. +W R dominują dwa style, które pomagają utrzymać dobry układ kodu. Jednym jest tidyverse style, a\(~\)drugim, wywodzącym się z poprzedniego, Google style. Istnieją przewodniki, które ułatwiają stosowanie się do zasad panujących w tych stylach. Style ustosunkowują się m.in. do stawiania spacji po przecinkach, przed operatorami matematycznymi oraz po nich, a także podkreślników w nazwach.
+Dodatkowo można zainstalować pakiety, które będą pomagać w utrzymaniu schludnego kodu: cleanr, stylerr, lintr.

+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git "a/docs/_book/dane-w-formacie-w\304\205skim-i-szerokim.html" "b/docs/_book/dane-w-formacie-w\304\205skim-i-szerokim.html" new file mode 100644 index 0000000..37c5596 --- /dev/null +++ "b/docs/_book/dane-w-formacie-w\304\205skim-i-szerokim.html" @@ -0,0 +1,744 @@ + + + + + + + Chapter 7 Dane w formacie wąskim i szerokim | Dane w formacie wąskim i szerokim. Łączenie tabel danych (join). Operacje na napisach i datach. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + +
+
+ +
+
+

Chapter 7 Dane w formacie wąskim i szerokim

+

Dane najczęściej są przedstawiane w postaci tabelarycznej. Jednak mogą być w tej tabeli różnie sformatowane. Wyróżnia się między innymi szeroką reprezentacje danych i wąską reprezentacje danych. W zależności od tego, co chcemy z nimi zrobić czasami trzeba przejść z jednej postaci do drugiej. Aby przetransformować dane korzysta się z funkcji z pakietów dplyr i tidyverse.

+

O postaci szerokiej mówimy, gdy pojedyncza zmienna jest rozdzielona pomiędzy kilka kolumn. Różnicę najłatwiej jest pokazać na przykładzie. W tym celu wykorzystamy wbudowany zbiór danych sleep zawierający informacje o wpływie dwóch leków nasennych na ilość przespanych godzin. Kolumna extra zawiera informacje o ilości dodatkowo przespanych godzin.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+extra + +group + +ID +
+0.7 + +1 + +1 +
+-1.6 + +1 + +2 +
+-0.2 + +1 + +3 +
+-1.2 + +1 + +4 +
+-0.1 + +1 + +5 +
+3.4 + +1 + +6 +
+

Dane są przedstawione w postaci wąskiej, każda zmienna jest przedstawiona w oddzielnej kolumnie. Teraz ‘rozbijmy’ kolumnę group na group 1 i group 2.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ID + +group 1 + +group 2 +
+1 + +0.7 + +1.9 +
+2 + +-1.6 + +0.8 +
+3 + +-0.2 + +1.1 +
+4 + +-1.2 + +0.1 +
+5 + +-0.1 + +-0.1 +
+6 + +3.4 + +4.4 +
+7 + +3.7 + +5.5 +
+8 + +0.8 + +1.6 +
+9 + +0.0 + +4.6 +
+10 + +2.0 + +3.4 +
+

Można zaobserwować, że wartości z kolumny extra zostały wpisane w poszczególne komórki, a kolumna group została podzielona na dwie oddzielne kolumny group 1 i group 2. Tak sformatowane dane nazywamy szeroką reprezentacją danych.

+
+
+

7.1 Rozdzielanie na kolumny (wąska -> szeroka)

+

Aby przejść z wąskiego formatu przedstawiania danych do szerokiego, można użyć funkcji spread() z pakietu dplyr.

+

Funkcja spread(dataset,key,value) przyjmuje trzy agrumenty:

+
    +
  • dataset - zbiór danych w formacie wąskim,

  • +
  • key - kolumna (klucz) odpowiadająca kolumnie, która ma zostać rozłożona,

  • +
  • value - kolumna, w której znajdują się wartości wypełniające nowe kolumny.

  • +
+
szeroka <- spread(sleep, group, extra)
+colnames(szeroka) = c("ID","group 1","group 2")
+kable_styling(kable(head(szeroka)), position = "center")
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ID + +group 1 + +group 2 +
+1 + +0.7 + +1.9 +
+2 + +-1.6 + +0.8 +
+3 + +-0.2 + +1.1 +
+4 + +-1.2 + +0.1 +
+5 + +-0.1 + +-0.1 +
+6 + +3.4 + +4.4 +
+

Drugą opcją na uzyskanie tego samego rezultatu jest użycie funkcji pivot_wider z pakietu tidyverse.

+

Funkcja przyjmuje dwa argumenty pivot_wider(names_from = name, values_from = value):

+
    +
  • name - nazwa kolumny, która ma zostać rozłożona,

  • +
  • value - nazwa kolumny, w której znajdują się wartości.

  • +
+
sleep %>%
+    pivot_wider(names_from = group, values_from = extra)
+
+
+
+

7.2 Scalanie kilku kolumn w jedną (szeroka -> wąska)

+

Można wrócić z postaci szerokiej do wąskiej. W tym celu należy użyć funkcji gather() z pakietu tidyr.

+

Funkcja gather(dataset, key, value, other) przyjmuje również trzy argumenty:

+
    +
  • dataset - zbiór danych w formacie szerokim,

  • +
  • key - nazwy kolumn z kluczami,

  • +
  • value - nazwy kolumn z wartościami,

  • +
  • other - kolumny dataset, które mają być zawarte w nowej tabeli.

  • +
+

Aby wrócić do postaci wąskiej nałóżmy funkcję gather na wygenerowaną wcześniej tabele szeroka.

+
kable_styling(kable(head(szeroka %>% 
+  gather(group, extra, -ID))),position = "center")
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ID + +group + +extra +
+1 + +1 + +0.7 +
+2 + +1 + +-1.6 +
+3 + +1 + +-0.2 +
+4 + +1 + +-1.2 +
+5 + +1 + +-0.1 +
+6 + +1 + +3.4 +
+

Drugą funkcją, która umożliwia przejście z szerokiej reprezentacji danych do wąskiej jest funkcja pivot_longer z pakietu tidyverse.

+

Funkcja pivot_longer(col_names, names_to = name, values_to = value) przyjmuje trzy argumenty

+
    +
  • col_names - ciąg nazw kolumn, które chcemy złączyć,

  • +
  • name - nazwa nowo powstałej kolumny,

  • +
  • value - nazwa kolumny, w której pojawią się wartości.

  • +
+
kable_styling(kable(head(szeroka %>% 
+  pivot_longer(c("1", "2"), names_to = "group", values_to = "extra"))), 
+  position = "center")
+
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/eksploracyjna-analiza-danych.html b/docs/_book/eksploracyjna-analiza-danych.html new file mode 100644 index 0000000..cc64cf2 --- /dev/null +++ b/docs/_book/eksploracyjna-analiza-danych.html @@ -0,0 +1,468 @@ + + + + + + + Chapter 4 Eksploracyjna analiza danych | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 4 Eksploracyjna analiza danych

+

Badanie eksploracyjne danych (ang. exploratory data analysis) dotyczy opisu, wizualizacji i badania zebranych danych bez potrzeby zakładania z góry hipotez badawczych. Badania ekploracyjne obejmują również wstępne sprawdzenie danych w celu skontrolowania założeń modeli statystycznych lub występowania błędów w danych (np. braków odpowiedzi).

+
+

4.1 Dane tabelaryczne

+

Dane tabelaryczne to dane, które mają postać tabeli. Tabela to struktura danych, która składa się z wierszy i kolumn. Każdy wiersz odpowiada pewnej obserwacji, której cechy zostały zapisane w kolejnych kolumnach.

+
+
+

4.2 Typy zmiennych

+

Zmienne, które opisują kolejne obserwacje możemy podzielić na:

+
    +
  • zmienne jakościowe (niemierzalne) +
      +
    • porządkowe - np. klasyfikacja wzrostu (niski, średni, wysoki)
    • +
    • nominalne - np. kolor oczu, płeć, grupa krwi
    • +
  • +
  • zmienne ilościowe (mierzalne) +
      +
    • dyskretne - np. liczba dzieci, liczba gospodarstw domowych, wiek (w rozumieniu ilości skończonych lat)
    • +
    • ciągłe - np. wzrost, masa, wiek (w rozumieniu ilości dni między datą urodzin a datą badania)
    • +
    • proporcjonalne - np. masa, długość, temperatura wyrażona w Kelwinach lub stopniach Rankine’a (przyjmujemy istnienie zera i możemy twierdzić, że jedno ciało jest dwukrotnie gorętsze od drugiego)
    • +
    • interwałowe - np. temperatura wyrażona w stopniach Celsjusza lub Fahrenheita (możemy twierdzić, że coś jest o 20 °C cieplejsze od czegoś innego, ale nie możemy stwierdzić ilokrotnie cieplejsze jest ciało o temperaturze 40 °C od ciała o temperaturze –10 °C), data kalendarzowa (możemy mówić o stałej różnicy pomiędzy kolejnymi dniami)
    • +
  • +
+
+
+

4.3 Miary

+

Zapoznając się z danymi chcielibyśmy sprawdzić wokół jakiej wartości są skupione oraz jak bardzo są zmienne wartości danej cechy.

+

Miary lokacji (miary tendencji centralnej) pomagają nam umiejscowić dane na osi. Przykładami takich miar są:

+
    +
  • średnia - najczęściej arytmetyczna określona jako \(\overline{x} = \frac{1}{n}\sum\limits_{i=1}^n x_i\).
  • +
  • dominanta (moda) - ozn. \(Mo\) - dla zmiennych o rozkładzie dyskretnym, wartość o największym prawdopodobieństwie wystąpienia lub wartość najczęściej występująca w próbie. Dla zmiennej losowej o rozkładzie ciągłym jest to argument, dla którego funkcja gęstości prawdopodobieństwa ma wartość największą.
  • +
  • mediana - ozn. \(Me\) - wartość cechy w szeregu uporządkowanym, powyżej i poniżej której znajduje się jednakowa liczba obserwacji.
  • +
  • kwantyle rzędu \(p\) - wartość cechy w szeregu uporządkowanym, poniżej której znajduje się \(p \cdot 100\%\) liczby obserwacji, a powyżej której znajduje się \((1 - p) \cdot 100\%\) liczby obserwacji.
  • +
+

Natomiast miary rozrzutu dostarczają informacji jak bardzo zróżnicowane są obserwacje pod względem badanej cechy. Przykładami takich miar są:

+
    +
  • wariancja - stopień rozrzutu badanej cechy wokół wartości oczekiwanej. Im większa wariancja, tym rozrzut zmiennej jest większy. Nieobciążony estymator wariancji wyraża się wzorem: \(s^2 = \frac{1}{n}\sum\limits_{i=1}^n\left(x_i - \overline{x}\right)^2\)
  • +
  • odchylenie standardowe - mówi nam o przeciętnym odchyleniu wartości zmiennej losowej od jej wartości oczekiwanej. Im odchylenie standardowe jest większe, tym większe zróżnicowanie wartości badanej cechy. Odchylenie standardowe z próby obliczamy jako pierwiastek z wariancji z próby, tzn. \(s = \sqrt{s^2}\).
  • +
  • rozstęp międzykwartylowy - różnica między trzecim a pierwszym kwartylem. Ponieważ pomiędzy tymi kwartylami znajduje się z definicji 50% wszystkich obserwacji (położonych centralnie w rozkładzie), dlatego im większa szerokość tego rozstępu, tym większe zróżnicowanie cechy.
  • +
+

Wyróżniamy także miary asymetrii. Miary asymetrii mówią nam, czy większa część populacji klasuje się powyżej, czy poniżej przeciętnego poziomu badanej cechy. Asymetrię rozkładu można zbadać porównując średnią, dominantę i medianę.

+
    +
  • W przypadku rozkładu symetrycznego wszystkie te parametry są równe.
  • +
  • Jeśli zachodzi nierówność \(Mo < Me < \mathbb{E} X\), to mamy do czynienia z prawostronną asymetrycznością rozkładu. Tzn. dużo małych wartości i bardzo mało dużych.
  • +
  • Jeśli zachodzi nierówność \(\mathbb{E} X < Me < Mo\), to mamy do czynienia z lewostronną asymetrycznością rozkładu. Tzn. mało małych i bardzo dużo dużych.
  • +
+
+
+

4.4 R - podsumowanie kolumn

+

Podstawowymi funkcjami, które pomagają nam zapoznać się z danymi są funkcje:

+
    +
  • \(\texttt{head}\) - zwraca pierwszą część wektora, macierzy, tabeli lub ramki danych. Domyślnie 6 pierwszych elementów.
  • +
  • \(\texttt{nrow}\) - zwraca liczbę wierszy macierzy, tabeli lub ramki danych.
  • +
  • \(\texttt{ncol}\) - zwraca liczbę kolumn macierzy, tabeli lub ramki danych.
  • +
+

Natomiast podstawowymi funkcjami, które podsumowują kolejne kolumny są funkcje:

+
    +
  • \(\texttt{str}\) - zwraca strukturę danego obiektu. Wyświetla np. klasę obiektu, liczbę wierszy i kolumn, a także nazwę danej kolumny, typ wartości w niej zawartych, jak i kilka początkowych wartości.

  • +
  • \(\texttt{summary}\) - zwraca podsumowanie każdej kolumny. Dla zmiennych ciagłych wyznacza wartości tj.:

    +
      +
    • wartość najmniejsza i największa
    • +
    • średnia i mediana
    • +
    • 1 (0.25) i 3 (0.75) kwartyl
    • +
    • liczba wartości brakujących (NA)
    • +
    +

    Natomiast w przypadku zmiennych dyskretnych wyznacza liczbę obserwacji, które przyjmują daną wartość zmiennej.

  • +
  • \(\texttt{glimpse}\) - funkcja z pakietu \(\texttt{tidyverse}\) podobna do \(\texttt{str}\), ale stara się pokazać jak najwięcej danych. Wyświetla np. liczbę wierszy i kolumn, a także nazwę danej kolumny, typ wartości w niej zawartych oraz jak najwięcej wartości z tej kolumny.

  • +
+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/notatka_lab3/csv_example.gif b/docs/_book/img/csv_example.gif similarity index 100% rename from docs/notatka_lab3/csv_example.gif rename to docs/_book/img/csv_example.gif diff --git a/docs/notatka_lab3/excel_example.png b/docs/_book/img/excel_example.png similarity index 100% rename from docs/notatka_lab3/excel_example.png rename to docs/_book/img/excel_example.png diff --git a/docs/notatka_lab3/json_example.jpeg b/docs/_book/img/json_example.jpeg similarity index 100% rename from docs/notatka_lab3/json_example.jpeg rename to docs/_book/img/json_example.jpeg diff --git a/docs/notatka_lab3/libreoffice_example.png b/docs/_book/img/libreoffice_example.png similarity index 100% rename from docs/notatka_lab3/libreoffice_example.png rename to docs/_book/img/libreoffice_example.png diff --git a/docs/przyklad3.png b/docs/_book/img/przyklad3.png similarity index 100% rename from docs/przyklad3.png rename to docs/_book/img/przyklad3.png diff --git a/docs/notatka_lab3/xml_example.gif b/docs/_book/img/xml_example.gif similarity index 100% rename from docs/notatka_lab3/xml_example.gif rename to docs/_book/img/xml_example.gif diff --git a/docs/_book/index.html b/docs/_book/index.html new file mode 100644 index 0000000..212536c --- /dev/null +++ b/docs/_book/index.html @@ -0,0 +1,423 @@ + + + + + + + Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+ +
+

Chapter 1 Wstęp

+

Autorzy poszczególnych rozdziałów:

+
    +
  • Podstawy języka R: Michał Dylewicz, Marcela Kamchen, Anna Krasoń, Katarzyna Kulon, Arkadiusz Soból (z wyjątkiem podrozdziału Funkcje).
  • +
  • Wczytywanie danych: Marta Kałużna, Sebastian Jachimek, Joanna Grunwald, Wojciech Wojnar.
  • +
  • Eksploracyjna analiza danych: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. [Także podrozdział Funkcje pierwszego rozdziału.]
  • +
  • Podstawy kontroli wersji z Gitem: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela.
  • +
  • Przetwarzanie danych tabelarycznych: Weronika Domaszewska, Ewelina Grzmocińska, Gracjan Hrynczyszyn, Dominik Jaźwiecki, Michał Ociepa.
  • +
  • Czyste dane: Kacper Ambroży, Dominika Szewc, Radosław Szudra, Helena Wołoch.
  • +
  • Wizualizacja danych z pakietem ggplot2: Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski
  • +
  • Czysty i wydajny kod w R: Paulina Bannert, Natalia Bercz, Piotr Mrozik, Dariusz Sudół, Monika Wyźnikiewicz
  • +
  • Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika: Stanisław Banaszek, Mateusz Drobina, Dominik Mika, Adrian Płoszczyca, Jakub Sobkowiak
  • +
  • Interaktywna wizualizacja danych z pakietem shiny: strona serwerowa: Wojciech Leszkowicz, Małgorzata Stawińska, Tomasz Szmyd, Maciej Tadej.
  • +
+

Dodatkowe rozdziały: +- Podstawy kontroli wersji przy pomocy Gita: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. +- Programowanie obiektowe w R: klasy S3: Agata Cieślik. +- Moduły w aplikacjach shiny: Krystyna Grzesiak.

+ +
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git "a/docs/_book/interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-u\305\274ytkownika.html" "b/docs/_book/interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-u\305\274ytkownika.html" new file mode 100644 index 0000000..436f1bd --- /dev/null +++ "b/docs/_book/interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-u\305\274ytkownika.html" @@ -0,0 +1,598 @@ + + + + + + + Chapter 9 Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 9 Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika

+
+

9.1 Wstęp

+

Shiny jest pakietem R pozwalającym na tworzenie interaktywnych aplikacji webowych w łatwy i przystępny sposób. Aplikacja w shiny zbudowana jest z dwóch następujcych elementów:

+
    +
  • ui - user interface, czyli obiekt, w którym zawarty jest wygląd aplikacji,

  • +
  • server - funkcja organizująca działanie aplikacji.

  • +
+

Do uruchomienia aplikacji służy funkcja shinyApp(ui, server). Stworzenie dobrej i czytelnej aplikacji może znacznie ułatwić analizowanie danych.

+

W tej notatce zajmiemy się omówieniem elementów oraz podstawowych schematów budowy UI.

+
library(shiny)
+library(shinyWidgets)
+library(shinydashboard)
+
+
+

9.2 Tworzenie UI

+

Do budowania podstawowego interfejsu w shiny będziemy korzystać z funkcji fluidPage, w której tworzymy cały UI. Wszystkie informacje o rodzajach wprowadznych danych, strukturze wyświetlanych danych oraz szeroko rozumianej estetyce aplikacji będą zawarte wewnątrz tej funkcji.

+
ui <- fluidPage(
+ # coś
+)
+
+
+

9.3 Układ strony

+

Tym co jest bardzo ważne w UI jest oczywiście wygląd, a dokładniej mówiąc przejrzystość i czytelność, dlatego chcielibyśmy uporządkować wyświetlane elementy tak, aby umożliwić użytkownikowi intuicyjne korzystanie z aplikacji. Pakiet shiny oferuje wiele narzędzi pozwalających na zorganizowanie układu interfejsu zgodnie z naszymi oczekiwaniami.

+

Przydadzą nam się do tego następujące funkcje:

+
    +
  • titlePanel - funkcja tworząca panel tytułowy, w której podajemy tytuł aplikacji,

  • +
  • sidebarLayout - funkcja organizująca wygląd strony jako mniejszy panel boczny po lewej stronie oraz większy panel po prawej stronie,

  • +
  • sidebarPanel - funkcja, którą możemy umieścić w poprzedniej funkcji, aby uporządkować panel, w którym będziemy np. wprowadzać dane,

  • +
  • mainPanel - funkcja, w której umieszczamy treści, które chcemy, aby znalazły się w panelu głównym,

  • +
  • tabsetPanel - funkcja umożliwiająca organizowanie paska zakładek. Aby utworzyć zakładki w jej ciele używamy funkcji tabPanel, w której umieszczamy dowolne treści, np. wykresy lub tabele.

  • +
+

Oprócz tego możemy bardziej modyfikować wygląd aplikacji dzięki funkcjom fluidRow i column pozwalającym na uporządkowanie obiektów odpowiednio w wierszach oraz kolumnach.

+
+
+

9.4 Elementy wejścia i wyjścia

+

Układ strony należy oczywiście podporządkować temu jaką funkcję ma pełnić aplikacja, a także temu jaki rodzaj interakcji ma mieć z nią docelowo użytkownik. Interakcje użytkownika z aplikacją można intuicyjnie podzielić na to co zostaje do aplikacji wprowadzone (input) oraz to co ostatecznie w związku z tym aplikacja zwraca (output). Każdy input i output jest w kodzie identyfikowany dzięki nadanej mu przez nas nazwie. Wewnątrz fluidPage możemy zawrzeć różne rodzaje inputów i outputów w zależności od rodzaju wprowadzanych/wyświetlanych danych.

+
+

9.4.0.1 Przykładowe elementy wejścia

+
    +
  • textInput - funkcja tworząca pole, w którym użytkownik może wprowadzić dowolny tekst,
  • +
+
ui <- fluidPage(
+  # Okienko do wpisywania tekstu
+  textInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji")
+)
+
    +
  • numericInput - funkcja tworząca pole, w którym użytkownik może wprowadzić wartość liczbową,
  • +
+
ui <- fluidPage(
+  # Okienko do wpisywania liczb
+  numericInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji",
+              # Wartość domyślna
+              value = 10)
+)
+
    +
  • selectInput - funkcja tworząca listę, z której użytkownik może dokonać wyboru - domyślnie parametr multiple umożliwia wybór jednej pozycji z listy,
  • +
+
ui <- fluidPage(
+  # Możliwość wybrania z listy
+   selectInput("nazwa_inputu_3", "Tekst wyświetlany w aplikacji", 
+               # Lista możliwości do wyboru
+               choices = c("Wybór_1", "Wybór_2"))
+)
+
    +
  • sliderInput - funkcja tworząca suwak umożliwiający użytkownikowi wybór zakresu interesujących go wartości,
  • +
+
ui <- fluidPage(
+  # Suwak do wyboru wartości
+  sliderInput("nazwa_inputu_4", "Tekst wyświetlany w aplikacji",
+              # Wartość domyślna
+              value = 1,
+              # Wartość minimalna
+              min = 0,
+              # Wartość maksymalna
+              max = 10)
+)
+
    +
  • dateRangeInput - funkcja tworząca pole wyboru zakresu interesujących dat.
  • +
+
ui <- fluidPage(
+  # Pole wyboru zakresu dat
+  dateRangeInput("nazwa_inputu_5", "Tekst wyświetlany w aplikacji",
+                 # Data początkowa
+                 start = "2001-01-01",
+                 # Data końcowa
+                 end   = "2010-12-31")
+)
+
+
+

9.4.0.2 Przykładowe elementy wyjścia

+

Używanie funkcji wyświetlających outputy jest bardzo proste, ponieważ w UI decydujemy jedynie gdzie i jak wyswietlić output, który jest obiektem utworzonym wewnątrz funkcji server na podstawie wprowadzonego przez użytkownika inputu.

+
    +
  • textOutput - funkcja wyświetlająca tekst,
  • +
+
ui <- fluidPage(
+  # Wyświetla tekst, który stworzyliśmy w serwerze pod daną nazwą
+  textOutput("nazwa_outputu_1")
+)
+
    +
  • tableOutput - podstawowa funkcja wyświetlająca tabelę,
  • +
+
ui <- fluidPage(
+  # Wyświetla tabelę stworzoną w serwerze pod daną nazwą
+  tableOutput("nazwa_outputu_2")
+)
+
    +
  • DTOutput - funkcja wyświetlająca interaktywną ramkę danych z użyciem pakietu data.table,
  • +
+
ui <- fluidPage(
+  # Interaktywna ramka danych z użyciem data.table
+  DT::DTOutput("nazwa_outputu_3")
+)
+
    +
  • plotOutput - funkcja wyświetlająca wykres.
  • +
+
ui <- fluidPage(
+  # Wyświetla wykres stworzony w serwerze
+  plotOutput("nazwa_outputu_4",
+             # Szerokość wykresu
+             width = "100%", 
+             # Wysokość wykresu
+             height = "400px")
+)
+
+
+
+

9.5 Przykład użycia

+

Oczywiście powyższe kody były jedynie fragmentami większej całości. Poniżej możemy zobaczyć przykładowy kod obrazujący strukturę budowy interfejsu. Rzeczą, o której należy pamiętać jest oddzielanie funkcji przecinkami.

+
ui <- fluidPage( 
+  # Tytuł
+  titlePanel("Tytuł"),
+  
+  # To co będzie wyświetlone z boku interfejsu
+  sidebarLayout(
+    
+    # Panel boczny
+    sidebarPanel(
+      
+      # Pierwszy input - wybór
+      selectInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji", 
+                  choices = c("Wybór_1", "Wybór_2")),
+      # Drugi input - suwak
+      sliderInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji",
+                  value = 1, min = 0, max = 10) 
+    ),
+  
+  # Główny panel
+  mainPanel( 
+    
+    # Tworzymy zakładki
+    tabsetPanel( 
+      
+      # Pierwsza zakładka - wykres
+      tabPanel("Tytuł wykresu", plotOutput("nazwa_outputu_1")),
+      # Druga zakładka - ramka danych
+      tabPanel("Tytuł ramki", DT::DTOutput("nazwa_outputu_2"))
+      )
+    )
+  )
+)
+

Dodatkowo warto zdawać sobie sprawę, że po wprowadzeniu danych przez użytkownika outputy aktualizują się automatycznie, dlatego często przydatne jest programowanie reaktywne z funkcją observeEvent oraz użycie actionButton, który pozwala na wykonanie danego działania dopiero po kliknięciu odpowiedniego przycisku przez użytkownika.

+
+
+

9.6 Wygląd aplikacji

+

Ostatecznie chcielibyśmy, aby aplikacja wyglądała bardziej estetycznie. Możemy do tego użyć kilku narzędzi. Po pierwsze możemy zmienić motyw naszej aplikacji.

+

Z pomocą przychodzi nam funkcja shinythemes::themeSelector(), którą musimy umieścić w naszym UI. Wtedy w naszej aplikacji pojawia się pole z możliwością wyboru motywu.

+

Gdy już wybierzemy ulubiony motyw zamieniamy poprzednią funkcję w UI na theme = shinythemes::shinytheme('NASZ_MOTYW') i gotowe!

+

Poza tym Shiny umożliwia całkowitą customizację wyglądu aplikacji przy użyciu HTML, CSS oraz JavaScript.

+

Ostatnim narzędziem, o którym warto pamiętać, jest shinyWidgetsGallery(). Jest to bardzo użyteczna aplikacja stworzona w bibliotece shinyWidgets, dzięki której możemy między innymi zobaczyć w praktyce działanie różnego typu inputów oraz kod umożliwiający użycie ich w aplikacji.

+
+

9.6.1 Uwaga

+

W tej notatce omówiliśmy podstawowe elementy pozwalające na zbudowanie interfejsu w shiny ale chcielibyśmy też dodać, że w poszukiwaniu bardziej zaawansowanych rozwiązań warto odwiedzić stronę https://shiny.rstudio.com/, gdzie można znaleźć dokumentację pakietu shiny, wiele przykładów oraz nieomówionych tu funkcji.

+ +
+
+
+

9.7 Wstęp

+

Shiny to biblioteka w R pozwalająca na budowanie interaktywnych aplikacji w prosty i szybki sposób. Aplikacja Shiny składa się z dwóch części, opisywanych w dwóch osobnych plikach: interfejs użytkownika (UI), czyli jak aplikacja będzie wyglądać u użytkownika oraz sposób przetwarzania danych (serwer). W tej pracy zajmiemy się stroną serwerową Shiny.

+
+
+

9.8 Serwer Shiny

+

Aplikacje Shiny zazwyczaj budujemy w sytuacjach, w których mamy dane, chcemy obliczyć pewne rzeczy i narysować odpowiednie wykresy. Użytkownik widzi efekt końcowy, czyli to jak zaprogramowaliśmy gdzie ma się wyświetlać wynik, natomiast w części serwerowej opisujemy jak ten wynik ma być obliczony. Jest to więc część zależna od pliku UI.

+

Musimy więc w kodzie serwera zamieścić obiekty opisane w UI. Zauważmy, że tworzymy kod serwera jako funkcję od dwóch parametrów: input, output. W środku serwera definiujemy zależności pomiędzy inputami i outputami.

+

Jedną z zalet Shiny jest interaktywność. Dzięki temu użytkownik może na bieżąco zmieniać parametry i generować nowe wykresy. Jednak generowanie kodu na nowo przy każdej zmianie danych nie zawsze jest pożądane. Ważnym pojęciem przy pisaniu strony serwerowej jest reaktywność (żródło infografiki: Shiny Cheat Sheet).

+
+ +

reaktywnosc

+
+

Jeśli zmienna jest reaktywna, to znaczy że jakakolwiek jej zmiana powoduje ponowne uruchomienie funkcji z nią powiązanych. Do budowania reaktywnych wyrażeń używamy funkcji reactive(). Taka zmienna jest liczona tylko raz i wyrażenia z nią związane używają tej wartości aż do momentu aktualizacji wybranego przez użytkownika. Z pojęciem reaktywności wiąże się kilka ważnych funkcji:

+
    +
  • reactiveValues(...), które tworzy listą reaktywnych zmiennych,
  • +
  • isolate(expr) - zapobiega zależności od reaktywnych zmiennych,
  • +
  • render*() - funkcje tworzące obiekty do wyświetlenia, które zmieniają się wraz z reaktywnymi zmiennymi,
  • +
  • observeEvent(...) - gdy nie chcemy aby model od razu się zaktualizował przy zmianie danych, a przy jakiejś określonej akcji,
  • +
  • reactive() - tworzy reaktywne wyrażenia
  • +
  • eventReactive - tworzy reaktywne wyrażenia, które nie zależą od wszystkich reaktywnych zmiennych, a zależą jedynie od akcji wymienionych w pierwszym argumencie.
  • +
+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git "a/docs/_book/katarzyna-frankiewicz-maciej-grabias-jakub-micha\305\202owski.html" "b/docs/_book/katarzyna-frankiewicz-maciej-grabias-jakub-micha\305\202owski.html" new file mode 100644 index 0000000..491ad06 --- /dev/null +++ "b/docs/_book/katarzyna-frankiewicz-maciej-grabias-jakub-micha\305\202owski.html" @@ -0,0 +1,556 @@ + + + + + + + Chapter 7 Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 7 Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski

+
+

7.1 Wprowadzenie

+

Jednym z ważnych elementów przekazywania ciekawych informacji oraz ich analizy jest przedstawienie graficzne interesujących nas danych. W R istnieje kilka sposobów na wizualizację danych. Jednym z nich jest korzytanie z narzędzi oferowanych przez pakiet ggplot2. Bibiloteka ggplot2 oprócz zwykłych funkcji plotowania, implementuje także gramatykę grafiki, co pozwala na wykonanie prawie każdego rodzaju (statystycznej) wizualizacji danych.

+
+

7.1.1 Gramatyka grafiki

+

Powyżej wspomnieliśmy o gramatyce grafiki. Dla dokładniejszego uporządkowania wiedzy przypomnijmy, że gramatyka grafiki daje nam możliwość zadawania odpowiednich parametórw dla wszystkich linii, słów, strzałek, itp., które połączone tworzą wykres. Dodatkowo możemy m.in. zmieniać układ współrzędnych, czy korygować położenie każdego obiektu znajdującego się na wykresie. Możliwości jakie oferuje nam gramatyka grafiki będą przedstawione dokładniej w dalszej części notatki.

+
+
+
+

7.2 Podstawy tworzenia wykresów w ggplot2

+

Na początku, aby móc tworzyć wizualizacje, musimy załadować pakiet oraz bibilotekę ggplot2. Warto zwrócić uwagę, że ggplot2 posiada również szereg wbudowanych zestawów danych. Aby pokazać możliwości jakie oferuje nam ggplot, przeprowadzimy symulację danych mpg dostępnych w R.

+
library(ggplot2)
+head(mpg)
+
## # A tibble: 6 × 11
+##   manufacturer model displ  year   cyl trans      drv     cty   hwy fl    class  
+##   <chr>        <chr> <dbl> <int> <int> <chr>      <chr> <int> <int> <chr> <chr>  
+## 1 audi         a4      1.8  1999     4 auto(l5)   f        18    29 p     compact
+## 2 audi         a4      1.8  1999     4 manual(m5) f        21    29 p     compact
+## 3 audi         a4      2    2008     4 manual(m6) f        20    31 p     compact
+## 4 audi         a4      2    2008     4 auto(av)   f        21    30 p     compact
+## 5 audi         a4      2.8  1999     6 auto(l5)   f        16    26 p     compact
+## 6 audi         a4      2.8  1999     6 manual(m5) f        18    26 p     compact
+

Składnia wykresów w ggplot polega na warstwowym budowaniu wykresów.

+
    +
  1. Zaczynamy od doboru danych, jakie chcielibyśmy zwizualizaować.
  2. +
  3. Określamy sposób mapowania zmiennych do aspektów wizualnych.
  4. +
  5. Definiujemy styl wykresu.
  6. +
  7. Dodajemy dodatkowe warstwy personalizujące wykres, tzn. dodajemy tytuł, etykiety, itp. (opcjonalnie)
  8. +
+

Uwaga!

+

Do dodawania nowych warstw do wykresu używamy symbolu “+” .

+
# Budujemy podstawę wykresu, określając z jakich danych będziemy korzytsać
+ggplot(mpg)
+

+
# Mapujemy dane ( na osiach pojawiły się odpowiednie podziałki)
+ggplot(mpg , aes( x = displ, y = hwy))
+

+
# Określamy styl wykresu, dzięki czemu dostemy wykres odpwiednich zależności
+ggplot(mpg , aes( x = displ, y = hwy))+
+  geom_point()
+

+
# Personalizujemy wykres poprzez dodanie tytułu oraz określenie motywu wykresu
+ggplot(mpg , aes( x = displ, y = hwy))+
+  geom_point()+
+  ggtitle("disp vs hwy")+
+  theme_bw()
+

+
+
+

7.3 Mapowanie

+

Mapowanie danych jest estetyką, która mówi ggplot’owi, jakie zmienne powinny znajdować się na osi x oraz y. Dodatkowo możemy wpływać na cechy wizualne danych, takie jak kolor ( color = ), kształt ( shape = ), czy przezroczystość ( alpha = ). Wszystkie estetyki dla podziałki wykresu są określone w wywołaniu funkcji aes().

+

Uwaga!

+

Każda warstwa geom może mieć swoją własną specyfikację aes. Możemy zdecydować, czy na wykresie geom_point punkty mają być zaznaczone jako koła, czy kwadraty.

+
# Punkty na wykresie będą kwadratami
+ggplot(mpg, aes(x = displ, y = hwy)) +
+  geom_point(shape = 0)+
+  ggtitle("displ vs hwy")+
+  theme( axis.title = element_text(size = 1))+
+  theme_bw()
+

+
# Punkty na wykresie to czerwone kropki
+ggplot(mpg, aes(x = displ, y = hwy)) +
+  geom_point(color = "red")+
+  ggtitle("displ vs hwy")+
+  theme_bw()
+

+
+
+

7.4 Geometria wykresu

+

Za pomocą ggplot2 możemy stworzyć prawie każdy rodzaj wykresu. W tym celu musimy zadać typ wykresu jaki nas interesuje. Ggplot2 daje możliwość stworzenia wykresu:

+
    +
  • punktowego ( geom_point)
  • +
  • liniowego ( geom_line)
  • +
  • słupkowego ( geom_bar)
  • +
  • skrzypcowego ( geom_violin)
  • +
  • histogramu ( geom_histogram)
  • +
  • boxplota ( geom_boxplot)
  • +
+

oraz wielu innych, które powstają m.in. przez zastosowanie funcji: geom_area, geom_density, geom_dotplot, geom_qq, geom_smooth.

+

Uwaga!

+
    +
  • Wykresy słupkowe i histogramy grupują dane, a następnie prezentują liczbę elementów znajdujących się w poszczególnych grupach
  • +
  • Na wykresach liniowych model jest dopasowywany do danych, a nastęonie wykreślane są przewidywania wyznaczone przez model
  • +
  • Wykresy pudełkowe obliczają kompleksowe podsumowanie rozkładu wartości
  • +
+

Poniżej przedstawione są dwa przykładowe typy wykresów. Pierwszy narysowany przy użyciu funkcji geom_smooth, która służy do rysowania wygładzonych linii, np. dla prostych trendów. Drugi wykres powstał przy zastosowaniu funkcji geom_histogram. +

+

W pakiecie ggplot2 bardzo prosto możemy łączyć ze sobą różne geometrie na jednym wykresie. Wystarczy wstawić znak “+” pomiędzy odpowiednimi funkcjami.

+
ggplot(mpg , aes( x = displ, y = hwy))+
+  geom_point()+
+  geom_smooth()+
+  ggtitle("Multiple geomteries")+
+  theme_bw()
+

+
+
+

7.5 Funkcje pomagające poprawić czytelność wykresu

+
+

7.5.1 Systemy współrzędnych

+

Domyślnym systemem współrzędnych dla ggplot2 jest kartezjański układ współrzędnych. W zależności od danych na jakich działamy, może się okazać, że pokazanie danych w innym układzie współrzędnych, wpłynie na lepszy odbiór informacji z wykresu.

+

Funkcjami, które odpowiadają za przekształcenie układu współrzędnych są m.in.

+
    +
  • coord_flip która zamienia osie x i y
  • +
  • coord_polar wykres jest pokazany we współrzędnych polarnych
  • +
  • coord_fixed nadal jesteśmy w kartezjańskim układzie współrzędnych, ale możemy zmienić proporcję między jednostkami na osi x i y
  • +
+
+
+

7.5.2 Dopasowanie położenia

+

Każda geometria w ggplot2 ma ustawione domyślne położenie różnych elementów na wykresie względem siebie. Różne opcje ustawienia położenia są dobrze widoczne na wykresach słupkowych. Zacznijmy od stworzenia zwykłego wykresu słupkowego, bez żadnych dodatkowych funkcji.

+

+

Jeżeli teraz do mapowania dodamy opcję fill = dvr, to każdy prostokąt będzie reprezentował kombinację wartości class oraz dvr.

+

+

Takie przedstawienie danych nie dla każdego może być czytelne, dlatego możemy skorzystać z opcji position, która przyjmuje m.in. argumenty: “dodge” i “fill”.

+

+
+
+

7.5.3 Zarządzanie osiami współrzędnych

+

Jedną z możliwości jaką oferuje nam pakiet ggplot2 jest prosta zmiana skali na osiach wykresu. Podstawowymi funkcjami, które to umożliwiają są:

+
    +
  • scale_x_log10 (zamiast x możemy podać także y) wtedy skala x-ów będzie zlogarytmowana
  • +
  • scale_x_reverse powoduje odwrotny kierunek na osi x
  • +
  • scale_x_sqrt() skala x-ów będzie spierwiastkowana
  • +
  • scale_fill_manual pozwala nam ręcznie wprowadzić oczekiwane przez nas wartości, m.in. możemy zmienić nazwy obiektów na skali, czy podać zakres wartości do uwzględnienia w mapowaniu
  • +
  • xlim(5,40) powoduje ograniczenie podziałki na osi x od 5 do 40 (analogicznie z ylim)
  • +
+

W ggplot2 z łatwością także dodamy etykiety tekstowe oraz adnotacje. Do wykresu możemy dodać tytuł oraz nazwy osi korzystając m.in. z funkcji labs().

+
ggplot(mpg, aes(x = displ, y = hwy, color = class)) +
+  geom_point() +
+  labs(title = "Fuel Efficiency by Engine Power",
+       x = "Engine power",
+       y = "Fuel Efficiency",
+       color = "Car Type")
+

+
+
+

7.5.4 Motywy

+

Theme to dobry sposób na dostosowanie odpowiedniego tytułu, etykiet, czcionek, tła, legendy, czy lini siatki na wykresie. Możemy skorzystać z jednego z dostępnych motywów, takich jak theme_bw(), czy theme_minimal(). Istnieje możliwość zastosowania wielu dostępnych opcji tak, aby odpowiednie elementy wykresu wyglądały tak, jak chcemy. Podstawowymi funkcjami, jakie warto znać są m.in. legend.position, dzięki której możemy ustalić pozycję legendy wykresu, axis.text, która umożliwia nam ustawienie czcionki na wykresie oraz ustalenie jej wielkości czy koloru. Przydatną funkcją pochodzącą z rodziny theme jest ‘theme(axis.text.x = element_text(angle = 90))’, która obraca nazwy znajdujące się na osi x, dzięki, czemu stają się one czytelniejsze.

+
+
+
+

7.6 Panele

+

Ostatnim z podstawowych funkcji jakie oferuje pakiet ggplot2 jest facets.

+

Panele to sposoby grupowania wykresu danych w wiele różnych części ze względu na zadaną zmienną. Możemy korzystać z funkcji:

+
    +
  • facet_wrap(), która ustawia panele w prostokątnym układzie
  • +
  • facet_grid(), która ustawia panele w kolumny lub w wiersze (zależnie jaką opcję wybierzemy)
  • +
+
ggplot(mpg, aes(x = displ, y = hwy)) +
+  geom_point() +
+  facet_grid(~ class)
+

+

Uwaga!

+

Aby zadać względem, której zmiennej chcemy grupować, w funkcji ‘facet_’ po znaku “~”, podajemy nazwę tej zmiennej.

+

Kiedy korzystamy z funkcji tworzącej panele, automatycznie wszytskie wykresy będą pokazane w układzie współrzędnych dopasowanym do wszytkich okienek. Istnieje jednak możliwość dopasowania układu współrzędnych do każdego panelu osobno. W tym celu możemy wykorzystać funcję ‘scale = “free”’.

+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/libs/anchor-sections-1.1.0/anchor-sections-hash.css b/docs/_book/libs/anchor-sections-1.1.0/anchor-sections-hash.css new file mode 100644 index 0000000..b563ec9 --- /dev/null +++ b/docs/_book/libs/anchor-sections-1.1.0/anchor-sections-hash.css @@ -0,0 +1,2 @@ +/* Styles for section anchors */ +a.anchor-section::before {content: '#';font-size: 80%;} diff --git a/docs/_book/libs/anchor-sections-1.1.0/anchor-sections.css b/docs/_book/libs/anchor-sections-1.1.0/anchor-sections.css new file mode 100644 index 0000000..041905f --- /dev/null +++ b/docs/_book/libs/anchor-sections-1.1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +.hasAnchor:hover a.anchor-section {visibility: visible;} +ul > li > .anchor-section {display: none;} diff --git a/docs/_book/libs/anchor-sections-1.1.0/anchor-sections.js b/docs/_book/libs/anchor-sections-1.1.0/anchor-sections.js new file mode 100644 index 0000000..fee005d --- /dev/null +++ b/docs/_book/libs/anchor-sections-1.1.0/anchor-sections.js @@ -0,0 +1,11 @@ +document.addEventListener('DOMContentLoaded', function () { + // If section divs is used, we need to put the anchor in the child header + const headers = document.querySelectorAll("div.hasAnchor.section[class*='level'] > :first-child") + + headers.forEach(function (x) { + // Add to the header node + if (!x.classList.contains('hasAnchor')) x.classList.add('hasAnchor') + // Remove from the section or div created by Pandoc + x.parentElement.classList.remove('hasAnchor') + }) +}) diff --git a/docs/_book/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf b/docs/_book/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z zq1_(l4SX+ekaM;bY|YgEqv2RAEE}e-Im8<@oEZ?Z81Y?3(z-@nRbq?!xD9Hyn|7Gx z-NUw`yOor_DJLC1aqkf2(!i=2$ULNfg|s8bV^xB!_rY+bHA;KsWR@aB=!7n&LJq(} z!pqD3Wkvo-Goy zx1edGgnc}u5V8cw&nvWyWU+wXqwinB#x7(uc>H44lXZQkk*w_q#i2O!s_A?a*?`Rx zoZW6Qtj)L1T^4kDeD7;%G5dS816OPqAqPx~(_-jZ`bo-MR_kd&sJv{A^ zs@18qv!kD;U z5Evv$C*bD~m z+x@>Oo>;7%QCxfp-rOkNgx4j-(o*e5`6lW^X^{qpQo~SMWD`Gxyv6)+k)c@o6j`Yd z8c&XSiYbcmoCKe+82}>^CPM+?p@o&i(J*j0zsk}!P?!W%T5`ppk%)?&GxA`%4>0VX zKu?YB6Z)hFtj@u-icb&t5A1}BX!;~SqG5ARpVB>FEWPLW+C+QOf~G-Jj0r`0D6|0w zQUs5sE6PYc)!HWi))NeRvSZB3kWIW|R^A%RfamB2jCbVX(Fn>y%#b1W%}W%qc)XVrwuvM!>Qur!Ooy2`n@?qMe3$`F2vx z9<=L}wP7@diWhCYTD?x)LZ>F6F?z8naL18P%1T9&P_d4p;u=(XW1LO3-< z`{|5@&Y=}7sx3t1Zs zr9ZBmp}YpHLq7lwu?CXL8$Q65$Q29AlDCBJSxu5;p0({^4skD z+4se#9)xg8qnEh|WnPdgQ&+te7@`9WlzAwMit$Julp+d80n+VM1JxwqS5H6*MPKA` zlJ*Z77B;K~;4JkO5eq(@D}tezez*w6g3ZSn?J1d9Z~&MKbf=b6F9;8H22TxRl%y1r z<-6(lJiLAw>r^-=F-AIEd1y|Aq2MggNo&>7Ln)S~iAF1;-4`A*9KlL*vleLO3vhEd(@RsIWp~O@>N4p91SI zb~+*jP?8B~MwmI0W$>ksF8DC*2y8K0o#te?D$z8nrfK{|B1L^TR5hlugr|o=-;>Yn zmL6Yt=NZ2%cAsysPA)D^gkz2Vvh|Z9RJdoH$L$+6a^|>UO=3fBBH0UidA&_JQz9K~ zuo1Z_(cB7CiQ}4loOL3DsdC<+wYysw@&UMl21+LY-(z=6j8fu5%ZQg-z6Bor^M}LX z9hxH}aVC%rodtoGcTh)zEd=yDfCu5mE)qIjw~K+zwn&5c!L-N+E=kwxVEewN#vvx2WGCf^;C9^mmTlYc*kz$NUdQ=gDzLmf z!LXG7{N$Mi3n}?5L&f9TlCzzrgGR*6>MhWBR=lS)qP$&OMAQ2 z`$23{zM%a@9EPdjV|Y1zVVGf?mINO)i-q6;_Ev|n_JQ^Zy&BnUgV>NbY9xba1DlY@ zrg$_Kn?+^_+4V4^xS94tX2oLKAEiuU0<2S#v$WSDt0P^A+d-+M?XlR**u_Xdre&aY zNi~zJk9aLQUqaFZxCNRmu*wnxB_u*M6V0xVCtBhtpGUK)#Dob6DWm-n^~Vy)m~?Yg zO0^+v~`x6Vqtjl4I5;=^o2jyOb~m+ER;lNwO$iN ziH4vk>E`OTRx~v#B|ifef|ceH)%hgqOy|#f=Q|VlN6i{!0CRndN~x8wS6Ppqq7NSH zO5hX{k5T{4ib@&8t)u=V9nY+2RC^75jU%TRix}FDTB%>t;5jpNRv;(KB|%{AI7Jc= zd%t9-AjNUAs?8m40SLOhrjbC_yZoznU$(rnT2);Rr`2e6$k!zwlz!d|sZ3%x@$Nw? zVn?i%t!J+9SF@^ zO&TGun2&?VIygfH5ePk|!e&G3Zm-GUP(imiWzZu$9JU)Wot`}*RHV<-)vUhc6J6{w&PQIaSZ_N<(d>`C$yo#Ly&0Sr5gCkDY(4f@fY5!fLe57sH54#FF4 zg&hda`KjtJ8cTzz;DwFa#{$!}j~g$9zqFBC@To^}i#`b~xhU;p{x{^f1krbEFNqV^ zEq5c!C5XT0o_q{%p&0F@!I;9ejbs#P4q?R!i$?vl3~|GSyq4@q#3=wgsz+zkrIB<< z=HMWEBz?z??GvvT54YsDSnRLcEf!n>^0eKf4(CIT{qs4y$7_4e=JoIkq%~H9$z-r* zZ?`xgwL+DNAJE`VB;S+w#NvBT{3;}{CD&@Ig*Ka2Acx)2Qx zL)V#$n@%vf1Zzms4Th~fS|(DKDT`?BKfX3tkCBvKZLg^hUh|_Gz8?%#d(ANnY`5U1 zo;qjq=5tn!OQ*-JqA&iG-Tg#6Ka|O64eceRrSgggD%%QBX$t=6?hPEK2|lL1{?|>I^Toc>rQU7a_`RSM^EPVl{_&OG-P;|z0?v{3o#pkl zC6Y;&J7;#5N#+H2J-4RqiSK^rj<_Z6t%?`N$A_FUESt{TcayIew5oWi=jxT*aPIP6 z?MG`?k5p%-x>D73irru{R?lu7<54DCT9Q}%=4%@wZij4+M=fzzz`SJ3I%*#AikLUh zn>k=5%IKUP4TrvZ!A{&Oh;BR}6r3t3cpzS(&|cEe&e{MQby|1#X`?17e9?|=i`sPG zL|OOsh`j@PD4sc6&Y3rT`r?-EH0QPR*IobE@_fkB8*(886ZkjkcO{K8Sz$H`^D-8P zjKG9G9A`O!>|!ivAeteRVIcyIGa#O<6I$^O7}9&*8mHd@Gw!WDU*@;*L;SYvlV#p( zzFSsPw&^UdyxO}%i)W8$@f}|84*mz&i2q@SlzMOd%B!BHOJ<(FYUTR(Ui$DuX>?85 zcdzl5m3hzFr2S@c_20C2x&N)|$<=RhzxI!}NN+yS16X^(_mtqY)g*Q%Fux5}bP3q$ zxQD|TB{+4C1gL>zI>g~-ajKMb{2s_cFhN2(I(q^X!$H(GFxpc6oCV9#maj|OhFZaI z;umX6E*fQVTQ@lyZauuv>%E)5z-?zQZne18V5A}}JEQmCz>7^h0r)!zhinBG6 zMQghGt!Do5h%HmAQl~%m+!pr-&wlrcwW;qw)S$6*f}ZvXd;cHw=xm|y~mHbT3yX>?hoYKfy--h+6w9%@_4ukf0Et^zr-DbPwFdyj0VJHi}4bqRetSNR`DoWd( z(%n5>8MQl+>3SeL-DB@IaM{NDwd{{v_HMIO)PKO}v{{##c@ihB0w$aaPTSP4^>n3Z zC8Il%(3dCLLX$-|SwWx1u7KVztXpzNhrOZQ78c$jd{B9lqsNHLr*9h;N9$i+vsrM1 zKzLB_gVdMCfxceejpIZat!MbR)GNZ%^n|fEQo?Xtq#Qa_gEWKTFxSL4b{g}kJNd{QcoQ}HUP-A)Rq;U(***IA*V_0B5mr}Xp$q{YSYs-b2q~DHh z?+muRGn~std!VXuT>P9TL_8Km9G{doqRb-W0B&%d> z^3@hs6y5jaEq%P}dmr(8=f}x~^ z*{I{tkBgYk@Td|Z{csd23pziZlPYt2RJW7D_C#&)OONEWyN`I19_cM;`Aa=y_)ldH z^co(O-xWIN0{y|@?wx@Y!MeVg3Ln%4ORu5~Dl6$h>AGSXrK3!pH%cpM?D|6#*6+A# zlsj;J0_~^?DHIceRC~0iMq)SJ&?R&if{fsdIb>y;H@M4AE`z8~dvz)(e}BqUWK^U~ zFy`PX+z*Bmv9VxAN;%CvMk(#kGBEMP;a-GgGZf~r$(ei(%yGqHa2dS3hxdTT!r>La zUrW2dCTZ!SjD_D(?9$SK02e_#ZOxdAhO%hgVhq54U=2$Hm+1^O^nH<>wS|&<)2TtD zN_MN@O>?A@_&l;U)*GY*5F_a~cgQb_3p`#77ax1iRxIx!r0HkDnA2G*{l|*}g_yI% zZdHt2`Hx^MA#VH7@BEN68Y_;sAcCNgCY7S&dcQsp*$+uW7Dm@$Vl7!YA^51bi} z*Vy8uTj{neIhIL|PhditfC1Jeub(uy}w|wV5 zsQz)04y;BY2$7U4$~P{k)b`hZb>gv1RkD)L#g~$*N^1N1GfNMS)4r|pT*V<&KE1M9 zTh}rzSW#Kcci_#(^qf0gTW3&QN&zsW%VAQ+AZ%-3?E)kMdgL)kY~@mC>l?RH28u;Y zt-@_u^5(W>mDdtqoe){#t;3NA7c@{WoY9bYFNoq+sj&ru;Z`x>4ddY0y*`HRtHFEN% z@mFkp=x0C6zDGgA0s|mP^WNEwE4O}S?%DOtce3At%?ThxRp@`zCH6MyzM)dA9C7IP zI}t;YUV(Jcnw$4LoD4H(EM#!{L-Z|&fhNYnBlKcQ$UScR#HH>scYBTf2u|7Fd8q$R zy5Cbt=Pvf^e}m4?VVL@#Pi3z*q-Q0MG8pGTcbS|eeW%R5bRzKsHSH#G(#$9hj9}0O7lXsC zbZ7#UjJM^FcvdKK3MOEl+Pb-93Px}F$ID&jcvZdJ{d(D)x|*`=vi%1hdg(dd-1E>& zoB4U&a${9!xyxoT%$7gFp{M<_q z9oVnk*Dcp$k#jA#7-pZbXd=L8nDhe<*t_*%gj^Vx>(~KyEY~i&(?@R~L_e^txnUyh z64-dU=Lc;eQ}vPX;g{GitTVZben7||wttapene^dB|oSGB~tmAGqE^`1Jxt$4uXUL zz5?7GEqvmLa{#mgN6la^gYO#}`eXyUJ)lFyTO8*iL~P z$A`A_X^V#!SJyU8Dl%J*6&s9;Jl54CiyfA`ExxmjrZ1P8E%rJ7hFCFo6%{5mRa|LY zk^x76W8M0tQBa1Q(&L`|!e zrczv>+#&b2bt zuD1Bfoe>oW0&!ju$-LI)$URptI!inJ^Dz|<@S1hk+!(n2PWfi-AMb5*F03&_^29MB zgJP7yn#Fw4n&Rod*>LlF+qPx5ZT$80;+m*0X5ffa3d-;F72#5un;L$}RfmR5&xbOf(KNeD|gT1x6bw5t;~j}(oMHcSzkCgcpbd>5UN z7e8CV*di9kpyJAo1YyE9XtfV1Q8^?ViwrKgtK$H60 z%~xgAifVV#>j>4SN10>bP9OV9m`EA-H{bzMimEQ_3@VZH%@KZzjDu` zRCG*Ax6B^%%dyLs2Cw{bePFWM9750@SIoZoff4mJvyxIeIjeZ{tYpbmTk4_{wy!_uygk4J;wwSiK&OpZWguG$O082g z^a3rw)F1Q!*)rNy!Sqz9bk0u-kftk^q{FPl4N+eS@0p1= zhaBFdyShSMz97B%x3GE|Sst~8Le6+?q@g6HwE1hJ#X)o^?{1!x-m`LlQ+4%?^IPIo zHATgqrm-s`+6SW3LjHB>=Pp{i<6FE#j+sX(Vl-kJt6sug<4UG9SH_|( zOb(+Vn|4R4lc8pHa-japR|c0ZAN$KOvzss6bKW^uPM$I$8eTr{EMN2N%{Yrl{Z`Y^ zaQ`-S_6omm((Fih26~Bjf^W$wm1J`8N+(=0ET@KFDy;S%{mF@!2&1UMxk>jTk49;@ z*g#0?*iga;P7abx1bh^d3MoAy*XQp{Hl*t(buU@DamDmvcc;5}`ihM!mvm36|GqRu zn*3}UmnOSUai6mM*y&f#XmqyBo>b=dmra`8;%uC8_33-RpM6;x`Rrc0RM~y9>y~ry zVnGanZLDD_lC%6!F%Jzk##j%?nW>JEaJ#U89t`?mGJS_kO5+5U1Gh;Lb3`{w<-DW; z;USPAm%*aQJ)UeYnLVb2V3MJ2vrxAZ@&#?W$vW)7$+L7~7HSzuF&0V95FC4H6Dy<( z!#o7mJKLMHTNn5)Lyn5l4oh2$s~VI~tlIjn09jE~8C#Ooei=J?K;D+-<8Cb>8RPx8 z-~O0ST{mOeXg+qjG~?}E8@JAo-j?OJjgF3nb^K5v>$yq#-Ybd8lM^jdru2WE-*V6W z>sL(7?%-Qu?&?wZNmmqdn?$FXlE!>2BAa^bWfD69lP0?L3kopYkc4>{m#H6t2dLIEE47|jcI$tEuWzwjmRgqBPkzk zM+(?6)=);W6q<2z95fHMDFKxbhPD-r0IjdX_3EH*BFL|t3))c7d~8v;{wU5p8nHUz9I?>l zVfn$bENo_I3JOh1^^ z+un~MSwCyixbj%C?y{G@G7mSZg_cf~&@djVX_vn8;IF&q?ESd=*AJHOJ(!-hbKPlb zYi-r+me!ezr_eCiQ&SetY;BocRokkbwr=ONGzW2U@X=AUvS^E9eM^w~aztd4h$Q&kF;6EJ1O*M7tJfFi}R1 z6X@asDjL5w+#QEKQE5V48#ASm?H7u5j%nDqi)iO@a1@F z*^R+bGpEOs#pRx9CBZQ}#uQa|dCH5EW%a3Xv1;ye-}5|Yh4g~YH5gI1(b#B|6_ZI; zMkxwTjmkKoZIp~AqhXp+k&SSQ)9C=jCWTKCM?(&MUHex;c3Knl(A%3UgJT_BEixIE zQh!;Q(J<0)C`q0-^|UdaGYzFqr^{vZR~Tk?jyY}gf@H+0RHkZ{OID|x;6>6+g)|BK zs6zLY0U>bcbRd6kU;cgkomCZdBSC8$a1H`pcu;XqH=5 z+$oO3i&T_WpcYnVu*lchi>wxt#iE!!bG#kzjIFqb)`s?|OclRAnzUyW5*Py!P@srDXI}&s2lVYf2ZCG`F`H-9;60 zb<=6weckNk=DC&Q6QxU*uJ9FkaT>}qb##eRS8n%qG`G9WrS>Xm+w)!AXSASfd%5fg z#fqxk(5L9@fM};~Gk^Sgb;7|krF-an$kIROPt4HLqq6+EL+62d@~4Hsy9nIU?=Ue4 zJ69;q+5+73nU|TQu}$>#v(M&Vx1RD=6Lu`d?>zHN?P7J&XWwsvwJt|rr?CZu+l>m4 zTi^VLh6Uu2s392u(5DLaM%)Dr$%h3hRB>V7a9XG`B{ZsWgh4IyTO9R~TAR^h^~>ko z(k|Hy#@bP}7OyN92TKE%qNZfyWL32p-BJf1{jj0QU0V`yj=tRospvSewxGxoC=C|N zve$zAMuSaiyY)QTk9!VmwUK&<#b2fxMl_DX|5x$dKH3>6sdYCQ9@c)^A-Rn9vG?s)0)lCR76kgoR>S;B=kl(v zzM}o+G41dh)%9=ezv$7*a9Mrb+S@13nK-B6D!%vy(}5dzbg$`-UUZJKa`_Z{*$rCu zga2G}o3dTHW|>+P_>c8UOm4Vk-ojaTeAg0-+<4#u-{>pGTYz(%ojZ`0e*nHo=)XZS zpp=$zi4|RBMGJDX{Db?>>fq71rX3t$122E;cJ(9elj+kBXs>3?(tq=s*PeL^<(M$8 zUl;u9e6|EP5Us-A>Lzvr+ln|?*}wt;+gUmd>%?@Wl@m%Qm{>Q0JqTcxtB`ROhd6TB z$VY<7t$^N6IC(s*Z@x2?Gi%eB8%(hYaC zKfY5M-9MeR-@5h zZ?V`qr%%FlPQlW5v_Bp^Q?^)S*%Y#Z$|{!Lpju=$s702T z(P}foXu(uuHN!cJRK*W-8=F*QlYB*zT#WI-SmQ_VYEgKw+>wHhm`ECQS`r3VKw`wi zxlcnn26L*U;F-BC9u{Csy#e%+2uD$He5?mc55)ot>1w`?lr$J zsrI^qGB@!5dglADaHlvWto@|S>kF5>#i#hCNXbp*ZkO$*%P-Sjf3Vc+tuFaJ-^|Ou zW8=}1TOlafUitnrTA2D0<3}&zZz^%y5+t2`Tk`vBI93FqU`W!zY;M%AUoN1V1-I2I zPTVFqaw3Pr-`5HcEFWuD?!8Ybw)Y>g7c0tt=soTHiEBxlY;RlQ`iYY-qdd94zWjyD zFcskM^S{_!E?f3mEh9waR7tb6G&yl%GW%e&Sc5i;y@N)U5ZFLcAsma^K?Cg^%d{PO z=SHQq4a|l`AakzEY;A{n6Rn1u`7v~#ufV*6GZ$`Ef)d2%6apsU6^>QJl0@U& zq|wIBlBAgf0j!YaozAgmhAy0uy;AjRA2%(!`#&e>`V` zg`MfSf5gWvJY#?8%&|`Aj0<@aZ;-q#tCx=-zkGE|_C4)TqKjr-SE6po?cX?Z^B%62 zdA!75;$my<*q)n@eB<^dfFGwRaWB25UL#~PNEV>F^c+e2Be*Df(-rIVBJo2o*an$1*1 zD$bsUC-BvObdmkKlhW<59G9{d=@bAu8a05VWCO=@_~oP=G3SmO91AK_F`#5 zwXLRVay<~JYok|rdQM-~C?dcq?Yfz_*)fIte zkE_g4CeLj1oza=9zH!s!4k%H@-n{6aB&Z;Cs8MK?#Jxl`?wD>^{fTL&eQHAQFtJ_% zNEfs|gGYh+39S{-@#MrPA!XpgWD;NLlne0-Vey1n0?=ww18{L)7G|$1kjI(sjs z@|alUMcx*04*>=BWHv_W-t=rCAy0q6&*;kW&ImkwWTe$lzHJRZJ{-{ zl-mK6+j}V`wobm^^B&2Tl?1r=yWbz;v-F<#y!(CT?-4K(($wWtmD631MN9?trDG zMI7;9U7|UsC;urLP%eH1h%U`LJxT3oM4=gpi%X@lpVR9N6Q(uhJ00RWXeL-Z*V(O8 zsIyyVUvf=RXLBKX`!peifjIMvMs1YT0n$0*B;K^yZf&HN8$N%e=EgOejqihLPBT|< zs)z`nNU}BOdT7wYLy}R10eXUksn9o)jG)&=qteGc|XNI~h5R6UBfaPeIHbA32@*>orZsCB4`Q79}A=z@najfekt-_eTg7a}Mcas^D1ELlN6(y28c{ur|tmueFvIDOQxXs1)_lKrA`L2-^^VNC#miFvO%l6w5uK2bFyu?hyNLCjTCNRRVW^i+GX``giwc&TpV~OHu(yN&o)r2$K$1kjh@>iP z^&`?sCk#?xdFX+ilAb(;I7<$BQ#6j*jKsu%LEhQKe=>ki^ZICepr3#_2#pE`32i4Z zu%eXsgL)3x3Q-^OPPRhm<^!TEPoek6?O^j+qLQ*~#TBw4Aq~M2>U{>{jfojVPADAi zurKpW{7Ii5yqy6_1iXw3$aa!GLn|$~cnvQnv7{LMIFn!&d6K=3kH8+e90Zq5K%6YfdLv}ZdQmTk7SZ7}>rJ9TW)6>NY{uEZ zY^9PI1UqUFm|h0Vqe60Ny=wCFBtKb zXtqOa3M?2OEN=zDX7z}2$Y{2@WJjr?N`auMDVG9kSH~FjfJRNfsR@yJQp4cQ8zaFkT4>5XQqSVt5c}`-A#Z=3-_mGZ^)Hqayei zhJ}wgZ5UDln%)!;Wz@u=m(6C_P@r9*IMPe7Db`CSqad3ky-5-EcG=*v8J&{RtLJ(E zw2h-ghGYcDtqj4Z^nU7ChgEXO0kox=oGaY;0EPqeW89T6htbZg4z!uU1hi;omVj+3 z0B%$+k$`oH5*SeoG`Ay&BAA%nAUjQxsMlNdq8%;SbEAPVC#qm!r7j75W=A)&a6)3% zdQq$fCN;@RqI!KPfl9l=vmBFSFpD1cAxb@~K-$ZIlIL3W}?#3+|2p{|vZVq`YA zMbx|Xl57kJVwoetAo+opiewCkCIO=uBLEaG+!0U$MRdReNsx>+PIJWN6dW)pfeZ(u zQ8ei-Ht69)ZV`qv=vmorhOkF)Squ;)8AUfh<7A_xI8FGHMRW>~%o`1Wt3|8IMrM%& z8)|@=#ssro9=f9HtN0F#O085{Bf6PJnurfzS_yg?qqszmnQIYDP{N=xqPfvl;VNsK^qpoy2&App~Fe(MB7KCI)$p1!&YEB&%$9gTk zmvlt?t7!>_paNt_fYJvw^~LCqX{4opLy!n)md7}<_s?`gytfSAdoScQWTy&Tbr&~( zg9myGVv)l|4-umFBL0)Y(d}Rvt11)(O4ij#zeao~K$vh~JDn0_@3RjP2M0|79T&9+ z?>Vx&M30Sb15&<{RtpeYUf|n7n5GHyc+-FtA=7H$p6Mh=&M0O!so)tze7#WT>pp|x zfWae>0++DfscU2%>|@oiCQj+6O827)1}KsN^a>NSI*4?#ylfG-{q?3MMXX$dUH^S6Ni=Ve1d0(janpz@WqGJ?cG&sewpq294Qa zL{huwuoARdt5F4Dbh#?<2ruzSS{VeDAOtY+52t^xJW=!(0f3P&G3Cs^%~Q~~Wq{YA z!QrEk#>oXK{sc&Z7VB1_>fA1^#YyU1Ff<^9G(!V0!JW`n@EDdj$$2SVK6*7$!BvXP zmAC;h-W75(Nnzpro3CE9eV=~Lp7yS(vXnk@$g3{R`!(UG013==W*Hj{-*F!ujl+np%IX?E0*I&-K^u zY1z1I!`iOu+Ll`UtL|F6Vb?~vk=x9w6}eE^*<)O?pZQ#8YKE#b($x>w$3E*F0Kfk zfnyCo#zOpX1(P2yeHG@fP7}}~GB|&S27%6=@G^V=rmeTB$(w9rC6J@uQmcAMq zQ=Ce?Z0RkF_gu30<;5#jEW32il2?}$-6PZ?au16Y)?kUFy3L?ia1A@%S3G-M`{qn8 ze+|6jh0vqfkhdSb0MvIr!;;*AL}QX^gkc+q0RJ4i9IyOo+qAyHblI+$VuZ3UT7&iIG7640a)fe&>NOVU@xZ*YE`oy!JGMY%j}bGq!= z`R5xY(8TK&AH4b6WoKCo>lPh6vbfu1yYy02g^t9bDbexN!A`*$M5`u&}WqF?+*m?ZoW85&MFmXqQ1J{i;_Oz>3*#0?lWa zf?{tv`_JzP7D3x2gX&ICRn(aR$#>;ciH#pO?<*}!<}cYh_r{hb6*kkXSteV>l9n6i zwx63=u%!9MdE>@2X)3$YXh=DuRh~mN2bQFEH&_nHWfU{q+4=t07pt+Jfj90Or;6JX{BCQrE8bZe&wi3fwEXHRp zz8{VAmxsWU)3nT;;77X7@GCm7_fL1p_xKEG&6G~luO;Bc3ZIa?2b(*uH7qJ!es71c z{Buj4(;Jds$o78u<3df_2~DLq`e9*$SGmrR9p2OoVB5Q(KL3M{1>eq+;+lHK9N?xvyBPHni<#j$sZK{QrKEcdR9+eQD0V? zGPaq!#<-c#a>t4bt+R#Hu_|}dlIGeve@SR!d((u)Ga45+BuhHfA88G0cPrw>>(`ID zZ;aIyn|qmhuDXBthoW{J(WN+`Yud=y(wvd0rm&1*4>6?#8&)Fz z&@V=a0w4)F{^!&W_l6<5xg|-0F!~>aCALbeVsZTd*)M*^tr*!)O8w)mzKThWyQW@X zw%BFs5_@CIic5EPcTJu8=CmynV;``)3}gJ`Vl#VY_3Yib@P-KvBk_%!9OVu#8tG|Nc4I~A>8ch-~X%M@!>yk~ERI|QEcwzgI66IaaY>gx0~lm<@f z5-k^OY#SGC80Yr-tDRP(-FEJ{@_4LHsGJ=)PKZ@`eW75-r0ylN%0Q>&*M;@uZLdJ$ z)rw7Dt5ajr;P;~1P>jID!><(7R;w|Yf}qI&8klT?1dTfc@us5mKEe;qw;YKR(cp-D z6NmUMP8x7cM%~ytE@l*Mp^oN*mCF`gRNhw3gpO1PVi_^JzCJo>#mX(q+iJ(Ts$5=! z13b45gILEULS!=)SmZ{qsC1)$8-4eADGR?v z>~4k_SvdvPHAC}=4(!I^OLgQ@9EMDE7d$PvJbi+K%-HTh`P0#Ea|Jm6zj> z?R)(YWtZoIRx>AqzlG1UjT@6ba>yE z{Wf<5moh^-hu;ptAtPG}`h$4PWcOn>vy`#bH#Ss>OoAEE1gIbQwH#eG8+RHG0~TJ$ z>`C`c7KyM^gqsVNDXxT|1s;nTR&cCg6kd<-msrdE5Ofk=1BGDMlP2!93%0c@rg~4` zq)UFVW%s|`xb>;aR@L^*D>nkSLGNmM?cv)WzHZy3*>+*xAJSX;>))*XRT0r9<#zIpug(}{rSC9T$42@gb zy8eb6)~}wl<=or)2L}4T{vum>-g)QaKjtnp5fyd^;|BxHtx~2W^YbKq1HfB7@>Hw@U5)?b^H=uNOpli?w6O#~V`eG;`irLcC(&Uxz`L_Cl zS8r24e*U71o@dV6Soupo-}Ttu*Dk&EwY`h4KdY-k55DSqR&o7nufO)%>%s-Es^5Q_ z60#cReEy=$4|nW)bLh=|4bxW4j}A?qOle+wjn88oAeYb~!eA+EQ;8Ggp-UldAt$3M z7*E590amz>YB9L(z?Xx&?I37XYw?Os-t+05x6Z4vkzBE6-hrbB=GAB?p{DQXV4CKg zls@_wh*&XC<3R(CEZxg8*Y(6a>cIOq9Nss7{=UQ7Nv%O_WxSyBqnH{@(<>A&2on@z zn57W4Dh*E)o#rJ2#tyxV2;C5#rl8%%As$4qB=IbMt-z|jnWi>>7Ymq37;AW!6Y4nx z1Ogx#!WVdA92mEipgUxzy_?ddg|x)KOCyK)P5v@usc;0sN3{=0slt4CuwaxK@20eO zhdp~Z8iJ7GWrkq_-X`~(eBpthn9|`tZEUCIGiFpJjjxPVE9I)#z3Q$3tw`a69qxjuf+~ z*?v>d5~pcH-AQ~0)8PyIjumD^?SM8!Wb>KZoD7hOlc2nA0_(eG!in>}Ru}>6)>5 z@*}T`Hw{I^-?PS9>(#UFBQpW72* zsfj(2+_9@5x+57aN!`e`f(Mp_I(D>}p8)@&g^g+X1%d{ z%X5boE?hEoj0CiwTh9)#8^?~;|wgor_=Z1BI9_dI{ z&t*f95n?ZgZ5CnQa!v(p|JT?y0%KKgi`Smi9k5r!+!Mkz=&Z$%CFl;?AOzV`YBKrY z0#Y6~J6&dA=m>T@TYb8ukaV4z^Z?VX*MCKcp13-ye1*`gAj_Tm@r{fpm?K!U@Xg2AfndEo6jZN} z=XK0GRNXVLW2c?}B)rH^yR>u}b?|p(W$!TkQTAgu1AIG>MFfNchMQB_^-AQxRE$Th5-E_tBP@v(Cy|ojjP5LEU|JrM8 zVF5;$>Hl^jlHWDPChrTH(vh%bARyj5#TPb>omAs-)4zN z9?9(wybd0$Z5s+}Fiytv}-8U`IC<{6U2_NqEAkv;7lys5Qcq3EKt z0-!^Xy3idllgZ~qX^QTe=i*oGUCJNk>Y26?+9U(Ks|C81S{-v+6ebc`c(yibQbuB% zxM7mk>}dI-TfUi5Jqdu6b`4SqF)y5humuCaHhssdcR(jKf5ZGprx;Oe7VG#G6TA1+ z8oZLl<+ey(L+$Qsck^4fi{I|)p15MX73gHFUU!l${lN{)Ht_Wb%j#UE6cZ9}Wq^>+1wz z9TBA@%f~tby^0YWafmn&8Ppjn1Ng{d;S01WImtMzV<`!zU7;+8e-Xko>qM^OfOZ`Y zEZG#vcm>EGF??&G6+v(3l`X(xMn8ESv=@LdMfdcxFi%g1?0HDPG>blldR`OLlWN80 zz<$t+MM9%1K~JT@#aBZjOu9*G{W$u7cqTM|&a1)0wR8R^*r$<&AhuCq1Z{-aUhc5P zdyaaK{$P=Y6R{40FrWmLbDOCijqB(1PrKlnL)Tm|t=l}toVLAZOXJ*~-dx|_A&o65 zskcpT@bs+d@ia`f)t8ivl{(t%H?O?;=^s3O^GXqopx7E3kz06f^UQq<>gyNmo4Ij; zrOxuzn{WOqP75~PwPXC;3mZ#YW1xy&DEXsl~)u4`-v_{*B%R6xNH3* zJElz8@d#i4`#JV(ko%x;u{LMqLEEDmwD*(ccB9Wp;u*9I?=sC7g>%L{%$4m#zhbjm z)gK{LWQvE1>_yl|4T$nYKNVZ<)vza7FKU5*W~4)KNgN@;SA<9&ERxIfA&UZnB=r%N z5YD4fY$9Mkzy}!G+`KUy>3l(FSi1 zw)t)*w$E4#ZSxfm3cZLC(o3aQQ7uHk>_@fMTHoM0=quh%mfN6%{`O($pyzg0kPf=2 zjA%M7bRl4BhV5{{d4HbnTh`HM&YKw@N~47e7NFGr*9Yzi(7XQl-FJb4hPEKOC!K2x$nWy>8=PJYE)T$=Cqe(n*ChZE zklF{Ms}h0Jd|@o;Gz(~b;9d&c#0O^j{1?tF5dtMj9dG`|j0qZi^aF1r{<7KC5hZ`E zNX2nxJYEr@>u86|tPjTDet;fLn1R+IOm6&3b*}TOyNpIaid@W9c9!jIfiJOgK-aw=xb5Kpb)`E9x%CU82 zEQg_v`e+tWYClJHl=_EsSW?LZO3)o#ox(#2UW9|V7I8fYnz5fRtph`u)dywWL9}UV z*hdU9-BBK5G&}j~O6&dSdWDIpFX;&Or5wNbm^Y+A-x6(K$$Of6JTVl9n0gFY&=T5p zZX?pCxA&w{J)eDSfb?Zh*LT#AdiPlB;A%p|-`Aw6RP2mYTh zLmL~zM^VS0V@*4LkOEG~nQR)HyRB+;*KWli%QqKt&%16HWyMXRhtwdCgyoTm*5#itgp(Wap66 zyr-dgKgjl&t?JLMuw}!Boz)TOa2|37p^FAcPmxX0apWmfp$B1WF_@-dsK+?1F6~yY zEwi!-))Q_CbOP%?p%bx|=d^nLBig-_$e!nh19^Ps`s{SNq{nnW)V-qnz3y+Ipd7HS zsb}z%!+}y8izoy>Nyyj4m_br&8TGFcze#gP4?v*NEdl zzGBLM4qpvdu;5vCFi9^zXU;sW`>pPi|NFD# ze=$xI@7q9B4WPsw4CAO~UJ(S)s@u41E>#9D>!?=*N5m$%^0E` z<0RjkAj02TN9RLX3Js+GArg=Nu>E5z zPa!vMuMV06#7$1dLbwv+VGT(5V_&A~Uy3T^+|y~Q2>lA|=hZZ)ex%G`rhkN54C5gq z>w?qN=A+LgB0-@s{OJs7Da|z%dK)uDH4?m5Y=K(N5KWL)uqDxwBt>QmOk(h~1u6_s z>9x>G_+@bJhBQ;(Rr?20>Tjn}^Y`|rQvI3Ua5$aGq{HFf4BhwAFVk2oHNbk)hmAri zjQ_!g*-c^AKM>A@je&H)i1PsJ5929F<8bLXvONK4;-n6d;Zm7Q=G|k6Fp*AY!b1a`eoS*c zF413z6`x;!NZV1k5)sv;-Dqjt?t&|JLNGSA2yWhU-RYC^oiWI1+idw;6*>m1&Io`^iPgF6c$sN zw9j3KFYs@%*HNz1Jr?F^RiLV%@DyQ^Dnc1h&59pWKhD#AMQV~3k7}>c@gdw=dyRf5 zHGNU7bA_hHWUnI-9SXtjM~LT>U5!uS#{ zKSOhB>l^nUa&S8kEFoAUIDG}(Lr#|uJCGb%29Xr>1S4yk0d)9hoJ7#4xNbi?5Dt?N zBp45evje1L)A;&Smy9J8MJe@1#HwBFoYPv$=k%GOaq!kd58)tzBI~EkGG3Rqy>GOTce-p>jH0rb~c(K z1|9q=$3)Vdgcwyvy&>S3p(f~O;~?XK{)Kch&2!gs=%kNH#-Ee-i}S+a@DNWR(Xnv< zv7kIUUD(c?RS|JmPeXBC6cbxUl6qRxl;fFAiK%!>EzFa zJ$-mz?G%WqC+P-l!DLX&nfxzGAnLaFsOg^Vq~gaW2QQ<(qixj#J=;Y{m`?kHkfO)i zdxQ*`2Jr3iXdj4QE%|AlQ;|Wx~pKrr7xuNnTe=t-AO)iha6xDYpH}>yZ z+FD^H2VS0x4us;Wo_95^kElZ$>j2HW@wyeLi3i%Q28NXxQT7V1{iHY}Llc~!Dkv8* zM><6X$}-pv0N#?+N%W`5%}K0Is%8kCOC~LuR6+;gtHYPi9=dqUoin~Q^MhE;TSIe$6dEI=Xs(`oTlj_C-3c4KT+wJvpu4Kkn_RZVg5jE+RF`XNx?0xmaV~bW?v}wVTXn4{5 zO&2X+*pF%!%qu@3SLRk-npU5?`f_cV9;|pa#ktlD9VuvRx;TK+fWUv_$vC8-@TcO4 zN_-D6?7|-4!VWMEgQ}TUe(c3w4{eyxe8C5t7pS0MFe;X@U&B?sVDIGR;u>?mPyb2F zV5WLiQ2mX&1v=E#B`oe9yk4Y2^CFRk8*rV6k1!uW{m47&7E!m%(ANz&+ixrB^ng(;#RLHnX%tfsjJWM- zyBo5Of=eNl8*;gm`ozE0weGdP7~Iz5$$pI`$C5 z`U46T|8cnpt;J+VO?%~H_`Ph??bcn%Jzu`2`z~tc^PoA?r znJlfFuxIeRC?a>J?C!EC2Bn;dnhn3XeZ}sbjb-10*a7A?aS00$P{m0wm zO_v_`nJOwO*k6S$tHR@xmt`N`;fR%l>^^ZvbfRm}PUBtryK5pTwRdIZgj<#_irORP zr7I?yj7m&+KkD(;PKtLXmF-s9=>`j_AFjI$YN7_w1g7hD(md1~ysZj9;u_Y4i3Ssz zgRH~g_UH9AHR4A!67Z@2zch=Odh*4WzWc2=ekK0-ueW&=xy{z7Gz9CSbv}Pk+4ST# z#ZxnW&!Z1tS0A}`@LT_*wh{sv=f-Dy+2cPoUi{nzYTGjx)eit9s#G5^D0+(|iNBlJ zV$vUX35MrZ8K19VAN|i75_}Z#DO`R~MZQy~2$6gqOvN0Js%d70SzJm|ER&Jy5k>-I z!fh9^fC*zr22w0EG6&Uqo`eqC7_L8gi(#?!A>;y86ak0F7|oHQIhmW!15hHkZ(*|o zF+vd5r!A(imA-b0}qc4-&FS58}j>!?PW$SEg*;W8H~a^e%b?2`O8 z*`i%!x17FmIo=X;^83K2Y3Hja(b_rMns6%ts^>=(bA-9V<9O1I>564?R3a}v1yYtH z*l6T7AY0T66-95WtZgaP8(}|MBGlfNdh@=~Y1m!IA7($BPUtE`qT@h@;M3Hd z;_dtQw^?1x7-WaPK4XDxuqd5+qVz|PQlALGw|x}&MFa4RtVSK`(e|RtFN=u%s&M?) z7+HD3$diG_iYZuX{0ijc(*2C7cTX)p*3LRRtn3r@wq>%<@A9jY)yX*dv zSq7pIH0)jCA$)wa^7RfPVlWXzzoH}vzHmu4?W&f|zEC#fi<;dYS!Z*G+=!O(wLx7} zkfS~!6{@R-(Uw86L(mJl7`6&&tfKDx<)c+WIlqL)3pSX=7*`N5ysyr`8ap$bd^E3w89)ZgPiCBi|f{Ji^U)|AMCk%95n_gVk3|_XmE_Z6(keo8NCgI|@0sfZs3_s1} z$KK|ZCF;AE#cQiOrv*z^HWTBHM`H8Hwdx20FDq8lu^{(Q!@5s%Urrmi_ZX=7)j%7* z2x#|wO+pMI^e#2DpLkU+erWUorFxiNlu1s>XIg^5wIEm|joek2Rd2IsPtNkBRLQTFsnoh4v_<(`f@uV0I_G*I9RD+?L~j{1bx`#0ta zEeZiTNBzhh^|GEN+1vl7{w)Wm!`yhLKAuC&Ve`GhjRo0c|E^`tZXfkQW;&_kBLS|M z7!XYb?!E&&=u`h5Ld{_dyivFMQHW{aI!yVS7oS=ttZ_4U4sb{P=wmO6wCrO3g8Cir zRxN0ht{}^=kNOy`2fdgiLzr_8?$^fWMSdbcHb<)&+4+$`i%$>mB*aF7fv0tiFWhcK zRThLy0Mtx?A6Q34Vn$tJOcHkv?-ldg8_%9Jr8YX#=C;}%u*pWq^?L5VVi61EUkC^@ zTi3LAgna%bC9aB?Qos0?XlUZtnp9cISx)1AbGeO~JGb1<*DpHId@iRrT4e7+!$h07 zWDZ4FAXQ;*hdB%9)8U`#Aq1XW1`G)sm$Ol@ZCv2#2r5~I^BXuYJm%NgOkCQOAufat z)Mo2&C`TDc7EDz1sE;V{`=Bx<#5gYrDb+@@FE3>Yx=pZB79-7UjD-g%Z#qc&td6cl zI`S1u2Q2b!m^1LOg{LEV_eV*@cFW|i{!+a94itA#8 z2;?I%3?C8LQn5B+Ac|?$1Ejde^`AH_B}3`>#H=np*@XDR^y^=fZDd~Fz;wS>e@!M7JaPvv zPU?=U|2$6iw_+;&j{0oiARgl1!2p}_PMTg!Yxs?H%{HmJgU62_ghA}_;}{7x*brZc z@>!rSz|M}1YPdKizI;?B3~2O%LY`8A1SF;-m z+Oxu{+PYOU-V9O}bVd$T!;AU2M<2*KtciMEC29!H9V-u9ZUJ$M-4#Nb$5QVy@LP8HyfiyK->WR(e1g77J;isq@ zxu$>@C(@*mf}RY@L8hJXBrWMOEKDqt3i8iwFSwpR$W>G_j=iMN>(!1>S7GdmXt%UH zpfdn%XxP3S<>d1=1{yBn9c@?(YZkyNN1 zQx^M4-32#mo8SKR;r8t_CV3=RwbSNzS!Jbd%GS0L=qT*0!ERw05x~DzSsUKHYQ||Y zuwKD!+2nux!l3~g>0-F=;qnW{w$F|jqXuhZz#N`4WtzLDj_MYvu(*X@fb3G;s!oPE z?QMW|e7J7#=?C#3QWQRp-~(1;_=?J(Y^}oNmHRoN$^y4Pv2Z8cL)EmwWVNJh@>2ER z)el6y-IQ`!2h2{kx3}jwTf$_!N75)(mi|n=?Ylj_>QzqjfMiO67Wc4{rOcF4JS+{j z&z%duf1`r(U@ZlI{F=sZFnCGJv}cN<(cA|5AP8m+HUK z@vG9%#_zOu)ChxFSxmKsBSSO9XX%g4SU79e4=G!|Cgo(;VeA8dsRxIZ$Eqhj(brh0 z>Jh)P2`<<#u_i^?L>%2jxXAxZX%?<7l073C+~1p!t{Dj_9ZxL$sz|_G{C#{Hv@t=B zP}EsMr62u$;U#=d%MRJHCiNv=5OI3(_o-A=G_9B~AsrRui@pzUDE@tHg#6PmWEuT^ ziPt|@8=kjTNmkqdOlyJS!m{E9I87hqn;%9rT0<0-L99QeURoyK-&OxH^mcao3^t~WeS^K zH`XC|VCLo6*duA78O!ugN@5Elxkhd!CmdSX&*f=utfmDFD9PkBHMk3&aFB&)R8NL4 zD&i)OQLO z(Z_o2Zs~o#^$zu`{XU~$I{T&vAH3;ofJ*ZpJ&JR~s{J0}8cw}`t#a3NvWA?#tMY67 zLG}{Q{#6^CipQ$*V2|W$g2v->Y9+4=(K+K`;I4$BFUb9!Nrk0B*fL+v z_lcdO1uEs@|8I@xoKCB{68@q=)}90JCVF33Lb?M@bC5mog<2~vPXXzk7B$|75Lya& zL)t=%E&Pk`S-PznN<)4iAI;NU!@f0_V&wOND{4!~b@1&pAN$Goqzvq>;o=lr=43Xx{tUtEaN3B>CWZ)Uac%%Y9--wFCA~Ek7aAC_APm}b zpXAnlNOIF+;t%pPlAxIkvv1neXa8*XxNLX6ZDDR(+U5bi-=^>US$+3TyUFaf{gSPI z&A@*!TUbRQ-p-3$KUDc=Hp9j|c+t%)Z{KNid2DyGia&p6lgtpOkDeM{Qy=)H&22V` zFBRKM=Etf98a&;o2pD`R2ctkyWxz`aTDZXBjY52aOspy*2=?xDIZi>&&))8y?Pe*( zt;DkFm|`@cFI!Kx=wFn7fh&cqy-f1RZb2KRCK7JNBsApYHWk=M5J&|wBQOdb+2_^g z*;b(s3o^wX$sWZHhUhNh^+UU2+hPaWw)eN~kHy66akHOp4#cDm_4zDetK1Mqx+sR1`nMz9wwQP*hL>=&Kei3+FtV>|yg%{T(6f`N5BR!MdXj8xHG^3) zqCJiEswQF>ZLP}3Hs3ciKciD63}0Z^MFL6+`V473sGm^=U1^Mx3`Y|Mrl>H0pEcT6 zg^H5MH*WeRUNMs9VN5fcZQ=>}GHBs};LS}+P-y~P#IlYJ0P8ym@R(0L;jYe*1D4ll zwDy~vES0HtyCCI2411OeiC>SA#1wX;8DRXzVihdy^T9BjrZUmN_=b)~n*!R4%Wps~ zkbFH!%W;I*pJZ#8%)c_#RUtKlOksrV!Y3i%vh>?b076sjL-)-NtH_t7E8;OBZOPa@ zAofQ3jdT&<%k!kzaG)7qW3j4HcvQe1&&jd+f8}J3!f+>UDx7H_B8^6hA&r*!PDQ-B za5jys`+BVIUd>7lmgi)Y&fyh!`yosPQAwyIh?7D-h2#b7);pTpdfDrCm->#&W_JPe zRvi?=>OgitOs_62y`!|JbhXf5STOdjJDPjj*#EK7D|Q>bl1&L=hPkN@2)(QE#vP@l zt9uJeTG&n{WG78N)aYu19%#`y%8i44oVsSwNLRxgR6hF`tsw;8VRy)COB4`B4i4SsLAa4`Y(WRazi3X`Vv!fMiDilJX?r1a{9%U3-*f6J-iKJh{i^La~ z$yJ?ASG(MP>=IKImh$g9bD7xJqR}YghlfIHszUwEmoF2yQ`Xet0HgZCGNmYge2TvH z+d^IF=q3{GD`-m8K+R-7AdPA64e{l|c4AofbmD)4hUvwM1bw^%@mXLok{H%R#q;qz z+gU3h@JZH-G^8$-2?T_&a!E51(fhSa5Q$w^j>=mA9b7)O1^G1VKyM1v8fOAgDLfFwlSN7aDkBbh=1Vofi; z{_|sQ`!zOY>fWC264~Y0Y;ZbE!j3Cqv4wlfV?E8SiTe3tr;ceTaXo*JV!Oufp0KT} z!>xB&7aARQo9It=F0Wa;$5j)X(=fKBtv5LhYKFC6eJA)BwZ>zny85O7zI6@a-&ln8 zLF2LorHz$i{9dO!8mb#Jp?&t4L$8*9&!)KTkLxQVHBP8FA!bZwX zC$1xtlqa{pU|8*e#v_V+#E4OT zjwi(7(vGZ$V!mG>tD`=FtRvSqWZ9$*B?GPmVd1ek!0@{$s=gg&_gx>I&W_E$e<7Y+ z5K(_sDS$qH^8rKPSita&*B->#;u88_rMf;Axsguitwh`|=XF8(EVlU^L*PKbu#TN~ zwj8|9X*SENE}$egSAG|3#!^5By}_`$$?RM3+{=QMMid7b`V01GIvvI+&E63R2wQNp zn}sc$*2c&2oUL%!tO4~7wk4n)tpFT)D3<_3R0r=|=}&0KCf!VqIpm|jC(z<~qb-#Q zZxk@2wJZtt%hiN1;J9w_Hzt9B+S-HzVkb8@NIl-+0XLm`=_dDWyDqXB zn&w}0*`hmpYVLH;R9>jKpbgr%Tssmku7 zB4?i;DJ=yE$6)n>a-tiWd=_(RksK=Y6Abz5;b5mLI|>)(FA9o zGzACes-Q@1Vend}5C)iY7*G)}1M%Udge?eW(1HnSXri;yq(~2bXQq`x;Yrz#0k&ke zS%JGlk~lDWC_ny*-Pvc@4#dzy&@`+2PkV%% zOIv<3)+u>drFF184*~^AoZL$_J<;#J>d$8hF1HEz)8d7HT$%mI=(a%Fw_CitukY~T zzCPh-wvU#V(e-YoddEiUO$O~Gr_8a91@$Jc+rpZOpW6;!qTct6s-1GiRv51Kzn!ku z>d;8_q{~ie0yF5Z-59^#vLXATUx*cq!zD=G$XZeu&u5Te*HqWE4IIDJ=3 z;X=s*MnE=AeJ9|E8#P5YEW>Y3>i7+gy{D`72zWgEJ6_;p$$k1u>hqEMJ4WhXT+1`J z2UoHdw1-mEKE?MEYBN#+HGKNk5c-SiJgPNDBrxIO3hq2zQ?Q-Gzn`%I_?VYp&dv2M zvIvf0jiNBnpf1lm=3_A6ApuPS)>4!*8O26GMgpxwaM6T-up7}x$fShgk;qe5v^RIo z>TaB#z4r{2{wUbivuj#sL%^MIIAif88=Zo8VO`(VhtJ#lK)G7`AVbhecjuza-rrB| zo4s>x>$20;IoY}UyhY=kM#Bz+WZSjeUwYHVtw){{#_rt79ybJJr`6`3xa`^N&f)n! zT=yimh90T==dW``)l)vNIle^QUoEWPPd=w1q+I0(zj?aa4;5EaZaQsy5FJ4LeF}5{ z$zg##sP#GwKG2!Ph}IYe2=jqBViZeEZy;=DiXR5O3_2O25Y~Q9y=cg)D}9l1=&&Xw&3l?g{8))$`(k@{a1p3a{ens7utuI^2=vshxrlD-kY-br`D+hAM=))3(PZ zpyB3*357l{^D%K-(OTUkjEoJ4X>x<^UfmPAA7hlXG?QgK21ybCZk1lxS0Sifv<291 zEjcA#Q%-#E!a(4PJtQIWk)#atL{s*GU*JZt07Zc#S!1%fwV7fXkwZu$LI=?Jii9b& z9N7&))d3Vh8fPHy4GD@Ijl7yD&?%NGuJ_OccYXkIaDN7{Ux?ntALbeUyb?sbz03s# zLfJD@r)GcJGkZS!PFErpG3low5RJ#jCL63{qLHqyaMc*AVNejQp_b+{ucvHN$a_^~ zK+n|6Qz^l#n5WiWi;#UEURyWC?C}74{5m0i9bm^jS=(82np)-?!p5j&Hj8-6#y5q$ z-cZx{GVhaJT^!E3OK(B$?9)Oq;h*nmgonr@l}$~5ny#*74^BUz-dtT@>WZ;S_3r_} zQNaQi9BKB}jHzND-dA1Yeacj3_qnU%q4vw$L-Baogt=3ig3Ri*h;4T_HQn8u6~D8% zu3dIGR>z7KUO$}07IDA zm>ULZ#zLtQpB=zl`Xly=k@2w#_&57?*Xi!kJ;wQT>Y(diU_s7c9> zJt9NLo6(QTdY?<&%(7s~gGuhxX6Ia@TxNd)1c%NSn z1vg!?!9F%t+BbteRT}T^ikFtgySn40Y{9CQ#s-^l6%*Z|a#r=PT|QRt>uzZ1KDuU2 z_UG&)_39e07-r|Hmy8d@CawADtYBN~ud`dnC6l4WwkC7cwB?%@#G0C73m(O(B@{A= zKYo4MwAZI+m;dFW_8z_0tM6&w{t;apJRSqCB|8-3|G^xy4{cteem4EFg?KyO^H>jM zvPiWhJ7a++c1XQBBKT_Aev;X1adZCx?O6i7i}=MPVM!{DFhM1no>Vgi=FJObSSzE4 z!cz06q4?jt9&?tl`>Ym||8Lbn@fQ|L_G8v#F`IpVs|l!&x&>B}_z$1B(XGyIsHAWY znA8qOJ=@^)4xPoaU-h^g^}_jK@kTQ7$?aFf|5I6D)sIC2%qiC(coF8shYu$ie*)ue ze%G2{U`NRIn<&=&^cNmI;H`MZjd~?#3I1s@KF{obqiu%g9@l{o^DS=Z{*u!j)-EktzHk%L~ zUeueNeuutfbuxAHnCfe9zB#!P8?xVF){CM-QK}``94{Bxq4Q=lI*@*(t$ z0*llTSuC3*FY_i0Esz=DU(#!`f?@wi{if=Z>r@~3asMrB8H6RvvkTcW)vbP8ZeWX4 zzxps+&i<@^TXl<*)K}C$u*vFs=c>O<uva_OepgZ3^mp(p%~u)K{5Z{k!@f>W^5N zctHJ;`gb-C%!>u<(kED#4A{XPx$+SHa}?%+(O6P8P)JhxL-2PKS-#1p!TbB=d;5nL zMMOs=yP`{Yvn%^wn}ki9e$C!VtI_NeVz`$Lz%L_RchA@F7J^6AM{gFM+M7MOSKOPu ztXH`F#C^w(VO);r;56Hd1-i|6n#b*T>ceqoYd9adu&Oc+x`?PF5k{oi7$_HEV@K2z zymA4)N+`DI{|3bN<-4D@&N)YxIVoqR5q@8N=Kc5COtz?XZfomYb%y==nU^drYn>b!5Ctr?PZ$sZJGC4(Lx<*GmYK3@9};69v2?xCz*86!x1fq z9-^Oe{|eU+0lSwM-%%oRlZiDYBcsgabpN8BFSM>vThx{{TLd#395z2-=dkJ; zUPumj_0A`QOXa%S$dG#HKaV)PHrXJUqTZlMEURp*D&K#c?PX)`>TojQ>yzh(U5ggE z+}3v2ww-mQmrPrgHX82`E)7LZ#9*S)OrYMVHZ2*%Ix2 z-f6n^R()lg_{@W9puD-%bs!$vZY>)VYBn{#u=iUtgZ1U*4oibOw!C4kr;~&cIo+d? zul5rmlh}%uY=)i|^mJ>IyR&mweFZIu_7x~{W-C@zr5Q1cK^!y+OU~frPEZqXZ04#L0$|tY}D-NPT^J>z!>2 zLk;VdDSg7vTYSmLjc%I1lCVSm>+G7BEY6w@(XH|*G{ zSt~)o`-!M-5J4aV2N@%gOd!0FRFIBn|vW}Drt z-eWVGJOi3H9hf$!nudR8+Nmhg011-@!@NC3DA2QVhVsnWtq@_vVUsn7Lgo{)!})lf zHnxUxXX|Z}q6~&9Cutz=WXN1iJCP;&D8)pBPR#N=xfBTp2pd7-lFF5XXBc!;f}%nR z1Ca6zjC^CAo!5Zpsbiu(lgpE2dZaZQmR3Pl1Nu#$p&}HOO1KhD0hr0cDxiUoC%PDR zz2y;b(?1FUenyXAUfrc`fgeIi%?Q>s#3O>1`S`d7)!ab-ztxcdp zi(oNgfzqrSy+Qa-h~$kCFl>tV#u zT0yo>Sj8|%X=Z5eLYl_j3H$wFA3GlQ`NIC8!J3ZtWgQ*Tf>iySj%6K(I%;b=*zAUs z@a=8sq4nu=XBezD!_2jBtet7FSqQn zIF@m`p^X#2_+Y@)f(;Nc7NdxOl%T-$NRFKpzZ*Diiyv-9$byI~Y_VA7@fF$z4H|Dx5g*3@-my-zW{NS^+s=4LU=S;5ULvFYRU7E$thNp8*A(h3CX5s zqQ~5@=c+ot#VX*Ndavjg1ef4*RI#r4+51F`-Xy>#L9~eMYl6w8mrb%>5bZT?ljVD6 ztEdNv0*uOqR@o*xU>7I~%q&O{-x-#ny*Sp3}O21M?Rd(O98C84<|F{P!iYQi+&Y*nsLu5^Ihu$V)k)=GECZL$l#xZCMb z%xz~?w@;eYGR~3+M_}0ce(?P zl902^TxqD4$DQx-Ouql3YC)>Mv?0+^0b7X9MdejK@03cTh{%+U%}ktHqQF-^C6`xw zO``FD0}P~L0z_&PDjancf@m?ZGR0TUYN{lM-RfudpltLzU;yJ{R+GzQ*P|q&zCuzY zP@pguLKr`*Q*oFilK?v&y$CF+j-b`jSz!_lC6mW>m+2px;ND~mcq=BCmMTz-PuXY< zOa5z2j)rQ{(LTN*&~0=Yh5whf_W+NhI=_eaPTAgjUu|FYx>|LuiX}^yT;wh{;oiU% z_p&Z@Y`}m`FN5C~v?rUXJU2@qOB4H#QH{+~N5*}@@#Jm2%V%+B2D zcW!yhdC$u$WMz8Y@Q7Sm;An!nZCaUSSuojY3}>m>9D|bq{)XtxPsx!lnpMKJ$>l0=VE#0Q${LhbVQ?(avB~M5H(A<6VIs~Hmen|XCr57cj;wDg~y7PjIZR* zau8CZLCaPfRJMsKeNi~1P;*LSAkgMF^Q=afBekooDqXYIppZJ`(kv}2%`0n&8lEg` z4=C(+1ET{^|A%kM#z zXK7m|9Wcfc3=~;>1jcJfX#rU|Ppz!j;7pMyJxd%-z##=(QTY&BIZl!@lVSAb*KE2t zsC)F&?X{LH;g7;@GHGHi9oIy36f@s3g3 zRt#I$TBG}b-9;4UrV$&5Ij9vP)Y;Np6VLT3k-c!=P<<;z&y-p^C+_T2?PjhnuA3&) zZg_w4iMx50MTey|GHd-~Qvv|JOonzEpncEx-PZbcYu(#|MF)Yep>~>mY?NK)j*MDlofYp2?IA zdWFjqQYB^@4u{F4kONMK_E=?Xxs$LThk3UpU19S{Nzmr?e_{2qb`9sV2yanqH0d@5 zKGJp8aZ;((RpJ-E(g5Ey-P)#3bab(6W+bgQb9J5E$fs<9fcfNuxIvFo=h1Dgwcy+w zPuTU(HesXi2ZPm;XEiGog3BROSUdQwi5UwQ_J3+1m1G-UYluB@01JOMr|AGf`7CDG z0ig`8Ee4)kL6qbPGy~CNdwL7bt`jNhr{b~f<0Mqx@25+$lS$DH(Vxp|&m0t?&qQTw z7?k*9V*W>p{DU=}4O&dJVTtJY(^>`^lPL~F6O|IFf&j!DWck6E9}tqnNz(gl(B;1+U04#Mx7H@PM!jr;8}`p8X5AFzRgZ z`H&lBbVagpDgs^cAL}3%1zD$XOne$PNmH;OFF;TKQt?TS2u1Xly;A5E%X>i&LS8)c z94WDnS|omqYiN=XeK3B}x+|c@HmfZ(WQ<~YG9AvJ!q|jbd#I*5WUrl&T>ys=H|eYa z=2P;fwY|sZguD`qxdX)M>uI;{{E0Cl55B`!K{}wLHeN|4VH*YnBfJf$tm5E77<2U`gq>@HG1qNC7Hcyb!M;d687pf$B(PUZ=T|xM7)L(EmRVw z;~E{-q~ZvOOr2pdE3KGuy*wmJ%9P@R0*A2yuAhIFS3E2{e{lXEPa&La>y?-W>-8zjMwKGjQ$BzcAdCp)p^-It?U!LP5Hxpchm^Keq$?$57$5a!Z+()BJRD{ z6WgCQN}23z-^iC&TytVqsnMs6p-*RQ(ixw2F8vzfP=&GB|8F?{vwhrLatNCSGk0hY z#-0-r+MT6XGIxqGf<)4vq(!0^mfU%UhXXyCkz}3fmG;0s&`8l>X!W^JfDuz9HUo@{ zuuFqpp>Uv)!psk76{RqQDF$&!v^n_ECT`}V@{zZoqC)oA7_w~`M~N|5Q|_k zJ;Up>vyh*=Kjn%>HQJW}(v6${w!9Z%lq8ZlF>@K=Ek<&|IT4DB~B~Y_O;v9%9bdID;FI$4}a;O}@l!+Yy zZ67)fU;`NEa8WOT7DH7N_&*q17&?q>qwQXMcFgOOnF<0N*-^sEWbzzvC)kr_vv+i5 zgPm2{O*$B>IAd@{>+WUK><(pc@%$Y%QkK)@5Tn}4^Ln|tOsDsh=f>O`Mru?jc?N+S zjv9?oZ;e0J6*s%IG6n*@)S#6c137i!nnDgDIU_YINmjH(${tUCloc<{sdVK)q-C~s z^SX%F!SQCb+A?8SAq-ab;ILesL&}?2F1w-0Zdb;3_7dq1y_J`mAZv20%2Kk(?Wvhm z?BgJojYahs`X@A7)HA9Qm5P}EkW30FIDr{C1ON{u z1g5dIMr=}b5GjQLE~kiOEsekhAqGW;iWew{c8QDP()f-j!!>b}0<_?aiq6~yI>*3B zi`CdXW~Cg76+JS8SL=N!|F26HjVUaAW#N(;&=GruQ@h?1{-Ra%60++(*a{-;SN={& z3m*yJzP9zU)P6F#y&<2IYIRcSWv>_H=QF%ksji&bymFkwB+s?s!OWBD?KvFpwAYaF z6HB9tl5(fq9jdFlXQI1E?Q^gHxncuVOg#lH7*|HYd$Tnnm)HD6gV_v+Ekb4 zp_-m+TC}!*?8^M?Y`$XK{JN&qk1Sq6xYYg&+mlym)o2Awb#46$jTWSN#;OI(jOptu zaCbaIeUAorw`cR3Q9bDuE~l}?)pf9WSllS}RTN5{AmKP8TP%l##64O+ z<9w~)>KD$L^#-v&PKLdn&JjL-V;0%hPd@a%E}(nDen@49b&%5#O-QsX6;-7Ym_{)3 zVl37&u%3X?ma&!7b)K&CFgV2vcWds-QvlU}1h5qyxV^(mlpUfHjzhVqKa?A?iY8<~>_=ad! zk8dO`rvOwQj>Y9oP2*Ot9wKK_hBC~WVtf!r`yU%(p%oD8e+cg4QUi%h2a{}O5}EG* zZ-HLS&Y#FkWd<|*0G}o#4taLmE^k0-iGxUlg8Xl6I@jpH*%~?tx@JuRJn#pu1 z@%_I=rNM%Y&`YFTCG|8jY9=GAaO%H4EqhwG9gJlaZKg1oi{db>rau>VdE^b)^5%>b8}?cL9itw!Y(Bor%WpI?%Pj4J{j!bwjl?n=A z?##%PqWmuA8zS)5vCxk(#bC(9jFU0xQk5C=7R7TRzMFn&JpLe}gI6mL{C!MbWW0*I zJeV8RWO=t%FK{h(m362pOLR55=AN7W`u2&T{v&qlpQUo)8&gl^+xyG^_=H+E&E8{g zDtj>Tm&AiGOuNYD{?mSBc+fDm!jX{TQ=#IZQaQll|>^G`1^D^SV zM+ZBRqk?)b(96%pKAv6kG#;Gx_9RUJOrL=Ch#REmXQRXa?RfD@|1DZPOH<>K-+Z~L-ZeSdCe_=8y zv$DFgjbD+f$Xn5p?QtF#T$_pgT|@$@QGPJGo8D>TeAt8fg6onA*w0M>p@iDdM_^a=-IIAa==ijmLcDs$P+!j}iuEj;;q_SK-hF(6t&u*(3 zU!LE)pqCz!$h##W9aWv*rYjeIUm+JxEFjgC8ezyBN-_G-vS}?09R$E(jR6BMU5U^@ z(V0P0B}3^eADjeW+@$S6T2jX+!gXXQh=c{DMBthD%*Muwk`k2(;0!J{>|O2$aekt_pC0cNlWBQj*NqU$H3%h)ui z?qoV$6o>@NL$D;;M02ATJ{}%ng;dfcXd{fw1p6fDH854f8 zL_5c+rAD;odO-?4m`z)jE@0QsIP#m%s{3yxi%G|qJ9mC592Bk*4$?J5vvrf&4==v> zL*Z%RPT^^~#-wiB-EW#fR>F=Qt#Nm25b;_CbGzR|l<+O7jV3LT3y%tNHaS?@`}o41 zF$uNZFw7Y~77Aa>jb2bAph2cqyb2hF{`0@kc^4I@JroH*5@Ck{3%HA7J ze{=QfTZrXPG(~C3e0zG=<=@}#yeD$(it9e|@}t3Eyl(l}7SBEY4FhdhBIcb^!*gCl znFlPvfq4vU4akQLkM!yPH0F@Xp4CK5WGsrIY#-Z~%66Yny0cS6LL^vZ{#CoPf547v zDOQeSMJf?e5Ldtea!LXg_#yu@^rU^*gZ%^VuaIC)(1`K^c$#TLNtk$0pons6AR0!$ zLUWQKxeJ{spst%xMbvmTKy*u_|1@&<2(Jsb3$Ne98JRk3nUx!DJ=x2tx%A513Tb^+ z6{A$>`g952ZR_y#^#BMQ;Q?NEWr8Kwqc!wGt6zh&EFKrvp{{ zN~{S=Y!iu^0Jos91XK~^De&WAO?3BQ!NF<=uyq~mg=ar(~#oOa0#k@s$PSzc6DGpZY zT%MiJKfg1}p{soS^vIIw;22}*cuMOjV++=yo`T|dD%z@Ov!(S!t0^oRsA=_x^+YR- zRun2H5=~%|fM4gQs|vMD>7n5f8#?tsN@5RaH1W^l8V#@Kb6(2f^@31PSCF5~CtaD} zHvqx#ExV!o0Lk}Jze|zj2?JMi!xC>^ZcUbx|8oD`UrHT5QaV&bC3|pDTvIB|$&v2% z6%>eP4*a&})c8hn-$b+WaF^U1-Y9%4?aZpl@s?;DwsrU3yUt6`1&HKhr(r4L3qt&ZY~Ue$d;q9YOJv}hM+5p1Omb%T%HEakh-=S^t}!cIW|NCt zvYY;N*Q~sC1sQXeEuA^!svEU*$tdANv&&^(v#x9Tve5*SsoPZk-nva@m)o@7>0Un? z!Atj^ZD6Nk^lh>fKMh(sMon0&1|FKqIv6qslh=z6Ed%72Dy!IIOJsI&k(zNe{r5j` zk_^X6`ZxFWKTWP6!%seNfB&|pQNmWNqVSmX-rpQQ`2bN0Cje~8WfmX!`rCUhuDV6| z?tzm(+(*>4Rl?Uf)zvuzW2UIDP+k<|WI}{Ib%x>RC*r31(n%p}+BT+-9GkW+IrRJX zl4DHYwrN6EI=PMW4E<6fuero2mvA4UMJq5i)7)epXyn;=e>z3@9f-LGcf5hMl*Uci zj^i)l8w{96&a4mrQ~GllC9!c~%TH#{M$B;EW?N3ttH6-F_R*bkE z%xs+9eK>1JJlEyUi3|T4SYbBZx6y2}B_?h-TH3hruKPE(H$8SVQM-|~4Xr_@In|BW zVgnhInnHim#YFuiJF;qqG`&6hB@?p%o1y+ku}Y5rxPFzA>{ANaiBNe-q$cmhZ(g6f}5CD+Sf>5JC1{YNhE(3F0!pqbX3(RwM@_N|c zFzw=ol!l+B7sM0Mdy|AsMx{HQl(76 z$#hO*p?1?0eXP0O(<)bIWm(nM?>D&fvK;|!P?al}G1;T~4{9s&3~cWA(L?15m&fK{ z)~>Hj3O^K`+eU6-gO#NfAS4*o;1-7UNR|0&(@~!?n_WwQKqAZxwyrJL|JM&?c06U%ORPS!-dO@oAf`H*?OVR=v)~F4S5z zN+5)YCd&}E8gy1RrguKlTO10oX1m^K%4>6G=~)DM_>yi%EXJsGuk#kUP6`2@0mFH& z*Y7NFja4Y}-Gp?I88a-Qs4d@6Y3k4^;uG$8HkVZ>6{d2Ts(+j_*H>Op!RM>kkox{2 z;Rsw5Iu&f8xr|1}tTY4tlHM>@EiDGFo?bbl;~Fu({1Z6Pa>+DgRgwURk+FuLorv&p zv=R76sC6XM%S1>W=qad%1G_wM3Sh6nDM0zsc0|E!6pSFE;zY!kd0?&wr8l1tn`~l0 zKjN<7P2T10Tav&7>10G6STwUFdt$Ckoo6!J;)Qlku~Vxs*jOESa`jr1$`w?}mAukM zx|OzkuRpal^rsm`;TczAm!Ag(3+p`9y^Z2s;Xjy+&E`xnc2|LnIxpPt&XsPg6uUf-7ft7w~JT& zfw+4o-?d@ch@?j;51V6l_vA4*Mm!^38vC%}t2Q0LXa*LS0U5%JS+ZNQ2IGMa4z4Ku z1XMXlM4({XWT3mXmejMX4KfvQpFUQG=p6zh1P(#hx0TaeK{z8y&FKjo3kEhe;iDcE zfcF9NrmRd+z#75I#zyOzI${$C4z8egkGJ98@%p80)mt99&dA=tEGF*_>L9oaR=CWYsR-P*G_o6S+z$z#(P~a{(6#ymX0~h z+zw|!lNvkPaUB%ja-FB?(Fv**Bgd~HFZW*OO%_;My4Q{$zEnTq*A43HRN?uNFg=hl z(mS>Jp)!boM~Ci|rMz6Z8QFl};xW z+VC;%K?kAOOY{Zm7ozQ4hK7!RFs`B9d6c9mQ-&9ZPv@IOdauhoi;5;SiiX_ zWHK;M)?aq=IP-A2oqKccL$m)pH~*+mz|;ySZZ3~)-BsluH|nc;xl+!#{ao9QcRBNG&Y@@wdtJbh8!GYyZ)Aw zzW!rQ{z;Ot{z+k{O^#r%wLyJLxwd z^XJOJx5eNf7|~5`*>4^z8HR_EXsbFq6_{Qh=&*U_cl%k zwM=iU2Q-PXbe70@^dA>Q@*j7JJAQ6|4-hly6bGu#Guf4I3#=NJmMq+jRMnDLMGTM8 z6FZqoQTr`j5OI0-s_>JgLyrB~1ISJSSW>S5iIM8Fd`kT8G)kmiG74kB5_qw%knBSo z@oyzBOWuPdb_$`9K7a)3Pq%~9W`D>*IUiM@0O!f@)4ww;cr6QD5gESP1B%!6;MicH!*-Y@P77+wB?U{(vm~ z0JN-bp*I7tds}$B|2Yv_ml9GUw621L=mG8zKA?tYOyL8Y$OA*gF20al| zE!BG;U}OpgXwsPQkfX7WgsEmUAWlI(Q%5G%c5JA@ zvU7cnaQC>*j%_XCf?T?a7#|JPH|92fQQw$ue`M)hN67HnNs*fMopiZ@%w_PtA1jc&hb32b{w#B}vxOro)&kk4QYrL#`LlzCOWDbu%nMm`flvZfG|KV$j$ z-FNRE&whE;GvWRhXt!eH;b*Q&eRI=I-{8}UJ`2g|xFh(1d6<`@`9woMA|kP%%i+S5 zK1F0WhSZW`Qt4EZc`V(MZsAXaeCedS(Vb5ELclEaS@QrmjTB5H)0hpPEE5EQNlSt? z21ITlh|EwEWF@giEs@COAQx(+_op}^iJXqHgKDa5asPlpLpVlbgj@6s?#6S zYL9`li=n^zx)AA&B=wJxE3xcTD*N=wh_LiAeKO-y5#$mc`A=Xw@xj(!AZfrCg?F2! z%%%|*5?(3e55O%Be>hdJWqz|Y>@NYc35+My#uxNsQ%rG0cZ281FRKs`l-S?BR7$Qh z-dVrO@Xl=E(CcZ!zjWz~bC~pbD^8Y^*o%J<{*O3DPI*%37d~UUCSH7g{XNT97LQ$? zYDwS3-Mc~fzXjb-ryofsKuafo;|MWb{O%5q#oGdD3s3+{Gu!C$mzxRqo(e`nj_uaPooI_7+V3f_n$&KXNEvegYzVOAmOI2;f z%Txl_vJgS~zx%NlOt`B5A1jvKoKv>6a#W5%cB9YQE}Ng#F-&RRe*ZmNFS`A= zffzY&T}2~NcH;d+T}$M2l)?WJg&c4iEkTi+0V>Z^9RNlas=*@uckms`6J|+}MwkVl zE*N-dTsD!&Rw6C9;`uACcs{*j*L;_2erJQvcU_02%bc~Ubv}FK!A+YVd~oxo2X_nq zIxLJ(Kec`BV~&r=1*4{GtdwIw_4r|;;(YY{D^5OnWS2C@x2K~s>682AHEryBn;yjZ z4?M8>3E?~8cUvB~Zsk;R?@dJv+4DFYRsX`H578avc%LRj22up7SnVaEaV$dP+@Mb2 zq4CIrhOkSI?M#gOW_%ee~$=YyOXUUtta- z@3Q5iMlTbdyK_ZVk=cxE)U2`ldFI@H5%zHXu&HYiR*LHY$S&l*@|^Pwk?pbS!QI|E{fuLT9l>Vn41g5I@&W>ri?f&GFo z2Mvui(Ha1iNH}VO&gaA?EjuED!@2g}wMSvNZckt@^ zbBcT{_aqY7%7ddWm!=M@i%rJXYvdmtmEHZ<%5=2wE#Ya?`{vOxdvUPHUc~Hq)u^&+ zVxd}piz@JUQn_L0+rqRxfv#aS1_Qa)SFTn?$r9m8tB0)&yDHj4Q)OzVO1NO^@T(S# zL(0QB&KiTUe&dAnr^5A~AR?Oh+sP8L@Ls*u%05spT>iM4%=WoC#%#@Vlnc)Y*M>(1 z%>k=bX=I0!#ZUiZtZ{s3P3^i(18oF$Y@`P&pb7q@ zvO&%Rinll&IO>Nvk;2BP83HY%nxOt@^RQ6}1388?OVhV+Wsgs0?25ERVP|+&EE0^` z9;D*zmtfJOHEx^cUSPX*CM%hFt8IaM+BUL@o;Mw^gE?}ONuG9OHsL}9goCExOl6k9 zcBF9hZPPbzo-Rz=Cbo417-4=XMb6q`w5^}k)dn8)rye-Nvy7(}Gh*3HgK@Lu%)3+n z3oI%!*v)_P(IJ#lCcqSZfges}9(VST_vZX!8Iyu_9WRljFOkeF&%DGjD#;zAuOeiL z)kL;tDxm*yaTD@D7Ic(j;`>P;SyBFLyqBneU^?`pM<(c}IK9OD2nZ!U*T9lL1{g;P zQHC5spChCsLWwhCBD+2mm(S2;iqgWTOcCcZWEYknl3hS(8+Jq-!Js3u!vGXFx%%`X z1GZyXL7}pT{gaax|rmpxnPf6C{R0 zTib|2S=j5#k%yaW)!9?dat0A=*X;8^v`SQ&KeDAp3DgrAcLuh@xA;PZBR zg`=d<4p03_tdo51mGomi;T*5W zBR30JjLniAk}JV|c8{b_@+!PN3ED$3pu<0a5gVJRMq0Nr)(md5j3YKqt%Cs={mM&V zt(QUujwTQ>MqnxgM4FbD0^omUM`j%X;ov|kMM@GAVteUvCTv*~XK!V8i8e-rGO=_w zoddypK}UkYEyU(oO|oKfA7hGR%Au_RIi%5mMX8P!NNn^DF#hO?MyUXe5YZ^CBuAyz zAaoLmQ4tEOMf%#4pPP{;jWHM)?Ifp@kt=LAg`7AKI~*z{W3ezw)pVPUQEMy~jk*Wh zTB*WpR!FsEi}0SsqLk?wqmj|el+#Tnl^ko>maAr>%xuC2=oZxEl4o@~9aI9XR%h1D z(rWcqJyENP-l}^|YjhfkRH_Dq0Csag*5}@Ne*Zr;M)&xhr-|1PuRQ|g&-ss8aV zHQ)cOM)PgI#`o!W$Vm6yr&5JrWzH40eATw{n%~Tk@(&l_f~OwphL< zCqVa}HZY$G%oj?XR`mrDRG?uJ%%7|Dde!ITbG2SC$p5Y}8a2z$XEq>ISjNkZ>1)ov zgE4B@ZHNjMe(1B_iMB^&AdI3IXEcx*Chj7 zB70ZAgoM~V!p$$OCVPKo`w;0RGhZ4!{v}p2VcgvrJjUJQ`tKgHL2`y{a5*?8l{pSS zVw`E_9ZV7@{DRZbcUGeBT!b+Rqb4RXao8LXXKXTqpXO606l_ghxNxwE%@d7RW#3 z3UEXjf7lI6*9ic+0Pae`^tPR>QL2SMsL3oEYnGOP$E&ou>S`~7xQVo(=)(GU4qQK3 zr?C@W$tk9f*D9E@M03cl(WrbDVpAIxG#Fl;5L{*BOWVj61YAL>qYM>lvf-j@87tpW z>ZJvtU!o^7M2?;aC>6H~*pz?_@A_f43oiSGu}SQ@oNif|jUiqc=UP!8 z=>_F32*pk3PFPZ*vcpA%CN-p;Wxmn4U-oTG7E0BO+K-oF$b+b15-I&yI4^>TevPA| z*`O%f1ySQ{Y5ZqvdO^$W`%*F%#Lt9hQ~Pdj5nk<{#WM`}1&EZna`}}EkJxL5;b(RK zf@)(^i_(k8hi0cS63J zs|Oki5QJx-ntFo~>>H%pY^E}xqM$b5MkoYvA@~kW?9WyLsNftU=J84%FU=uI1-qz& z1e^PwZW2CepU0^YenL2@YGH@)Zu1jQ{eo)vbm78VWF|Q$<=}w5W#K|%AkIaL_Q^~f zi|eTOp-#ROKBVnH#1e_)P3HY8s08{;dZ}0gP%Po!hLQr;BV~334uMWAl-Bd--#Lr4 zPP?Qdr)gAseNmTiQDw`*c6`PC1Bk z|3&YFAt(-S5J%N3gxme>D{!fPNgp+SjP6|uarzfLH$e)iK6*+D$1m-L*m8QjAGFH^ z!4#H29_}tYGe9>0-gpLnEkFNVf|O((Fhz0>mN{pkLJV{|+nAL!+nm@Nc5q(1;$0 zM^XlI4futW(0Z&+Dmx`;z%>=+F$`--08{c%b07caoO2rfcx&P4E_cI%*(-V`x`@j; zY3;gE`&aF}^~k{oo~)8NnyMR&zN(UV^8aqFW1e}|cCqmFEzbNRLwxxa?}InfKOla<+Aw3N@!C?SkfJo8^8o_ zI-fw6;_#rs8M>Q+4?{*lf6ip$gGD1_2)F*3nIb$OJoLNYv87o1MtGo;=rMVHc^Mg* zzJq)5cfvzNlfHv34fMZg$+Pso7znVXSU~|SIp>ji?}fH(>3^H-I{4m&4?q0ywD-t7 z&`*A`g)pImWS4M#Zu;G9Tl!s%h6&iR8RREo0+8h2rQ~oF4^Cf%UjrF-Vx~<}RSZ*I zE(2MIVn4)+wu!iV_&KCBJ7WozHtAvFJ})oAL?hICnfWHzmC33lUvkOkcX2xQWGg~> z@BaL}sp{L$pV2vjL?679*l!~z{`9L2m(0`GtD8C#ot^Q#F%1oEW0p0nz3W%&ub4Tl zv7>Bsdu8sZhQ_w8CH3p>X8H^MuC2*;raREK{(9zN$DD5BT3H_a=?1Nud0!pn*^pUZupA z00^Tj5tSm3ES7<&%$QX!=9c9_0)sU3X6E^ShyF8t!uA7Cb=}?d)XA@&a=V}EW*W(c zOu_RclPZ>-{Zx1NQ$Vf%1X5Uw9d3Fmy}|)ud-_SSfJENUoGgFpK<0AjCt1h|evE%Z z;>VXe18_1@Fu#N{v}Dy$lYcahh+FBgOa3nO3B5w!-!FNJjDG1I;T;eXh*@fdciwr4 zjDCtq-A8v`@^_NF?=`aGOWz0iLhnbEgMcy@d_;QkKk$7ipcWA}i23ZFsLEMr>E*^m zNiljMCxS`D0CtQRk`;cwZFtH2PC&AwZk-Esg4y{wTFw0ENVACmqI*lPKgx2}QEvCVye^Z; z7cdw4Cy!~hT58(tTvkqTwpOE+DP#Ggikowbz?sCpE1Y-gkZ|y`3z*$+64-JWdFkBM z*Ij#OYe`h^Gw4gVEuZc6IEwvFsdR;*#pxI9Sj47n+C_64wj)Xcy{3t;pT-^ zp1g)@-ZnI(|2o#{s+>8q(rfAp^75*M!p%o28Vqk=(~!6B6Rq}RU(=z=?xM1(WkubU zhnjpJYqg*F8xK`aD#}}&S2U^mP@|C3P(crm1S=Pk9!@{A(q$bR3U-;imDb8&gx;j0 z;T429XfFCd_&s7}e*eKm7kxl#5W7Zh_&9LS%OJK_PssaKWeGE7bk2mF(NjBbZ8CnPRDNY_y0vqvSTwEU)@I|E zO68Zv=36_MNF$?~kh8xcr^0{F%jpBc+=KqI8uz?&m(F%qRQMx)?AV_(LB-(KX^Hq` zc*ZkN%k29pbUyV*rbJ(s3^CW0uoy3ptf1(|FpOf9QHdS+wI<@yAcjwBu(VmQ6c=8m z6b?EH45R20DOnSoM;S*<`PnH@ znU-mbX3h<@cXoy%caE$qshO~gkdgW$q6rpc|}mM zfW4fn2@zHg?ak<`h$MyQiiQ`Lv=lS5hhmgJXsl0?YsZi4E)8$=c$QBnnXh9F&2c*$ zo}1qk)E{n2YI&bMPp&&}lpO)v=eQDNTY=41B&;b>thIE#&z#?7w)+at2l>OB;qvN; zop}qqD&bJPd~C*5L)|+2Gh=x(#-YO)hiLs$8|GplsgTtp7@+wT*fLZpU7J+vUEW}w38eItqmZNf`rIh|C45G*4gvtuv2ThuDXc4 z_`F(~o4xr#n>-TrA-kYAe{7|2#8J7Z{f-(gd;Ga>&c1)lWrqs;pUj`koHIS(pOU_D z^8LS$#%g*dRg)QD^LVnOJea-VNlv(W8>d}4abi{VBvc^g{(<%>=A~8;kSobx+W^dd z&`(FbE}}m!n<$swWH;yBxQ58)FmSG&`4)_se1oQtH6u;oagR#y4*UV% z$RlzEQQ?Bxx~KCmCdnIwnIbM2*apCK_K0`0o;qZC^gB zrnD~peLitnc+7HIOQfYaR@=5i$KjSiQ`sTL}ZLR4Z5zHCAtN>{bMsjN!6PEI-ku9@ESMg(;v}J0-^JMuS7w0b5 znX@cD7-?=8W)2tRaCYfAMyrX35sT!5f6!STjzv9;6_lBvK768%HD@<*NHttQXnIdk z?y7^F`IN{L?uU%rCUVHqK1zo@akLs-EoXkZnBZUz#7i_Tpn#3a5+TYeLYd_#dc{U1 z(h#`k#S*5uBs;gUF*loal*U~7`L0;$=f#;4=AN=BEs2&1-}$2Zg%57C1^v#VI#-t> zJzRMAY0~-3eWdazv*eQV6Mxve+y^*iS4kA#R|fn- zu&3e;qG3vLMn`=l-=NG{P!dW@q#yXDaL&2329-vr{@Uo%C`>lC=j2i0{4mP|q$wR{ zgn!v%CnO%Y0uBjp+Bjf5$TTk4KkHU)cFe@~QB_pz^SCGfJ*?JQKf0@!=#AcW;GQ7N zoi;maX8SBB zw0v&=GnX)%`~NoZ44HYcOdJ!a{DCi*(Pc}iWH`|I(H=k{g-Q{v<}ma?m=r%QWf!J} z8H0%E83q-u1cZqn?7c^L{#>B=FH!3BvbI-O&wt|5F=H-$V*bp7Etk-A)B;d}v8Z?J zB4WCFFCq`qCkDZL$3!R|>lU7)++0^}S32aEDj4OA`8fRuuF~3gDH32)EFsOzy=Bgl zbuV3)$8@b(Z6hmq6?u zdXVtQzxf91Fn&M9rzk%aFfXVsQ6;NGq(q#$=}<**)WJ{ZWib+A-;a)nqTVnf6_5cn z4t)>}4PzEXog;w~#$Z1ki{Lk<(qh}xw}&MofCb9!BjRB5?P=tIsR5L1!lWmvIA=!w|rhUdd}Y5$nj z@Zd2XuQLzdk4WtBzY3^hY>D1*R4J-QL@7{T4h1Gs&|F;1!b2qrcn-4Ri{yl`y@Yd0 z*^pzgBXmX3x!4)Jdgi9aQKc`rW~P=gL~>^9sMO=stc>u zp1E|DPH z1|+>G%%}<4&@;lb7~m`>2842kdFnKRX;3oaB^xJ=tNn^$zN#HJY2(KGHZfn-jm65O zv2|Y|sE=$MDk`P#+f=niuhp-qLb%_?NizMK%8mDJtX!j)P1?vF8!9)6SVmEIG{8bp z2aE9}WF=dHrxwk=qJ>vZKCOv%Yh zo)At7f2FjnBAx2PwiC{psVaa#f^a&N&m&A4FlmWM^^S9%ZFIKlfmIcYLA zle~cwab?#R3c6H?C69~O?j5+5(Ku}I{&=DcPF1X14!C@Ld06RKKXaA|hyZ9WLm+u1 zYU9HRsSL0LRFN&gn`8*8j+(;EIWTVc&J}Lr|J??}oqO%vFY7Pd{Y6}OUwA+M#qNvh zzMOllm$Y2A^8D}4UwIj6VU8R*BHYKNenP=LIsAo_?BrvlN&QmChJE`sbiAY%o;Ws{ zJ^8}+nDF|rXml9KiJ>Kc>Yu7U7@IPDQ1zHiY1R;GVYn5!>kiY=A@hYZ6D5!jXKm9F zjgDUbX@8jR^5dZ3&mH;m`~C4Uo)bA9>NwaLyc_};espuXotf1sT)&St6D)?TGRdDT zPCw<2Figb7ochV#|KTi>N(;hPVQX42l#brCNgD1 zvWp5s5{;f&-4$_d+2V?%|A$k^r5fdYhRjiF3}qc7I;+Crs?HH`C`>$a*KxQcE=)hS z=pzx^E@g3}=pCRZL~ZT#1ON~Xut5lx&eUcc*{uON08|U3d`6q&Pp<)B?F42E1NRRy zJM%GAHH^}96C?Sr?6UqhDb*1YaDnW1aE>TLszQtvMYxNSj>v)_3QAO@Im7ql1+=foE6>vkVT=e zML-E2DW}+g0qxjgNR(UI1)Cq(jDO_2P2H0>Z=T$}>HXxWlfN2Uojavei`8=j+%dd!-BCV*E({dFq=jrOQYQES*I7_41O!tkCj<#5M2QaG8ryvdqK7=gu9TZr8csspKTHAy4i_ol!q6 z<&!|m64QwpObHr;Z$XeC@yn?D)x@T*VtiL!l|DIvw7dzSd8F_dSYno+%Z(I9k_YJj zv|M0aC;$HDo7~;~Dq$pkFC_j<8=icM@OSfRWQ@v%95YffhmKT`I%QJSENWZSf?);l z!poo|oEX;_!8Rr%>f(a^n0^QrUm-z17`_DZ-=T;mxdE-G&1&Sa35xRsy&xnq5mJN0 zK!wb!qvfZ98jkQ>%^p&%D|XmjyV>G3!aoc_lNykvoS^23*1T~x2U{uIUmA95?=I9L z*Jlw~^}!~T5!peeSTkrd+Vf# zRppW?oSGxi$X>^L&`5?#8hsNQ=(QGe0tSE&-C`W$&(dQ$TdnBh+>We?VZv27Gv#S`x zZY2OyBt_P2SMC;6st1M5LWQvTL6yp|2gJf0<7BwUm3uT-o3rxrvdkMw@MpJCqwJhC zsZ*&j?k0Nqf?0WWb$PpuYUTD_yS6LUDAXx#+PCi}1wHVwKmF-3dLTu?Q9A&nV6oSo z@k-UhPdpYrmPL~F=$s-#*jh4}6K)VM{Y!r-HzX`A;+Gyg=WM=6{lGoW=DZ`R5fm3e zUJ!qT%nyqa{2SQ%$wGES$NUcb69&&849DX!S%_!9&{1|m^t$s{#zpXjSU!ThAZ`em zpMkBPEKH+)mURqx;F(k6X~?W8PDi4?A>1LBv62%KdYqIl(To)^r+k4rkHRibtuKrp z+A+}kFuI9BP}DF9=o3}v!~q124L~~#QGm2Yp#;K80}BN8x{HW(2&G>btrLYno+H9@ z35Jh4PFn1&B4`XL_{g>k=KW^r+_+su5K}zr`hwB#F1xI|d$y4oOH{&}z~X<*=X;n5 zfz3sWma*%`tr432PLpt_&gu7BDvm9EuOiIYq6=p1X{ncj7rFYuMO!}UiUBs)BTs*) z1o`Z5JrSoV`*u2pM+f-Tl<-D7;B|slWs{gddl4xwg@uU$RM2QL(h>#HgZf$A;YVLG zl0$wIQT7Opo4-^W&Ft;P9i#4#aYx_(jN}G|+H66>&7adGyzLmnne=3yCCIN}dz^55 z%q53NnLa4o_=l&E4%Pk62f{t%3gK|tBrIdDXQSypVUnQ#)ZYSK&Dbq7n*`JDF?m)27D?iLX(kMOA%T@ zfiG0Ffqf_p6^<=Uz=~9Qb}N=Wa;dfq39?xAiLF(tr0^|+?3lV+4bD}=FZvDP!*|ZV zleuo#==FO+)Lay)iB4#-+S-?Fy@|QJIIp+>9J{11)nNVZ*TGkL-3_oO9~YaG97`l8 z*{J|YePRu82%1q-h4#rUt33k4Y)Nlow(4E0rq3O23t7Bbe$|x$vS#+eW=Ftc^%IBu z#`5&R9&0=M)JgGTyx2DFr|X7BOXMQjAPG%>5=Me~z-OXC8J2#zo#gSvuEokmLq13>Ks;moLJ;z3yyYjIm? zg0+BGvYJ>*qa~#P6T$wBIE>PGX-G8vh!q|}3>8NeL~*NpU@c$^L@~tDK^DVraY>x& z?bc$O#cGkc2@KvrDU$WVlNFHR@nrPQ)cb{S2>N5OmC_7h^vhB+a6Q4DaVe_5(lU!# zw4+1&r_Wz*i%LbWS3HQz&{u#fCNW?^PSAZ(dZ*GecfnPx^t#xIhor9}Uia*q{^*2( zor4b~3k1>VM86!(%Z+PMc6V6DU}B5XdIGL@P}a@}*xZcN_4A&%c+8lK56{0owQc&0 z+cr&|vU&5AsnfR3n7%D_{rtmp-xKq$XXeNZGSNw8Bf?kHe2W-ikXB#O|-cKR7uZ5(TT(GVQ1;IKD*BA^?N;j z@0}ix!ATR1xOEQ{YHbdiSq;J%Z=uHSbC@*_zsJ8-uF;r^io9-jp=FLI67~A6TB9W( zn-kh*Q+vJO4pAtKQNPEeH5!aIo6)4#n%(}Fki*jDi6SSb_5z#QlcAS z@#%&1i23tyME{#Ci!?+UvreNCDv`Mgsb5hG8a^*#cNk6fiCMnPiX-Hp+aBztPl4Oh zyHn6D*0IHn$3DB=tiNbPC^UlpZ*J0?V|6jJJs@Q`rA}qn+Rc8tYS7vYi29IOYhBsd zuG*5FF<(~HWYziASy7zd5#-z)PSo2q#2&G$?fT0GFSTxP_hrrNTFu!t*=E!SBi0Cg z2=SRH$2YzncHm7u96A(;d=Z&(Qi-??nsK-hIGvf`4q1jA~oib#XKO7tb8)6w1$r@c;e$bb_`&F~Ni2jzvZn2Fw$ zz~B)d_)khjggJGS~kwcJ`S$EEhn$FG)b)C?Be?Rg4{?f);@1;dk*(~!#;TB_6ue~koujG{(Beh zUbt{KVXkcLp4__g$fK)QtXTahxoGr)j=G9-8WhCenK&*7rYIphp6F!0FZDa$cKI}A zbC$PH6CR9|P9~in$MVcdqgHQm<%JWmV76W(Ra?!jyjZd}yEEKSQq&abG|$;JC;bSc zi%r_Ko|C*fHU5MMZZ-d!_K;<@%9@Wx|6OFrky`ijgBLxNotf;yC;P z19KdM9L-wjp>Ck8BG5)h!T0r&0%+sf$hTN2Lv zkjxKXirD2~To#O4g3+K1RK6xdDPT%wEeGp9$`BglwrgN{jB|EL-iaRh)`YmW(^uJ7uLBa*m(&$7XGI-Ke zN;nA09{>_C7UNiom=;}hVi~*+tXPQjh2p-!$Alh2G7T7~LDWZk#B@Y`_||eS0j5c8 z+}MXS8)x<*jNC9-9f5cm&Im-bpfa@rDJ#}aeD&mfrlGy%ww*gk?W`wa$f&eubjT!agn2CWzTsF$9FQLv-MyCyzdwe%0(XgSv}M>Fy@F$&>plh^`XnrC<3lF=|wT zxwE#mprEjD7ST?yA%cmit*xpe>+d> ze4^cc(iT%F0-o}GzhxHDd0~0Nw%;391a(%WY$gC>p7cuGwE}l#_6uJTU3%q&Du-Sv z1BNQ6(xHc+GOV2wta51Ju2zM;w9pK?-$vo<7hb5Tx!}@jjIK(9#}tXZhOa3(4AZCt zeR8mWs=yNvM86y>IS;5hz*qP;0}qHi0D~PqBaSeil!iUQlCV3>8lbEi7?siLw38X7Ay0^wp7>Q~U9X90Kmz9u zGh;-Yf!@kam`UQaU~ zKC^g{E;aY>7jX`w7r}f$FY=D2T_qmcXkvb7<8v^QFe+0lBwIdIEMQiJi?iI}QvaG9 zFIlAGEc-(x;`Yw!xJj5VRhrI|!-jRvUkNW&`eTdRs$1-4wL%XTJcV-aZoPtMmT%{l z$~8)|v|`{C&B}j2h3Jt^>K>w12|Y-kXd!bQUbiuM2zE$ z5%+bOo?z+mdio*1I#~xKh1Nl9@bD{9rvijuq<*AxPY@W|#D%3Lf z|LDW95-oJ%uc7PzKjz*$Fsdr;AD?r})J$)wlbIwl6Vlsc5+KPWKp=z?2qjWO?+|(s zVdyBJ6hQ>RtcW5iifb1!x@%WfU2)a5#9eiDS6yFsbs@=IzMtn#5`yBo@BZFDewoaj z+wVE&p7WfiejXa4W`Z0o=tf#%Y#8W@tEJz+IKR>U~HRPH7}){FA_g z2@RTRpp84qzJ|6Tbl~m%2s1O8`iyqZ5(?E!d*MNCf_fBIp0pN>Y$)^p^{g6c-qdT) z2G|`q!rdp`_EOQ1xd-;oeZW1skI7UsOBvE8XfB>qbJ|9n@GEyp#)N$*zuR$;iHTMl zMb6o*mJJixJe)xE3Q6_4>)`+&0VYGZT=+r_+-_y*&qQ=9TDu^?KY|vD9{9zI3DK(5 zME=Du$arMS#9PPZ2`ya}-Oqi0SJ|R6){pAu>P}GuxC!H>S(E&)JRvc zK(%pLIt!%_Ggh;J!P3mN(C&zQ%b!{2zgdp>O3i+p(=nue_40cDaryCg10&jdx17tO z(^oG`_H-m)1cDqwb`64b;Smyx)_@t0hzGhdMCC4<9`|!TD8jm$rK?L{m%e7ES5xX| zjVv*(Fl`#N^Ymjk_TQ;du2gC}db*#$3;ZWOD(u{Xf?=5$H@|z8nKTK#24ycWnW{7M zAKQD&^LZK7DvgHE{3S1zo_>f1NH&P+M;%Csfl8EPu7x`aIkw>Sb*g?XAd3zsX^HUS z;UC1y6~<^aDLl9k{x&4~;8i-HtfOnX;mQ^KYx5>mteILiZ%SkHXs&4RwL5E-R@LO( zM6u}hNxwS1`A=KMZudb^r4d&kLjbo*jB_XUZm7xw()$Npp75WZModdD;0bDHwr`R1 z_{sVCpn^HUU7WwBZ2nzSn$~Q2(Y)xssf8Q^yiQfaGpCL)?csqTYl$*OC+Z@HVq^XB zOye(GF$~=Qgsvvqt>JX}F)?~g{W!WMD}jH~8i`yrp|6CFShk_1l1@(nOjnF*SpCVK zPZ>c(Klp(l_zKcZz|T@YCZ0yA0EZ^D{lW`$b84Z^U^;j-tpQBvB00=t(w>;jRGNw zHbmPcyBkeUMyN*Dp&<=!4Z*9_kr2sB-A2w*DIcMAtDSr>qu8;Cw5OT*sv9K9fcGOK zSm!4y(a2K=dfsK5;!ihJii?WuI$xqIGc`8d;YdoW%gL@wbJ?B#*wjo{qOWdT^k9m- zk==Ptc1~SdlEaZs=lt{%`6zA(m=DT}5dFZ2(yka(5~#H%rX*T@>g=_aAidv5RVz4Y)D3sGFSTS2r^}yJIAKH`4lg%ntx|R z@g|#cj@ugfX#OhfWp`jJqBtUbHkZ4DSHKDHin0O4ELt|2GH9gHaP!L}3}X%RMu9^v zuS(%Jt&VKN;Q3N&Y~gBXg}t%bWVW+k1Gq)5L#s5@ZkEsLIw^XNABqBodZ8Z+V-=0W zNfK@`WLS{B9Hl>p2R#J6Cms(mA4-IIVD5qlOg);Cpn%vztqY4NIw=`LQ{iB&^7#Wa z7a&uV)>V||WdnY{zt5auLkdb=`8s!>hE*dQPt81kI ziO)fk1BII*_SGJx{lTuOLY^sHz={3|Pb?n%Yie4$M&R<(ilKI}PV{R%0}AWba;7QM zlhO+kSbd)<)y`7?fZ^f#8IR88g^8yYJUP*(>zlFUnxzNtoZYl6N1f{El@=@+k}>b# z?4Dj;?9= zS6nw@ob*rWHR+$@M%;ibXjl5MM&Dm&83`?45etEsp3Zfah6&wn{SbZWiSl#g2s8QF z!b4X)kx8BIv0a|9d#)&qO#jKn1JeLSU&g}PO{iQL9$?_n`%N@9{Doli;kV#$3Nk1^ z#U4_1qX>;tNcxH3ovQtK_!)Q;noSJxssaap?qI9Elad>s5bi2j#ytCs3 za>OCS+>#mBw~`ecHs)WC{zzU^cx+5Je#R3lToHj6;g(tCOO%@6wkpq&GX4R1 zbtJ>0R7-sa=3topyX?tUg83mJE@(3F#$*?KY=Y=`;PXg{F}hsA=r60uXOmHR?c0m~v#F!u!V#*&AI! zFCAz1AzPG%yv`L)O!?wt1!(?ra)UJ3BIHo!{9Yy?_5{>Guyf`FChX$Fc_I zzkl<0r)IOI1!D?xv z|1Xy@#d)U%ppGeWtaJ{l2B)wBCoHNdN?uM*O~xylSFjm1X(4SGMWdi;NKxSuf(5t$ z(yq)xWA3qIH}GW;dPcJn8YKu5f;{oiO;wizg-JCFwS~i3j<8^y&6ATjN8`%xe@W3ZTPIsDF&xo?<=iJvK1bU>vQqQpAR2|98e;? zywn>Lli7c4!^k9)D%NBa68o3AL)UnD;d+hQ!;L5&d5@<^J+vey>4Buo;w7UeC9Ww; z>UC`7uuab)c08w7zw+VUfg^7(8}2hqI@xh>QPckSg{{)#cJ`ZoB^^z5>Wnx}rQ)|t zm9Bv?Y4QiD9p9(jwKLujJIq}-HB>Ae=~c1k&Xe~rE;Db4B|o4OT`5J0Rv@-mt!atz zj@X>-1Cp1zVgT55j#C)|HMfmO@q}V#n`2Twx+XYdZTw(Y`5GfTH>Yk!#zc-pZW=AdnU&ctSGLmPRA#Yl%*st2 zE5@3|99PQ)1!p??$QLg?_qS8cq3YGk^9J=x+wtQaLmvIzOJ(X93s+Gg81?GDFTVN4 zi)CtqLG-vQfkdF``vU)J8+thXfiD0dYXo1A1iUiY;}P;M1b7IG9)w;9FLlWY2N_j$6R}D_C#tuFLyR zQg?8Y>?h+f4n;=rDT>*O1&SreUa?-W86MDk6bIlb(X6-=xcVo7u>QE>DaBdEvx-;o zHejCOiI7E?piCY_R(m?>8YV(eH+fkc1o9v@DE}J~P!EEwJy^lDDl0jm&=M6(WjI1} zhsug1OnxZaJWem}2`>S^DmBPMa~QOGSg}|L3CHQ+J#ajM_k+p-7#qsBCaS65;S<0J2iW7)(J59wVcB6%k{?6%EJ!OsS@Utz_$(y8; zY_=t%V?5*DFrIlzZ{ki!YtM2>w{6Pe9$-Sq>~eHS?^dvtrb=lv8>;ST64@AOhk#MC zHzd7!sHq55P!v@j9C-9X0WZ0+LTk2bC|f@z1F_*7DLz zruI=vvH$QnNO|>oNZOsqiluu5BhEgp6xpgOR(aQlPoGxv0hs4a`qNCWlU_c;dVlqi zTDma!WiF=mlT6^9KFbP?yQEJ)%wpTyIW&YF?FBzULCQyRsUJR;KJU0*`iv#~`OnpC z4l-gG(E_)Pgd|FRRmT4(%sYi_RPEM6;$3%-Z%5%{n>c_iJhrLhpPL>N-gq#SBPHg9 zDzo{9P0z5IZB?7kp52`GFuR8^%q3e+zbL)g1bTBFEEJU4yBB)6py1I-C^!=N&1nNd zCbKBK(G8K1;))gUZ+7rVPAR3Vw7t$6-x$fJPaG&+8+m@w#PTMtSUR>8IWwlE8>A1U z(8^i-@18xi?eGFN_%(Z7r8sxBlq5ZS&Db~Cl-F;l9Je^~taR<5acm>kyS*=)&e>K> zn6*kON8)>1LFFjt>#TO+!OahJ(gx)D`j_ncOO%}4G{JPx7gXF@3{UmqLN~)yN9>Bc zpC>`rSsX-oGVPMHLph6`su_njt$XR&Kiz!upPqdwyjDEi%D68N9r}`S(*JBYcVz9o z&$k{p(E9wnYv-(faNH~R-S=Ja_ctH>=)vYCYu{Y{=JESp5mvRUOUK`Q^Y~KX!uq*$ z+wUr^XJ)0&pP$0-5Nl^v=I{ zJj$bjzVt*|k!cGIjUTvd6KyVeA${ty&7gHGB<#Q1y14zTyV}$4`fA-A?XMQk9G1;8 zp5EWF&#>*jJebfrN6kWh2{r0A9OgK6uv*5?N2oX#x;mx`pR@Uo*GrC8yA6OX273VP`NcBT5$Qr0j?G(M{{P7piqRt*) zN=el73s(VL`SV{oUT6>g%o)xA9Yvu3PritOk*PmT7!2X&#aO|Vk=pG~2a{1WGXR_p zgE>l4UMm$H7b0r$wzikJ{oJv(mqs9+QS`6EILDZbuS@=&Z5%$wIA;~Ut2=)?DwiM7V8y|a2de7gte_wyolz2Y5-{hoV zNoufec(7NxJ*CD7ZahunGQ>M#l7ayb)Ka^pQ*2}^2^dYOPAi<uj~;F1rK7F4-`>hvE3z-Vn_W?n%^t`Kao>fq*aO)WY&#u0N+&ig zJ}Q*7oyn@G$P)Y0@>jpY5>F&PG#&KoJ^YRX^+K*%Ss=<$$y_-}L{UXErgc(E5-&jp znr?_BbPwuI#L%IiL?tQGQxhLhEFNIO&2PPbbo8M$OJ>hnvg%;{q2Ii5`}B85i|$0V z!QOX<^!@rRpKN0Z=T@CRx@XJQI$o|_piwYoJ1MS+k z4@{;Nph^J0Rz&vw*R{6pWnO9y>5qG@xbr22mF}0)L#gr~)}4H_qp>6$<~$925GmFS z&0^K?9>3KCfKji9ml=9*)MPGa_6R~d<|%laTO_^BzGM?4)z`l!wMngf1bd$Dc#b>y zn)D5~h>eq4r8agA3&T>^5wi5Qbc9S$4}>iqA?)E5ky+fW9UZ(72IOS8<1gH;@(K&j zloXa+bBDra6BOoL3kUoHL_@>&^ECv-8f4FE#sp1A{n>?AMziib z$qd)|3UYAtV1Drc0u&k(6_1!N+06DIJd)YHfVjlPDl1-ccwBwGrPxwmkM*Bj&`JO9 zczs)T=dI|h&|7Ak>vWhY=o3EevYFqaC&{Tq z)3qak!8J0(ysUS8nYK5}M38q_I^SDc7B9UZ{n3JhIN{&iL_m^m`s*5hGQUi*X#Er` z6bg?OrWdP`5fltDi&4H2EUat@&_IR9LpUa5W4Rg%4tUpe(;Ger9WZ1j`qB}QTf#b^ z3yJPJRD~)R&xINrsUgCROu=#5G1XI4iK;2pV}O@}KOO%07*Vf-`?EeR$EwxqVsv_~ zH78B)v;dStjN$1NIP~7JcXh{s)q6EbIU@q&-f?ixy=5Md=FW1>?>pa>4E#k(Gs<^oc+1PZ8N16fN=wp54FANlzWFAaH=&b{ zfQAnN$J&Hh3yED}MWOIH7)ogV@}!cEsZ;SyN(m5WYD~`QDI`rOS`C|IRmP8uznuy3 z6YU4j3nT_Wj2)#Thq^tT0U!@=r>Blx9f|3`@u^wA`q~sTeE7h|h2DfqiUHkf@F7ED zuYDvW)BRyvr)4E^ilw7Jav_Gs7aQ@|s+U+3X3)W3FWt2JrdKY!z4Sq+^g^o5V&0dV z1qHkqhFbheojd#ItY@|lQRzNyUi9L?d3B#|Oz?MU#uKs^g5D++Bss#_E~hJT&JrXc zz?^emMMC_0k@h`{lHJLW=t%Jn&Ha_?_9*|MfFDXLc--MM6MEpA;3i*GXw={t1haxc zP`O~@;Da)-23idkDiZUq^f)0+6fq@S=PW6PuYLV{sqOpMudQ0PYG8bpASTE6ZY)hl zG*aHwjnBOO%*LsCJTs=3HujEB7KN<%fvc8PNnxb6k3uS-^=bnQO7TWH*Hy)gvgG8l z85Q}%i&JB8E8I|<5bHDvy5v-s&E`r=ju8y8&IB#)g!{#$77yo#OK1lAl0AaH(6h4> z(VSQ$yN2aB^90#@%0m!-u!JJq(ht2_FagGX;(L(h1it7V^eiZib?`=sRIu_INiKC4V|*i)2yOAx9uOS);1I@Ox3+wfauYF3K4 zOuA;4)LOn_QC(VE-J%WUtrDkDYIq@X0)YDCI7@<^#YJY=;(>PkSyL*zZ_nWm%{ET# zC5_}x+2RxIQr_V`A6&?+38kflYBDbn563}g9u_;~*cxbq6e@C1CRBO&B}a9MFmZHg z>&!U}3RApc!IDO{B7B9g^xk`|r1yg^5$eF`>Vbc3h|%r%WXnmGaS946*%m{#AHL;7 z=?R!_dYl?{EfP$pnC0-+&-WUwd!@fx$VwEwO6D^=?VyBEslcEkgpa6}lN3z`4yHZX z0PJK?bdvJ0Fj_W+No&{9n%>9*>{puinPiN$s+-au%71qGl-(Z(C}l zy-X=>xb4;D(X;8Ib!?q{o3`-fx)3Rmbs0h!^KMx*b`G$h3KiVGf3^t&K3Le`N(YJq z`T??m-Xc>Hm9neQeEFW!XjHi*jq+ootM5tgo!)c20)egr?CPwRuUfLyNo8iMvLbTl z7wD>#prGjauD7x7YW3UykBu=V=6-d>2Mvl# zTMd@Tw#(HL(Xa4!u(TMqUOM{n)hmcjWIp^F%XAv5s*(Aoy|L%plHZjaTRM->L;jn( z(Yu2hvm0`_bA)sevFNaIg4T5+6&Jg&Yy|O_8v!qQUC|6pyf#nEG;`oi7ov(2?tsOx zW$u{H1LI1Mvb{(D%T}Up@bb~XA}v#AsS~tIo6y!hUe3Hpod>3stXub!RwUgIXogZk z%z6oQ`n9kwl4ZuhA>I2=`@QF9hzRu%%$g3QTQ>nzmM@SQ5=@t%DGc~QxEVaeP4Jqc zE{Alb9FSjsl+J($zLMM^QvCIE_uhN%b>{Eb2iB!!>8wMCW-XNs%-qH6SFXIC z3q3(Y{R#O1|M$bvH>XTjkfI*9XHkN54q(mprAzIAYmU6KiOt`%2|=Delpg<6>)oYM zq5=0I!8m-lQR)EeDAT#pyIcQs9D(S9f?ZOoh&EIM?{pHpqp#BEz&v%nL&nrW6Gbh|z9nE=Zz&d4Rf@@`|1|q{5LbefQW~ z(y@Na-`H2D*4*%?Z7cqGjog2Fym_fl%A@S)Jyb3{)5Cj6+>5ufz_Gs;=VK3ci$ultSBF&OH3*5JvSrRY&ov&|RRcDKAZ z(cw&Ty~QfLtM*D4J5(^?V^3o8Thg=GgEmxl+BF8F4JW{^@$+qnKJ#x0Zx>;LPPL%3 zDdoN=vwA^5&Z75q_c;@~T)1b`pb6d5zaIJc$>lpxad^4*pst56UgwNs`X^hT+WSqu4jr1Y{0Y7^+WF+oE2$aU?qR7TA!Y3_<4M?r;FMCY> z>^ypYr$&JXSqv) zJkOTO`5Ya&wv_O*k&sroHp^$Wtud4XmQ7u&@r=;Yy;MG736DQB|-Wj=&+b6p7iRe>0zW&L)D!&`j4@G&%F8+)rOvC}XxURy=?4n#mJfM>!i*&PxL}F-W zkK9IO;HJ||)yaiLUj5NCL14o|7!omTpTvmD-|p^AUS5hQg_f_|cA5JFKL-naH`m7n zI=RB=4=O-BzC3o)xxBqV0Xqb!Tu66N_d)rAQ6f+M;=QQ_1*y{N7hRv__Fq%6 zbo;TFUW#~VpBOGkZ9AD-z}0_ob4dyNou+y3yBady!b zsk!m-lN*MHO8omWr)7?;DG;?sk|%t|#pff(gj0?OGPsDT8jDC;_neTvuR;&>6WRxhYVu;z}Q4(tjcOss|yB*Dg8?( z$7qdB>%TlPefo(nCH$-!{@qcKb>@6!)v8ydFK_+LNon%-`Kw;x3K}$`)|2TElxOd4 znm1NGzMq5F+ilxb_8P59T@woAsifhZH^I;PSC4-=bhbE?ZX%tNzIxlhm1xPGGD9ey)#?$3zhFH_?bxWu38Tp`)Pc?nRWaOu>(v7H@ zlDf9o9vj%k|G|rRTJ#G<8O$^XX>W<(?povI(@G+4a&HDuP4}|f?kLjO$)v~`g&X*S zz!hZRIEaPq;YHFl4|uw~M=0fi$Bt7-bx&?hoe~UINb3*u)8{@Rbbc6V9X8E&&~9{n*uB*L8l|I+P0y*hf| zNK4U>ZwhW$9hk9v`s9A;<}&=58;4Mm8R~;!)xYHW6)Fhbu&aL56A>mLqh-iT)S*Hi zVh9wVw0xuvlQ9-lBDsDgKH@D7cZu={LF`@K&_guDLmGUhP(n_=q-cY(TUG*b23?^S5*O33rKQWp`|kc5{)N;`2O~X&znq+_Ev|3VnupxP#M8lT)F{tXa(Ls#n=<(4Vni86uEij zxr*|XIyD@2Vjt;y08EWu4f$gMAVxChP$i+o2Wl3vT ze{-rKhD#EJ@$K`FxbsVGu2WcMOEg|m@UuFOGA&o#{-?NP{RjMKe8)2bxiy?IQ7L@~ zEfdOxcE*?_JT62j^u$+(_uY>$)saQ&N+fmRWYqgDRx#?5Qhg_K4@cvaa~1tzS?^#< zW`Xyt7j(Wa8^}hmNx-38$$rhAWADKLBXMvj6bUJf)Gkm>Ad7i46SLo^49e>yI{B2* zb1>K990uf+PH-K6bk+q9Dnu<+IR{;@1H7{%dPl))ptQ$`M*zGUTr;9ez`u}u>kM>G zdt?g*8%I+e)b4ngzX&&rURUgJB1?hOLAO9)H9pXprr|v~f`#QgMR(BzNda6c;P(@r z03L%p=H<{f(h)kKOoh=j`b@ino(y9E)c&-jn&BEcOpjEmQv41l;wO9}o`;I#a@++C zlTUGFbVU%HM*z_j)J`r69t!#tAQWWU3>5J`RR9)gdB0CAhvqY&gwCAycq!YK3^4~= zgvuc}i__2?MdiRTvCB_ZqTYCjI#r4M&?vJKP&BlM1bzo!Ovr*hl!mHR9HfHCSApxH z_%)>}6=iY?K;_1Ud`+soz)RIq6(jc}KB$j;D-mGp)GFlBi{i77)ILjGfMX*QP^lu7 z&l(5Uruqbjqf|dOC42C;y!70*CHgVZ)g10+)+;q3rPx=LC^ij82I1Ce|5%%_=(-gn zxbM_f6&oKe&TDW)Mnrz=9GeeJT~4&Bm2rjyl}4ACISiqiVXrP|R(u;|{6mGadqmF3^XjRN+iBC;*8a(j{I;}cU z@07mRjC2VJi8lAJ)Hr=VmtN#c3XOwZh76tEVRBtO>l&%?SQ8V{lltr9QoY8)prCou z(8rpVof99&zo$0yyxyFi#bTw_FYdbQi@S>F%w;NV(uQP>AWGk<0n_p}Cn%M=l&#W1 zQ?F8^1u*a8faiGcX6C%>K4w4c0nm)O${1f#2u;08%PBRg8040<3Uf<^7?%ksjlYiN zigUAK)MicZBsK!MG5oz&H;Abliwno-ox*RPpL%?X(#a)jVzRVWpmSMAb2e^;|)N>Gz+l?B(pIZGYpz!&J^?7uV3IA#fDWGz5!-lJEpLB;|`NorHQjTszjmC z-ebKXp;DtqKHLSOI69@rx=>|QXD6fq?ta z-5z8G>m>ry0eLfV$5^$`?5;@f6{yy5`LRZHqQn?YqRFDyXcJv_HU9u$kEVOCO|l9r zGPd;AyA6iW43kmImagUdZ_S_Xj!Uu#)}(89BpZ5f$xs?i(<{xDYZnP<%WLNGe%~&u zMWwcF>dSGPjxSq&{P^-^k`Em*VFd=2jvv(TNui+u&2AetQZ#Ze^;sFGR$5FqCvh8{ z`du#s^Pjs_ZwGu6VGOC*xC{(QwLV`|1K0^SVH%s+ssr4bxwJx~&e7|W($FlC%?8uJ z6}p(fyy8F|$MyZ7qGWMd(e^1woB-f1t5c`f)%Qzz-EQBPpX%Uwdt%=(%Pp?*dDze) z=s&SGi-0^1XD9X9Sv)Tgqgz>RGUTK9NQ_N9Lq83GlELp9$zvM%ysz-gU@o*P>@ot8 zBvrYXgP*h~k1U+C^6S?vCHzG9{bO7&w3J&?jaj zO`h0T?TZV?l6?;3_||BI3Sl44qHHcOwkQ$U=jhB-M2LSD|0j}cLI< z(l?ECuyNw1O%tPQd(WNgxDj3x#L3bUEsH+V89N2YUfIe7UX1~7qNg`14158Zng(zOWHZZB`0%GAORjEQ%lLEDZf_T|T3sl8!I;#U` zLC?`F!N%B3r}6U1%@mY$MVS)1%M?`#QxHb|q%`cV#bNea923nMVrzz3v?}Ns3Lcz1d|VaGZ6{zYv(1C0 z+pqM%ZPX1Mi9n&bNM3gq;|L#;TA-r{g+kJ|O$amzg;)r_FfI5sH8n9)NDQ}1jp0aZ zYk2S8a4Y8yvu1fU+MIZv9M{m5?SZ7OAgFjHo=>Bx?N1NlS0B$s*YYK&MZ+^&$qq(y;2J`Akhi`c2ew>|nRVJ|Sf!+aP6 z1uA_3C6dCF3pjd}fa9HiZMXut9k>Xpb%|a}7jksHyp5k|E3{*c{y2Oi_|PAG zh`OFh4RBc&G$TqC@@WrJis+;irPD*bRt2ROlCzhji^!QyY1+f=I%C1(1tSq(+8Eti zlHSo+GH4`rLZ(DJcgdJa%=4rhKoU48cD#7g_!Jcr?WTl_Jqf3{>OxY?6EV_v%-xQT zUBX^UPkbEd+B+0ok7kMsTAXo&M~7hU^b)=q#~N`GGPzUHO7LiUnVon@I@HOJ-Z=_6 zDirXC>;@!6f{D&`N1+2C+EK9_`LL3i+Z(_!_!&XEfd~XsfPsT%7pdMLl?I|2w}EMg zTKqJ4TXlP~Q?0%AR;}8pcRBf(9XpU=*4aMi(;@xluMTYQmB9vauS}aUf6bctGp6Ou zPE1_?*wn17sgJFn!PktbDh-XS0y`;{vcC6PhqjmsMA(v`xE#REiM-7hCt#Y66{;ft@pA0iz} zSjM^~tb=&Orj}C=FhH${=v%+Jm=XiYNEry&a0^Th zBfXyf>(lt}6&c)%y(v8>eTO@|xAJyoIC4Z9vg7-^8t;(adGcQAk0)o`^A)eWqB?S) zQ*`rc;4Q@;&B8y9Oe4?x%k#91=@+#jfR9jyt@?H-ORah#q_>7ARkh39fB@D3W3KC1 zv&<;a&PF<|bGI<`^2w7}d9$oZp~+O} zUY+{il&BYt2mU@3DjYROmt#gF2W44BEOhDDq81nEf`JhYWw1aXHH381y+hdo+Nrn* zGQlg@BZi7}u929YwicQ7X-uy$NOoFff3r_rJJrtqMjMfes@&YFTw(Xb8~1JAcjLtB zCDUgMmLV2l_Vgvy?TV}I6+)DKArj)lxMkb-GKVQIL>(R~uayoQSSqiWaPQozjwvmWi`5;Z$A2@%HvTz`RJQFbywZnQ^%PNos)tAUBF@Ka(SRW84X)B!CJ#z22<*6 zFILV6JQ&l^M}Q6(c)JH(8`__uVljNax%qswO+r-n#_nxVZllNzLw7H&?od=O-96Om zbXsXk=-Lv)$T_oU?p$e+)PA|jkP`P`MC@VW<$aO9N$Vf_Zu92v9$KHI@}zrIS8hh> zCproGM>Y@@;Nkzjs$nMc*boqi&}q(}iu(OxwOTtA8vYwi|HV6pd_H97;{N}6O{&Vv z+WKw$`|0(`$?H%5eIwCdqWzc4PO((~o43=5~p6-pOh*OVS)S?o$2~{+?jdTqg(ywmH0_V zD%`WDkb2Y=@4*P`b`9v^k4Q=o4#_!czsI0fAd?iXC@_o9#e0#hy+pL-V29`mXdqPPkfAXtkqjNQ(vnVrWf-TBTXy%VpThV+J86Ln zRRp#Xoy1s_v=%@m47R+Ohj8Q$<>ge#i&R$ZM_w6-#oGB=d2fN=puxe)0#QAxvb3tt z?34ue^qu+z%BH$Vc+`C9wIREv=|ts@$wfJXgfPG%Cg$}+WMsYTKKgCVO_kpDSCH5n z*DH-ZoYw0H+U>qBy;99p<%HK14i#CrAf-58b<^}83QMISvAK0k%SW;FnwhQBcCpDD z?E`46QTr&Aji3|xKw?*rVpx`w@f!#AEj1H04z&!L1u};mB|_q9*O}dIf%q}x+2Err znV;|_NIW5zU}}w{6RO-*6RHmRLV;Rx#SL)}rWC7&h}cK_-4AbHnrwAW+coDF^$^2# zBO-Nu7op@XQJ@X$hVgiuNT$^GE*c)VO9#;?@nOf$#J9K zcAdcO&UtQNnXqe`S-EqLWJu4H<`178%;gmQ$ILyD!XBEoODLoI%RG#1>xFj%ydpNI*<~C9GFl(tM$4k0N>uX1e^R$82$DfY?lLM-#^|M8<&5`68_?lI zW}+zONRW(_aFD}MYD}OJQ}BB<$_SQq*+!ufh5XaUDxBptqSQY3z=64ovj&epFgGWg zTZWn7!2B`N{S$6Fe9V^`4k@*!YL~GJViIz;0siMG!tc|X;FCr^q9f8_xFK39z z5-I2WGH22Jku|J7vluFZ*S4ooyO$OX$ni<9gm>i!MAz~GJ}qp4=EO~Pa}SvReqe57 zdczL;XeamLz`=%~C#On#NLyEMNr9EkdUd?r>nI3mnhinTd_i3sNUt)y6hfHK+!rb` zXLcy8qjdwaxZ47?>pc0=yE*06Id8mCouwWT$QWb>#q8{RvOJh3vil}EG_c8|{0VqtyR!Zfb$ zil#aV30s_eQu;?G-UNINjDl>lDw0u-0?ouQGHIr^Rfa<9+R@KVF55$ zL9={*3VN0oWRD^8lK`fee&v8#z7vuJ@%hSBp1jjjG5tlyuC>Q18Vqs$7|RH0l1ZNm zcn$F|c17tRF2fKn^08NkuC~t5i_27NCz>~nt>0*?pJm%vf6W%dgjK3*wLwQ-N`Bm& z1EmF$*nf1suS|32`aPO5UtWmc96wD{?#r#>m#GBxbaj!3do&}3wU^WuVW_?y8pI2s zTz{EnS^NRM;*w%=E!$ICnC)O6Cb%YU*N&b)YlL(syKls-rDL@>OpHyH6sk;-CEeXEy{d`^M~UA#LiWpps$zpKvy!{UCw86PWiw7no zP1=|^!8E%nQV=DC`{xYobKtLT=B9rU^MRz0!mkt$p_Ww?B37WOaq4@$`j(`Z(L4|u z7aU$2XykeahldZ(`+yr@AFJ9n>AhtOq}`zrQ8GB^mQ*fv?g2RGft&C8cD51mja~(1 zv7Mp-OGapv@?00KVgP|-Q5U9UB8o&0sS$u?X_TP|8;v#u+1bLLF4)iOV(`qOG z_+Z!c5$&Z+J^^45xIOwhq5%T9hKM7@C1MbZ>b|+VoTKeK8Y0u@9{9WYz}&h`iDnS0 z1p9#HPkMre!2^Q@b)ZdE4>-K`c(s1Bwkij^n>C^KO7(@AnH4X9D%FNwGE}8QZ=0Ak zKsVaD%RDF}FhZSG{l*(P)#W+TyZN4VwE=#$v*Ot4NfV^|$IL$frkh)qoiq2q_`z9= zi4aTeVofm3b?k6OJ{xI^&#BsGGG$s4rH^Pm&BYomHehAXa>Pbf3|N%&CFdmlC=^Bp zZ+30l--!od%UJJtpe*)(UenI&eMUaJ{~-y3b3542idFMO!6?b2KL*5!Ij$J_G7Sr+|rgT<=t zsL<=Q<``~>G#0^__eLIyF>AF3{@EC_HF6;~L6xdO(3hF2gbH=ySZWa2+&dbFKp^3e zwTe+xxh{U56e!Uk5YTuaB}C^z2aFt77)hW|=r)j$!9=k1^^Cgqj;cXLuOmT+^`K4t z++l9Xd(sZG!DMC& zq&w(71cMWseA~_!yk3%~qR#;naQ4Kj;5Z<%w`pUifwy#_ugmdESS=N;VdElD$UO9S3EG< z^u$wyF14y!M7QiyqR!sd&7JEVJjVu68>}5{r%k;7QkgHVkQADXZ z8=k=_bYU2mRIwLu>Hpw%&){~rumKQyKkbyHtNsA`x-_(n6?TPamdyb`avHBdMaWsO zt54Qu4p-qWPhP7B zf;c!c(gu=82Sjrs^=VKnkxz(6PJYhqfFn&1ZtFo|V{lk7IIP3JxOp-Dg$;}AhA&y% z+%e$T(q+f){QQ`(@z}DZ$FR}yvGhOBT=(|cwQpbd41cdAAGJjgY=W z7F48EVCw|7KC4`_@Q`%j@Rl#?a!2Y$yX(H(a#*@>XrZP&i!IpCZu?U!yMarHK0e6N z(~Bq3GZ!yrav56W2OndfA3OH>F)5v`W5%`T+s>~Qbc+^_KlJwUrEeab1kY#e#%sW1 z1)*?#;Vn+n&4y`=>8%LZ6ul2fRa=XEk^i@E2CN;a!ad zLb7BsK+ZYv2%?eA~Kv}WS~~$IVP{89HcxWKO`4m{y;*=fr#%bZI^yvS|Imm zr2~&|+VuD)mZcZ;>Dm6JFV!%e%N3J6Cb{2B()Y<@u$s(tgI-N9 zYAPLnm)GYB<)v}Ukzx7_?)1Z%r`X|56DMriG+|=o?u6{LUY@ub`ylx)dY7v|{EuBO zy=x5J&t4Pf>6Mn9U~?HP@q!^W-hrIw@fL$io(saV-c6`NQhcNa(eFK6<(5t8fviTe2ViJK=*+{_BKX?>ElzO@@yBqSvF zNz*#g`_dQso>?*!OO31{6cAu<(q3FiE&KoQp620ZwB10gn54_f5&eGl37agIM_uR9RZ^068 zmiYOw@^LW?KR)u|lLbf_jS&FekOCpqT;|9%GQOuQbSsl8$8G;idiH?_rDs3iJ|VBZkLUMlL=mwS2y9+vhCwAg2mVXn)s30E_tpJkl$y z*fSu%FhyERIvs|x90U!RMSV_0WD!gih+;(WMJf=%Jaz-H^c2Xf2DK-8TR^l&9k}3@ za?<-kgq;!0Yef+X4#trn3C^E&f>#~#I zcUa#^@*U$?-+p$_eD}hN*#47Q==?rw`4Z20{bwrngkfNxc=j4&JIW*9d1i5sSO+*FW&%vPA*H>)gG#i^0hLJ*21Q<1YGUj9u$uxPlPzLa=~j;p(&6w0j|L+ zS^q(P!zq4BFh?|wXqPN68A-trBv@WZOt~0*LGpUX%neqUQlCHr0C5Y_z0Fa9fobB% z!=ooNa|I*AKjMjt_oWnoH<+YZzIDfBUOJ{)wRz_x?uOZXVw|AwGx)7Q(WgKmaY(sufE+i9hOTeI~Wzvk|}?8NQ&OYpx(+-~s6w>BC6< z76Z3v6RTLE#1*I8Xj~zV5_+VUWov?40ZdQ`)3ig zD>3e{*bD1=6;7)0mX&HCJ~?{D_r2%3!Ka(|&r8Tu_sbqTJ;Au=dIpjraHH>dSNigj zf@NRW#740JEOVmt7Xxn|v4qS1U0*eLL?(_%RXOvtPxs3lS_1FKLO&<;PUBP-y_%mq zLRXfVTr)E;{?$`HU;V(7Y}}%u(md(;^_LVM+&8V0#-aY0&r)I0R}c{s$Y&EKQGjz| zFc4@EU|0#>8?duTKq@c*n$yrK2BItHr(uKi#^;YecUbyrX6-eCa82z@W;^`c@zv7n z_aqq}kbe8=R^qWALW^|ox{6UHZ0e_fW>ZV+E3cF8L%B&lG2y*^3onlV>?GAh z6;vKl>Hz=(uK@)_A<5SwXz?m}ivrRK(C1|69|uod5tMf1oQo@D2Uq6FA=L|rV*7?a z-aPI80(N)FXVSS7Pu=tBU0-LLC%njPkN=|rsYT;lM#ZIvLbFHb)y}A%J8J&k)vpdH zy!gVDF-vb*^H|PQc7c0WeD|i^f8fTJra!*Haxu&~K& zd3Uj4$PD=Lq^=Jk;J18h({2%8Y6Ds~_sB6=z^7_BUrp?G6 zT%8{iUzO1R?6G4n4fFL1>0@-x+sQbsIx~uaN~w| zd9+gKA|&h41|$UX>Y>0*d5PJCqE~_#2Nb#j&t^)>Yal@%pFk=(qQm9f+!=92Mh841 zSWLm`=&O{olfYx_X7odvtfHF`HL0~aU!x5w1^AiMGf)EHb%IKE6_qZg`_Vx>e6@1% z-b2TZAG~?d;_{3bp{P(~mc)XYQ^T8g-?Sw>MX5E$*wZ9?RfRp#Y}9JXt3<8Q#97o; zRVJ53uT)i5T3iY2#hmOBb?B0DEpqtnIf zHLAHY!Z&Z(kYEAn({H@z&V$$Ml#9zlp^B!ay|cz7s?~{%A2(p_%&EmCB|(%};H_S6 zq+DWcS(Rwwj0TmqvdWZX5vwZAu7trW7S0(_H(^5E$k`rMg4vWftv{>hwl~f?w|Czg zCS5_Hn&*`_&6-g?ux?O;G_7CF)(0oQuxsbeKnjQS=W5Yucy7%YzsSdmLWT!Ev3+G(b#j%Fj>TBSu>f^ zpw__F0smj++=867(&hxO&!GQv`Y@|iXYj4uzI)T`@{)$@R_&ZtU{4vVwD&FQYmwg1 z8n^EB%;|Sbsf>#>R#(-GavA!}UQpRrsZ6q(f+PCnmycgQv6sdOggjw+{)1!E-!je1 zukU5hTC;C;s5Cr)iK5A3InI=)RK>7+lB)_bbh=jWP@7HX=rcB5nOA?)_)$A2*7Qo$ zaO*4G0nXta8BFNAV*bedf|`lLQzA#lGi!P#y-z zl9w(wls=@q58ZI?bE1^#wBlgX7XKVt@AV>*=n26tghev}h|K z49Acbsu>qTZYYI_ssb#nyBT=J<#h&UrmM7CxM&D##>LSSBX0?cmY>wwAlHA`)f=OXtB?`4oRisQZ4=|BwuRxG^w2{Z{!MGYh`{_h${bV>?josn9j zE%O13HdTA$f7dKrUr7PbWp}i_aX0z4k>3ABV~{Kz<$04j=?Dpb;8r?+FhzHU z-72GEc6M{Q9QHYionTo|*EUFRa|#+Hd(T-CE%&e%V`MQsn!8EJj~<3v{KOC(JGYlk zTS+PlJll(L@ke=%@=}~dR0Y*tAx}4P1V41{3Y zb3@UnR7HAX#~FtDqpEy}jiG8i15RE?NGR0)(x9MQ3GA`4H;@>?i%F*Q6un*M8VW`$=60JJjrr3({3V6f+6E?_ zXIK%zv(tMgdB_cUh$2^v;LFJ&wo?b(l~JYZ7aDC@IueOP0qa<er^N)+%bc*@!y_d=@)A1hV&Y`*M#|WlEr?!!7C(z4)c>-EE zpq9Zhrvcs%0%=!;NKYN`75gBWmy6Ja!2^<^UM_akntdtFmX5r6)5ft0u{j5?%`6>I z_8Ob^=9_E;Rk*tL1*t8+QZ&X2yojLM7*3UE?-lFP9eL!k$%uQTM~$PkXW<=RUElQT z;DW~SBP!~LDB9cdLiEuuqtzg9Xc{ra;Tr)D(_ z8f{rHH1A@gRZ519o0R9v4Ahw=+5h5r*Q^hr$K^pAYa45O%)_JW!dBpq#2?hMh1s_ zNS)-d1Kf}l;-q2RVAu!lE@1XRlIuK=%E9l9sZEZXH!m)^HfD0b9gq&V#`}VRPuER2}!z+-;9AM#K$N(^$dr~Cf#Vz za2h}+P~E4?x|v+~@r{7BhipAjgAC%wWFrj7Ir%bpVMBI`Q1V6Rmv&2a(w_6W!t!PHqx-(kdM)E)4Q#Px zP-b~U!`iXZL$g`dAA66kU)FZV*tHD}#*n6!@*Q>d?xtGqR)#);Cnba`p7RTDL z4Q1sG+(W%5$K@2jXmcy{0MJ0?lQJ~u#~R3rEIzM7x^I# zQlrkL(`qx)(=)VMZL%)2K%*(RKo1+c7JY+ElPhpPBBke;u550~+o(>)t6n8i#jmf8nW1XBHhB>5lJLC~XT4=89`r<8QxX zqo(%VG->F%p(XKvpA?60yrrwZ%D(kcH2MUE0zD1Ak!E1(kZ^knV785N)rA@bqOc%O zP!I=&sVE@{{0sZsTw|meq5(^x*bM>FMr&&o+{dHyl3e#>)E@J@7ph2zpCI6rl)!;} zbZJoGMHSW{k6`f>o*oHDoqQ^Sg`fw6_kl9+{lVYw+IM01=shnk-1Oy;KP;4Pf8|%w z`){vX_crtW>O5O4g}6tS!BGCqqg|HrN0IE}_;t7Y8@Ic&W3<^nELwHL?hAVtzPM-f z>iO5*)3WYu>3vWS+~OUsT566+u-JE**QM{jl$JF!1d)`aqi?&xr?lc75>`tm9zoE< z{APq=n1Sfb#C?%N6Zo-hk325iZrd06icOGWI__c90jj(4mX42>@#7+Kjgvd>V#B%h z9UpOM3VF^}hM^NAd+v4UC~`(}NOzE4kg^8SU36W<8;LqX;upt~5M_!Mid`J8y?hPsg=j2!n+uy7P56f~wevR;29`yHc6Wcp z7?p{+Jy{-iw$DD)WbUgnRVP?#tmy^Jq>2%{&!hX8T1}V#BPJFihc&5%`_^P?;+n9K zze*Ja{BAR*{=e$p13ZrE>KosCXJ&hocD1XnRa^D8+FcdfvYO>?%e`AxSrw~V#f@Tt zu?;rW*bdEw&|3&4)Iba*Ku9Pdv_L|PA%!HAkP5cO-|x(fY}t^!$@f0r^MC%fcIM8V z+veVL&pr3tQ@lQ(H{B5hU3cf}4x7V@V;L~v)I?6_*wq6t@dtRqF(&Zxdh`_-87jFo zg{9(bQc^a6km*oxBtb82j0+|3Gt$9d#X?J%2b?W%t;(wOlfeAIqtZ25;A4nbqKVe@ z8qq%asL^OLI8WZ5S?G*P@uv8q)`9n^>;UDX_ULuK%KXB_tZ0`vF~1;IzRt6IISK77 z-|gv)Eyz#wx}viZ3-c>|-7zgy^wCu`W4o?X0{{rKZ1(}3OoJ%xgbRfJ&Tt)B>$;bt~Ya)oH02^A> z?zHL{FI=YWUC4L_u%Zs96<+WowQSBTzrv!*aGs7Lwv$2y=zHr!2B#q>)@n^jG<&zc ze%{XG;hsiMezkXY7Y&E#ncsi?kFPxOhr2$1aeo!7dhU;Gm3R31ubRC%u~1x$o<2R= z8k`#4%yc`wIbK)1ExM;C+7=&Q70n)*)D%-t6q_iRE0U+rIPYg$_ijm?=dI57%-;XT z{{DGazWCW)*MH=B>?8TP-^D$-<^HQvZBbL>I~nhcugb8+Us*55zK~{%u8P0)+2_6; zKQ$`angE(21O97%3H)Kw^?{5e3Q?J>K!-R4#1|JrMzTtP{cS}&H-*?hL0I&l<9B)i z6o@xu<10Ov6^e?+7tRS`%uDbl8>L@f`0%!E4`2B4(2c2kKkj|(ycU=)HYFA;TE8$q z!RSrw$;uu&5M2;nyJlvhWBAIBoSaoVU)Z|&#fw(@lk>v)QC#ne4`vi5x*f|iGwWM( z&Hnlem(96g&CKF7mzmpEY}>YC<+g1 z-E18(f+jMBv@km*uT?$Ws`}>>XgO8h2Io!Cra!F>uk%$gXCXL2%;_N?C)hp_*NI3p zLO*9c^P;nL+SwtN{ng&RU&-&_%08v`D05%sR4GB}+=id{&fc$1=bESTv%dZrXyY0B zl{^}LttWv8RCRvzoLD`v1a|b__0`w<=ggRC@<{)xcgob>IE|eDZEy5ZXQ)H;UvvRJ zdjbx$K;{Ty_n9R3hq1t>(ZxW(1Ldb;KSs(Ir|$s|xUMuAwG~zi!?c^=p=Xxp=9N5eEhR^|KX^olF;(A#aC4bl_-Q$^6);{6eB9CdQM8S1*_Np2I_X^o_%P!ZYABl3X2mGHCDR>zQW zM&Suv;SA%DgXBtCBtD({cutV6nQ`n0z7>Datx)gle30qL!MpT$DK7KGg=;Q}xGrCL zhbpgr$I8oHkxSNCrWGK9?4#dNFioHy99v&Fd2%5?fZ)kv93s_6;?u<(n9`0*t40`| zB(GDt>P$EW@i}5Ty~yEd;=6Jidwh96CF)-;PiHsfms7YL@Sh4?@@vou0_@DgLsq&# zhhK2HffFY(<(4WC=bWG-{d9<+MByX3&V*<_x!eGAnboY! zVK$59QoQ{50z>REr`aUTlM(s=hgAsum~KePrdLx~Ny(-!FvJ~G-=7XqIVNI9;pqII z$6`h} zUU)nZq6Cr^WSIYowj~UDC{{Lwnfvzd-?yE;CcnZ0a`CA(tXe+0Mt6$8THSy5Gk<^P z?*8iW0Q+#?e&O={`%X5q*H{4mUmH89JGBO)3O_&wHUI?r!jI1{DLMbgtO5wHLJg~P zGaEJlV5LoKmoBp`3*P!%#3>-bN!W00}QqoFh(U5 z_I3)fCvSpLkO+H)?~@-H`}}!1@Vqe~6-Nv>$hb*}RUVB()kzcIXv>RX!ILKas?#Y8)jb>rWA^~=6v($U zWv7;bzCwQyw=J5D9yuaR>)f;J%XMt|KlfcEXDhZ1Mq5|NV~=fprP4LWRr$)+$KUT=ltlgu{Ty{aMm#cPR0)3*R$@YWTsR5O zIA6&3uq7mxJGM^9vKoEz&eva;clwN0t5JN%h%MXW@_N4KSGXKsT6H43YU$D{@tvxr ze8cFd?$owzGFd;+so|5iQjSx)d+x!UG@i&t8RFUl2M)N;WFt$Gv>s#A2-r`dRf$Bi z>AxOF>X6ofSS6jCQVeH>63_Bk5f4s)J_ddop~SgAl^4$0uxL_c;p{9-qi0y?N@4$dG>VPyZ;IP+7B1L zH0+AXb|$CfMJ`#pILf$q_uUtd_-ge+T1HGIX8whfFFttPFP~?DOJ@u`aOZFC{&3Uc z#a=jNOyaR{(}54sc%S$VvZg_HCpz$Th0GxOa8#?DCEGdhE2#WZ5~D0D1?v+*oGL@y z5~4St@wFK#p0gJL8!tbqFgW?1{-==hxP0QN{{E++Ft;7OwL)25*Re+~}0H_}6{CX*0oRXs#@+*Y&tIGCWw(8|;cD7%( z`BrA!|Gm`Zm6GqX`1)k_`wVMT-pgz#XJ2RMzOIw+u3x!l?^F9u>>b`S`DOn1hN7`w zU@^4~_>H@!av%5N}n6I9m zvS)bjSNp!dZ_o1HYhK1z(VlUf-X{s&m6#W&542T6n!zXlB-zx%Zsmv@<^mME79>ML zJ3cXrLWL~$buQ;TKC1C5o*G0`w)>7%&%^hp`% zPFq|?O75ft_f)HXp&{OU^dVM<;wBa=KYGqq1O1V8N|07y+)a?xn6F!hKB9F>;pTuu zgG6>AWXypxT=3$F|H{5PfuwtsIfqT6p!g_fblgBT7%}xo@&{5J>HaLZjs@h9%YqV%e4vbA=;aBYfUvbgnw@=pZFuUNz%ud1nDwW_*iEIp78 zsneHMX_ zOssGM6bn=xAm$numq;aA5H6YM&=B$gPUVSqYj_0A35IkspBaRNOlh)^@*l)_*+1`L z!t%(vaBx-6*t5)Kf5+~Ue^q9Vmj4#xvhjRVG@E003zJT~Ab(+ZyY0;SBD;<`5~t*q z`YYmL8HL&7%l&ydRY_6&al}`hiH{qPhcZr+qvu&HZRLV_`A)#~k&iZ*wwh>!m-}4xID_ zG^|!*hXR=*3CtZ5mh)o)CdLgc0m4fdEPG&&LCBw^P{FgO_mH~-?9zsr#KP#mvO2hc zvxrHAjG%kK*wcGJjUx&SASDKl6_f~UxKWN0g>ATjcg2IUFv4DDhIegjnoVz(j4U&g z86~scmKM9#o8d5-jErZ*FY~#vuc(+mH7P|el=%H6I9dNlEq>- zCKQOK&1)^5DOO{2RMC>MI;)}kUHOZ5ySHYo%3v(oXq_V50rfescC*N3;p{hNyS_($ z<_6j1L5esaFF)`iMXdS*)BRx;MfGCI`>FhUYz4v5ql z6V~H?*!H|}6V`n|7DZcb6R+jmIa+B5D*-w%hIi}vUr*BND`6?@Q1GX~hzUw=5E#tG_8d-|q?Y7r{^tJ9yvIzVGg7UAc>DpVJI{$37J zKpTy)c84=_2JI+igw)j%EJDmdjF=*-sZBi{Y5Ne1L-ndKJ{HihqBxqi+G{X96iGlL z|G{@8Be)RJB-ucc0UeJ}_x-rqMQFffI}}py(;M-K+BG>`$TJwnFg_$_(V_dU zLeDGQZ8H51d)NtVcac%BMhudDsp>4h$Wvc*%4@ zB_<3{JjklBxfQ`oWI|$avv5WXcfRUy;5Gb@BO}I239C$V8ZsbNLdEKfQiTN%)(V`vnnc%4~>T=X>a7EQFGF(W|S5SHevO_?5Ko{=$M%3jD)D{ zgRAvU=plb*cVtH$vDiI7+ZVNeOUnF!A*G?{ysNXPic)d*;@O3vp^l7r;epdB;?oO~ z;?y*vF{5l^s_1`H6|*O@bgGM2bJ)b59V$;XrevjsF4pc`iDl90@lh#JtZh-o>?o5d zYIeq=HqH|^8`4>|x5T!IS#D%eZE=RGdGV8`EsjD9(N1%LIS@VjeEBG)kpFh0{8^hP zJw;8yiZf29$oLm!1Gf?ltM2PuuqZx{B-E7iYs@JhQQXAA2mQw3r&xPZW+JwBFm*)p zlny~C5zSLD`3o7iGvs22^zN_>I^cC4q*_4q(FB3rQ`|0j?2=CMIf5W2Km3toWM!vi zlzI=WCm25bfy1AalAaOtuDWsT+2dnRS<|d{TCMtOTt1GUUVG81S8Zwhs0QwPHSlL2 zl6yOPQ0GZmbFeV0cu8}`dWEfdIH$JCpPo~+ymb<0&)DTuEJ{tY>h-wVK8~Ayeb=g2 z!F@Wz4|c=GODFXP0G$2^7||CBNkB(Kevkr?=O9%lQ26Ma(f}5Hq)bnvvkt6}G@~@5 zCpaQkML$Sj9Q}2!bu^*H27(Y&q1#d!Y^YE4CPuN}&a=hXR_)?K$rrKtYxmE(`Pw)p zdhD|ca$}N`J%-q6Dd`n)9m^K(T@j;qNrGi#Z}EI4NT$cmQqCJos0+Lpu)rd9YxVMb z{q|J3!hW7)oXb7OYd+RTUGx2>y@&KXZBekLD7MHKhskO1B-JlWTi&yNZ=+|0$Eu$k z%}m^J@+>tyP^pl4lir0r`Z&<3I4dJT5Q855Kx$qdKm#EG;>&`pqBlw}67LtCL#LKr zP^n6%fyx4~<*FiG1V-UfAAC0&yp#+mgZ~~%Q{JqsuAZojX+>h9)otd^YNv~T;V|kw zjnyf4Jm%1wlZ@WA+aFxF>u}bxu>V$;T3G1A0dHd{&m$Qi&%i$XYT9{E^}!V4#yOG@ zxn-#*#kEy@H8v^5;jNVaaasPNc}0*Xu$t$x(A-sHcNlC;aGKT_T^V~)Ry}at+B+@{ zjds-~GH+I3hCelX>Y9z~a!p)de>>iD{Mjp9Ci%J+`P&&nMU~C)1Hcf&Ir}!q*G++s zxLxQS5{1Pd?SfIV21sPH1yE61Ks!KUYfG?yMm_;z`P__1pOuD?$VxJ=s`*pE`x!CslJ5wr>oJ+y}lyT%s!BB_805*;dH&79sLC)5WEie6Y2K2gqSDZl`=kM z0*kfyQf4Jw$@R<^E!^f19mUqN^*m>9sQUf1+|tZH#@W+S=f*-K_N$nf%=FprKVRyI zNz0rU^-RQ=91A7V@|>)4p(%P_cE#O=ljT-lo>=ZH&xX9AZ*opnkX1|7Iq3zH*P5qh zW)$#snXJ%ufpGPsoaB|xGLx<#c9?O}`6n}NPQ^}BrYr$x(!G2%> zr!KVMK$Rp|rN>f;J5Bo(?6!P5qU|vT%3c)Pch0badE&A0SC%xadgP)DLtKPqj?|r8 z?o4ln3%Y;A8_*G&Kvo5>0)u2`c_B+7F1@WH1_DY3yFQvf#;ko&!`5i?`K#NYoc!vw zZuhEF-$IndWj?=Jt~XTX2><-lWSdk0{(V+nEIZ#~zf4?zEI*C=4Br)kB`oTJhvkp! zW~`O_65UI;CT1r-cp*$5nG6r}itnyY&N8{3ZmY-W6;2F3Z*!TeoxgF(pZq>$PRf

|iJ)rNwdGr)EOmirSOj@aI>%6ZNkal&y#akd%Z!h9PH=pX zunSE4#rHx6xEAD*#{#Db`j(nTHb$rq( z`SIDCw`IE4UK1Cdl({%QKiRpYvTI-Ol)2E3n83%6*X4lQTMw!im@x|=F;1LfZo~Bi zz8NanVFA(DOnN3USPvw4gNFtrRu0qgkpyHaDRvGISd351$@kpw`x|c>3KfXn$u&2; z`YH>)`XD!_1eR6A#F*dni;b15*+r!}i>5Wk&f1YAUQr*cES(1_$e9xt2lm;#X>q1N z^~f!^j11l7%FB=Wh5XVRZ?du2qN$s&8EW$xAD=en{wJ`EcLpk)nsQzwbcYS z`Gd1Uxu1V+O&I5g%~#~+ly9P;rmZu+8N?k8GcAjx>r1RXidKDjVTGVLT0Jn;=%&b4 z;Rg2DM0S{X%2U^#WXLMY%5+<^EuvA1%GkN&g*j1>MX_d^W76@)P`%T0883Go2a({ALKF?KFD>=KXUSYGYYJ3Q7Tk1Ni}n_TnL=PkP}eZH%SJ7V22 zNmh?T@7kRtc?vyJuFI61o{T@EJ6rOw6X){5n9c#d;0Ek*S7H2tlnGpED3z&Cv;vSa zF%Afdu{fd=#`T$~KS;8SP>%}g=rPh(qP!r9DH^uY8h5@~kzlghqids+!c%8YwPtRg zpBPMh53UQm?!}(WIA2w`YGpXMVoJCwB|bBDQB<7UXm}4v=IzL^PMtF~nB=H+N83#a z)$d57Y|nX>TZ*nWBxEG|@?BYpj>LtRrdlofq=r;Wd8SR0(sQyC60&pBCCQOlX-REJ z(p#*)-3yQ~%bk~!kQr~dvUqFdWm_=^&YauN$6lVGU&EvSYZy4!f`Oz{;h+$3V9B;B zaIj;o02H~N=!ESD}J8h-5^cocoYSL{%o5NvbyP58+$p9d*FRvk~X$=Ub z2Ipk}2>f&XbGS231p}FPi6cOn+?AjyX?&<~CXM`ez-!(c^n%-K7h6Hs)HHe)q>mS?`Y}S4F6yJZNv{ z{?h5q!P@gT)#`PHs~cwK7U`ouDNLH`&)28CXumgfp)=WFNSN)*w59lQ;%<@eNHWB( z;4HB)EeiZSeHrV6mm!lQtzc&11LE9u=UrX1aMP?*^-M*vpV|PLc`fWelWZH9{J`%M zerZ`{23RdQ^CPZ4aQlQG&?DU6o%IWH$X3#vA(W62?Na2jp^HF=uF6HqmHu?hmG#yG z`BM*eOqoC5?w{kg&zn`-ad1+}gKuTIj(s9YpMF3I3a1?EsGAAop5<3l9GX)2z?+#d zNRfO{{>!0F?;Kpc`rtd84l&!onPdH9{rnpK!?DR@lcgVy>BxTpA1z3+&zo7_acD}> zgKuYgKKfj*|Ma*k`|StwY7TWyn=#*>3&|$?{F!x~hbaXr|C3(-$p^0Nw;n8-a=5c< z{yck1;SuJ5q2+fsZ+e$3HamFo7?&?%+qlfOefbl1lTgOs9qiBK}bP zSV!N%Eo;293od`*1>x8KkdwXXWuZBXda7=zaJ%IXKYCJFdh$1!Mt*y1V_f6{$v@*z z-^sD2{Vr+7ijV`Y20{@JRSICq&Z6Yl^wHK%S;Vm{VXvZ4>(mBX$~nkA!t_dmJi_9%^0c(_i*qJt=OiWP z+?zc)Cnq^6=Q}yLPaeN9>tgwx`_Fsx>V+|#7jI6UQl9K9!>`YmT%K5B8@Tw&8Bxhi z;p54R9^BjCYLgqPTdJqFP30rAztuAL>ayZh?V%MJ5PlVBFJa!g$(8b_tHeopS^;G! zq^Nvl&&D<3;D%|wtQE757RN>x)b!L&^0>U*EtunDoy)$wG(BO`vPBh=)dq0!I}c{Z zr5BW~6n|e?R8(2?)#AbAyu9SWkZxNYBoUo{l-2Ltox2TJG9myfNxy{BQ);oi>mE`510-d+FPV88sw+UkSx zY%s4{&0kks-^g4k>kNfQ2g^GvF1zW%#X%hGK+&Mk@9w`utges@Qk28R^sz9avHSDn zlE#U9_&CUpkd#0$3$77pXRdG+A+HS>aAHI;VM6I}830cLF{KlU3}L@sKJW|c1&ytj zU*5WAa%a!}Bgc*%x$P%xMQ?8({;}wDNC>_uHRX~yE3SI}s!5SHlCOAu6Q%288_%T< z&>TfyjLy=t@Bnotz!;F60oD&mrd&BL(<{=?pc4Rg1Y{n)uH-wn&Xhk~a_cKcrp_6C zWOUBdr>}2qwLce}yWFzd9q)&}>f^=s;G|;tJJRyFf%;XWqpRu%;_CAqJSUoyvllx1 zUH}AA53Fm5s9PM$y8v{hG1t?dc1>}O1U%O@ z`h1N(y~$h=A4o6sT(IawV+E^xz*Cty$FjQi(2bJMnqZGHvYerTc|{fdQL{pBABPLm z`V_+@>((5s?YLt_#m^EG@^ayI-(yx(4*81yDu%FC@$8S$Z%8YhNJ zp`~;R4$V~dPG`0O5dH>X04mvw4)m}Lj1BP$Kwj7dAV=`I{a_A|5QCH~2C4)D)EmBn z%7evN71PkL^|n5#skpJSF|bBy8&r!3Er2im7X|g ziAS7ZSqK+sje&V{XU$zuyigcCSx8FM!s`x`p)9I0v}Q}AI3qPPGp#{t+_ENA8C7O5 zjotZ!DaJTU5QW~gK%lp&GlZSPC@W}*Gfw$|adKLL$5Z5+O6vvj-PCU_fxmO?zyV75 z8XTSrd1O{!wPc}r1WXntL63%)Wq{-1io(Zc7E&ro4K!}h1ZXDk*sy~@e<2g~7_2r) z&t@3~bKV^nidnhyXJs;$Icr|NU)p>}78;vrOt7qdLz;_UBRLp!(2j`r}o`(yqxwEOv*>ejs@{S*0p2Pb~@x^Hu zH48pp!0Qd9rig1UN>=(tG|jw4tV&5sOQ{l{&o>HVe&NWX@>##-waMw}$+i6U!zBT$ z;p9594|3nhbxNlnDfbVuW+^$nBsR7rJvrmvM-~#e;M_O{Jh?vtuZ+tb#p{w`2gr}T zXh63STn#UnT$x!C^9ork6B>4Sb`wJ$FeC|?tPIxED7q{QNAi%vD0A>E16flmB8hfr zD)>WLegPte{;ct9Sthtuo*0*+=pExF8yjV$%Sxs;Xd{cvY}QL@?|@MdZGj5yrymyo z4MgM=JJ>Q;H1Q7DE||B(Fg6u#apjN2cE@k|*avLHC9e=}a3AMa0Ho1%B?H(n@7TO|ErL3%|m{Y~T!xA+4+ zd+Sec%BAoA?QOR6O*Z|fW5?fOFvE6B<7e}k!z2V7^!(6^>}U6#c<2wee$F>M%O1bw zGKiT=^{mMt6|@=I>tls>ga$z-7bssm@rlIo6pf7EF({ zRm^N|<~R0ScU@2Sb=S%BkJ_V;QFaO0p(3RSeUEBa?L0yGMiV67R^ZeRI|1d44$B%a zmPiy9Ed-#WCc*z)pbEB)=qu0q7VWFFq!Yh9=3JS2QB*&zxNv5X&uN%nJ9e~oKC}iF zgd{^CrXVTDpOaJ&6W|ZIZ0l$ijbG2|1)J*>^ng!P(|ZxKSvVh`+Ko?^A4{7ubH$vT zx{i*z;#KSC2E`PM*MxswO9~S)?G-o8>UCnTP+^1?NR=2@%})+=u1CQyPX$d<1Kq+A z%vs`_k3#@g0Dx=aWuOH7=&5nj+~KJI;aOdBkq8SjGNqmgjW4?p6wyWJG*;+~6Y_I& zbMq65^%add(X*g29bUBK`#W}gUrd`QN+07Gd(jaSu_U1x;E<0H zEa(9dY{_VMYlWETaGOkSN1|BK+C932Po=_l$iJ;7aH9*0Mwu}Vx-iR`*m(q*>n6aY z3Z+oO14HrD=-2vh2YOHi5-^!cm8Gr>YIa=PT`1%{fNk6!M@R#{fA#FbPKml)6~P20 z1`0*f8q`8xKe-Wgv%<12JnQQnyXU{?Qb5p`3iPpcN(X5cJ;>$v=-S#Z(JNZ_zB#(& zYdy@KRJwO;-RX|}^mOn3?R4D907142$qzqz zTB}j9g!`i#Uv|z~v}l&|IamZg&|n@y+5C0C-@AF;Dly%K3Yn4d|@i} zw0S@>)vg&21d}bg6rRfie$4_Ve@V5ydj;9v-77!*8A=y>_n#4K++X|ocGk1~^SiVL z>vbec`N;R6hI!SMe`d3l>?fwb{MAjWtflFCm> zqdjdEvu9U88A1W&6Gxw%8{gnN#=VHsa?*bB4?V>_AimbaQ4Kn53gAksICqyTN5su zJD1&}$mz((kWj;@r>z00&nlWd6UqA4QPPQ1{onQD=~bGSDuBTM6;91O2d7F3(W2s9 zLYn8|T-Uz|(uGlC$j(HT1b)7sgrKj;IXEZj>WT+fM&LD1J_OR4Ls*l*q z(0*St?x?Cn66Xlq2=RBXfAIcmuf0F3!jl#b&CDrGE$O=Fk~`|^*v=7bS7u(Zditi- zwW-ZL2jmZbwQJY=ENTCiKfZAN(wlb|t*M++%RhlqRfYV#{G9wl`NvUtlN<7qoXx9x zBKzeX35|WLYW%Zc^=lYDzVEu5<-IgK1gx>U`KST(A29 z7zKa>5}U&3kmea3T`C7PP8?q(!vL&C%aPcrM^Mg1kzT=ZU_koGHY{==3Tvr$@}meu z(76{7H1?;&I71DJEHUJbY5U7kF&c?($w^%6EDR3)04!Cc>mjVaVxT%7K77Y zh?pqBk>{-y%(hC8Bnm!1{Hf0!vV!feb#LkwVyxaMx5<@y*LL}%dvho98^~G} zG!Mgm12%DxTp%-y23ElgP>F!e<8u@r#M`blW%*7XNs4jC{))30i@_o{144R^Rr8*2 z&`0p*=TzY~ufG2^DI z;q(2Q)BlV7uRm}~M}+kHr>C!dWnn&ErK*Cu zE0x>r%5_Y=!9E*3GS~n^U_5eSLiybZxnwPulF6?oQ?HO%i>G#=8S&=)RljeYeqj9x z@a&1IUpOl(sV3iSmhVvVt^C?Gs8pfKH-G)@yI)IBZS@Byro?W5#*eMGzbgOS`0-~wIj{%qH??L=S2NXR ztHxf1SHsRpw0yA>v zFz!3P#c0_0114N`D=T_$``GdAPi)`*1iPhsjS;ks*I=%!9eIAkj-xhnU5(igD{-f> zshbOzynpf4|Gb7RU)uk6%gU84Z}%;`lj%N}&tEE7O~uhZ@RAp>z+(@yf;-KIp8I}x z!DI5P^955(tf|OqvWk_zW+iuA#iVDpn#>zsli$mvI=7$FZGCgP-e?YHo6X_93;UmF zwmN>eWA&Yr&E}k-$*7<8?giVAU#2(g{Ie=s13AS}aA?3%B=_Db)9(y}j{!}bz<8*~ zJ?g%B6!NI+Chq$f<~O#PjBK3i&fUL_9~G&2j~%7mH(fB+3jam%K`7{~!1cNu7L~(+ zy=h;dw&bj>vBtMm9KnNrBUkX)?+a+$*pYEY0AHsXIp-+-6y9(hF$h$CqJVmdLqK&a zaz)CwldWB7-owEOwgIH1fMZBlS);Sa6aa|k1qDt}&g~oVTYJssk3Tk>_X4fr9*@9T z&wOZNx4r$Zl4;pQ*Tg=hzCoX2Y{;`c@qPYdySUmWO6x80W2*PAyVU04t~7VT^GVy+ zhnU@kPx*$lr}N4$i@LL5fcjI#@d_-FBkZq{^@S`jHYmR$t@{QVp0)EJjtpP>CVHKC zwK@aG`T{8vN%%r}=W%B$ z(_Hb|gBcG?AUFkN5Y~VkE(GrtKO*q7;wN+fJOUo29}*gAigXo;osss59xv!U`MCtT z0Y-7tL3UXoH<G9z{;ZqrR6sUVoNd1cHI&I+7p&q;$?!N3uAwtrmOGDX%no4MwBE zYcw26x2D_tR;zm3LQw{z$I14jT^sfninHcc`?<&9(%S_|Fgz!CeQEma<*PGWbp4^j|Y{)20DOhSxob0p(vRs8Wo6THMV&gai%S?{*q({Z?zGt@82bgi}jd`<0OI%h}?mLwImJ5vIN5RxqA_FrH zs@2572~8G=#8x69z5(NV=>~rmtP)1KN?i~;E|k*J)1YM>DD}XM1K28x)-O3(Ze>l-?J=9$=Cy(7F3C?I= zOiomcQC#KDxT_pC^QMT7w4}n6kv>CmQNZ``#3MQW;Ul8Q=rkAw7UD+1DS2AAFt5=8 zA(0!o*B50lJByg6e69S~^~sLO zw|{F_PIhXxNfa*p$t_zOL`Qkrd0#$!O=hMi9nQo;ugPP(9?98#=>=I?S8aao(^>ZT zhF`y0oHk=sMkaa7nFW=1eN=iTkVoP4?m&{jrHbrYIKMKwrruJ`EsJt?C59YnzC*C! zQE}jx$A82GV{%*XJUltl`DgiwiySp_^I88y9q~t86c=iP4J! zOUleNTViVGPR`iymr8w3ZGBv<)8vY4j&06#i|cM)Q)97u{jKbLX4*CPHTjQ2sg`&c zEnW%xe1QwPR>j9#8~m4DwLLeN$2j6+6B4ZEl*vZl{wrR(WvDeV%`t1Tf8LPXfbq*b zW!1kU{S_xw#h^f!DHf-&ED-(&wMYUV2B-?j z6~eSPWM;Y7&#Oer#)Pmg3sa{oS+olnaA``?^re-%BGFb@dQ7QI$e5a!8S92~PqrcW z%%9*w@2k%r?vR+n>=#QrVX2g@V=IT<{4WbG{r+p;zjT3mV*@q6gZa~+$nVMWBaO)= z(wr-w`rxy_AAe~0qngDl_DX%?Ehd@uOH~qD* zwHg;Z@OSyv7j9++e|`O1ksR-mTZaNy$`}2WEw7hQ^6Gt0{p{86?_I%@+xEVSsR4Ns z&@>7TC3|*7(9tHD?tbWIUj@DF`(gVBa;IdW66dL8xw72&(=`%gnh zzCs1%*%DQD!bmw$!sq|PoyLagim<*d!1{JI(VBo(P%#kG@j!@A$c(}>yt)?AcAAc2 z@J=zY5+y+c4O{4OQ9sO*D%dbC07Zs_2{OW>#H3(>#ID;VMJbP904q|7Nu-?yyrbMn~K9OnSo4Fk@c z)L8C(P5yJcZF;~~_JlV8LqFap?nsI^<-%FC;u!KJ(Ug!T#wSog@j;JP4s(1%Im~fR zISKJ%T7pTGUs8NphLdtl@$8n=Zd<7rjaq-iUuw=|`8UZgd>Wmb;xa~$zD2TtZ;eJ9 zT`9TIpR$UZaXdqZN7Igq5s^!a3Kj~lCj;(!JkeM~M1#cqv_}Ts%8;Hh zH12(EWcaYY~)7fzL!mxZ`r)XYE+ zt0PLtbgAx?I7Pm7M1JY^N97k^h`WTX8fIm;KgP;mi1REbqDk8un00no0QaC}BysLa zx3F|qR+-lT;-vs4*|IY6gBc`0&i*HwK019KPci|*!?%>)e^1Fn^I|@ak*BfZi{;nY zyPtP_#j9P|C%d zIzDS(x!~yqYn5Ecf2Jh9=^Lm*>{(AS!%FC^F4wi_dSGSZB6y*CRQIgzW!*cvk942n z8zGA2hoCFA71%OBmJ$;}uWT`($E@x(gc!ZDg-~`0;6^B1i7*L+hrI!1y{AYTqa2d@@6zTCo1Q!H`o@u428IC!p?{x+;^E?Y0l5?UBS4;X7dxD;~Fnwu*TU^wrhboN7w;8N~lBoLGfs-|Qr^6m6 z2+l;l%xXx>v088$i^-UZMLaqhS4nhP%WM4Bgv6RlriFS|_PQ@RG{wp~{yIG%EZUUo zugVZZ>+5|x4?i${#-&@97wLlyF}@Rnc9YvxVpFd7iqUC_a7yKjN)&H{44Es<7~^)Q zj`cVli3wAjPDi+ket?a>MUOv_72z=D&!M?0i14E< znc=Akr;1+YFkp|BV2duyO}yg#tJ$WZ$8Pq0S2##myV-&$Vlc3FA#2Kmc5Q-#L0 z5dz+Ga;S1VUEFbVF#@!6v5 zh!ce$wCeIJWPazJe&>?M~T7=80Km%%z<$p*1`g0SAVL7MV*HckBHJs zx(s}m8rCDeNedfv-)7sjuu&Jww`gIL&drZ#VT&%8Kcj{1y2*k7-b6p-jkmzhX%}o^ zbi&7&51O0JIJbx(G##NnXf$m>H~1emZ8;TqtN9^B958d9Djx*_BnRC2c=rLL}j zV9Q`vN9VAwzIkKBH@&&9ZHq5ZToNwy)%5iElvhK(!N^c#aATwm85+=@KD43+_=!sE z2Spn}bbsG)&8Emue=i;uBBlfKE3@Y{^Evd%Nyq}q^SR(#-++v4WW;ybv|7X-&TfSF~Z~hqFWjn z9O~-t^92jb3X7GG{Lcz+#D_%iDb#h;r4bw)Q78J)4gJcsQ+e}ELq&O7k#4+U?Z~0# zRP)d?btjcIh&tMkzE|nCZp1Ysmg2jxAdDb1UP>Qw(Nil@5796-_C%V8A{eLk$e?ey z-#6SD@tqmkp-Ag6eRz96UgAwV2Fo`**xVNBZ656QH4hIDcD0NsN&5PSyILbd+CUGY z76PVohI(+=cY3V92^Mu{U`eNd>@YyM5+r&NdQSb`=CjHyRK85tIXpZ7y&h^_vkFUv zUH$(}2}KwwwO9I-(JDgbZz{8>2Orrt6v2Ci#-ZE4`p2Kc8wN^9z$xJ#-EN#QU9GzY zwu1KRu406);cgXD1+m@36aLx@U1YH&13UfBU`{0vPIbGEn!R9GPWFkVOFwLY&BcM z*0Lt-|C(6~@Y!cN8*624EW+AZ2kT^AY(47+^Q{;9l>KagZGa7wAvO$?up8MXcq8A! zwzBiEF}?ueliS!RyNF%PwzEs%c5o-#1xb?2pt`z;UCypxSF)?v)$AI!mtD*DvHk1- z`xcC{UC(Y{H^N8IL0ITM%#N^|*|*s(>{fOgyPe$uPgi%byV*VLUUnb*4!fUymp#B9 zWDl{2+4tBZ>{0d@+^s&ro@C!=PqC-j57<#y<9wDq$9~9u#GYp_uou~n*-Pvv@Id`C zdxgCUBf39hud|=CH`tr(E%r8hhy8-R%id$ZWWQqXvtP4g>;rb3eaJpyzkxN?-@$Xy z$LtU6kL*wE6ZR?ljD61j%)VfMVSix4=7)jl*ytck(D6&0XBhW4MQVc`T3P@jQVi@+1y^3#>Y)@-&{#GdL_q z@GPFqb9gS#c`5L~KH}Q46nYZv( z-o_)m9ZCR% zG2hNF;XC+FzKdVVFXOxU9)3B$f?vt6;#WgcbuYh`@8kRV0sbw19lsuQ|Bd`6evlvH zhxrkHGygWfh2P3=F#jHZgg?q3=tm{3-r4{{cVBpW)B)=lBo#kNETa1^y!cF@K5wg#VPk%wOTJ^4Iv!`0M=V{0;sl ze~Z7(-{HUD@ACKfFZr+d`~27Z82^AD=O6Nq_;2`c`S1Ae`N#YZ{Ez%k{1g5u|BQdm z|IEMOf8l@Sf8&4W|KR`RU-GZ`34W48H>a)ewVPskSv z1n}a7VxdF`2&F<07AV6)nNTiN2$jMlVX`nqs1l|M)k2L>E7S?~!Ze{lm@do^W(u=} z*}@!Qt}suSFEk1ZgoVN)VX?48SSlMn~gl3^dXcgLoh|n%{ z2%SQguwLjEdW2q~Pv{p0gbl)=FeD5MBf>^uldxIXB5W1T6V4YdfD*|zVN|$CxLDXO zTq5icb_%a^VW$O5rNuYT+7TuW+rfPuMRU5WXc`CtNSwAlxY2BpehD z35SIv!p*|Bg2=@!$6&}#-lRA2uhlZryk)f_u z{ZOQNu(i_|>Dw6T=^uzlop>G=hlZO6&2(vs^bQPf5l29^i0xfHy~g3rCQu+95kA~$ zpm5jFFz@fy4@P?XH%1Iw`}=#Fy84XDy?8^<5?BLfsCb@jFMZ?+8dG;e8Y?HX+DiJ;Db zNb|4(OEsvfP9rr%DX^!%wOefOY3?xNW7-Bf`}-n8=8gS5BfXI(w8x?asREN09vRSY z7;Notix^ta9k>g_%^f0sLt;yRf47k?w8BdRgI#^Y`qt*&$Y8Tb%PZdZwCTHso3RjD zh9jGYn>r&z1)7!crmnW(PBY$h^fmQF+J~)b5KHE8WYD5MD3qa14X+;=8t!V}BGR{5 zy87CXPR*xW!>{q|sHvXV|f@z>l%BMx zL8TQ&H9Rt4Rs#w|C|yKwgysx&ZH+XwkM#6dweV1Hb5D;mvbnXVxwrXrv&4?B_F)l( zV>{-^V8j^N0zkuPm?+TN(?1lkqQCmO`Z|=hOX$zOh_SV~C(_r}Jg6VUR-wPw(AwYI zi}BX?Hh1(zhRx&sH8OCzAE|u+_u);E$gmBcJ}^Ku?5h8&g&CfB0W8p zR_fMvbnI}%+=*dqQlVQ3(tI~4p^*WTa;FZ7Qh~GS3`9ns6{8g3I4f#o;OtCP3~+dV zOGLkE5Ocm$8g3ry9?}D&qR&h%gI$sKR%~L-1i9)wkvazZM+Sga`nn|mS5 z$Z!*VDdq_UF-g?`b*n`UDt(1{1I*qxBo6ft0@QF(vKf>RCeQfFMj(PULWMOE?d}J_ zbO8R_uq3tgV~i~tI8#dNIB3%Y;rL;|>o9hC14cmlAjZBK7!f$n4BXxcq&d>lVgz2m zICn(sN*625pry;IKB|yvpry2_x6OjQ!=3#@==_LrXrybHM$AY+MK$VMu~0=KSYi5s zm1(6^mJ|AfmXWR=%$5!#G7r$YV`}b2?ah6y5q)o@t-EX3(oRi6E$bs_dIal0r_%3Y zdvSXts;z$n1J#6f;!2$veO8PLe`iGj{?2-)Q8Ay%Z&8CvMxz=gjH;ARNeyk0p>8Z2 z`kv+ix+#D%Z0+rDq3=>=qg8`<1>VdXM*4@ z*#IiVra)PRWx~p085+Ti#PsbN09cQ-s39aPFSQPgY~4zI*A;1vU;(89iOR8`2@;{B zAL{Ii^t9Q>7aFxSQM5!g0lfl-M!JSN(W8Svb`e^5Hn+9`L20YDf&ml&IV(m5kh7u) zK~2o0AgIpa-ky-yIy6+O2W$dmnpLby9jRc^A*_xrzrj<OOZWXSXNDEchhc(j6pqt1Gw_b9G3NSBax3s%#S zmWaBvX%FIN46}(YO7!V8)R~4hzzv9MpmY#`n|t-`plQ1Yh32+CvAv|M z#NN_1+ycZ7Y^)9gFk#Q2Wmvf>QI4K|RCI=zvQ2m%8JPH%;L17Stvbawfz0jSG-SXu z9qjLFlQ1zxHlvwcEwr`_b#EEKqSik$IJ98|ivq|2fJ(o<9cZ~HBGQEx@ZqijVQ7Sg zHXJt4=B8_7L}(f5;2XQ8O_8paerz22@P`Ct0lV_;m<}rDrnq2?`T^r>aF0rY)2pz( ztsnG&vi;CHzpUK45u`Y%Ql(8uRbFgUS2iW0sh^?(bSb3^ja7MwE@8Tq(WRU&6^4<% zu7;ADV)S)$31TWJQ$;B~Ql<*ZR6&_4C{qPxs;Cf~g2hUX778Ipuo%?@i-T%uwJ0c9 zj7-5|WC|7|Q?Qsal@!y3-j-0N63SG9YJw%GCRjo_N+?GOI4p?)>g>sZ?&8yc6tS?auu2)h})>5rX_)S#0r9Q0P zsqi3`5u{p!RBMoG4Jt1vYf#HNjVcaN#UUy-M43XADMXnfL=X`ohzJoxgo-PqjS=8d1PLTUR91*UB19k&B9I6XNQ4L^ zLIe__5~?IXl>{gU0Yiv@Aw<9sB47v+FoXygLIeyU0)`L)Lx_MOM8FUtU#BTP9k=(tdha0PlBIdGvI7<7av2Mv0N z20es9$AxmxpoeJCLp10i8uSnidWZ%+M1vlpK@ZWOhiK44H0U83^biethz31GgC3$m z4`I-8p&Wz>LWBuIzy$4qvWPN20_EzA3Q$d98u~B|eOSW>fpT>^1*pC-0YI1lAWSGB zOt2KD@ekAZhiUx7H2z^4|1gbzn8rU$;~%E+57YREY5c=9{$U#bFpYnh#y?EsAExmS z)A)x2>a+~hXf3Q!=X{_hptiiGRJ*GaE>NR2wML!!ftoVyeYtiYFRw;>uGQ{!+Pz-8 zPgC!;TD`Sey|r4swOYNkTD`Sey|r4swOYNkTD`Sey|r4swOYNkTD`Sey|r4s8qy5Z zY4z4=_10?v$(?k d0m tbody > tr > td { + vertical-align: top; +} +.book .book-body .page-wrapper .page-inner section.normal table tr.header { + border-top-width: 2px; +} +.book .book-body .page-wrapper .page-inner section.normal table tr:last-child td { + border-bottom-width: 2px; +} +.book .book-body .page-wrapper .page-inner section.normal table td, .book .book-body .page-wrapper .page-inner section.normal table th { + border-left: none; + border-right: none; +} +.book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr, .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr > td { + border-top: none; +} +.book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr:last-child > td { + border-bottom: none; +} + +div.theorem, div.lemma, div.corollary, div.proposition, div.conjecture { + font-style: italic; +} +span.theorem, span.lemma, span.corollary, span.proposition, span.conjecture { + font-style: normal; +} +div.proof>*:last-child:after { + content: "\25a2"; + float: right; +} +.header-section-number { + padding-right: .5em; +} +#header .multi-author { + margin: 0.5em 0 -0.5em 0; +} +#header .date { + margin-top: 1.5em; +} diff --git a/docs/_book/libs/gitbook-2.6.7/css/plugin-clipboard.css b/docs/_book/libs/gitbook-2.6.7/css/plugin-clipboard.css new file mode 100644 index 0000000..6844a70 --- /dev/null +++ b/docs/_book/libs/gitbook-2.6.7/css/plugin-clipboard.css @@ -0,0 +1,18 @@ +div.sourceCode { + position: relative; +} + +.copy-to-clipboard-button { + position: absolute; + right: 0; + top: 0; + visibility: hidden; +} + +.copy-to-clipboard-button:focus { + outline: 0; +} + +div.sourceCode:hover > .copy-to-clipboard-button { + visibility: visible; +} diff --git a/docs/_book/libs/gitbook-2.6.7/css/plugin-fontsettings.css b/docs/_book/libs/gitbook-2.6.7/css/plugin-fontsettings.css new file mode 100644 index 0000000..3fa6f35 --- /dev/null +++ b/docs/_book/libs/gitbook-2.6.7/css/plugin-fontsettings.css @@ -0,0 +1,303 @@ +/* + * Theme 1 + */ +.color-theme-1 .dropdown-menu { + background-color: #111111; + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #111111; +} +.color-theme-1 .dropdown-menu .buttons { + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .button { + color: #afa790; +} +.color-theme-1 .dropdown-menu .button:hover { + color: #73553c; +} +/* + * Theme 2 + */ +.color-theme-2 .dropdown-menu { + background-color: #2d3143; + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #2d3143; +} +.color-theme-2 .dropdown-menu .buttons { + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .button { + color: #62677f; +} +.color-theme-2 .dropdown-menu .button:hover { + color: #f4f4f5; +} +.book .book-header .font-settings .font-enlarge { + line-height: 30px; + font-size: 1.4em; +} +.book .book-header .font-settings .font-reduce { + line-height: 30px; + font-size: 1em; +} + +/* sidebar transition background */ +div.book.color-theme-1 { + background: #f3eacb; +} +.book.color-theme-1 .book-body { + color: #704214; + background: #f3eacb; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section { + background: #f3eacb; +} + +/* sidebar transition background */ +div.book.color-theme-2 { + background: #1c1f2b; +} + +.book.color-theme-2 .book-body { + color: #bdcadb; + background: #1c1f2b; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section { + background: #1c1f2b; +} +.book.font-size-0 .book-body .page-inner section { + font-size: 1.2rem; +} +.book.font-size-1 .book-body .page-inner section { + font-size: 1.4rem; +} +.book.font-size-2 .book-body .page-inner section { + font-size: 1.6rem; +} +.book.font-size-3 .book-body .page-inner section { + font-size: 2.2rem; +} +.book.font-size-4 .book-body .page-inner section { + font-size: 4rem; +} +.book.font-family-0 { + font-family: Georgia, serif; +} +.book.font-family-1 { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal { + color: #704214; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: #c4b29f; + opacity: 0.9; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + background: #fdf6e3; + color: #657b83; + border-color: #f8df9c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #f5d06c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr { + color: inherit; + background-color: #fdf6e3; + border-color: #444444; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #fbeecb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal { + color: #bdcadb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a { + color: #3eb1d0; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #fffffa; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr { + background-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + color: #9dbed8; + background: #2d3143; + border-color: #2d3143; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: #282a39; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr { + color: #b6c2d2; + background-color: #2d3143; + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #35394b; +} +.book.color-theme-1 .book-header { + color: #afa790; + background: transparent; +} +.book.color-theme-1 .book-header .btn { + color: #afa790; +} +.book.color-theme-1 .book-header .btn:hover { + color: #73553c; + background: none; +} +.book.color-theme-1 .book-header h1 { + color: #704214; +} +.book.color-theme-2 .book-header { + color: #7e888b; + background: transparent; +} +.book.color-theme-2 .book-header .btn { + color: #3b3f54; +} +.book.color-theme-2 .book-header .btn:hover { + color: #fffff5; + background: none; +} +.book.color-theme-2 .book-header h1 { + color: #bdcadb; +} +.book.color-theme-1 .book-body .navigation { + color: #afa790; +} +.book.color-theme-1 .book-body .navigation:hover { + color: #73553c; +} +.book.color-theme-2 .book-body .navigation { + color: #383f52; +} +.book.color-theme-2 .book-body .navigation:hover { + color: #fffff5; +} +/* + * Theme 1 + */ +.book.color-theme-1 .book-summary { + color: #afa790; + background: #111111; + border-right: 1px solid rgba(0, 0, 0, 0.07); +} +.book.color-theme-1 .book-summary .book-search { + background: transparent; +} +.book.color-theme-1 .book-summary .book-search input, +.book.color-theme-1 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-1 .book-summary ul.summary li.divider { + background: #7e888b; + box-shadow: none; +} +.book.color-theme-1 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-1 .book-summary ul.summary li.done > a { + color: #877f6a; +} +.book.color-theme-1 .book-summary ul.summary li a, +.book.color-theme-1 .book-summary ul.summary li span { + color: #877f6a; + background: transparent; + font-weight: normal; +} +.book.color-theme-1 .book-summary ul.summary li.active > a, +.book.color-theme-1 .book-summary ul.summary li a:hover { + color: #704214; + background: transparent; + font-weight: normal; +} +/* + * Theme 2 + */ +.book.color-theme-2 .book-summary { + color: #bcc1d2; + background: #2d3143; + border-right: none; +} +.book.color-theme-2 .book-summary .book-search { + background: transparent; +} +.book.color-theme-2 .book-summary .book-search input, +.book.color-theme-2 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-2 .book-summary ul.summary li.divider { + background: #272a3a; + box-shadow: none; +} +.book.color-theme-2 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-2 .book-summary ul.summary li.done > a { + color: #62687f; +} +.book.color-theme-2 .book-summary ul.summary li a, +.book.color-theme-2 .book-summary ul.summary li span { + color: #c1c6d7; + background: transparent; + font-weight: 600; +} +.book.color-theme-2 .book-summary ul.summary li.active > a, +.book.color-theme-2 .book-summary ul.summary li a:hover { + color: #f4f4f5; + background: #252737; + font-weight: 600; +} diff --git a/docs/_book/libs/gitbook-2.6.7/css/plugin-highlight.css b/docs/_book/libs/gitbook-2.6.7/css/plugin-highlight.css new file mode 100644 index 0000000..2aabd3d --- /dev/null +++ b/docs/_book/libs/gitbook-2.6.7/css/plugin-highlight.css @@ -0,0 +1,426 @@ +.book .book-body .page-wrapper .page-inner section.normal pre, +.book .book-body .page-wrapper .page-inner section.normal code { + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #8e908c; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #c82829; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #f5871f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #eab700; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #718c00; +} +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #3e999f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #4271ae; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #8959a8; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: white; + color: #4d4d4c; + padding: 0.5em; +} +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + /* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + /* Solarized Green */ + /* Solarized Cyan */ + /* Solarized Blue */ + /* Solarized Yellow */ + /* Solarized Orange */ + /* Solarized Red */ + /* Solarized Violet */ +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc { + color: #93a1a1; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title { + color: #859900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url { + color: #2aa198; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function { + color: #268bd2; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference { + color: #b58900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header { + color: #cb4b16; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important { + color: #dc322f; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label { + color: #6c71c4; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula { + background: #eee8d5; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + /* Tomorrow Night Bright Theme */ + /* Original theme - https://github.com/chriskempson/tomorrow-theme */ + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #969896; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #d54e53; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #e78c45; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #e7c547; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #b9ca4a; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #70c0b1; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #7aa6da; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #c397d8; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: black; + color: #eaeaea; + padding: 0.5em; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} diff --git a/docs/_book/libs/gitbook-2.6.7/css/plugin-search.css b/docs/_book/libs/gitbook-2.6.7/css/plugin-search.css new file mode 100644 index 0000000..c85e557 --- /dev/null +++ b/docs/_book/libs/gitbook-2.6.7/css/plugin-search.css @@ -0,0 +1,31 @@ +.book .book-summary .book-search { + padding: 6px; + background: transparent; + position: absolute; + top: -50px; + left: 0px; + right: 0px; + transition: top 0.5s ease; +} +.book .book-summary .book-search input, +.book .book-summary .book-search input:focus, +.book .book-summary .book-search input:hover { + width: 100%; + background: transparent; + border: 1px solid #ccc; + box-shadow: none; + outline: none; + line-height: 22px; + padding: 7px 4px; + color: inherit; + box-sizing: border-box; +} +.book.with-search .book-summary .book-search { + top: 0px; +} +.book.with-search .book-summary ul.summary { + top: 50px; +} +.with-search .summary li[data-level] a[href*=".html#"] { + display: none; +} diff --git a/docs/_book/libs/gitbook-2.6.7/css/plugin-table.css b/docs/_book/libs/gitbook-2.6.7/css/plugin-table.css new file mode 100644 index 0000000..7fba1b9 --- /dev/null +++ b/docs/_book/libs/gitbook-2.6.7/css/plugin-table.css @@ -0,0 +1 @@ +.book .book-body .page-wrapper .page-inner section.normal table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}.book .book-body .page-wrapper .page-inner section.normal table td,.book .book-body .page-wrapper .page-inner section.normal table th{padding:6px 13px;border:1px solid #ddd}.book .book-body .page-wrapper .page-inner section.normal table tr{background-color:#fff;border-top:1px solid #ccc}.book .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n){background-color:#f8f8f8}.book .book-body .page-wrapper .page-inner section.normal table th{font-weight:700} diff --git a/docs/_book/libs/gitbook-2.6.7/css/style.css b/docs/_book/libs/gitbook-2.6.7/css/style.css new file mode 100644 index 0000000..cba69b2 --- /dev/null +++ b/docs/_book/libs/gitbook-2.6.7/css/style.css @@ -0,0 +1,13 @@ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */img,legend{border:0}*{-webkit-font-smoothing:antialiased}sub,sup{position:relative}.book .book-body .page-wrapper .page-inner section.normal hr:after,.book-langs-index .inner .languages:after,.buttons:after,.dropdown-menu .buttons:after{clear:both}body,html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}.hidden,[hidden]{display:none}audio:not([controls]){display:none;height:0}html{font-family:sans-serif}body,figure{margin:0}a:focus{outline:dotted thin}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button{margin-right:10px;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}/*! + * Preboot v2 + * + * Open sourced under MIT license by @mdo. + * Some variables and mixins from Bootstrap (Apache 2 license). + */.link-inherit,.link-inherit:focus,.link-inherit:hover{color:inherit}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('./fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} +.book .book-header,.book .book-summary{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.book-langs-index{width:100%;height:100%;padding:40px 0;margin:0;overflow:auto}@media (max-width:600px){.book-langs-index{padding:0}}.book-langs-index .inner{max-width:600px;width:100%;margin:0 auto;padding:30px;background:#fff;border-radius:3px}.book-langs-index .inner h3{margin:0}.book-langs-index .inner .languages{list-style:none;padding:20px 30px;margin-top:20px;border-top:1px solid #eee}.book-langs-index .inner .languages:after,.book-langs-index .inner .languages:before{content:" ";display:table;line-height:0}.book-langs-index .inner .languages li{width:50%;float:left;padding:10px 5px;font-size:16px}@media (max-width:600px){.book-langs-index .inner .languages li{width:100%;max-width:100%}}.book .book-header{overflow:visible;height:50px;padding:0 8px;z-index:2;font-size:.85em;color:#7e888b;background:0 0}.book .book-header .btn{display:block;height:50px;padding:0 15px;border-bottom:none;color:#ccc;text-transform:uppercase;line-height:50px;-webkit-box-shadow:none!important;box-shadow:none!important;position:relative;font-size:14px}.book .book-header .btn:hover{position:relative;text-decoration:none;color:#444;background:0 0}.book .book-header h1{margin:0;font-size:20px;font-weight:200;text-align:center;line-height:50px;opacity:0;padding-left:200px;padding-right:200px;-webkit-transition:opacity .2s ease;-moz-transition:opacity .2s ease;-o-transition:opacity .2s ease;transition:opacity .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book .book-header h1 a,.book .book-header h1 a:hover{color:inherit;text-decoration:none}@media (max-width:1000px){.book .book-header h1{display:none}}.book .book-header h1 i{display:none}.book .book-header:hover h1{opacity:1}.book.is-loading .book-header h1 i{display:inline-block}.book.is-loading .book-header h1 a{display:none}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;z-index:100;display:none;float:left;min-width:160px;padding:0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fafafa;border:1px solid rgba(0,0,0,.07);border-radius:1px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.open{display:block}.dropdown-menu.dropdown-left{left:auto;right:4%}.dropdown-menu.dropdown-left .dropdown-caret{right:14px;left:auto}.dropdown-menu .dropdown-caret{position:absolute;top:-8px;left:14px;width:18px;height:10px;float:left;overflow:hidden}.dropdown-menu .dropdown-caret .caret-inner,.dropdown-menu .dropdown-caret .caret-outer{display:inline-block;top:0;border-left:9px solid transparent;border-right:9px solid transparent;position:absolute}.dropdown-menu .dropdown-caret .caret-outer{border-bottom:9px solid rgba(0,0,0,.1);height:auto;left:0;width:auto;margin-left:-1px}.dropdown-menu .dropdown-caret .caret-inner{margin-top:-1px;top:1px;border-bottom:9px solid #fafafa}.dropdown-menu .buttons{border-bottom:1px solid rgba(0,0,0,.07)}.dropdown-menu .buttons:after,.dropdown-menu .buttons:before{content:" ";display:table;line-height:0}.dropdown-menu .buttons:last-child{border-bottom:none}.dropdown-menu .buttons .button{border:0;background-color:transparent;color:#a6a6a6;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.alert,.dropdown-menu .buttons .button:hover{color:#444}.dropdown-menu .buttons .button:focus,.dropdown-menu .buttons .button:hover{outline:0}.dropdown-menu .buttons .button.size-2{width:50%}.dropdown-menu .buttons .button.size-3{width:33%}.alert{padding:15px;margin-bottom:20px;background:#eee;border-bottom:5px solid #ddd}.alert-success{background:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-info{background:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-danger{background:#f2dede;border-color:#ebccd1;color:#a94442}.alert-warning{background:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.book .book-summary{position:absolute;top:0;left:-300px;bottom:0;z-index:1;width:300px;color:#364149;background:#fafafa;border-right:1px solid rgba(0,0,0,.07);-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book .book-summary ul.summary{position:absolute;top:0;left:0;right:0;bottom:0;overflow-y:auto;list-style:none;margin:0;padding:0;-webkit-transition:top .5s ease;-moz-transition:top .5s ease;-o-transition:top .5s ease;transition:top .5s ease}.book .book-summary ul.summary li{list-style:none}.book .book-summary ul.summary li.divider{height:1px;margin:7px 0;overflow:hidden;background:rgba(0,0,0,.07)}.book .book-summary ul.summary li i.fa-check{display:none;position:absolute;right:9px;top:16px;font-size:9px;color:#3c3}.book .book-summary ul.summary li.done>a{color:#364149;font-weight:400}.book .book-summary ul.summary li.done>a i{display:inline}.book .book-summary ul.summary li a,.book .book-summary ul.summary li span{display:block;padding:10px 15px;border-bottom:none;color:#364149;background:0 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;position:relative}.book .book-summary ul.summary li span{cursor:not-allowed;opacity:.3;filter:alpha(opacity=30)}.book .book-summary ul.summary li a:hover,.book .book-summary ul.summary li.active>a{color:#008cff;background:0 0;text-decoration:none}.book .book-summary ul.summary li ul{padding-left:20px}@media (max-width:600px){.book .book-summary{width:calc(100% - 60px);bottom:0;left:-100%}}.book.with-summary .book-summary{left:0}.book.without-animation .book-summary{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.book{position:relative;width:100%;height:100%}.book .book-body,.book .book-body .body-inner{position:absolute;top:0;left:0;overflow-y:auto;bottom:0;right:0}.book .book-body{color:#000;background:#fff;-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book .book-body .page-wrapper{position:relative;outline:0}.book .book-body .page-wrapper .page-inner{max-width:800px;margin:0 auto;padding:20px 0 40px}.book .book-body .page-wrapper .page-inner section{margin:0;padding:5px 15px;background:#fff;border-radius:2px;line-height:1.7;font-size:1.6rem}.book .book-body .page-wrapper .page-inner .btn-group .btn{border-radius:0;background:#eee;border:0}@media (max-width:1240px){.book .book-body{-webkit-transition:-webkit-transform 250ms ease;-moz-transition:-moz-transform 250ms ease;-o-transition:-o-transform 250ms ease;transition:transform 250ms ease;padding-bottom:20px}.book .book-body .body-inner{position:static;min-height:calc(100% - 50px)}}@media (min-width:600px){.book.with-summary .book-body{left:300px}}@media (max-width:600px){.book.with-summary{overflow:hidden}.book.with-summary .book-body{-webkit-transform:translate(calc(100% - 60px),0);-moz-transform:translate(calc(100% - 60px),0);-ms-transform:translate(calc(100% - 60px),0);-o-transform:translate(calc(100% - 60px),0);transform:translate(calc(100% - 60px),0)}}.book.without-animation .book-body{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.buttons:after,.buttons:before{content:" ";display:table;line-height:0}.button{border:0;background:#eee;color:#666;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.button:hover{color:#444}.button:focus,.button:hover{outline:0}.button.size-2{width:50%}.button.size-3{width:33%}.book .book-body .page-wrapper .page-inner section{display:none}.book .book-body .page-wrapper .page-inner section.normal{display:block;word-wrap:break-word;overflow:hidden;color:#333;line-height:1.7;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}.book .book-body .page-wrapper .page-inner section.normal *{box-sizing:border-box;-webkit-box-sizing:border-box;}.book .book-body .page-wrapper .page-inner section.normal>:first-child{margin-top:0!important}.book .book-body .page-wrapper .page-inner section.normal>:last-child{margin-bottom:0!important}.book .book-body .page-wrapper .page-inner section.normal blockquote,.book .book-body .page-wrapper .page-inner section.normal code,.book .book-body .page-wrapper .page-inner section.normal figure,.book .book-body .page-wrapper .page-inner section.normal img,.book .book-body .page-wrapper .page-inner section.normal pre,.book .book-body .page-wrapper .page-inner section.normal table,.book .book-body .page-wrapper .page-inner section.normal tr{page-break-inside:avoid}.book .book-body .page-wrapper .page-inner section.normal h2,.book .book-body .page-wrapper .page-inner section.normal h3,.book .book-body .page-wrapper .page-inner section.normal h4,.book .book-body .page-wrapper .page-inner section.normal h5,.book .book-body .page-wrapper .page-inner section.normal p{orphans:3;widows:3}.book .book-body .page-wrapper .page-inner section.normal h1,.book .book-body .page-wrapper .page-inner section.normal h2,.book .book-body .page-wrapper .page-inner section.normal h3,.book .book-body .page-wrapper .page-inner section.normal h4,.book .book-body .page-wrapper .page-inner section.normal h5{page-break-after:avoid}.book .book-body .page-wrapper .page-inner section.normal b,.book .book-body .page-wrapper .page-inner section.normal strong{font-weight:700}.book .book-body .page-wrapper .page-inner section.normal em{font-style:italic}.book .book-body .page-wrapper .page-inner section.normal blockquote,.book .book-body .page-wrapper .page-inner section.normal dl,.book .book-body .page-wrapper .page-inner section.normal ol,.book .book-body .page-wrapper .page-inner section.normal p,.book .book-body .page-wrapper .page-inner section.normal table,.book .book-body .page-wrapper .page-inner section.normal ul{margin-top:0;margin-bottom:.85em}.book .book-body .page-wrapper .page-inner section.normal a{color:#4183c4;text-decoration:none;background:0 0}.book .book-body .page-wrapper .page-inner section.normal a:active,.book .book-body .page-wrapper .page-inner section.normal a:focus,.book .book-body .page-wrapper .page-inner section.normal a:hover{outline:0;text-decoration:underline}.book .book-body .page-wrapper .page-inner section.normal img{border:0;max-width:100%}.book .book-body .page-wrapper .page-inner section.normal hr{height:4px;padding:0;margin:1.7em 0;overflow:hidden;background-color:#e7e7e7;border:none}.book .book-body .page-wrapper .page-inner section.normal hr:after,.book .book-body .page-wrapper .page-inner section.normal hr:before{display:table;content:" "}.book .book-body .page-wrapper .page-inner section.normal h1,.book .book-body .page-wrapper .page-inner section.normal h2,.book .book-body .page-wrapper .page-inner section.normal h3,.book .book-body .page-wrapper .page-inner section.normal h4,.book .book-body .page-wrapper .page-inner section.normal h5,.book .book-body .page-wrapper .page-inner section.normal h6{margin-top:1.275em;margin-bottom:.85em;}.book .book-body .page-wrapper .page-inner section.normal h1{font-size:2em}.book .book-body .page-wrapper .page-inner section.normal h2{font-size:1.75em}.book .book-body .page-wrapper .page-inner section.normal h3{font-size:1.5em}.book .book-body .page-wrapper .page-inner section.normal h4{font-size:1.25em}.book .book-body .page-wrapper .page-inner section.normal h5{font-size:1em}.book .book-body .page-wrapper .page-inner section.normal h6{font-size:1em;color:#777}.book .book-body .page-wrapper .page-inner section.normal code,.book .book-body .page-wrapper .page-inner section.normal pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;direction:ltr;border:none;color:inherit}.book .book-body .page-wrapper .page-inner section.normal pre{overflow:auto;word-wrap:normal;margin:0 0 1.275em;padding:.85em 1em;background:#f7f7f7}.book .book-body .page-wrapper .page-inner section.normal pre>code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;font-size:.85em;white-space:pre;background:0 0}.book .book-body .page-wrapper .page-inner section.normal pre>code:after,.book .book-body .page-wrapper .page-inner section.normal pre>code:before{content:normal}.book .book-body .page-wrapper .page-inner section.normal code{padding:.2em;margin:0;font-size:.85em;background-color:#f7f7f7}.book .book-body .page-wrapper .page-inner section.normal code:after,.book .book-body .page-wrapper .page-inner section.normal code:before{letter-spacing:-.2em;content:"\00a0"}.book .book-body .page-wrapper .page-inner section.normal ol,.book .book-body .page-wrapper .page-inner section.normal ul{padding:0 0 0 2em;margin:0 0 .85em}.book .book-body .page-wrapper .page-inner section.normal ol ol,.book .book-body .page-wrapper .page-inner section.normal ol ul,.book .book-body .page-wrapper .page-inner section.normal ul ol,.book .book-body .page-wrapper .page-inner section.normal ul ul{margin-top:0;margin-bottom:0}.book .book-body .page-wrapper .page-inner section.normal ol ol{list-style-type:lower-roman}.book .book-body .page-wrapper .page-inner section.normal blockquote{margin:0 0 .85em;padding:0 15px;opacity:0.75;border-left:4px solid #dcdcdc}.book .book-body .page-wrapper .page-inner section.normal blockquote:first-child{margin-top:0}.book .book-body .page-wrapper .page-inner section.normal blockquote:last-child{margin-bottom:0}.book .book-body .page-wrapper .page-inner section.normal dl{padding:0}.book .book-body .page-wrapper .page-inner section.normal dl dt{padding:0;margin-top:.85em;font-style:italic;font-weight:700}.book .book-body .page-wrapper .page-inner section.normal dl dd{padding:0 .85em;margin-bottom:.85em}.book .book-body .page-wrapper .page-inner section.normal dd{margin-left:0}.book .book-body .page-wrapper .page-inner section.normal .glossary-term{cursor:help;text-decoration:underline}.book .book-body .navigation{position:absolute;top:50px;bottom:0;margin:0;max-width:150px;min-width:90px;display:flex;justify-content:center;align-content:center;flex-direction:column;font-size:40px;color:#ccc;text-align:center;-webkit-transition:all 350ms ease;-moz-transition:all 350ms ease;-o-transition:all 350ms ease;transition:all 350ms ease}.book .book-body .navigation:hover{text-decoration:none;color:#444}.book .book-body .navigation.navigation-next{right:0}.book .book-body .navigation.navigation-prev{left:0}@media (max-width:1240px){.book .book-body .navigation{position:static;top:auto;max-width:50%;width:50%;display:inline-block;float:left}.book .book-body .navigation.navigation-unique{max-width:100%;width:100%}}.book .book-body .page-wrapper .page-inner section.glossary{margin-bottom:40px}.book .book-body .page-wrapper .page-inner section.glossary h2 a,.book .book-body .page-wrapper .page-inner section.glossary h2 a:hover{color:inherit;text-decoration:none}.book .book-body .page-wrapper .page-inner section.glossary .glossary-index{list-style:none;margin:0;padding:0}.book .book-body .page-wrapper .page-inner section.glossary .glossary-index li{display:inline;margin:0 8px;white-space:nowrap}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:auto;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-webkit-touch-callout:none}a{text-decoration:none}body,html{height:100%}html{font-size:62.5%}body{text-rendering:optimizeLegibility;font-smoothing:antialiased;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.2px;text-size-adjust:100%} +.book .book-summary ul.summary li a span {display:inline;padding:initial;overflow:visible;cursor:auto;opacity:1;} +/* show arrow before summary tag as in bootstrap */ +details > summary {display:list-item;cursor:pointer;} diff --git a/docs/_book/libs/gitbook-2.6.7/js/app.min.js b/docs/_book/libs/gitbook-2.6.7/js/app.min.js new file mode 100644 index 0000000..643f1f9 --- /dev/null +++ b/docs/_book/libs/gitbook-2.6.7/js/app.min.js @@ -0,0 +1 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o"'`]/g,reHasEscapedHtml=RegExp(reEscapedHtml.source),reHasUnescapedHtml=RegExp(reUnescapedHtml.source);var reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,reInterpolate=/<%=([\s\S]+?)%>/g;var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;var reRegExpChars=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reComboMark=/[\u0300-\u036f\ufe20-\ufe23]/g;var reEscapeChar=/\\(\\)?/g;var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reFlags=/\w*$/;var reHasHexPrefix=/^0[xX]/;var reIsHostCtor=/^\[object .+?Constructor\]$/;var reIsUint=/^\d+$/;var reLatin1=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g;var reNoMatch=/($^)/;var reUnescapedString=/['\n\r\u2028\u2029\\]/g;var reWords=function(){var upper="[A-Z\\xc0-\\xd6\\xd8-\\xde]",lower="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(upper+"+(?="+upper+lower+")|"+upper+"?"+lower+"|"+upper+"+|[0-9]+","g")}();var contextProps=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"];var templateCounter=-1;var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=false;var deburredLetters={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"};var htmlEscapes={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};var htmlUnescapes={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"};var objectTypes={function:true,object:true};var regexpEscapes={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"};var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports;var freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module;var freeGlobal=freeExports&&freeModule&&typeof global=="object"&&global&&global.Object&&global;var freeSelf=objectTypes[typeof self]&&self&&self.Object&&self;var freeWindow=objectTypes[typeof window]&&window&&window.Object&&window;var moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports;var root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this;function baseCompareAscending(value,other){if(value!==other){var valIsNull=value===null,valIsUndef=value===undefined,valIsReflexive=value===value;var othIsNull=other===null,othIsUndef=other===undefined,othIsReflexive=other===other;if(value>other&&!othIsNull||!valIsReflexive||valIsNull&&!othIsUndef&&othIsReflexive||valIsUndef&&othIsReflexive){return 1}if(value-1){}return index}function charsRightIndex(string,chars){var index=string.length;while(index--&&chars.indexOf(string.charAt(index))>-1){}return index}function compareAscending(object,other){return baseCompareAscending(object.criteria,other.criteria)||object.index-other.index}function compareMultiple(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;while(++index=ordersLength){return result}var order=orders[index];return result*(order==="asc"||order===true?1:-1)}}return object.index-other.index}function deburrLetter(letter){return deburredLetters[letter]}function escapeHtmlChar(chr){return htmlEscapes[chr]}function escapeRegExpChar(chr,leadingChar,whitespaceChar){if(leadingChar){chr=regexpEscapes[chr]}else if(whitespaceChar){chr=stringEscapes[chr]}return"\\"+chr}function escapeStringChar(chr){return"\\"+stringEscapes[chr]}function indexOfNaN(array,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?0:-1);while(fromRight?index--:++index=9&&charCode<=13)||charCode==32||charCode==160||charCode==5760||charCode==6158||charCode>=8192&&(charCode<=8202||charCode==8232||charCode==8233||charCode==8239||charCode==8287||charCode==12288||charCode==65279)}function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=-1,result=[];while(++index>>1;var MAX_SAFE_INTEGER=9007199254740991;var metaMap=WeakMap&&new WeakMap;var realNames={};function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper){return value}if(hasOwnProperty.call(value,"__chain__")&&hasOwnProperty.call(value,"__wrapped__")){return wrapperClone(value)}}return new LodashWrapper(value)}function baseLodash(){}function LodashWrapper(value,chainAll,actions){this.__wrapped__=value;this.__actions__=actions||[];this.__chain__=!!chainAll}var support=lodash.support={};lodash.templateSettings={escape:reEscape,evaluate:reEvaluate,interpolate:reInterpolate,variable:"",imports:{_:lodash}};function LazyWrapper(value){this.__wrapped__=value;this.__actions__=[];this.__dir__=1;this.__filtered__=false;this.__iteratees__=[];this.__takeCount__=POSITIVE_INFINITY;this.__views__=[]}function lazyClone(){var result=new LazyWrapper(this.__wrapped__);result.__actions__=arrayCopy(this.__actions__);result.__dir__=this.__dir__;result.__filtered__=this.__filtered__;result.__iteratees__=arrayCopy(this.__iteratees__);result.__takeCount__=this.__takeCount__;result.__views__=arrayCopy(this.__views__);return result}function lazyReverse(){if(this.__filtered__){var result=new LazyWrapper(this);result.__dir__=-1;result.__filtered__=true}else{result=this.clone();result.__dir__*=-1}return result}function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||arrLength=LARGE_ARRAY_SIZE?createCache(values):null,valuesLength=values.length;if(cache){indexOf=cacheIndexOf;isCommon=false;values=cache}outer:while(++indexlength?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end>>>0;start>>>=0;while(startlength?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result=Array(length);while(++index=LARGE_ARRAY_SIZE,seen=isLarge?createCache():null,result=[];if(seen){indexOf=cacheIndexOf;isCommon=false}else{isLarge=false;seen=iteratee?[]:result}outer:while(++index>>1,computed=array[mid];if((retHighest?computed<=value:computed2?sources[length-2]:undefined,guard=length>2?sources[2]:undefined,thisArg=length>1?sources[length-1]:undefined;if(typeof customizer=="function"){customizer=bindCallback(customizer,thisArg,5);length-=2}else{customizer=typeof thisArg=="function"?thisArg:undefined;length-=customizer?1:0}if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}while(++index-1?collection[index]:undefined}return baseFind(collection,predicate,eachFunc)}}function createFindIndex(fromRight){return function(array,predicate,thisArg){if(!(array&&array.length)){return-1}predicate=getCallback(predicate,thisArg,3);return baseFindIndex(array,predicate,fromRight)}}function createFindKey(objectFunc){return function(object,predicate,thisArg){predicate=getCallback(predicate,thisArg,3);return baseFind(object,predicate,objectFunc,true)}}function createFlow(fromRight){return function(){var wrapper,length=arguments.length,index=fromRight?length:-1,leftIndex=0,funcs=Array(length);while(fromRight?index--:++index=LARGE_ARRAY_SIZE){return wrapper.plant(value).value()}var index=0,result=length?funcs[index].apply(this,args):value;while(++index=length||!nativeIsFinite(length)){return""}var padLength=length-strLength;chars=chars==null?" ":chars+"";return repeat(chars,nativeCeil(padLength/chars.length)).slice(0,padLength)}function createPartialWrapper(func,bitmask,thisArg,partials){var isBind=bitmask&BIND_FLAG,Ctor=createCtorWrapper(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength);while(++leftIndexarrLength)){return false}while(++index-1&&value%1==0&&value-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isStrictComparable(value){return value===value&&!isObject(value)}function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask0){if(++count>=HOT_COUNT){return key}}else{count=0}return baseSetData(key,value)}}();function shimKeys(object){var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length;var allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object));var index=-1,result=[];while(++index=120?createCache(othIndex&&value):null}var array=arrays[0],index=-1,length=array?array.length:0,seen=caches[0];outer:while(++index-1){splice.call(array,fromIndex,1)}}return array}var pullAt=restParam(function(array,indexes){indexes=baseFlatten(indexes);var result=baseAt(array,indexes);basePullAt(array,indexes.sort(baseCompareAscending));return result});function remove(array,predicate,thisArg){var result=[];if(!(array&&array.length)){return result}var index=-1,indexes=[],length=array.length;predicate=getCallback(predicate,thisArg,3);while(++index2?arrays[length-2]:undefined,thisArg=length>1?arrays[length-1]:undefined;if(length>2&&typeof iteratee=="function"){length-=2}else{iteratee=length>1&&typeof thisArg=="function"?(--length,thisArg):undefined;thisArg=undefined}arrays.length=length;return unzipWith(arrays,iteratee,thisArg)});function chain(value){var result=lodash(value);result.__chain__=true;return result}function tap(value,interceptor,thisArg){interceptor.call(thisArg,value);return value}function thru(value,interceptor,thisArg){return interceptor.call(thisArg,value)}function wrapperChain(){return chain(this)}function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}var wrapperConcat=restParam(function(values){values=baseFlatten(values);return this.thru(function(array){return arrayConcat(isArray(array)?array:[toObject(array)],values)})});function wrapperPlant(value){var result,parent=this;while(parent instanceof baseLodash){var clone=wrapperClone(parent);if(result){previous.__wrapped__=clone}else{result=clone}var previous=clone;parent=parent.__wrapped__}previous.__wrapped__=value;return result}function wrapperReverse(){var value=this.__wrapped__;var interceptor=function(value){return wrapped&&wrapped.__dir__<0?value:value.reverse()};if(value instanceof LazyWrapper){var wrapped=value;if(this.__actions__.length){wrapped=new LazyWrapper(this)}wrapped=wrapped.reverse();wrapped.__actions__.push({func:thru,args:[interceptor],thisArg:undefined});return new LodashWrapper(wrapped,this.__chain__)}return this.thru(interceptor)}function wrapperToString(){return this.value()+""}function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}var at=restParam(function(collection,props){return baseAt(collection,baseFlatten(props))});var countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?++result[key]:result[key]=1});function every(collection,predicate,thisArg){var func=isArray(collection)?arrayEvery:baseEvery;if(thisArg&&isIterateeCall(collection,predicate,thisArg)){predicate=undefined}if(typeof predicate!="function"||thisArg!==undefined){predicate=getCallback(predicate,thisArg,3)}return func(collection,predicate)}function filter(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,predicate)}var find=createFind(baseEach);var findLast=createFind(baseEachRight,true);function findWhere(collection,source){return find(collection,baseMatches(source))}var forEach=createForEach(arrayEach,baseEach);var forEachRight=createForEach(arrayEachRight,baseEachRight);var groupBy=createAggregator(function(result,value,key){if(hasOwnProperty.call(result,key)){result[key].push(value)}else{result[key]=[value]}});function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;if(!isLength(length)){collection=values(collection);length=collection.length}if(typeof fromIndex!="number"||guard&&isIterateeCall(target,fromIndex,guard)){fromIndex=0}else{fromIndex=fromIndex<0?nativeMax(length+fromIndex,0):fromIndex||0}return typeof collection=="string"||!isArray(collection)&&isString(collection)?fromIndex<=length&&collection.indexOf(target,fromIndex)>-1:!!length&&getIndexOf(collection,target,fromIndex)>-1}var indexBy=createAggregator(function(result,value,key){result[key]=value});var invoke=restParam(function(collection,path,args){var index=-1,isFunc=typeof path=="function",isProp=isKey(path),result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value){var func=isFunc?path:isProp&&value!=null?value[path]:undefined;result[++index]=func?func.apply(value,args):invokePath(value,path,args)});return result});function map(collection,iteratee,thisArg){var func=isArray(collection)?arrayMap:baseMap;iteratee=getCallback(iteratee,thisArg,3);return func(collection,iteratee)}var partition=createAggregator(function(result,value,key){result[key?0:1].push(value)},function(){return[[],[]]});function pluck(collection,path){return map(collection,property(path))}var reduce=createReduce(arrayReduce,baseEach);var reduceRight=createReduce(arrayReduceRight,baseEachRight);function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,function(value,index,collection){return!predicate(value,index,collection)})}function sample(collection,n,guard){if(guard?isIterateeCall(collection,n,guard):n==null){collection=toIterable(collection);var length=collection.length;return length>0?collection[baseRandom(0,length-1)]:undefined}var index=-1,result=toArray(collection),length=result.length,lastIndex=length-1;n=nativeMin(n<0?0:+n||0,length);while(++index0){result=func.apply(this,arguments)}if(n<=1){func=undefined}return result}}var bind=restParam(function(func,thisArg,partials){var bitmask=BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,bind.placeholder);bitmask|=PARTIAL_FLAG}return createWrapper(func,bitmask,thisArg,partials,holders)});var bindAll=restParam(function(object,methodNames){methodNames=methodNames.length?baseFlatten(methodNames):functions(object);var index=-1,length=methodNames.length;while(++indexwait){complete(trailingCall,maxTimeoutId)}else{timeoutId=setTimeout(delayed,remaining)}}function maxDelayed(){complete(trailing,timeoutId)}function debounced(){args=arguments;stamp=now();thisArg=this;trailingCall=trailing&&(timeoutId||!leading);if(maxWait===false){var leadingCall=leading&&!timeoutId}else{if(!maxTimeoutId&&!leading){lastCalled=stamp}var remaining=maxWait-(stamp-lastCalled),isCalled=remaining<=0||remaining>maxWait;if(isCalled){if(maxTimeoutId){maxTimeoutId=clearTimeout(maxTimeoutId)}lastCalled=stamp;result=func.apply(thisArg,args)}else if(!maxTimeoutId){maxTimeoutId=setTimeout(maxDelayed,remaining)}}if(isCalled&&timeoutId){timeoutId=clearTimeout(timeoutId)}else if(!timeoutId&&wait!==maxWait){timeoutId=setTimeout(delayed,wait)}if(leadingCall){isCalled=true;result=func.apply(thisArg,args)}if(isCalled&&!timeoutId&&!maxTimeoutId){args=thisArg=undefined}return result}debounced.cancel=cancel;return debounced}var defer=restParam(function(func,args){return baseDelay(func,1,args)});var delay=restParam(function(func,wait,args){return baseDelay(func,wait,args)});var flow=createFlow();var flowRight=createFlow(true);function memoize(func,resolver){if(typeof func!="function"||resolver&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key)}var result=func.apply(this,args);memoized.cache=cache.set(key,result);return result};memoized.cache=new memoize.Cache;return memoized}var modArgs=restParam(function(func,transforms){transforms=baseFlatten(transforms);if(typeof func!="function"||!arrayEvery(transforms,baseIsFunction)){throw new TypeError(FUNC_ERROR_TEXT)}var length=transforms.length;return restParam(function(args){var index=nativeMin(args.length,length);while(index--){args[index]=transforms[index](args[index])}return func.apply(this,args)})});function negate(predicate){if(typeof predicate!="function"){throw new TypeError(FUNC_ERROR_TEXT)}return function(){return!predicate.apply(this,arguments)}}function once(func){return before(2,func)}var partial=createPartial(PARTIAL_FLAG);var partialRight=createPartial(PARTIAL_RIGHT_FLAG);var rearg=restParam(function(func,indexes){return createWrapper(func,REARG_FLAG,undefined,undefined,undefined,baseFlatten(indexes))});function restParam(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}start=nativeMax(start===undefined?func.length-1:+start||0,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);while(++indexother}function gte(value,other){return value>=other}function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")}var isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};function isBoolean(value){return value===true||value===false||isObjectLike(value)&&objToString.call(value)==boolTag}function isDate(value){return isObjectLike(value)&&objToString.call(value)==dateTag}function isElement(value){return!!value&&value.nodeType===1&&isObjectLike(value)&&!isPlainObject(value)}function isEmpty(value){if(value==null){return true}if(isArrayLike(value)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))){return!value.length}return!keys(value).length}function isEqual(value,other,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;var result=customizer?customizer(value,other):undefined;return result===undefined?baseIsEqual(value,other,customizer):!!result}function isError(value){return isObjectLike(value)&&typeof value.message=="string"&&objToString.call(value)==errorTag}function isFinite(value){return typeof value=="number"&&nativeIsFinite(value)}function isFunction(value){return isObject(value)&&objToString.call(value)==funcTag}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isMatch(object,source,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;return baseIsMatch(object,getMatchData(source),customizer)}function isNaN(value){return isNumber(value)&&value!=+value}function isNative(value){if(value==null){return false}if(isFunction(value)){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function isNull(value){return value===null}function isNumber(value){return typeof value=="number"||isObjectLike(value)&&objToString.call(value)==numberTag}function isPlainObject(value){var Ctor;if(!(isObjectLike(value)&&objToString.call(value)==objectTag&&!isArguments(value))||!hasOwnProperty.call(value,"constructor")&&(Ctor=value.constructor,typeof Ctor=="function"&&!(Ctor instanceof Ctor))){return false}var result;baseForIn(value,function(subValue,key){result=key});return result===undefined||hasOwnProperty.call(value,result)}function isRegExp(value){return isObject(value)&&objToString.call(value)==regexpTag}function isString(value){return typeof value=="string"||isObjectLike(value)&&objToString.call(value)==stringTag}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}function isUndefined(value){return value===undefined}function lt(value,other){return value0;while(++index=nativeMin(start,end)&&value=0&&string.indexOf(target,position)==position}function escape(string){string=baseToString(string);return string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,escapeRegExpChar):string||"(?:)"}var kebabCase=createCompounder(function(result,word,index){return result+(index?"-":"")+word.toLowerCase()});function pad(string,length,chars){string=baseToString(string);length=+length;var strLength=string.length;if(strLength>=length||!nativeIsFinite(length)){return string}var mid=(length-strLength)/2,leftLength=nativeFloor(mid),rightLength=nativeCeil(mid);chars=createPadding("",rightLength,chars);return chars.slice(0,leftLength)+string+chars}var padLeft=createPadDir();var padRight=createPadDir(true);function parseInt(string,radix,guard){if(guard?isIterateeCall(string,radix,guard):radix==null){radix=0}else if(radix){radix=+radix}string=trim(string);return nativeParseInt(string,radix||(reHasHexPrefix.test(string)?16:10))}function repeat(string,n){var result="";string=baseToString(string);n=+n;if(n<1||!string||!nativeIsFinite(n)){return result}do{if(n%2){result+=string}n=nativeFloor(n/2);string+=string}while(n);return result}var snakeCase=createCompounder(function(result,word,index){return result+(index?"_":"")+word.toLowerCase()});var startCase=createCompounder(function(result,word,index){return result+(index?" ":"")+(word.charAt(0).toUpperCase()+word.slice(1))});function startsWith(string,target,position){string=baseToString(string);position=position==null?0:nativeMin(position<0?0:+position||0,string.length);return string.lastIndexOf(target,position)==position}function template(string,options,otherOptions){var settings=lodash.templateSettings;if(otherOptions&&isIterateeCall(string,options,otherOptions)){options=otherOptions=undefined}string=baseToString(string);options=assignWith(baseAssign({},otherOptions||options),settings,assignOwnDefaults);var imports=assignWith(baseAssign({},options.imports),settings.imports,assignOwnDefaults),importsKeys=keys(imports),importsValues=baseValues(imports,importsKeys);var isEscaping,isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");var sourceURL="//# sourceURL="+("sourceURL"in options?options.sourceURL:"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source+=string.slice(index,offset).replace(reUnescapedString,escapeStringChar);if(escapeValue){isEscaping=true;source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;return match});source+="';\n";var variable=options.variable;if(!variable){source="with (obj) {\n"+source+"\n}\n"}source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result=attempt(function(){return Function(importsKeys,sourceURL+"return "+source).apply(undefined,importsValues)});result.source=source;if(isError(result)){throw result}return result}function trim(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string),trimmedRightIndex(string)+1)}chars=chars+"";return string.slice(charsLeftIndex(string,chars),charsRightIndex(string,chars)+1)}function trimLeft(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string))}return string.slice(charsLeftIndex(string,chars+""))}function trimRight(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(0,trimmedRightIndex(string)+1)}return string.slice(0,charsRightIndex(string,chars+"")+1)}function trunc(string,options,guard){if(guard&&isIterateeCall(string,options,guard)){options=undefined}var length=DEFAULT_TRUNC_LENGTH,omission=DEFAULT_TRUNC_OMISSION;if(options!=null){if(isObject(options)){var separator="separator"in options?options.separator:separator;length="length"in options?+options.length||0:length;omission="omission"in options?baseToString(options.omission):omission}else{length=+options||0}}string=baseToString(string);if(length>=string.length){return string}var end=length-omission.length;if(end<1){return omission}var result=string.slice(0,end);if(separator==null){return result+omission}if(isRegExp(separator)){if(string.slice(end).search(separator)){var match,newEnd,substring=string.slice(0,end);if(!separator.global){separator=RegExp(separator.source,(reFlags.exec(separator)||"")+"g")}separator.lastIndex=0;while(match=separator.exec(substring)){newEnd=match.index}result=result.slice(0,newEnd==null?end:newEnd)}}else if(string.indexOf(separator,end)!=end){var index=result.lastIndexOf(separator);if(index>-1){result=result.slice(0,index)}}return result+omission}function unescape(string){string=baseToString(string);return string&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string}function words(string,pattern,guard){if(guard&&isIterateeCall(string,pattern,guard)){pattern=undefined}string=baseToString(string);return string.match(pattern||reWords)||[]}var attempt=restParam(function(func,args){try{return func.apply(undefined,args)}catch(e){return isError(e)?e:new Error(e)}});function callback(func,thisArg,guard){if(guard&&isIterateeCall(func,thisArg,guard)){thisArg=undefined}return isObjectLike(func)?matches(func):baseCallback(func,thisArg)}function constant(value){return function(){return value}}function identity(value){return value}function matches(source){return baseMatches(baseClone(source,true))}function matchesProperty(path,srcValue){return baseMatchesProperty(path,baseClone(srcValue,true))}var method=restParam(function(path,args){return function(object){return invokePath(object,path,args)}});var methodOf=restParam(function(object,args){return function(path){return invokePath(object,path,args)}});function mixin(object,source,options){if(options==null){var isObj=isObject(source),props=isObj?keys(source):undefined,methodNames=props&&props.length?baseFunctions(source,props):undefined;if(!(methodNames?methodNames.length:isObj)){methodNames=false;options=source;source=object;object=this}}if(!methodNames){methodNames=baseFunctions(source,keys(source))}var chain=true,index=-1,isFunc=isFunction(object),length=methodNames.length;if(options===false){chain=false}else if(isObject(options)&&"chain"in options){chain=options.chain}while(++index0||end<0)){return new LazyWrapper(result)}if(start<0){result=result.takeRight(-start)}else if(start){result=result.drop(start)}if(end!==undefined){end=+end||0;result=end<0?result.dropRight(-end):result.take(end-start)}return result};LazyWrapper.prototype.takeRightWhile=function(predicate,thisArg){return this.reverse().takeWhile(predicate,thisArg).reverse()};LazyWrapper.prototype.toArray=function(){return this.take(POSITIVE_INFINITY)};baseForOwn(LazyWrapper.prototype,function(func,methodName){var checkIteratee=/^(?:filter|map|reject)|While$/.test(methodName),retUnwrapped=/^(?:first|last)$/.test(methodName),lodashFunc=lodash[retUnwrapped?"take"+(methodName=="last"?"Right":""):methodName];if(!lodashFunc){return}lodash.prototype[methodName]=function(){var args=retUnwrapped?[1]:arguments,chainAll=this.__chain__,value=this.__wrapped__,isHybrid=!!this.__actions__.length,isLazy=value instanceof LazyWrapper,iteratee=args[0],useLazy=isLazy||isArray(value);if(useLazy&&checkIteratee&&typeof iteratee=="function"&&iteratee.length!=1){isLazy=useLazy=false}var interceptor=function(value){return retUnwrapped&&chainAll?lodashFunc(value,1)[0]:lodashFunc.apply(undefined,arrayPush([value],args))};var action={func:thru,args:[interceptor],thisArg:undefined},onlyLazy=isLazy&&!isHybrid;if(retUnwrapped&&!chainAll){if(onlyLazy){value=value.clone();value.__actions__.push(action);return func.call(value)}return lodashFunc.call(undefined,this.value())[0]}if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result=func.apply(value,args);result.__actions__.push(action);return new LodashWrapper(result,chainAll)}return this.thru(interceptor)}});arrayEach(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(methodName){var func=(/^(?:replace|split)$/.test(methodName)?stringProto:arrayProto)[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:join|pop|replace|shift)$/.test(methodName);lodash.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){return func.apply(this.value(),args)}return this[chainName](function(value){return func.apply(value,args)})}});baseForOwn(LazyWrapper.prototype,function(func,methodName){var lodashFunc=lodash[methodName];if(lodashFunc){var key=lodashFunc.name,names=realNames[key]||(realNames[key]=[]);names.push({name:methodName,func:lodashFunc})}});realNames[createHybridWrapper(undefined,BIND_KEY_FLAG).name]=[{name:"wrapper",func:undefined}];LazyWrapper.prototype.clone=lazyClone;LazyWrapper.prototype.reverse=lazyReverse;LazyWrapper.prototype.value=lazyValue;lodash.prototype.chain=wrapperChain;lodash.prototype.commit=wrapperCommit;lodash.prototype.concat=wrapperConcat;lodash.prototype.plant=wrapperPlant;lodash.prototype.reverse=wrapperReverse;lodash.prototype.toString=wrapperToString;lodash.prototype.run=lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=wrapperValue;lodash.prototype.collect=lodash.prototype.map;lodash.prototype.head=lodash.prototype.first;lodash.prototype.select=lodash.prototype.filter;lodash.prototype.tail=lodash.prototype.rest;return lodash}var _=runInContext();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){root._=_;define(function(){return _})}else if(freeExports&&freeModule){if(moduleExports){(freeModule.exports=_)._=_}else{freeExports._=_}}else{root._=_}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],3:[function(require,module,exports){(function(window,document,undefined){var _MAP={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"};var _KEYCODE_MAP={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"};var _SHIFT_MAP={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"};var _SPECIAL_ALIASES={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"};var _REVERSE_MAP;for(var i=1;i<20;++i){_MAP[111+i]="f"+i}for(i=0;i<=9;++i){_MAP[i+96]=i}function _addEvent(object,type,callback){if(object.addEventListener){object.addEventListener(type,callback,false);return}object.attachEvent("on"+type,callback)}function _characterFromEvent(e){if(e.type=="keypress"){var character=String.fromCharCode(e.which);if(!e.shiftKey){character=character.toLowerCase()}return character}if(_MAP[e.which]){return _MAP[e.which]}if(_KEYCODE_MAP[e.which]){return _KEYCODE_MAP[e.which]}return String.fromCharCode(e.which).toLowerCase()}function _modifiersMatch(modifiers1,modifiers2){return modifiers1.sort().join(",")===modifiers2.sort().join(",")}function _eventModifiers(e){var modifiers=[];if(e.shiftKey){modifiers.push("shift")}if(e.altKey){modifiers.push("alt")}if(e.ctrlKey){modifiers.push("ctrl")}if(e.metaKey){modifiers.push("meta")}return modifiers}function _preventDefault(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=false}function _stopPropagation(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=true}function _isModifier(key){return key=="shift"||key=="ctrl"||key=="alt"||key=="meta"}function _getReverseMap(){if(!_REVERSE_MAP){_REVERSE_MAP={};for(var key in _MAP){if(key>95&&key<112){continue}if(_MAP.hasOwnProperty(key)){_REVERSE_MAP[_MAP[key]]=key}}}return _REVERSE_MAP}function _pickBestAction(key,modifiers,action){if(!action){action=_getReverseMap()[key]?"keydown":"keypress"}if(action=="keypress"&&modifiers.length){action="keydown"}return action}function _keysFromString(combination){if(combination==="+"){return["+"]}combination=combination.replace(/\+{2}/g,"+plus");return combination.split("+")}function _getKeyInfo(combination,action){var keys;var key;var i;var modifiers=[];keys=_keysFromString(combination);for(i=0;i1){_bindSequence(combination,sequence,callback,action);return}info=_getKeyInfo(combination,action);self._callbacks[info.key]=self._callbacks[info.key]||[];_getMatches(info.key,info.modifiers,{type:info.action},sequenceName,combination,level);self._callbacks[info.key][sequenceName?"unshift":"push"]({callback:callback,modifiers:info.modifiers,action:info.action,seq:sequenceName,level:level,combo:combination})}self._bindMultiple=function(combinations,callback,action){for(var i=0;i-1){return false}if(_belongsTo(element,self.target)){return false}return element.tagName=="INPUT"||element.tagName=="SELECT"||element.tagName=="TEXTAREA"||element.isContentEditable};Mousetrap.prototype.handleKey=function(){var self=this;return self._handleKey.apply(self,arguments)};Mousetrap.init=function(){var documentMousetrap=Mousetrap(document);for(var method in documentMousetrap){if(method.charAt(0)!=="_"){Mousetrap[method]=function(method){return function(){return documentMousetrap[method].apply(documentMousetrap,arguments)}}(method)}}};Mousetrap.init();window.Mousetrap=Mousetrap;if(typeof module!=="undefined"&&module.exports){module.exports=Mousetrap}if(typeof define==="function"&&define.amd){define(function(){return Mousetrap})}})(window,document)},{}],4:[function(require,module,exports){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var splitPath=function(filename){return splitPathRe.exec(filename).slice(1)};exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=="string"){throw new TypeError("Arguments to path.join must be strings")}return p}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i1){for(var i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw RangeError(errors[type])}function map(array,fn){var length=array.length;var result=[];while(length--){result[length]=fn(array[length])}return result}function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter=55296&&value<=56319&&counter65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digitfloor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j=n&¤tValuefloor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;jmaxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q0&&len>maxKeys){len=maxKeys}for(var i=0;i=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],8:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var rest=url;rest=rest.trim();var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto;rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes=rest.substr(0,2)==="//";if(slashes&&!(proto&&hostlessProtocol[proto])){rest=rest.substr(2);this.slashes=true}}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){var hostEnd=-1;for(var i=0;i127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){var domainArray=this.hostname.split(".");var newOut=[];for(var i=0;i0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!isNull(result.pathname)||!isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last=="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!isNull(result.pathname)||!isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host};function isString(arg){return typeof arg==="string"}function isObject(arg){return typeof arg==="object"&&arg!==null}function isNull(arg){return arg===null}function isNullOrUndefined(arg){return arg==null}},{punycode:6,querystring:9}],11:[function(require,module,exports){var $=require("jquery");function toggleDropdown(e){var $dropdown=$(e.currentTarget).parent().find(".dropdown-menu");$dropdown.toggleClass("open");e.stopPropagation();e.preventDefault()}function closeDropdown(e){$(".dropdown-menu").removeClass("open")}function init(){$(document).on("click",".toggle-dropdown",toggleDropdown);$(document).on("click",".dropdown-menu",function(e){e.stopPropagation()});$(document).on("click",closeDropdown)}module.exports={init:init}},{jquery:1}],12:[function(require,module,exports){var $=require("jquery");module.exports=$({})},{jquery:1}],13:[function(require,module,exports){var $=require("jquery");var _=require("lodash");var storage=require("./storage");var dropdown=require("./dropdown");var events=require("./events");var state=require("./state");var keyboard=require("./keyboard");var navigation=require("./navigation");var sidebar=require("./sidebar");var toolbar=require("./toolbar");function start(config){sidebar.init();keyboard.init();dropdown.init();navigation.init();toolbar.createButton({index:0,icon:"fa fa-align-justify",label:"Toggle Sidebar",onClick:function(e){e.preventDefault();sidebar.toggle()}});events.trigger("start",config);navigation.notify()}var gitbook={start:start,events:events,state:state,toolbar:toolbar,sidebar:sidebar,storage:storage,keyboard:keyboard};var MODULES={gitbook:gitbook,jquery:$,lodash:_};window.gitbook=gitbook;window.$=$;window.jQuery=$;gitbook.require=function(mods,fn){mods=_.map(mods,function(mod){mod=mod.toLowerCase();if(!MODULES[mod]){throw new Error("GitBook module "+mod+" doesn't exist")}return MODULES[mod]});fn.apply(null,mods)};module.exports={}},{"./dropdown":11,"./events":12,"./keyboard":14,"./navigation":16,"./sidebar":18,"./state":19,"./storage":20,"./toolbar":21,jquery:1,lodash:2}],14:[function(require,module,exports){var Mousetrap=require("mousetrap");var navigation=require("./navigation");var sidebar=require("./sidebar");function bindShortcut(keys,fn){Mousetrap.bind(keys,function(e){fn();return false})}function init(){bindShortcut(["right"],function(e){navigation.goNext()});bindShortcut(["left"],function(e){navigation.goPrev()});bindShortcut(["s"],function(e){sidebar.toggle()})}module.exports={init:init,bind:bindShortcut}},{"./navigation":16,"./sidebar":18,mousetrap:3}],15:[function(require,module,exports){var state=require("./state");function showLoading(p){state.$book.addClass("is-loading");p.always(function(){state.$book.removeClass("is-loading")});return p}module.exports={show:showLoading}},{"./state":19}],16:[function(require,module,exports){var $=require("jquery");var url=require("url");var events=require("./events");var state=require("./state");var loading=require("./loading");var usePushState=typeof history.pushState!=="undefined";function handleNavigation(relativeUrl,push){var uri=url.resolve(window.location.pathname,relativeUrl);notifyPageChange();location.href=relativeUrl;return}function updateNavigationPosition(){var bodyInnerWidth,pageWrapperWidth;bodyInnerWidth=parseInt($(".body-inner").css("width"),10);pageWrapperWidth=parseInt($(".page-wrapper").css("width"),10);$(".navigation-next").css("margin-right",bodyInnerWidth-pageWrapperWidth+"px")}function notifyPageChange(){events.trigger("page.change")}function preparePage(notify){var $bookBody=$(".book-body");var $bookInner=$bookBody.find(".body-inner");var $pageWrapper=$bookInner.find(".page-wrapper");updateNavigationPosition();$bookInner.scrollTop(0);$bookBody.scrollTop(0);if(notify!==false)notifyPageChange()}function isLeftClickEvent(e){return e.button===0}function isModifiedEvent(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function handlePagination(e){if(isModifiedEvent(e)||!isLeftClickEvent(e)){return}e.stopPropagation();e.preventDefault();var url=$(this).attr("href");if(url)handleNavigation(url,true)}function goNext(){var url=$(".navigation-next").attr("href");if(url)handleNavigation(url,true)}function goPrev(){var url=$(".navigation-prev").attr("href");if(url)handleNavigation(url,true)}function init(){$.ajaxSetup({});if(location.protocol!=="file:"){history.replaceState({path:window.location.href},"")}window.onpopstate=function(event){if(event.state===null){return}return handleNavigation(event.state.path,false)};$(document).on("click",".navigation-prev",handlePagination);$(document).on("click",".navigation-next",handlePagination);$(document).on("click",".summary [data-path] a",handlePagination);$(window).resize(updateNavigationPosition);preparePage(false)}module.exports={init:init,goNext:goNext,goPrev:goPrev,notify:notifyPageChange}},{"./events":12,"./loading":15,"./state":19,jquery:1,url:10}],17:[function(require,module,exports){module.exports={isMobile:function(){return document.body.clientWidth<=600}}},{}],18:[function(require,module,exports){var $=require("jquery");var _=require("lodash");var storage=require("./storage");var platform=require("./platform");var state=require("./state");function toggleSidebar(_state,animation){if(state!=null&&isOpen()==_state)return;if(animation==null)animation=true;state.$book.toggleClass("without-animation",!animation);state.$book.toggleClass("with-summary",_state);storage.set("sidebar",isOpen())}function isOpen(){return state.$book.hasClass("with-summary")}function init(){if(platform.isMobile()){toggleSidebar(false,false)}else{toggleSidebar(storage.get("sidebar",true),false)}$(document).on("click",".book-summary li.chapter a",function(e){if(platform.isMobile())toggleSidebar(false,false)})}function filterSummary(paths){var $summary=$(".book-summary");$summary.find("li").each(function(){var path=$(this).data("path");var st=paths==null||_.contains(paths,path);$(this).toggle(st);if(st)$(this).parents("li").show()})}module.exports={init:init,isOpen:isOpen,toggle:toggleSidebar,filter:filterSummary}},{"./platform":17,"./state":19,"./storage":20,jquery:1,lodash:2}],19:[function(require,module,exports){var $=require("jquery");var url=require("url");var path=require("path");var state={};state.update=function(dom){var $book=$(dom.find(".book"));state.$book=$book;state.level=$book.data("level");state.basePath=$book.data("basepath");state.innerLanguage=$book.data("innerlanguage");state.revision=$book.data("revision");state.filepath=$book.data("filepath");state.chapterTitle=$book.data("chapter-title");state.root=url.resolve(location.protocol+"//"+location.host,path.dirname(path.resolve(location.pathname.replace(/\/$/,"/index.html"),state.basePath))).replace(/\/?$/,"/");state.bookRoot=state.innerLanguage?url.resolve(state.root,".."):state.root};state.update($);module.exports=state},{jquery:1,path:4,url:10}],20:[function(require,module,exports){var baseKey="";module.exports={setBaseKey:function(key){baseKey=key},set:function(key,value){key=baseKey+":"+key;try{sessionStorage[key]=JSON.stringify(value)}catch(e){}},get:function(key,def){key=baseKey+":"+key;if(sessionStorage[key]===undefined)return def;try{var v=JSON.parse(sessionStorage[key]);return v==null?def:v}catch(err){return sessionStorage[key]||def}},remove:function(key){key=baseKey+":"+key;sessionStorage.removeItem(key)}}},{}],21:[function(require,module,exports){var $=require("jquery");var _=require("lodash");var events=require("./events");var buttons=[];function insertAt(parent,selector,index,element){var lastIndex=parent.children(selector).length;if(index<0){index=Math.max(0,lastIndex+1+index)}parent.append(element);if(index",{class:"dropdown-menu",html:'

'});if(_.isString(dropdown)){$menu.append(dropdown)}else{var groups=_.map(dropdown,function(group){if(_.isArray(group))return group;else return[group]});_.each(groups,function(group){var $group=$("
",{class:"buttons"});var sizeClass="size-"+group.length;_.each(group,function(btn){btn=_.defaults(btn||{},{text:"",className:"",onClick:defaultOnClick});var $btn=$("'; + var clipboard; + + gitbook.events.bind("page.change", function() { + + if (!ClipboardJS.isSupported()) return; + + // the page.change event is thrown twice: before and after the page changes + if (clipboard) { + // clipboard is already defined but we are on the same page + if (clipboard._prevPage === window.location.pathname) return; + // clipboard is already defined and url path change + // we can deduct that we are before page changes + clipboard.destroy(); // destroy the previous events listeners + clipboard = undefined; // reset the clipboard object + return; + } + + $(copyButton).prependTo("div.sourceCode"); + + clipboard = new ClipboardJS(".copy-to-clipboard-button", { + text: function(trigger) { + return trigger.parentNode.textContent; + } + }); + + clipboard._prevPage = window.location.pathname + + }); + +}); diff --git a/docs/_book/libs/gitbook-2.6.7/js/plugin-fontsettings.js b/docs/_book/libs/gitbook-2.6.7/js/plugin-fontsettings.js new file mode 100644 index 0000000..a70f0fb --- /dev/null +++ b/docs/_book/libs/gitbook-2.6.7/js/plugin-fontsettings.js @@ -0,0 +1,152 @@ +gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) { + var fontState; + + var THEMES = { + "white": 0, + "sepia": 1, + "night": 2 + }; + + var FAMILY = { + "serif": 0, + "sans": 1 + }; + + // Save current font settings + function saveFontSettings() { + gitbook.storage.set("fontState", fontState); + update(); + } + + // Increase font size + function enlargeFontSize(e) { + e.preventDefault(); + if (fontState.size >= 4) return; + + fontState.size++; + saveFontSettings(); + }; + + // Decrease font size + function reduceFontSize(e) { + e.preventDefault(); + if (fontState.size <= 0) return; + + fontState.size--; + saveFontSettings(); + }; + + // Change font family + function changeFontFamily(index, e) { + e.preventDefault(); + + fontState.family = index; + saveFontSettings(); + }; + + // Change type of color + function changeColorTheme(index, e) { + e.preventDefault(); + + var $book = $(".book"); + + if (fontState.theme !== 0) + $book.removeClass("color-theme-"+fontState.theme); + + fontState.theme = index; + if (fontState.theme !== 0) + $book.addClass("color-theme-"+fontState.theme); + + saveFontSettings(); + }; + + function update() { + var $book = gitbook.state.$book; + + $(".font-settings .font-family-list li").removeClass("active"); + $(".font-settings .font-family-list li:nth-child("+(fontState.family+1)+")").addClass("active"); + + $book[0].className = $book[0].className.replace(/\bfont-\S+/g, ''); + $book.addClass("font-size-"+fontState.size); + $book.addClass("font-family-"+fontState.family); + + if(fontState.theme !== 0) { + $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, ''); + $book.addClass("color-theme-"+fontState.theme); + } + }; + + function init(config) { + var $bookBody, $book; + + //Find DOM elements. + $book = gitbook.state.$book; + $bookBody = $book.find(".book-body"); + + // Instantiate font state object + fontState = gitbook.storage.get("fontState", { + size: config.size || 2, + family: FAMILY[config.family || "sans"], + theme: THEMES[config.theme || "white"] + }); + + update(); + }; + + + gitbook.events.bind("start", function(e, config) { + var opts = config.fontsettings; + if (!opts) return; + + // Create buttons in toolbar + gitbook.toolbar.createButton({ + icon: 'fa fa-font', + label: 'Font Settings', + className: 'font-settings', + dropdown: [ + [ + { + text: 'A', + className: 'font-reduce', + onClick: reduceFontSize + }, + { + text: 'A', + className: 'font-enlarge', + onClick: enlargeFontSize + } + ], + [ + { + text: 'Serif', + onClick: _.partial(changeFontFamily, 0) + }, + { + text: 'Sans', + onClick: _.partial(changeFontFamily, 1) + } + ], + [ + { + text: 'White', + onClick: _.partial(changeColorTheme, 0) + }, + { + text: 'Sepia', + onClick: _.partial(changeColorTheme, 1) + }, + { + text: 'Night', + onClick: _.partial(changeColorTheme, 2) + } + ] + ] + }); + + + // Init current settings + init(opts); + }); +}); + + diff --git a/docs/_book/libs/gitbook-2.6.7/js/plugin-search.js b/docs/_book/libs/gitbook-2.6.7/js/plugin-search.js new file mode 100644 index 0000000..747fcce --- /dev/null +++ b/docs/_book/libs/gitbook-2.6.7/js/plugin-search.js @@ -0,0 +1,270 @@ +gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) { + var index = null; + var fuse = null; + var _search = {engine: 'lunr', opts: {}}; + var $searchInput, $searchLabel, $searchForm; + var $highlighted = [], hi, hiOpts = { className: 'search-highlight' }; + var collapse = false, toc_visible = []; + + function init(config) { + // Instantiate search settings + _search = gitbook.storage.get("search", { + engine: config.search.engine || 'lunr', + opts: config.search.options || {}, + }); + }; + + // Save current search settings + function saveSearchSettings() { + gitbook.storage.set("search", _search); + } + + // Use a specific index + function loadIndex(data) { + // [Yihui] In bookdown, I use a character matrix to store the chapter + // content, and the index is dynamically built on the client side. + // Gitbook prebuilds the index data instead: https://github.com/GitbookIO/plugin-search + // We can certainly do that via R packages V8 and jsonlite, but let's + // see how slow it really is before improving it. On the other hand, + // lunr cannot handle non-English text very well, e.g. the default + // tokenizer cannot deal with Chinese text, so we may want to replace + // lunr with a dumb simple text matching approach. + if (_search.engine === 'lunr') { + index = lunr(function () { + this.ref('url'); + this.field('title', { boost: 10 }); + this.field('body'); + }); + data.map(function(item) { + index.add({ + url: item[0], + title: item[1], + body: item[2] + }); + }); + return; + } + fuse = new Fuse(data.map((_data => { + return { + url: _data[0], + title: _data[1], + body: _data[2] + }; + })), Object.assign( + { + includeScore: true, + threshold: 0.1, + ignoreLocation: true, + keys: ["title", "body"] + }, + _search.opts + )); + } + + // Fetch the search index + function fetchIndex() { + return $.getJSON(gitbook.state.basePath+"/search_index.json") + .then(loadIndex); // [Yihui] we need to use this object later + } + + // Search for a term and return results + function search(q) { + let results = []; + switch (_search.engine) { + case 'fuse': + if (!fuse) return; + results = fuse.search(q).map(function(result) { + var parts = result.item.url.split('#'); + return { + path: parts[0], + hash: parts[1] + }; + }); + break; + case 'lunr': + default: + if (!index) return; + results = _.chain(index.search(q)).map(function(result) { + var parts = result.ref.split("#"); + return { + path: parts[0], + hash: parts[1] + }; + }) + .value(); + } + + // [Yihui] Highlight the search keyword on current page + $highlighted = $('.page-inner') + .unhighlight(hiOpts).highlight(q, hiOpts).find('span.search-highlight'); + scrollToHighlighted(0); + + return results; + } + + // [Yihui] Scroll the chapter body to the i-th highlighted string + function scrollToHighlighted(d) { + var n = $highlighted.length; + hi = hi === undefined ? 0 : hi + d; + // navignate to the previous/next page in the search results if reached the top/bottom + var b = hi < 0; + if (d !== 0 && (b || hi >= n)) { + var path = currentPath(), n2 = toc_visible.length; + if (n2 === 0) return; + for (var i = b ? 0 : n2; (b && i < n2) || (!b && i >= 0); i += b ? 1 : -1) { + if (toc_visible.eq(i).data('path') === path) break; + } + i += b ? -1 : 1; + if (i < 0) i = n2 - 1; + if (i >= n2) i = 0; + var lnk = toc_visible.eq(i).find('a[href$=".html"]'); + if (lnk.length) lnk[0].click(); + return; + } + if (n === 0) return; + var $p = $highlighted.eq(hi); + $p[0].scrollIntoView(); + $highlighted.css('background-color', ''); + // an orange background color on the current item and removed later + $p.css('background-color', 'orange'); + setTimeout(function() { + $p.css('background-color', ''); + }, 2000); + } + + function currentPath() { + var href = window.location.pathname; + href = href.substr(href.lastIndexOf('/') + 1); + return href === '' ? 'index.html' : href; + } + + // Create search form + function createForm(value) { + if ($searchForm) $searchForm.remove(); + if ($searchLabel) $searchLabel.remove(); + if ($searchInput) $searchInput.remove(); + + $searchForm = $('
', { + 'class': 'book-search', + 'role': 'search' + }); + + $searchLabel = $('",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 + + + + + + Chapter 12 Moduły w aplikacjach shiny | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 12 Moduły w aplikacjach shiny

+
+

12.1 Czym jest moduł Shiny

+

Modułem Shiny nazywamy odrębny kawałek aplikacji Shiny. Moduł nie może być wywołany niezależnie od reszty aplikacji. Traktuje się go jako część większej aplikacji lub większego modułu Shiny (moduł może składać się z modułów).

+
+

12.1.1 Dlaczego warto używać modułów Shiny?

+
    +
  • Uproszczenie kodu - moduły pozwalają nam na uporządkowanie złożonego kodu w przypadku dużych i skomplikowanych aplikacji

  • +
  • Własna przestrzeń nazw - w aplikacjach shiny ID obiektów z inputów i outputów pochodzą ze wspólnej przestrzeni nazw. To znaczy, że ID każdego z obiektów w całej aplikacji musi być unikalne. Jako że moduł jest osobną funkcją wywołaną w aplikacji, posiada własną przestrzeń nazw. Wystarczy zatem, że ID obiektów są unikalne wewnątrz modułu.

  • +
  • Recykling - ponieważ moduł Shiny jest niezależną funkcją, może być użyty zarówno wiele razy w jednej aplikacji, jak i w wielu różnych aplikacjach. Dzięki temu można z łatwością przechowywać gotowe fragmenty aplikacji w eRowych pakietach i wykorzystywać je w razie potrzeby.

  • +
+
+
+
+

12.2 Budowa modułu Shiny.

+
    +
  • kawałek UI - funkcja odpowiadająca za User Interface w module Shiny

  • +
  • kawałek serwera - funkcja zawierająca fragment serwera, który jest wykorzystywany w UI

  • +
+
+

12.2.1 Jak używać modułów Shiny?

+

Rozważmy aplikację składającą się z dwóch paneli - każdy z wykresem i danymi dla dwóch rozkładów, otrzymaną za pomocą poniższego kodu:

+
library(shiny)
+library(ggplot2)
+
+ui <- fluidPage(
+  tabsetPanel(
+    #generujemy panel dla rozkładu normalnego
+    tabPanel(title = "Rozkład normalny",
+             tabsetPanel(
+               tabPanel(
+                 title = "Wykres",
+                 numericInput(inputId = "normal_n",
+                              label = "Podaj wielkość próby", 
+                              value = 1000),
+                 plotOutput("normal_plot")
+               ),
+               tabPanel(
+                 title = "Dane",
+                 tableOutput("normal_data")
+               )
+             )
+    ),
+    #generujemy panel dla rozkładu wykładniczego
+    tabPanel(title = "Rozkład wykładniczy",
+             tabsetPanel(
+               tabPanel(
+                 title = "wykres",
+                 numericInput(inputId = "exp_n",
+                              label = "Podaj wielkość próby", 
+                              value = 1000),
+                 plotOutput("exp_plot")
+               ),
+               tabPanel(
+                 title = "Dane",
+                 tableOutput("exp_data")
+               )
+             )
+    )
+  )
+)
+
+server <- function(input, output, session) {
+  #generujemy dane
+  normal_data <- reactive({
+    set.seed(17)
+    data.frame(id = 1:input[["normal_n"]],
+               sample = rnorm(input[["normal_n"]]))
+  })
+  exp_data <- reactive({
+    set.seed(17)
+    data.frame(id = 1:input[["exp_n"]],
+               sample = rnorm(input[["exp_n"]]))
+  })
+  #generujemy tabele
+  output[["normal_data"]] <- renderTable({
+    normal_data()
+  })
+  output[["exp_data"]] <- renderTable({
+    exp_data()
+  })
+  #generuemy wykresy
+  output[["normal_plot"]] <- renderPlot({
+    ggplot(normal_data(), aes(x = sample)) +
+      geom_density()
+  })
+  output[["exp_plot"]] <- renderPlot({
+    ggplot(exp_data(), aes(x = sample)) +
+      geom_density() +
+      xlim(0, 5)
+  })
+}
+shinyApp(ui, server)
+

Aplikacja wygląda następująco:

+

W naszej przestrzeni wykorzystaliśmy nazwy:

+
    +
  • inputy - normal_n, exp_n

  • +
  • outputy - normal_plot, normal_data, exp_plot, exp_data

  • +
+

Co daje razem 6 obiektów. W aplikacji UI zajmuje 36 linijek kodu, a server 29, razem 65 linijek.

+

Zrefaktoryzuemy kod powyższej aplikacji przy użyciu modułów Shiny. Za powtarzające się elementy (tj. panele z wykresem i danymi) będą odpowiedzialne następujące funkcje module_UI oraz module_SERVER (odpowiedniki UI oraz servera dla odrębnego fragmentu aplikacji).

+
module_UI <- function(id) {
+  ns <- NS(id)
+  tagList(
+    tabsetPanel(
+      tabPanel(
+        title = "Wykres",
+        numericInput(inputId = ns("n"),
+                     label = "Podaj wielkość próby", 
+                     value = 1000),
+        plotOutput(ns("plot"))
+      ),
+      tabPanel(title = "Dane",
+               tableOutput(outputId = ns("data"))
+      )
+    )
+  )
+}
+

Na szczególną uwagę w powyższym kodzie zasługuje linijka

+
ns <- NS(id)
+

Za pomocą funkcji NS() tworzymy osobną przestrzeń nazw ID.

+
module_SERVER <- function(id) {
+  moduleServer(id, function(input, output, session) {
+    #generujemy dane
+    data <- reactive({
+      set.seed(17)
+      data.frame(id = 1:input[["n"]],
+                 sample = rnorm(input[["n"]]))
+    })
+    #generujemy wykres
+    output[["plot"]] <- renderPlot({
+      ggplot(data(), aes(x = sample)) +
+        geom_density()
+    })
+    #generujemy tabelę
+    output[["data"]] <- renderTable({
+      data()
+    })
+  })
+}
+

Ostatecznie nasza aplikacja używająca pomocniczego modułu wygląda następująco

+
library(shiny)
+
+ui <- fluidPage(
+  titlePanel("Przykładowe ciągłe rozkłady prawdopodobieństwa"),
+  tabsetPanel(
+    #generujemy panel dla rozkładu normalnego
+    tabPanel(title = "Rozkład normalny",
+             module_UI("norm") 
+    ),
+    #generujemy panel dla rozkładu wykładniczego
+    tabPanel(title = "Rozkład wykładniczy",
+             module_UI("exp") 
+    )
+  )
+)
+
+server <- function(input, output, session) {
+  module_SERVER("norm")
+  module_SERVER("exp")
+}
+
+shinyApp(ui, server)
+

Powyższy kod jest czytelniejszy, krótszy, a także rozwiązuje problem wielu zmiennych.

+ +
+
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/operacje-na-napisach-i-datach.html b/docs/_book/operacje-na-napisach-i-datach.html new file mode 100644 index 0000000..d8bfabd --- /dev/null +++ b/docs/_book/operacje-na-napisach-i-datach.html @@ -0,0 +1,412 @@ + + + + + + + Chapter 9 Operacje na napisach i datach | Dane w formacie wąskim i szerokim. Łączenie tabel danych (join). Operacje na napisach i datach. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + +
+
+ +
+
+

Chapter 9 Operacje na napisach i datach

+

Większość poniższych funkcji pochodzi z pakietu stringi.

+
+

9.1 Operacje na napisach

+
    +
  1. Wyznaczanie długości napisów. +Funkcja stri_lenght() zwraca długości poszczególnych napisów w danym wektorze, a stri_isempty() sprawdza, które napisy są puste -> ’’.

  2. +
  3. Łączenie i powielanie napisów. +Funkcja używana do łączenia kilku wektorów napisów w inny wektor napisów lub nawet w jeden napis, jest stri_paste() i jej warianty.

  4. +
+

Przykład:

+
  x <- LETTERS[1:3]
+    y <- letters[1:3] 
+    z <- '!'
+    stri_paste(x, y, z)
+
## [1] "Aa!" "Bb!" "Cc!"
+
    +
  1. Przycinanie i wypełnianie.
  2. +
+

Funkcja stri_wrap() wstawia znaki nowego wiersza (n), by napis po wyświetleniu np. przy funkcji cat() miał szerokość nie większą, niż podana, jeżeli to możliwe.

+

W przypadku przetwarzania tekstów pochodzących np. z formularzy na stronach internetowych może zachodzić potrzeba usunięcia tzw. białych znaków, np. spacji z początku lub końca napisu. Możemy to zrobić przy użyciu funkcji stri_trim(). Operacja w pewnym sensie odwrotną do tej można wykonać przy użyciu funkcji stri_pad().

+

Przykład:

+
stri_trim('            Mama i tata\n')
+
## [1] "Mama i tata"
+
    +
  1. Formatowanie napisów na podstawie innych obiektów. +Najprostszym sposobem na uzyskanie napisowej reprezentacji danego obiektu jest użycie funkcji as.character().
  2. +
+

Przykład:

+
as.character(list(1L, mean, NULL, pi, FALSE))
+
## [1] "1"                                       "function (x, ...) \nUseMethod(\"mean\")"
+## [3] "NULL"                                    "3.14159265358979"                       
+## [5] "FALSE"
+
x <-data.frame(a=c(TRUE, FALSE, FALSE), b=as.integer(c(1, 2, 3)))
+as.character(x)
+
## [1] "c(TRUE, FALSE, FALSE)" "1:3"
+
    +
  1. Zmiana pojedynczych znaków. +Zmiana poszczególnych znaków na inne przydaje się między innymi na etapie wstępnego przygotowania danych w celu ujednolicenia tekstowych identyfikatorów obiektów, możemy np. zmieniać wielkości wszystkich liter w napisach.
  2. +
+

Przykład:

+
stri_trans_toupper('chcemy duże litery')
+
## [1] "CHCEMY DUŻE LITERY"
+
stri_trans_tolower('ChCemY MałE LiTErY')
+
## [1] "chcemy małe litery"
+
stri_trans_char('zastępowanie znaków', 'ąćęłńóśżź', 'acelnoszz')
+
## [1] "zastepowanie znakow"
+
stri_trans_general('żółć', 'Latin-ASCII')
+
## [1] "zolc"
+
    +
  1. Wyznaczanie podnapisów. +Funkcja stri_sub() zwraca podnapis składający się ze znaków leżących na określonych pozycjach danego napisu.
  2. +
+

Przykład:

+
x <- 'Lasy, pola, pastwiska, koszą traktorem'
+        stri_sub(x, 7)  
+
## [1] "pola, pastwiska, koszą traktorem"
+
+
+

9.2 Operacje na datach

+
    +
  1. Funkcją zwracającą aktualną datę systemową jest Sys.Date(), a Sys.time() aktualny czas systemowy wraz z datą.
  2. +
+

Przykład:

+
(data <- Sys.Date())
+
## [1] "2023-10-12"
+
(czas <- Sys.time())
+
## [1] "2023-10-12 00:09:02 CEST"
+
    +
  1. Operacje arytmetyczne na datach – dodawanie, odejmowanie i porównywanie.
  2. +
+

Przykład:

+
data
+
## [1] "2023-10-12"
+
data-365
+
## [1] "2022-10-12"
+
data+365
+
## [1] "2024-10-11"
+
(d <- data-as.Date('2021-01-01'))
+
## Time difference of 1014 days
+
    +
  1. Do konwersji do napisu może służyć przeciążona wersja metody format(), której wywołanie jest tożsame z wywołaniem funkcji strftime() (ang. string-format-time).
  2. +
+

Przykład:

+
strftime(czas, '%Y-%m-%d %H:%M:%S %Z')  
+
## [1] "2023-10-12 00:09:02 CEST"
+
    +
  1. Do znajdowania “najstarszej” i “najmłodszej” daty używamy funkcji max() oraz min().

  2. +
  3. Do pracy ze strefami czasowymi możemy używać poniższych funkcji:

  4. +
+
    +
  1. force_tz() ustawienie strefy czasowej,
  2. +
  3. with_tz() sprawdzenie daty w innej strefie czasowej.
  4. +
+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/podstawowe-typy-danych.html b/docs/_book/podstawowe-typy-danych.html new file mode 100644 index 0000000..f0bde0b --- /dev/null +++ b/docs/_book/podstawowe-typy-danych.html @@ -0,0 +1,872 @@ + + + + + + + Chapter 2 Podstawowe typy danych | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + +
+
+ +
+
+

Chapter 2 Podstawowe typy danych

+

Język R posiada kilka typów danych, które pokrótce postaramy sie omówić poniżej. Pokażemy ich budowe jak i operacje na nich, przytaczając stosowne przyklady.

+
+

2.1 Liczby

+

Liczby całkowite i rzeczywiste (tutaj separator dziesiętny to kropka). Możemy używać również notacji naukowej. Operacje na liczbach to podstawowe działania matematyczne jak i trochę rozszerzone, ukazane niżej wraz z specjalnymi liczbami.

+
5; 5.5; 5.5e-2; 
+
## [1] 5
+
## [1] 5.5
+
## [1] 0.055
+

Tutaj liczby specjalne,

+
NaN # not a number
+
## [1] NaN
+
Inf # nieskończoność
+
## [1] Inf
+
-Inf # - nieskończoność
+
## [1] -Inf
+

oraz kilka działań na liczbach

+
1 + 1 # podobnie '-' to odejmowanie
+
## [1] 2
+
4/2 # dzielenie, a '*' to mnożenie
+
## [1] 2
+
5 %/% 3 # dzielenie całkowite
+
## [1] 1
+
5 %% 3 # reszta z dzielenia
+
## [1] 2
+
2^3 # potęgowanie
+
## [1] 8
+
2**3 # też potęgowanie
+
## [1] 8
+
sqrt(4) #pierwiastkowanie
+
## [1] 2
+
abs(-1) # wartość bezwzględna
+
## [1] 1
+
+
+

2.2 Łańcuchy znaków

+

Łańcuch znaków to po prostu napi. Napis jest otoczony przez ” lub ’. W napisie możemy umieszczać dowolne znaki, pamiętając że są też znaki specjalne (rozpoczynające się od \ i mające specjalne funkcje). Na napisach istnieje wiele operacji (np. \(\verb+paste()+,\) czyli sklejenie dwóch napisów), lecz je zobaczymy w notatce o napisach.

+
"napis"
+
## [1] "napis"
+
'to też'
+
## [1] "to też"
+
"'a tutaj nawet z bonusem'"
+
## [1] "'a tutaj nawet z bonusem'"
+
# ""a"" to już wbrew intuicji nie jest napis
+cat("i znak \n specjalny, wstawiający nową linie") # cat() wyświetla napis w sposób niesformatowany
+
## i znak 
+##  specjalny, wstawiający nową linie
+
+
+

2.3 Wartości logiczne

+

Logiczna Prawda (\(\verb+TRUE+\) lub \(\verb+T+\)) oraz logiczny Fałsz (\(\verb+FALSE+\) lub \(\verb+F+\)). Na tych obiektach możemy wykonywać operacje logiczne oraz algebraiczne.

+
TRUE & TRUE # operator 'i'
+
## [1] TRUE
+
TRUE | FALSE # operator 'lub'
+
## [1] TRUE
+
1 == 1 # testowanie równości
+
## [1] TRUE
+
1 != 2 # testowanie nierówności
+
## [1] TRUE
+
2*TRUE # TRUE ma wartość 1
+
## [1] 2
+
2*FALSE # FALSE ma wartość 0
+
## [1] 0
+
T ; `T` <- FALSE; T # używając `` możemy zmienić wartość logiczną wyrażenia
+
## [1] FALSE
+
## [1] FALSE
+
+
+

2.4 Wektory

+

Wektor to w R uporządkowany zbiór elementów. Elementy te muszą mieć ten sam typ, także jeśli do wektora trafią elementy z różnym typem (poza NA), to nastąpi konwersja elementów do jednego typu. Proste wektory tworzymy przez polecenie \(\verb+c()+\) i elementy wypisujemy w nawiasie po przecinku. Dodatkowo, element wektora jest traktowany jako jednoelementowy wektor. Wektory liczbowe jak i inne możemy tworzyć za pomocą wbudowanych funkcji do tego przeznaczonych.

+
v <- c(1, 2, 3) #przypisanie wektora do zmiennej
+0:10 # wektor liczbowy
+
##  [1]  0  1  2  3  4  5  6  7  8  9 10
+
seq(from = 0, to = 10, by = 1) # to samo, ale za pomocą seq(), czyli sequance
+
##  [1]  0  1  2  3  4  5  6  7  8  9 10
+
seq(0, 1, length.out = 4) # równe odstępy w 4 liczbowym wektorze
+
## [1] 0.0000000 0.3333333 0.6666667 1.0000000
+
length(v) # zwraca długość vectora
+
## [1] 3
+
# vector(mode, lenght) tworzy wektor dlugosci lenght, a wyrazy tego wektora maja klase mode
+vector("integer", 10) # wektor liczb calkowitych
+
##  [1] 0 0 0 0 0 0 0 0 0 0
+
vector("numeric", 10) # wektor liczb rzeczywistych
+
##  [1] 0 0 0 0 0 0 0 0 0 0
+
vector("character", 10) # wektor slów
+
##  [1] "" "" "" "" "" "" "" "" "" ""
+
rep(v, each = 2) # każdy element v zostanie powtórzony 2 razy
+
## [1] 1 1 2 2 3 3
+
rep(v, times = 2) # v zostanie powtórzony 2 razy
+
## [1] 1 2 3 1 2 3
+
# mały mix tj. tutaj element v traktujemy jako wektor jednoelementowy
+# i powtarzamy times razy
+rep(v, times = 1:3) 
+
## [1] 1 2 2 3 3 3
+
x <- c("a", "A") # wektor napisowy
+v <- "a" # to też
+toupper(x) # zmieni stringi w argumencie na wielkie litery
+
## [1] "A" "A"
+
tolower(x) # zmieni stringi w argumencie na male litery
+
## [1] "a" "a"
+
+
+

2.5 Indeksowanie

+

W R wektory są indeksowane od 1 (a nie od 0 jak w wielu językach programowania!). Aby odwołać się do konkretnego elementu wektora korzystamy z nawiasów kwadratowych \(\verb+[]+.\)

+
letters[3]
+
## [1] "c"
+

Można wybrać więcej niż jeden element, wpisując w nawiasach kwadratowych wektor indeksów.

+
letters[1:10]
+
##  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
+
letters[c(1, 15)]
+
## [1] "a" "o"
+
letters[seq(1, 20, by = 2)]
+
##  [1] "a" "c" "e" "g" "i" "k" "m" "o" "q" "s"
+

Jeśli przed wektorem indeksów widnieje znak minus, R zwróci wszystkie elementy wektora z wyjątkiem tych w nawiasie kwadratowym.

+
letters[-(1:10)] # niezbędny nawias wokół 1:10
+
##  [1] "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
+
letters[-c(1, 15)]
+
##  [1] "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
+
letters[-seq(1, 20, by = 2)]
+
##  [1] "b" "d" "f" "h" "j" "l" "n" "p" "r" "t" "u" "v" "w" "x" "y" "z"
+

Pod wybrane indeksy można przypisać nowe wartości.

+
new_letters <- letters
+new_letters[1:5] <- LETTERS[1:5]
+new_letters
+
##  [1] "A" "B" "C" "D" "E" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x"
+## [25] "y" "z"
+

Albo pod każdy wybrany indeks nową wspólną wartość.

+
new_letters[1:5] <- "x"
+new_letters
+
##  [1] "x" "x" "x" "x" "x" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x"
+## [25] "y" "z"
+

Tworząc wektor funkcją \(\verb+c()+,\) możemy nazwać każdy z jego elementów.

+
str_vec_nam <- c("a" = "A", "b" = "B", "c" = "C")
+str_vec_nam
+
##   a   b   c 
+## "A" "B" "C"
+

Może być to użyteczne przy odwoływaniu się do konkretnego elementu wektora, nie trzeba wtedy znać numeru jego indeksu.

+
str_vec_nam["a"]
+
##   a 
+## "A"
+
str_vec_nam[c("a", "c")]
+
##   a   c 
+## "A" "C"
+
str_vec_nam[c("c", "a")]
+
##   c   a 
+## "C" "A"
+

Wektory możemy również indeksować za pomocą wektorów logicznych. Działa to wtedy jak wybieranie tych elementów wektora, które spełniają ustalony warunek.

+
x_ind <- new_letters == "x"
+x_ind
+
##  [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
+## [17] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
+
new_letters[x_ind]
+
## [1] "x" "x" "x" "x" "x" "x"
+
seq_vec <- seq(0, 1, length.out = 10)
+seq_vec[seq_vec < 0.5]
+
## [1] 0.0000000 0.1111111 0.2222222 0.3333333 0.4444444
+

Można oczywiście rozbudowywać wyrażenia logiczne, np. następująco:

+
seq_vec[seq_vec < 0.3 | seq_vec > 0.8]
+
## [1] 0.0000000 0.1111111 0.2222222 0.8888889 1.0000000
+
seq_vec[seq_vec > 0.3 & seq_vec < 0.8]
+
## [1] 0.3333333 0.4444444 0.5555556 0.6666667 0.7777778
+
+
+

2.6 Operacje na wektorach

+

W R domyślnym i naturalnym zachowaniem funkcji na wektorach jest działanie element po elemencie

+
1:10 + seq(0, 1, length.out = 10)
+
##  [1]  1.000000  2.111111  3.222222  4.333333  5.444444  6.555556  7.666667  8.777778  9.888889
+## [10] 11.000000
+
c(2,4,6,8)^(1:4)
+
## [1]    2   16  216 4096
+

W przypadku gdy wektory, na których wykonujemy obliczenia mają różne długości zachodzi recykling, tj. R samoistnie przedłuża krótszy wektor replikując go odpowiednią liczbę razy. Widzimy, że obie poniższe linie kodu dają taki sam efekt.

+
1:10 + 1:2
+
##  [1]  2  4  4  6  6  8  8 10 10 12
+
1:10 + rep(1:2, 5)
+
##  [1]  2  4  4  6  6  8  8 10 10 12
+

Gdy długość dłuższego wektora nie jest wielokrotnością krótszego, recykling także zadziała, jednak R zgłosi warning.

+
1:10 + 1:3
+
## Warning in 1:10 + 1:3: długość dłuszego obiektu nie jest wielokrotnością długości krótszego obiektu
+
##  [1]  2  4  6  5  7  9  8 10 12 11
+
1:10 + 1:3 + 1:2 + 1:5
+
## Warning in 1:10 + 1:3: długość dłuszego obiektu nie jest wielokrotnością długości krótszego obiektu
+
##  [1]  4  8 10 11 13 12 11 15 17 18
+

Na wektorach możemy wykonywać oczywiście inne funkcje poza podstawowymi operacjami arytmetycznymi. Jedną z opcji jest posortowanie wektora.

+
num_vec <- c(3,6,1,9,8,-3,0,102,-5)
+sort(num_vec) # sortowanie rosnące
+
## [1]  -5  -3   0   1   3   6   8   9 102
+
sort(num_vec, decreasing = TRUE) # sortowanie malejące
+
## [1] 102   9   8   6   3   1   0  -3  -5
+

Odwrócić kolejnośc elementów wektora można następująco.

+
rev(num_vec)
+
## [1]  -5 102   0  -3   8   9   1   6   3
+

Oto kilka kolejnych funkcji.

+
sum(num_vec) # suma elementów wektora
+
## [1] 121
+
prod(num_vec) # iloczyn elementów wektora
+
## [1] 0
+
mean(num_vec) # średnia elementów wektora
+
## [1] 13.44444
+

Przy operacjach jak powyższe należy jednak uważać na wektory zawierające “NA”.

+
vec_with_NA <- c(3,6,1,NA)
+sum(vec_with_NA)
+
## [1] NA
+

Aby zsumować wartości z pominięciem “NA” należy dopisać dodatkowy argument funkcji.

+
sum(vec_with_NA, na.rm = TRUE)
+
## [1] 10
+

Analogicznie dla iloczynu i średniej elementów.

+
prod(vec_with_NA)
+
## [1] NA
+
prod(vec_with_NA, na.rm = TRUE)
+
## [1] 18
+
mean(vec_with_NA)
+
## [1] NA
+
mean(vec_with_NA, na.rm = TRUE)
+
## [1] 3.333333
+Lista jest podobna do wektora tj. jest pewnym ciągiem obiektów, tyle że jej elementy mogą mieć różne typy. +
l <- list(1:5)
+#lista z elementami bedacymi liczbami
+
## [[1]]
+## [1] 1 2 3 4 5
+
l2 <- list(zwierze='dog', imie='Max',czyLubiInnePsy = TRUE)
+#lista z elementami bedacymi stringami lub wartosciami logicznymi
+
## $zwierze
+## [1] "dog"
+## 
+## $imie
+## [1] "Max"
+## 
+## $czyLubiInnePsy
+## [1] TRUE
+

Kolejnę różnica pomiedzy wektorem a listą jest możliwość odwoływania się do elementów listy za pomocą nazwy tego elementu i operatora $. Np:

+
# odwolanie do elementu bedacego za pomoca [], 
+# wynikiem takiej operacji jest lista zawierajaca wektor
+l[1]
+
## [[1]]
+## [1] 1 2 3 4 5
+
# aby odwolac sie do konkretnego elementu uzwywamy [[]], na przyklad operacja l[[1]][2] 
+# zwroci drugi element wektora z listy
+ l[[1]][2]
+
## [1] 2
+
# nadpisywanie elementu listy wektorem
+l[[1]] <- c("a", "b", "c")
+# odwolanie do elementu za pomoca nazwy elementu
+l2$zwierze
+
## [1] "dog"
+
l2$imie
+
## [1] "Max"
+
l2$czyLubiInnePsy
+
## [1] TRUE
+

Listy można łączyć oraz modyfikować. Funkcja \(\verb+lapply()+\) to funkcja, która pozwala na wykonanie pewnego konkretnego działania na KAŻDYM elemencie z listy. Na przykład, możemy każdy element chcieć zapisać tylko dużymi literami:

+
lapply(l2,toupper)
+
## $zwierze
+## [1] "DOG"
+## 
+## $imie
+## [1] "MAX"
+## 
+## $czyLubiInnePsy
+## [1] "TRUE"
+

Aby połączyć dwie listy, należy użyć \(\verb+c()+,\) robiąc z dwóch list wektor i przypisując go do nowej zmiennej.

+
l3 <- c(l,l2)
+
## [[1]]
+## [1] "a" "b" "c"
+## 
+## $zwierze
+## [1] "dog"
+## 
+## $imie
+## [1] "Max"
+## 
+## $czyLubiInnePsy
+## [1] TRUE
+

Macierz to obiekt dwuwymiarowy. Składa się z elementów tego samego typu. Tworzy się ją funkcją \(\verb+matrix()+,\) do której podajemy wartości macierzy (zwykle w postaci wektora), liczbę wierszy i kolumn.

+
matrix(data = 1:10, nrow = 2, ncol = 5)
+
##      [,1] [,2] [,3] [,4] [,5]
+## [1,]    1    3    5    7    9
+## [2,]    2    4    6    8   10
+

Widzimy, że R domyślnie wypełnia macierz po kolumnach. Aby wypełnić ją po wierszach ustalamy parametr \(\verb+byrow = TRUE+\)

+
m <- matrix(data = 1:10, nrow = 2, ncol = 5, byrow = TRUE)
+m
+
##      [,1] [,2] [,3] [,4] [,5]
+## [1,]    1    2    3    4    5
+## [2,]    6    7    8    9   10
+

Elementy macierzy wybiera się za pomocą dwóch indeksów - indeksu wiersza i indeksu kolumny umieszczonych w nawiasach kwadaratowych i rozdzielonych przecinkiem.

+
m[2,3]
+
## [1] 8
+

Można również wybrać konkretne wiersze lub kolumny.

+
m[1:2,3:4] # wybiera wiersze 1 i 2 oraz kolumny 3 i 4
+
##      [,1] [,2]
+## [1,]    3    4
+## [2,]    8    9
+
m[2,c(1,4,5)] # wybiera wiersz 2 oraz kolumny 1,4 i 5
+
## [1]  6  9 10
+

Nie podanie indeksu przed przecinkiem oznacza, że chcemy otrzymać wszystkie wiersze. Analogicznie nie podanie indeksu po przecinku oznacza, że chcemy otrzymać wszystkie kolumny.

+
m[,c(1,3)] 
+
##      [,1] [,2]
+## [1,]    1    3
+## [2,]    6    8
+
m[2,]
+
## [1]  6  7  8  9 10
+

Macierze, podobnie jak wektory, możemy także indeksować warunkami logicznymi.

+
# zwraca elementy (w tym wypadku element) z pierwszej kolumny,
+# które są większe od 2
+m[m[,1] > 2, 1]  
+
## [1] 6
+

Można także indeksować macierz inną macierzą o dwóch kolumnach. Zwrócone zostaną wtedy elementy o indeksach będących wierszami tej macierzy.

+
matrix_ind<- matrix(c(1, 2, 2, 3, 2, 4), byrow = TRUE, nrow = 3, ncol = 2)
+m[matrix_ind]  
+
## [1] 2 8 9
+

Na macierzach o tych samych wymiarach możemy wykonywać operacje arytmetyczne. Trzeba zwrócić uwagę, że są one wykonywane element po elemencie (z matematycznego punktu widzenia jest to oczekiwane przy dodawaniu, ale nieoczekiwane przy mnożeniu macierzy).

+
m1 <- matrix(1:4,2,2)
+m1
+
##      [,1] [,2]
+## [1,]    1    3
+## [2,]    2    4
+
m2 <- matrix(2:5,2,2)
+m2
+
##      [,1] [,2]
+## [1,]    2    4
+## [2,]    3    5
+
m1 + m2
+
##      [,1] [,2]
+## [1,]    3    7
+## [2,]    5    9
+
m1 * m2
+
##      [,1] [,2]
+## [1,]    2   12
+## [2,]    6   20
+

Aby wykonać matematyczne mnożenie macierzy należy użyć operatora \(\verb+%*%+.\)

+
m1 %*% m2
+
##      [,1] [,2]
+## [1,]   11   19
+## [2,]   16   28
+Jest to obiekt przechowujący dane w postaci tabeli dwuwymiarowej, którą tworzą wektory o dowolnym typie. Z ramki danych można korzystać jak z macierzy dwuwymiarowej (poprzez korzystanie z \(\verb+[,]+\)), jak i z listy (poprzez korzystanie z $). +
imie <- c("Max", "Reksio","Rex","Luna") #utworzymy ramke z 2 wektorow 
+wiek <- c(2,8,3,11)
+ramka <- data.frame(imie,wiek) 
+ #ramke tworzymy za pomoca polecenia data.frame()
+
##     imie wiek
+## 1    Max    2
+## 2 Reksio    8
+## 3    Rex    3
+## 4   Luna   11
+
#wyswietlanie nazw kolumn
+names(ramka)
+
## [1] "imie" "wiek"
+
#odnoszenie sie do elementu znajdujacego sie w 2. rzedzie i 1. kolumnie
+ramka[2,1]
+
## [1] "Reksio"
+
#pobieranie paru wierszy na raz za pomoca wektora
+ramka[c(1, 2), ]
+
##     imie wiek
+## 1    Max    2
+## 2 Reksio    8
+
#pobieranie wszystkich kolumn dla 1. wiersza
+ramka[1,]
+
##   imie wiek
+## 1  Max    2
+
#pobieranie wszystkich wierszy dla 1. kolumny
+ramka[,1]
+
## [1] "Max"    "Reksio" "Rex"    "Luna"
+
# pierwsza kolumna bez drugiego wiersza
+ramka[-2, 1]
+
## [1] "Max"  "Rex"  "Luna"
+
#pobieranie kolumn/wierszy po nazwie
+ramka$wiek
+
## [1]  2  8  3 11
+
# inny sposób indeksowanie po nazwie
+ramka[, "wiek"]
+
## [1]  2  8  3 11
+
    +
  • Indeksowanie na podstawie zawartości ramki danych
    +Dane z ramki mogą być przez nas “filtrowane” za pomocą []. Na przykład
  • +
+
# psy poniżej 9 roku życia
+ramka[ramka$wiek < 9, ]
+
##     imie wiek
+## 1    Max    2
+## 2 Reksio    8
+## 3    Rex    3
+
#dane tylko dla Reksia
+ramka[ramka$imie == "Reksio", ]
+
##     imie wiek
+## 2 Reksio    8
+
# analogicznie dla wektorów
+wiek[wiek < 9]
+
## [1] 2 8 3
+

Tworząc ramkę danych należy pamiętać o tym, aby wektory danych służące za kolumny były tej samej długości.

+
#zamiana nazw kolumn
+names(ramka) <- c("imie_psa", "wiek_psa")
+
##   imie_psa wiek_psa
+## 1      Max        2
+## 2   Reksio        8
+## 3      Rex        3
+## 4     Luna       11
+

Ramki danych możemy powiększać o dodatkowe wiersze i kolumny, ale typy (dla wierszy) i rozmiary muszą sie zgadzać z typami i rozmiarem ramki danych. Rozpatrzmy poniższy przykład, aby pokazać, jak dodać wiersz i kolumnę za pomocą funkcji \(\verb+cbind()+\) oraz \(\verb+rbind()+\).

+
#dodawanie nowego wiersza
+dodajemy_wiersz <- data.frame(imie_psa ="Quentin", wiek_psa=9)
+#funkcja rbind "skleja" wierszowo argument pierwszy (u nas ramka) z drugim
+ramka <- rbind(ramka,dodajemy_wiersz)
+#dodawanie nowej kolumny 
+czyLubiInnePsy <- c(TRUE,TRUE, FALSE, TRUE, FALSE)
+#funkcja cbind "skleja" kolumnowo argument pierwszy (u nas ramka) z drugim
+ramka <- cbind(ramka,czyLubiInnePsy)
+
##   imie_psa wiek_psa czyLubiInnePsy
+## 1      Max        2           TRUE
+## 2   Reksio        8           TRUE
+## 3      Rex        3          FALSE
+## 4     Luna       11           TRUE
+## 5  Quentin        9          FALSE
+

Możemy rownież dodawać wiersze za pomocą indeksowania, to znaczy przypisywania wartości do konkretnych indeksów ramki:

+
#jako 6. wiersz "wkladamy" nowy wektor
+ramka[6,] <- c("Fanta",0.5,TRUE)
+
##   imie_psa wiek_psa czyLubiInnePsy
+## 1      Max        2           TRUE
+## 2   Reksio        8           TRUE
+## 3      Rex        3          FALSE
+## 4     Luna       11           TRUE
+## 5  Quentin        9          FALSE
+## 6    Fanta      0.5           TRUE
+
# jako 4.kolumne "wkladamy" nowy wektor
+ramka[,4] <- c("Mateusz","Romek","Renata","Leon","Quennie","Filip")
+# nazywamy kolumne 4.
+names(ramka)[4] <- "opiekun_psa"
+
##   imie_psa wiek_psa czyLubiInnePsy opiekun_psa
+## 1      Max        2           TRUE     Mateusz
+## 2   Reksio        8           TRUE       Romek
+## 3      Rex        3          FALSE      Renata
+## 4     Luna       11           TRUE        Leon
+## 5  Quentin        9          FALSE     Quennie
+## 6    Fanta      0.5           TRUE       Filip
+

Analizując nową dla nas ramkę danych, użyteczne okazują się funkcje pozwalające na poznanie właściwości ramki danych. Oto pare z nich:

+
# wymiary ramki (6 wierszy,4 kolumny) mozna sprawdzic za pomoca funkcji dim()
+dim(ramka)
+
## [1] 6 4
+
# aby zobaczyc skrocony opis typow danych zawartych w ramce uzywana jest funkcja str()
+str(ramka)
+
## 'data.frame':    6 obs. of  4 variables:
+##  $ imie_psa      : chr  "Max" "Reksio" "Rex" "Luna" ...
+##  $ wiek_psa      : chr  "2" "8" "3" "11" ...
+##  $ czyLubiInnePsy: chr  "TRUE" "TRUE" "FALSE" "TRUE" ...
+##  $ opiekun_psa   : chr  "Mateusz" "Romek" "Renata" "Leon" ...
+
# aby "podejrzec" pierwsze wiersze ramki danych, wraz naglowkami kolumn uzywana jest funkcja head()
+head(ramka)
+
##   imie_psa wiek_psa czyLubiInnePsy opiekun_psa
+## 1      Max        2           TRUE     Mateusz
+## 2   Reksio        8           TRUE       Romek
+## 3      Rex        3          FALSE      Renata
+## 4     Luna       11           TRUE        Leon
+## 5  Quentin        9          FALSE     Quennie
+## 6    Fanta      0.5           TRUE       Filip
+
# wysietlanie pierwszych n wierszy
+head(ramka,n=2)
+
##   imie_psa wiek_psa czyLubiInnePsy opiekun_psa
+## 1      Max        2           TRUE     Mateusz
+## 2   Reksio        8           TRUE       Romek
+
# wyswietlanie ostatnich n wierszy za pomoca funkcji tail()
+tail(ramka,n=2)
+
##   imie_psa wiek_psa czyLubiInnePsy opiekun_psa
+## 5  Quentin        9          FALSE     Quennie
+## 6    Fanta      0.5           TRUE       Filip
+

Pętli oraz instrukcji warunkowych używamy, kiedy chcemy uniknąć powielania kodu i chcemy zachować jego przejrzystość. Ułatwia to wprowadzanie potencjalnych zmian. Instrukcje opisujące co powinno się zdarzyć należy umieścić w nawiasach \(\verb+{ }+\). Jeśli chcemy wykonać tylko jedną linijke kodu, możemy je opuścić.

+

Umożliwia warunkowe wykonanie kawałka kodu - jeśli warunek zawarty w \(\verb+if+\) jest spełniony, to R przejdzie do zawartej instrukcji. W przeciwnym wypadku wykona polecenie zawarte w \(\verb+else+\), a jeśli go nie ma , to przejdzie do kolejnych pętli. Część \(\verb+else+\) nie jest wymagana, w tym wypadku z góry wiadomo ile razy kod zostanie wykonany.

+

Składnia wygląda następująco:

+
if(warunek)
+{
+  instrukcja_1
+}
+

i jest analogiczna do

+
if(warunek) instrukcja_1
+

Możemy także zapisać

+
if(warunek)
+{
+  instrukcja_1
+  instrukcja_2 
+} else
+  {
+    instrukcja_3
+  }
+

Powiedzmy, że rozpatrujemy liczbe z rozkładu normalnego i sprawdzamy jakiego jest znaku.

+
x_norm <- rnorm(1)
+
+if (x_norm < 0)
+{
+  cat("Liczba", x_norm, "jest ujemna")
+} else
+{
+  cat("Liczba ", x_norm, "jest dodatnia")
+}
+
## Liczba  0.9265532 jest dodatnia
+

Możemy chcieć wykonać różne operacje na tak wylosowanej liczbie. Przykładowo, jeśli będzie ujemna, to zmienić znak, zaokrąglić i zreplikować w wektorze

+
if (x_norm < 0)
+{
+  x_norm <- abs(x_norm)
+  x_wek <- rep(round(x_norm, 2), times = 5)
+} else 
+{
+  x_wek <- "X"
+}
+

i otrzymać X (X oznacza, że wylosowana liczba była dodatnia, a z nią nic nie robimy).

+

Pętla \(\verb+while+\) działa tak długo, dopóki warunek jest spełniony - tzn. do kiedy nie dostaniemy \(\verb+FALSE+\). Warunek należy opisać tak, żeby w pewnym momencie został spełniony - inaczej pętla będzie działać w “nieskończoność”. Często używa sie jej do szukania losowych liczb o pewnych właściwościach.

+

Składnia tej pętli jest następująca:

+
while(warunek)
+{
+  instrukcja_1
+  instrukcja_2 
+}
+

Tutaj przykład wykorzystania, gdy chcemy losować liczby z przedziału [1, 100], dopóki różnica między dwoma kolejnymi nie będzie parzysta

+
i <- 2
+los <- c()
+los[1] <- 0
+roznica <- 1
+while(roznica%%2 != 0)
+{
+  los <- c(los, sample(1:100, 1, replace = TRUE))
+  roznica <- los[i]-los[i-1]
+  i = i+1
+}
+

W ten sposób dostajemy wylosowane liczby: 0, 70, z różnicą między ostatnimi równą 70.

+

Pętla \(\verb+for+\) wygląda następująco:

+
for(iterator in warunek)
+{
+  instrukcja_1
+  instrukcja_2 
+}
+

Ta pętla wykonuje instrukcje określoną ilość razy - tyle ile elementów \(\verb+iterator+\) w zbiorze \(\verb+warunek+\). W warunku możemy mieć liste albo wektor. Po każdym wykonaniu pętli, zmienna \(\verb+iterator+\) przeskakuje do kolejnego elementu warunku.

+

Jeśli chcemy wykonać tylko 1 instrukcje, można zapisać

+
for(iterator in warunek) instrukcja_1
+

Przykładowo, jeśli chcemy elementy ze zbioru [1, 10] podnieść do potęgi, możemy użyć pętli \(\verb+for+\).

+
wynik <-c()
+for (i in 1:10) wynik <- c(wynik, i*i)
+wynik
+
##  [1]   1   4   9  16  25  36  49  64  81 100
+

Możemy także napisać pętle zagnieżdżone, przykładowo do obliczenia wartości w macierzach. W tym wypadku wartością każdego elementu macierzy (3x3) jest iloczyn jego indeksów, co daje następujący wynik

+
macierz <- matrix(nrow=3, ncol=3)
+
+for(i in 1:dim(macierz)[1]) 
+  {
+    for(j in 1:dim(macierz)[2]) 
+      {
+        macierz[i,j] = i*j
+      }
+}
+
+macierz
+
##      [,1] [,2] [,3]
+## [1,]    1    2    3
+## [2,]    2    4    6
+## [3,]    3    6    9
+

Teraz zajmiemy się rodziną funkcji \(\verb+apply+\). Należą do niej takie funkcję jak \(\verb+apply, tapply, sapply, lapply, vapply+\). Wszystkie one pozwalają na wykonanie pewnej operacji na szeregu podzbiorów danych. Operacja, która ma być wykonana określana jest przez argument \(\verb+FUN+\). Funkcje z tej rodziny przyjmują elementy listy \(\verb+(lapply()+)\), elementy wektora \(\verb+(sapply())+\), macierze \(\verb+(apply())+\) oraz podgrup wskazanych przez jedną lub kilka zmiennych \(\verb+(by()+\) i \(\verb+tapply())+\).

+

Zacznijmy od funkcji \(\verb+lapply()+\). Wykonuje funkcję \(\verb+FUN+\) dla wszystkich elementów wektora \(\verb+x+\). Przydatna funkcja zastępująca pętlę \(\verb+for+\). Domyślnie wynikiem działania jest lista, lecz jeżeli w wyniku chcielibyśmy otrzymać wektor, to jednym z rozwiązań jest zamiana listy na wektor funkcją \(\verb+unlist()+\). Oto przykładowe działanie funkcji \(\verb+lapply()+\):

+
x=c(1,2,3,4,5,6,7,8,9,10)
+func=function(x){return(x**3-3*x)}
+lapply(x,func)
+
## [[1]]
+## [1] -2
+## 
+## [[2]]
+## [1] 2
+## 
+## [[3]]
+## [1] 18
+## 
+## [[4]]
+## [1] 52
+## 
+## [[5]]
+## [1] 110
+## 
+## [[6]]
+## [1] 198
+## 
+## [[7]]
+## [1] 322
+## 
+## [[8]]
+## [1] 488
+## 
+## [[9]]
+## [1] 702
+## 
+## [[10]]
+## [1] 970
+

Funkcja \(\verb+sapply+\) jest bardziej przyjazną użytkownikowi wersją \(\verb+lapply+\) zwracającą wektor lub macierz i może przyjmować więcej argumentów, np. \(\verb+sapply(x, f, simplify = FALSE, USE.NAMES = FALSE)+\) zwraca ten sam wynik co \(\verb+lapply(x, f)+\).

+

Funkcja \(\verb+vapply+\) jest podobna do \(\verb+sapply+\), ale ma z góry określony typ zwracanych wartości, a może być również bezpieczniejszy w użyciu, a czasem nawet szybszy.

+

Teraz weźmiemy pod lupe \(\verb+tapply()+\), która to wykonuje funkcję \(\verb+FUN+\) dla podzbiorów wektora \(\verb+x+\) określonego +przez poziomy zmiennej czynnikowej \(\verb+index+\). Przydatna funkcja, gdy chcemy policzyć pewną statystykę w podgrupach, np. +odchylenie standardowe w z wagami. W tym przypadku \(\verb+x+\) będzie wektorem z wagami, \(\verb+index+\) wektorem z płcią a \(\verb+FUN+\) będzie +funkcją sd).

+
x=c(98,67,65,82,55,60,72,81,48,88)
+index=c('M','M','K','M','K','M','M','M','K','M')
+tapply(x,index,sd)
+
##         K         M 
+##  8.544004 12.944938
+

A teraz bardziej zaawansowana werssa funkcji \(\verb+tapply()+\) z tą różnicą, że \(\verb+x+\) może być macierzą lub listą, \(\verb+index+\) może być listą, a wynik tej funkcji jest specyficznie wyświetlany. Jeżeli \(\verb+index+\) jest listą zmiennych czynnikowych, to wartość funkcji \(\verb+FUN+\) będzie wyznaczona dla każdego przecięcia czynników tych zmiennych. Wynik +funkcji \(\verb+by()+\) jest klasy \(\verb+by+\), ale po usunięciu informacji o klasie, np. poprzez użycie funkcji \(\verb+unclass()+\) otrzymujemy zwykłą +macierz. Argument \(\verb+x+\) może być listą lub macierzą, dzięki czemu +do funkcji \(\verb+FUN+\) przekazać można kilka zmiennych – elementów/kolumn listy/macierzy \(\verb+x+\).

+
m1=seq(1:9)
+x=c('a','b','c','a','b','c','a','b','c')
+by(m1,x,mean)
+
## x: a
+## [1] 4
+## ----------------------------------------------------------------------------- 
+## x: b
+## [1] 5
+## ----------------------------------------------------------------------------- 
+## x: c
+## [1] 6
+

Z kolei \(\verb+mapply()+\) to wielowymiarowy odpowiednik funkcji \(\verb+sapply()+\). Argumentami tej funkcji jest funkcja \(\verb+fun+\) oraz kilka (dwa lub więcej) wektorów o tej samej długości. Wynikiem jest wektor, w którym na pozycji \(\verb+i+\)-tej jest wynik funkcji \(\verb+fun+\) wywołanej z \(\verb+i+\)-tych elementów wektorów będących argumentami.

+
a=function(x,y){return(x**y)}
+mapply(a,x=seq(1,101,by=10),y=seq(1:11))
+
##  [1] 1.000000e+00 1.210000e+02 9.261000e+03 9.235210e+05 1.158562e+08 1.759629e+10 3.142743e+12
+##  [8] 6.457535e+14 1.500946e+17 3.894161e+19 1.115668e+22
+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git "a/docs/_book/podstawy-j\304\231zyka-r.html" "b/docs/_book/podstawy-j\304\231zyka-r.html" new file mode 100644 index 0000000..2244fa0 --- /dev/null +++ "b/docs/_book/podstawy-j\304\231zyka-r.html" @@ -0,0 +1,1071 @@ + + + + + + + Chapter 2 Podstawy języka R | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 2 Podstawy języka R

+

Język R posiada kilka typów danych, które pokrótce postaramy sie omówić poniżej. Pokażemy ich budowe jak i operacje na nich, przytaczając stosowne przyklady.

+
+

2.1 Liczby

+

Liczby całkowite i rzeczywiste (tutaj separator dziesiętny to kropka). Możemy używać również notacji naukowej. Operacje na liczbach to podstawowe działania matematyczne jak i trochę rozszerzone, ukazane niżej wraz z specjalnymi liczbami.

+
5; 5.5; 5.5e-2; 
+
## [1] 5
+
## [1] 5.5
+
## [1] 0.055
+

Tutaj liczby specjalne,

+
NaN # not a number
+
## [1] NaN
+
Inf # nieskończoność
+
## [1] Inf
+
-Inf # - nieskończoność
+
## [1] -Inf
+

oraz kilka działań na liczbach

+
1 + 1 # podobnie '-' to odejmowanie
+
## [1] 2
+
4/2 # dzielenie, a '*' to mnożenie
+
## [1] 2
+
5 %/% 3 # dzielenie całkowite
+
## [1] 1
+
5 %% 3 # reszta z dzielenia
+
## [1] 2
+
2^3 # potęgowanie
+
## [1] 8
+
2**3 # też potęgowanie
+
## [1] 8
+
sqrt(4) #pierwiastkowanie
+
## [1] 2
+
abs(-1) # wartość bezwzględna
+
## [1] 1
+
+
+

2.2 Łańcuchy znaków

+

Łańcuch znaków to po prostu napi. Napis jest otoczony przez ” lub ’. W napisie możemy umieszczać dowolne znaki, pamiętając że są też znaki specjalne (rozpoczynające się od \ i mające specjalne funkcje). Na napisach istnieje wiele operacji (np. \(\verb+paste()+,\) czyli sklejenie dwóch napisów), lecz je zobaczymy w notatce o napisach.

+
"napis"
+
## [1] "napis"
+
'to też'
+
## [1] "to też"
+
"'a tutaj nawet z bonusem'"
+
## [1] "'a tutaj nawet z bonusem'"
+
# ""a"" to już wbrew intuicji nie jest napis
+cat("i znak \n specjalny, wstawiający nową linie") # cat() wyświetla napis w sposób niesformatowany
+
## i znak 
+##  specjalny, wstawiający nową linie
+
+
+

2.3 Wartości logiczne

+

Logiczna Prawda (\(\verb+TRUE+\) lub \(\verb+T+\)) oraz logiczny Fałsz (\(\verb+FALSE+\) lub \(\verb+F+\)). Na tych obiektach możemy wykonywać operacje logiczne oraz algebraiczne.

+
TRUE & TRUE # operator 'i'
+
## [1] TRUE
+
TRUE | FALSE # operator 'lub'
+
## [1] TRUE
+
1 == 1 # testowanie równości
+
## [1] TRUE
+
1 != 2 # testowanie nierówności
+
## [1] TRUE
+
2*TRUE # TRUE ma wartość 1
+
## [1] 2
+
2*FALSE # FALSE ma wartość 0
+
## [1] 0
+
T ; `T` <- FALSE; T # używając `` możemy zmienić wartość logiczną wyrażenia
+
## [1] FALSE
+
## [1] FALSE
+
+
+

2.4 Wektory

+

Wektor to w R uporządkowany zbiór elementów. Elementy te muszą mieć ten sam typ, także jeśli do wektora trafią elementy z różnym typem (poza NA), to nastąpi konwersja elementów do jednego typu. Proste wektory tworzymy przez polecenie \(\verb+c()+\) i elementy wypisujemy w nawiasie po przecinku. Dodatkowo, element wektora jest traktowany jako jednoelementowy wektor. Wektory liczbowe jak i inne możemy tworzyć za pomocą wbudowanych funkcji do tego przeznaczonych.

+
v <- c(1, 2, 3) #przypisanie wektora do zmiennej
+0:10 # wektor liczbowy
+
##  [1]  0  1  2  3  4  5  6  7  8  9 10
+
seq(from = 0, to = 10, by = 1) # to samo, ale za pomocą seq(), czyli sequance
+
##  [1]  0  1  2  3  4  5  6  7  8  9 10
+
seq(0, 1, length.out = 4) # równe odstępy w 4 liczbowym wektorze
+
## [1] 0.0000000 0.3333333 0.6666667 1.0000000
+
length(v) # zwraca długość vectora
+
## [1] 3
+
# vector(mode, lenght) tworzy wektor dlugosci lenght, a wyrazy tego wektora maja klase mode
+vector("integer", 10) # wektor liczb calkowitych
+
##  [1] 0 0 0 0 0 0 0 0 0 0
+
vector("numeric", 10) # wektor liczb rzeczywistych
+
##  [1] 0 0 0 0 0 0 0 0 0 0
+
vector("character", 10) # wektor slów
+
##  [1] "" "" "" "" "" "" "" "" "" ""
+
rep(v, each = 2) # każdy element v zostanie powtórzony 2 razy
+
## [1] 1 1 2 2 3 3
+
rep(v, times = 2) # v zostanie powtórzony 2 razy
+
## [1] 1 2 3 1 2 3
+
# mały mix tj. tutaj element v traktujemy jako wektor jednoelementowy
+# i powtarzamy times razy
+rep(v, times = 1:3) 
+
## [1] 1 2 2 3 3 3
+
x <- c("a", "A") # wektor napisowy
+v <- "a" # to też
+toupper(x) # zmieni stringi w argumencie na wielkie litery
+
## [1] "A" "A"
+
tolower(x) # zmieni stringi w argumencie na male litery
+
## [1] "a" "a"
+
+
+

2.5 Indeksowanie

+

W R wektory są indeksowane od 1 (a nie od 0 jak w wielu językach programowania!). Aby odwołać się do konkretnego elementu wektora korzystamy z nawiasów kwadratowych \(\verb+[]+.\)

+
letters[3]
+
## [1] "c"
+

Można wybrać więcej niż jeden element, wpisując w nawiasach kwadratowych wektor indeksów.

+
letters[1:10]
+
##  [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
+
letters[c(1, 15)]
+
## [1] "a" "o"
+
letters[seq(1, 20, by = 2)]
+
##  [1] "a" "c" "e" "g" "i" "k" "m" "o" "q" "s"
+

Jeśli przed wektorem indeksów widnieje znak minus, R zwróci wszystkie elementy wektora z wyjątkiem tych w nawiasie kwadratowym.

+
letters[-(1:10)] # niezbędny nawias wokół 1:10
+
##  [1] "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
+
letters[-c(1, 15)]
+
##  [1] "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"
+
letters[-seq(1, 20, by = 2)]
+
##  [1] "b" "d" "f" "h" "j" "l" "n" "p" "r" "t" "u" "v" "w" "x" "y" "z"
+

Pod wybrane indeksy można przypisać nowe wartości.

+
new_letters <- letters
+new_letters[1:5] <- LETTERS[1:5]
+new_letters
+
##  [1] "A" "B" "C" "D" "E" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y"
+## [26] "z"
+

Albo pod każdy wybrany indeks nową wspólną wartość.

+
new_letters[1:5] <- "x"
+new_letters
+
##  [1] "x" "x" "x" "x" "x" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y"
+## [26] "z"
+

Tworząc wektor funkcją \(\verb+c()+,\) możemy nazwać każdy z jego elementów.

+
str_vec_nam <- c("a" = "A", "b" = "B", "c" = "C")
+str_vec_nam
+
##   a   b   c 
+## "A" "B" "C"
+

Może być to użyteczne przy odwoływaniu się do konkretnego elementu wektora, nie trzeba wtedy znać numeru jego indeksu.

+
str_vec_nam["a"]
+
##   a 
+## "A"
+
str_vec_nam[c("a", "c")]
+
##   a   c 
+## "A" "C"
+
str_vec_nam[c("c", "a")]
+
##   c   a 
+## "C" "A"
+

Wektory możemy również indeksować za pomocą wektorów logicznych. Działa to wtedy jak wybieranie tych elementów wektora, które spełniają ustalony warunek.

+
x_ind <- new_letters == "x"
+x_ind
+
##  [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
+## [17] FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
+
new_letters[x_ind]
+
## [1] "x" "x" "x" "x" "x" "x"
+
seq_vec <- seq(0, 1, length.out = 10)
+seq_vec[seq_vec < 0.5]
+
## [1] 0.0000000 0.1111111 0.2222222 0.3333333 0.4444444
+

Można oczywiście rozbudowywać wyrażenia logiczne, np. następująco:

+
seq_vec[seq_vec < 0.3 | seq_vec > 0.8]
+
## [1] 0.0000000 0.1111111 0.2222222 0.8888889 1.0000000
+
seq_vec[seq_vec > 0.3 & seq_vec < 0.8]
+
## [1] 0.3333333 0.4444444 0.5555556 0.6666667 0.7777778
+
+
+

2.6 Operacje na wektorach

+

W R domyślnym i naturalnym zachowaniem funkcji na wektorach jest działanie element po elemencie

+
1:10 + seq(0, 1, length.out = 10)
+
##  [1]  1.000000  2.111111  3.222222  4.333333  5.444444  6.555556  7.666667  8.777778  9.888889 11.000000
+
c(2,4,6,8)^(1:4)
+
## [1]    2   16  216 4096
+

W przypadku gdy wektory, na których wykonujemy obliczenia mają różne długości zachodzi recykling, tj. R samoistnie przedłuża krótszy wektor replikując go odpowiednią liczbę razy. Widzimy, że obie poniższe linie kodu dają taki sam efekt.

+
1:10 + 1:2
+
##  [1]  2  4  4  6  6  8  8 10 10 12
+
1:10 + rep(1:2, 5)
+
##  [1]  2  4  4  6  6  8  8 10 10 12
+

Gdy długość dłuższego wektora nie jest wielokrotnością krótszego, recykling także zadziała, jednak R zgłosi warning.

+
1:10 + 1:3
+
## Warning in 1:10 + 1:3: długość dłuszego obiektu nie jest wielokrotnością długości krótszego obiektu
+
##  [1]  2  4  6  5  7  9  8 10 12 11
+
1:10 + 1:3 + 1:2 + 1:5
+
## Warning in 1:10 + 1:3: długość dłuszego obiektu nie jest wielokrotnością długości krótszego obiektu
+
##  [1]  4  8 10 11 13 12 11 15 17 18
+

Na wektorach możemy wykonywać oczywiście inne funkcje poza podstawowymi operacjami arytmetycznymi. Jedną z opcji jest posortowanie wektora.

+
num_vec <- c(3,6,1,9,8,-3,0,102,-5)
+sort(num_vec) # sortowanie rosnące
+
## [1]  -5  -3   0   1   3   6   8   9 102
+
sort(num_vec, decreasing = TRUE) # sortowanie malejące
+
## [1] 102   9   8   6   3   1   0  -3  -5
+

Odwrócić kolejnośc elementów wektora można następująco.

+
rev(num_vec)
+
## [1]  -5 102   0  -3   8   9   1   6   3
+

Oto kilka kolejnych funkcji.

+
sum(num_vec) # suma elementów wektora
+
## [1] 121
+
prod(num_vec) # iloczyn elementów wektora
+
## [1] 0
+
mean(num_vec) # średnia elementów wektora
+
## [1] 13.44444
+

Przy operacjach jak powyższe należy jednak uważać na wektory zawierające “NA”.

+
vec_with_NA <- c(3,6,1,NA)
+sum(vec_with_NA)
+
## [1] NA
+

Aby zsumować wartości z pominięciem “NA” należy dopisać dodatkowy argument funkcji.

+
sum(vec_with_NA, na.rm = TRUE)
+
## [1] 10
+

Analogicznie dla iloczynu i średniej elementów.

+
prod(vec_with_NA)
+
## [1] NA
+
prod(vec_with_NA, na.rm = TRUE)
+
## [1] 18
+
mean(vec_with_NA)
+
## [1] NA
+
mean(vec_with_NA, na.rm = TRUE)
+
## [1] 3.333333
+Lista jest podobna do wektora tj. jest pewnym ciągiem obiektów, tyle że jej elementy mogą mieć różne typy. +
l <- list(1:5)
+#lista z elementami bedacymi liczbami
+
## [[1]]
+## [1] 1 2 3 4 5
+
l2 <- list(zwierze='dog', imie='Max',czyLubiInnePsy = TRUE)
+#lista z elementami bedacymi stringami lub wartosciami logicznymi
+
## $zwierze
+## [1] "dog"
+## 
+## $imie
+## [1] "Max"
+## 
+## $czyLubiInnePsy
+## [1] TRUE
+

Kolejnę różnica pomiedzy wektorem a listą jest możliwość odwoływania się do elementów listy za pomocą nazwy tego elementu i operatora $. Np:

+
# odwolanie do elementu bedacego za pomoca [], 
+# wynikiem takiej operacji jest lista zawierajaca wektor
+l[1]
+
## [[1]]
+## [1] 1 2 3 4 5
+
# aby odwolac sie do konkretnego elementu uzwywamy [[]], na przyklad operacja l[[1]][2] 
+# zwroci drugi element wektora z listy
+ l[[1]][2]
+
## [1] 2
+
# nadpisywanie elementu listy wektorem
+l[[1]] <- c("a", "b", "c")
+# odwolanie do elementu za pomoca nazwy elementu
+l2$zwierze
+
## [1] "dog"
+
l2$imie
+
## [1] "Max"
+
l2$czyLubiInnePsy
+
## [1] TRUE
+

Listy można łączyć oraz modyfikować. Funkcja \(\verb+lapply()+\) to funkcja, która pozwala na wykonanie pewnego konkretnego działania na KAŻDYM elemencie z listy. Na przykład, możemy każdy element chcieć zapisać tylko dużymi literami:

+
lapply(l2,toupper)
+
## $zwierze
+## [1] "DOG"
+## 
+## $imie
+## [1] "MAX"
+## 
+## $czyLubiInnePsy
+## [1] "TRUE"
+

Aby połączyć dwie listy, należy użyć \(\verb+c()+,\) robiąc z dwóch list wektor i przypisując go do nowej zmiennej.

+
l3 <- c(l,l2)
+
## [[1]]
+## [1] "a" "b" "c"
+## 
+## $zwierze
+## [1] "dog"
+## 
+## $imie
+## [1] "Max"
+## 
+## $czyLubiInnePsy
+## [1] TRUE
+

Macierz to obiekt dwuwymiarowy. Składa się z elementów tego samego typu. Tworzy się ją funkcją \(\verb+matrix()+,\) do której podajemy wartości macierzy (zwykle w postaci wektora), liczbę wierszy i kolumn.

+
matrix(data = 1:10, nrow = 2, ncol = 5)
+
##      [,1] [,2] [,3] [,4] [,5]
+## [1,]    1    3    5    7    9
+## [2,]    2    4    6    8   10
+

Widzimy, że R domyślnie wypełnia macierz po kolumnach. Aby wypełnić ją po wierszach ustalamy parametr \(\verb+byrow = TRUE+\)

+
m <- matrix(data = 1:10, nrow = 2, ncol = 5, byrow = TRUE)
+m
+
##      [,1] [,2] [,3] [,4] [,5]
+## [1,]    1    2    3    4    5
+## [2,]    6    7    8    9   10
+

Elementy macierzy wybiera się za pomocą dwóch indeksów - indeksu wiersza i indeksu kolumny umieszczonych w nawiasach kwadaratowych i rozdzielonych przecinkiem.

+
m[2,3]
+
## [1] 8
+

Można również wybrać konkretne wiersze lub kolumny.

+
m[1:2,3:4] # wybiera wiersze 1 i 2 oraz kolumny 3 i 4
+
##      [,1] [,2]
+## [1,]    3    4
+## [2,]    8    9
+
m[2,c(1,4,5)] # wybiera wiersz 2 oraz kolumny 1,4 i 5
+
## [1]  6  9 10
+

Nie podanie indeksu przed przecinkiem oznacza, że chcemy otrzymać wszystkie wiersze. Analogicznie nie podanie indeksu po przecinku oznacza, że chcemy otrzymać wszystkie kolumny.

+
m[,c(1,3)] 
+
##      [,1] [,2]
+## [1,]    1    3
+## [2,]    6    8
+
m[2,]
+
## [1]  6  7  8  9 10
+

Macierze, podobnie jak wektory, możemy także indeksować warunkami logicznymi.

+
# zwraca elementy (w tym wypadku element) z pierwszej kolumny,
+# które są większe od 2
+m[m[,1] > 2, 1]  
+
## [1] 6
+

Można także indeksować macierz inną macierzą o dwóch kolumnach. Zwrócone zostaną wtedy elementy o indeksach będących wierszami tej macierzy.

+
matrix_ind<- matrix(c(1, 2, 2, 3, 2, 4), byrow = TRUE, nrow = 3, ncol = 2)
+m[matrix_ind]  
+
## [1] 2 8 9
+

Na macierzach o tych samych wymiarach możemy wykonywać operacje arytmetyczne. Trzeba zwrócić uwagę, że są one wykonywane element po elemencie (z matematycznego punktu widzenia jest to oczekiwane przy dodawaniu, ale nieoczekiwane przy mnożeniu macierzy).

+
m1 <- matrix(1:4,2,2)
+m1
+
##      [,1] [,2]
+## [1,]    1    3
+## [2,]    2    4
+
m2 <- matrix(2:5,2,2)
+m2
+
##      [,1] [,2]
+## [1,]    2    4
+## [2,]    3    5
+
m1 + m2
+
##      [,1] [,2]
+## [1,]    3    7
+## [2,]    5    9
+
m1 * m2
+
##      [,1] [,2]
+## [1,]    2   12
+## [2,]    6   20
+

Aby wykonać matematyczne mnożenie macierzy należy użyć operatora \(\verb+%*%+.\)

+
m1 %*% m2
+
##      [,1] [,2]
+## [1,]   11   19
+## [2,]   16   28
+Jest to obiekt przechowujący dane w postaci tabeli dwuwymiarowej, którą tworzą wektory o dowolnym typie. Z ramki danych można korzystać jak z macierzy dwuwymiarowej (poprzez korzystanie z \(\verb+[,]+\)), jak i z listy (poprzez korzystanie z $). +
imie <- c("Max", "Reksio","Rex","Luna") #utworzymy ramke z 2 wektorow 
+wiek <- c(2,8,3,11)
+ramka <- data.frame(imie,wiek) 
+ #ramke tworzymy za pomoca polecenia data.frame()
+
##     imie wiek
+## 1    Max    2
+## 2 Reksio    8
+## 3    Rex    3
+## 4   Luna   11
+
#wyswietlanie nazw kolumn
+names(ramka)
+
## [1] "imie" "wiek"
+
#odnoszenie sie do elementu znajdujacego sie w 2. rzedzie i 1. kolumnie
+ramka[2,1]
+
## [1] "Reksio"
+
#pobieranie paru wierszy na raz za pomoca wektora
+ramka[c(1, 2), ]
+
##     imie wiek
+## 1    Max    2
+## 2 Reksio    8
+
#pobieranie wszystkich kolumn dla 1. wiersza
+ramka[1,]
+
##   imie wiek
+## 1  Max    2
+
#pobieranie wszystkich wierszy dla 1. kolumny
+ramka[,1]
+
## [1] "Max"    "Reksio" "Rex"    "Luna"
+
# pierwsza kolumna bez drugiego wiersza
+ramka[-2, 1]
+
## [1] "Max"  "Rex"  "Luna"
+
#pobieranie kolumn/wierszy po nazwie
+ramka$wiek
+
## [1]  2  8  3 11
+
# inny sposób indeksowanie po nazwie
+ramka[, "wiek"]
+
## [1]  2  8  3 11
+
    +
  • Indeksowanie na podstawie zawartości ramki danych
    +Dane z ramki mogą być przez nas “filtrowane” za pomocą []. Na przykład
  • +
+
# psy poniżej 9 roku życia
+ramka[ramka$wiek < 9, ]
+
##     imie wiek
+## 1    Max    2
+## 2 Reksio    8
+## 3    Rex    3
+
#dane tylko dla Reksia
+ramka[ramka$imie == "Reksio", ]
+
##     imie wiek
+## 2 Reksio    8
+
# analogicznie dla wektorów
+wiek[wiek < 9]
+
## [1] 2 8 3
+

Tworząc ramkę danych należy pamiętać o tym, aby wektory danych służące za kolumny były tej samej długości.

+
#zamiana nazw kolumn
+names(ramka) <- c("imie_psa", "wiek_psa")
+
##   imie_psa wiek_psa
+## 1      Max        2
+## 2   Reksio        8
+## 3      Rex        3
+## 4     Luna       11
+

Ramki danych możemy powiększać o dodatkowe wiersze i kolumny, ale typy (dla wierszy) i rozmiary muszą sie zgadzać z typami i rozmiarem ramki danych. Rozpatrzmy poniższy przykład, aby pokazać, jak dodać wiersz i kolumnę za pomocą funkcji \(\verb+cbind()+\) oraz \(\verb+rbind()+\).

+
#dodawanie nowego wiersza
+dodajemy_wiersz <- data.frame(imie_psa ="Quentin", wiek_psa=9)
+#funkcja rbind "skleja" wierszowo argument pierwszy (u nas ramka) z drugim
+ramka <- rbind(ramka,dodajemy_wiersz)
+#dodawanie nowej kolumny 
+czyLubiInnePsy <- c(TRUE,TRUE, FALSE, TRUE, FALSE)
+#funkcja cbind "skleja" kolumnowo argument pierwszy (u nas ramka) z drugim
+ramka <- cbind(ramka,czyLubiInnePsy)
+
##   imie_psa wiek_psa czyLubiInnePsy
+## 1      Max        2           TRUE
+## 2   Reksio        8           TRUE
+## 3      Rex        3          FALSE
+## 4     Luna       11           TRUE
+## 5  Quentin        9          FALSE
+

Możemy rownież dodawać wiersze za pomocą indeksowania, to znaczy przypisywania wartości do konkretnych indeksów ramki:

+
#jako 6. wiersz "wkladamy" nowy wektor
+ramka[6,] <- c("Fanta",0.5,TRUE)
+
##   imie_psa wiek_psa czyLubiInnePsy
+## 1      Max        2           TRUE
+## 2   Reksio        8           TRUE
+## 3      Rex        3          FALSE
+## 4     Luna       11           TRUE
+## 5  Quentin        9          FALSE
+## 6    Fanta      0.5           TRUE
+
# jako 4.kolumne "wkladamy" nowy wektor
+ramka[,4] <- c("Mateusz","Romek","Renata","Leon","Quennie","Filip")
+# nazywamy kolumne 4.
+names(ramka)[4] <- "opiekun_psa"
+
##   imie_psa wiek_psa czyLubiInnePsy opiekun_psa
+## 1      Max        2           TRUE     Mateusz
+## 2   Reksio        8           TRUE       Romek
+## 3      Rex        3          FALSE      Renata
+## 4     Luna       11           TRUE        Leon
+## 5  Quentin        9          FALSE     Quennie
+## 6    Fanta      0.5           TRUE       Filip
+

Analizując nową dla nas ramkę danych, użyteczne okazują się funkcje pozwalające na poznanie właściwości ramki danych. Oto pare z nich:

+
# wymiary ramki (6 wierszy,4 kolumny) mozna sprawdzic za pomoca funkcji dim()
+dim(ramka)
+
## [1] 6 4
+
# aby zobaczyc skrocony opis typow danych zawartych w ramce uzywana jest funkcja str()
+str(ramka)
+
## 'data.frame':    6 obs. of  4 variables:
+##  $ imie_psa      : chr  "Max" "Reksio" "Rex" "Luna" ...
+##  $ wiek_psa      : chr  "2" "8" "3" "11" ...
+##  $ czyLubiInnePsy: chr  "TRUE" "TRUE" "FALSE" "TRUE" ...
+##  $ opiekun_psa   : chr  "Mateusz" "Romek" "Renata" "Leon" ...
+
# aby "podejrzec" pierwsze wiersze ramki danych, wraz naglowkami kolumn uzywana jest funkcja head()
+head(ramka)
+
##   imie_psa wiek_psa czyLubiInnePsy opiekun_psa
+## 1      Max        2           TRUE     Mateusz
+## 2   Reksio        8           TRUE       Romek
+## 3      Rex        3          FALSE      Renata
+## 4     Luna       11           TRUE        Leon
+## 5  Quentin        9          FALSE     Quennie
+## 6    Fanta      0.5           TRUE       Filip
+
# wysietlanie pierwszych n wierszy
+head(ramka,n=2)
+
##   imie_psa wiek_psa czyLubiInnePsy opiekun_psa
+## 1      Max        2           TRUE     Mateusz
+## 2   Reksio        8           TRUE       Romek
+
# wyswietlanie ostatnich n wierszy za pomoca funkcji tail()
+tail(ramka,n=2)
+
##   imie_psa wiek_psa czyLubiInnePsy opiekun_psa
+## 5  Quentin        9          FALSE     Quennie
+## 6    Fanta      0.5           TRUE       Filip
+

Pętli oraz instrukcji warunkowych używamy, kiedy chcemy uniknąć powielania kodu i chcemy zachować jego przejrzystość. Ułatwia to wprowadzanie potencjalnych zmian. Instrukcje opisujące co powinno się zdarzyć należy umieścić w nawiasach \(\verb+{ }+\). Jeśli chcemy wykonać tylko jedną linijke kodu, możemy je opuścić.

+

Umożliwia warunkowe wykonanie kawałka kodu - jeśli warunek zawarty w \(\verb+if+\) jest spełniony, to R przejdzie do zawartej instrukcji. W przeciwnym wypadku wykona polecenie zawarte w \(\verb+else+\), a jeśli go nie ma , to przejdzie do kolejnych pętli. Część \(\verb+else+\) nie jest wymagana, w tym wypadku z góry wiadomo ile razy kod zostanie wykonany.

+

Składnia wygląda następująco:

+
if(warunek)
+{
+  instrukcja_1
+}
+

i jest analogiczna do

+
if(warunek) instrukcja_1
+

Możemy także zapisać

+
if(warunek)
+{
+  instrukcja_1
+  instrukcja_2 
+} else
+  {
+    instrukcja_3
+  }
+

Powiedzmy, że rozpatrujemy liczbe z rozkładu normalnego i sprawdzamy jakiego jest znaku.

+
x_norm <- rnorm(1)
+
+if (x_norm < 0)
+{
+  cat("Liczba", x_norm, "jest ujemna")
+} else
+{
+  cat("Liczba ", x_norm, "jest dodatnia")
+}
+
## Liczba  0.2630452 jest dodatnia
+

Możemy chcieć wykonać różne operacje na tak wylosowanej liczbie. Przykładowo, jeśli będzie ujemna, to zmienić znak, zaokrąglić i zreplikować w wektorze

+
if (x_norm < 0)
+{
+  x_norm <- abs(x_norm)
+  x_wek <- rep(round(x_norm, 2), times = 5)
+} else 
+{
+  x_wek <- "X"
+}
+

i otrzymać X (X oznacza, że wylosowana liczba była dodatnia, a z nią nic nie robimy).

+

Pętla \(\verb+while+\) działa tak długo, dopóki warunek jest spełniony - tzn. do kiedy nie dostaniemy \(\verb+FALSE+\). Warunek należy opisać tak, żeby w pewnym momencie został spełniony - inaczej pętla będzie działać w “nieskończoność”. Często używa sie jej do szukania losowych liczb o pewnych właściwościach.

+

Składnia tej pętli jest następująca:

+
while(warunek)
+{
+  instrukcja_1
+  instrukcja_2 
+}
+

Tutaj przykład wykorzystania, gdy chcemy losować liczby z przedziału [1, 100], dopóki różnica między dwoma kolejnymi nie będzie parzysta

+
i <- 2
+los <- c()
+los[1] <- 0
+roznica <- 1
+while(roznica%%2 != 0)
+{
+  los <- c(los, sample(1:100, 1, replace = TRUE))
+  roznica <- los[i]-los[i-1]
+  i = i+1
+}
+

W ten sposób dostajemy wylosowane liczby: 0, 39, 53, z różnicą między ostatnimi równą 14.

+

Pętla \(\verb+for+\) wygląda następująco:

+
for(iterator in warunek)
+{
+  instrukcja_1
+  instrukcja_2 
+}
+

Ta pętla wykonuje instrukcje określoną ilość razy - tyle ile elementów \(\verb+iterator+\) w zbiorze \(\verb+warunek+\). W warunku możemy mieć liste albo wektor. Po każdym wykonaniu pętli, zmienna \(\verb+iterator+\) przeskakuje do kolejnego elementu warunku.

+

Jeśli chcemy wykonać tylko 1 instrukcje, można zapisać

+
for(iterator in warunek) instrukcja_1
+

Przykładowo, jeśli chcemy elementy ze zbioru [1, 10] podnieść do potęgi, możemy użyć pętli \(\verb+for+\).

+
wynik <-c()
+for (i in 1:10) wynik <- c(wynik, i*i)
+wynik
+
##  [1]   1   4   9  16  25  36  49  64  81 100
+

Możemy także napisać pętle zagnieżdżone, przykładowo do obliczenia wartości w macierzach. W tym wypadku wartością każdego elementu macierzy (3x3) jest iloczyn jego indeksów, co daje następujący wynik

+
macierz <- matrix(nrow=3, ncol=3)
+
+for(i in 1:dim(macierz)[1]) 
+  {
+    for(j in 1:dim(macierz)[2]) 
+      {
+        macierz[i,j] = i*j
+      }
+}
+
+macierz
+
##      [,1] [,2] [,3]
+## [1,]    1    2    3
+## [2,]    2    4    6
+## [3,]    3    6    9
+

Teraz zajmiemy się rodziną funkcji \(\verb+apply+\). Należą do niej takie funkcję jak \(\verb+apply, tapply, sapply, lapply, vapply+\). Wszystkie one pozwalają na wykonanie pewnej operacji na szeregu podzbiorów danych. Operacja, która ma być wykonana określana jest przez argument \(\verb+FUN+\). Funkcje z tej rodziny przyjmują elementy listy \(\verb+(lapply()+)\), elementy wektora \(\verb+(sapply())+\), macierze \(\verb+(apply())+\) oraz podgrup wskazanych przez jedną lub kilka zmiennych \(\verb+(by()+\) i \(\verb+tapply())+\).

+

Zacznijmy od funkcji \(\verb+lapply()+\). Wykonuje funkcję \(\verb+FUN+\) dla wszystkich elementów wektora \(\verb+x+\). Przydatna funkcja zastępująca pętlę \(\verb+for+\). Domyślnie wynikiem działania jest lista, lecz jeżeli w wyniku chcielibyśmy otrzymać wektor, to jednym z rozwiązań jest zamiana listy na wektor funkcją \(\verb+unlist()+\). Oto przykładowe działanie funkcji \(\verb+lapply()+\):

+
x=c(1,2,3,4,5,6,7,8,9,10)
+func=function(x){return(x**3-3*x)}
+lapply(x,func)
+
## [[1]]
+## [1] -2
+## 
+## [[2]]
+## [1] 2
+## 
+## [[3]]
+## [1] 18
+## 
+## [[4]]
+## [1] 52
+## 
+## [[5]]
+## [1] 110
+## 
+## [[6]]
+## [1] 198
+## 
+## [[7]]
+## [1] 322
+## 
+## [[8]]
+## [1] 488
+## 
+## [[9]]
+## [1] 702
+## 
+## [[10]]
+## [1] 970
+

Funkcja \(\verb+sapply+\) jest bardziej przyjazną użytkownikowi wersją \(\verb+lapply+\) zwracającą wektor lub macierz i może przyjmować więcej argumentów, np. \(\verb+sapply(x, f, simplify = FALSE, USE.NAMES = FALSE)+\) zwraca ten sam wynik co \(\verb+lapply(x, f)+\).

+

Funkcja \(\verb+vapply+\) jest podobna do \(\verb+sapply+\), ale ma z góry określony typ zwracanych wartości, a może być również bezpieczniejszy w użyciu, a czasem nawet szybszy.

+

Teraz weźmiemy pod lupe \(\verb+tapply()+\), która to wykonuje funkcję \(\verb+FUN+\) dla podzbiorów wektora \(\verb+x+\) określonego +przez poziomy zmiennej czynnikowej \(\verb+index+\). Przydatna funkcja, gdy chcemy policzyć pewną statystykę w podgrupach, np. +odchylenie standardowe w z wagami. W tym przypadku \(\verb+x+\) będzie wektorem z wagami, \(\verb+index+\) wektorem z płcią a \(\verb+FUN+\) będzie +funkcją sd).

+
x=c(98,67,65,82,55,60,72,81,48,88)
+index=c('M','M','K','M','K','M','M','M','K','M')
+tapply(x,index,sd)
+
##         K         M 
+##  8.544004 12.944938
+

A teraz bardziej zaawansowana werssa funkcji \(\verb+tapply()+\) z tą różnicą, że \(\verb+x+\) może być macierzą lub listą, \(\verb+index+\) może być listą, a wynik tej funkcji jest specyficznie wyświetlany. Jeżeli \(\verb+index+\) jest listą zmiennych czynnikowych, to wartość funkcji \(\verb+FUN+\) będzie wyznaczona dla każdego przecięcia czynników tych zmiennych. Wynik +funkcji \(\verb+by()+\) jest klasy \(\verb+by+\), ale po usunięciu informacji o klasie, np. poprzez użycie funkcji \(\verb+unclass()+\) otrzymujemy zwykłą +macierz. Argument \(\verb+x+\) może być listą lub macierzą, dzięki czemu +do funkcji \(\verb+FUN+\) przekazać można kilka zmiennych – elementów/kolumn listy/macierzy \(\verb+x+\).

+
m1=seq(1:9)
+x=c('a','b','c','a','b','c','a','b','c')
+by(m1,x,mean)
+
## x: a
+## [1] 4
+## ------------------------------------------------------------------------------ 
+## x: b
+## [1] 5
+## ------------------------------------------------------------------------------ 
+## x: c
+## [1] 6
+

Z kolei \(\verb+mapply()+\) to wielowymiarowy odpowiednik funkcji \(\verb+sapply()+\). Argumentami tej funkcji jest funkcja \(\verb+fun+\) oraz kilka (dwa lub więcej) wektorów o tej samej długości. Wynikiem jest wektor, w którym na pozycji \(\verb+i+\)-tej jest wynik funkcji \(\verb+fun+\) wywołanej z \(\verb+i+\)-tych elementów wektorów będących argumentami.

+
a=function(x,y){return(x**y)}
+mapply(a,x=seq(1,101,by=10),y=seq(1:11))
+
##  [1] 1.000000e+00 1.210000e+02 9.261000e+03 9.235210e+05 1.158562e+08 1.759629e+10 3.142743e+12
+##  [8] 6.457535e+14 1.500946e+17 3.894161e+19 1.115668e+22
+
+
+

2.7 R - funkcje

+

Funkcje przydają się do zamknięcia w nich operacji, które się często powtarzają w naszym kodzie lub dla jego lepszej czytelności. Podstawowa składnia funkcji w R wygląda tak:

+
nazwa_funkcja <-  function(argument 1, argument 2, …){
+  ciało funkcji
+  return(wartość lub obiekt zwracany)
+}
+

Napiszmy funkcję, która będzie mnożyła dowolny wektor przez podaną liczbę, a następnie zsumuje elementy wektora:

+
funkcja1 <- function(wektor, liczba){
+  rezultat <- wektor * liczba
+  rezultat <- sum(rezultat)
+  return(rezultat)
+}
+

Możemy także pominąc \(\texttt{return}\) i zdefiniować funkcje:

+
funkcja2 <- function(wektor, liczba){
+  rezultat <- wektor * liczba
+  rezultat <- sum(rezultat)
+  rezultat
+}
+

Obie funkcje \(\texttt{funkcja1}\) i \(\texttt{funkcja2}\) robią to samo. Wykonajmy nasze funkcje dla dwóch zdefiniowanych zmiennych:

+
v <- 1:5
+n <- 2
+
+funkcja1(v, n)
+
## [1] 30
+
funkcja2(v, n)
+
## [1] 30
+

Oczywiście do wykonania funkcji potrzebne jest zdefiniowanie obu argumentów. Jak ich nie dodamy wyświetli się błąd, że argument drugi zaginął i nie mamy zdefiniowanej jego wartości domyślnej. Zdefiniujmy zatem domyślną wartość argumentu \(\texttt{liczba}\) jako \(\texttt{NULL}\) i dopiszmy do naszej funkcji kod, który gdy ten argument będzie miał wartość domyślną zwróci tylko sumę elementów wektora:

+
funkcja3 <- function(wektor, liczba = NULL){
+  if(is.null(liczba)){
+    rezultat <- sum(wektor)
+  } else{
+    rezultat <- wektor * liczba
+    rezultat <- sum(rezultat)
+  }
+  rezultat
+}
+

Wykonajmy funckję \(\texttt{funkcja3}\) na wcześniej zdefiniowanym wektorze \(\texttt{v}\):

+
funkcja3(v)
+
## [1] 15
+

Oprócz zdefiniowania wartości domyślnej argumentu poprzez trzy kropki możemy również dopuścić parametry dodatkowe. Zdefiniujmy funkcję z parametrami dodatkowymi:

+
funkcja4 <- function(wektor, liczba = NULL, ...){
+  if(is.null(liczba)){
+    rezultat <- sum(wektor, ...)
+  } else{
+    rezultat <- wektor * liczba
+    rezultat <- sum(rezultat, ...)
+  }
+  rezultat
+}
+

Wykonajmy funckję \(\texttt{funkcja4}\) usuwając wartości brakujące z nowo zdefiniowanego wektora:

+
v <- c(NA, 1, NA, 2:4, NA, 5)
+
+v
+
## [1] NA  1 NA  2  3  4 NA  5
+
funkcja4(v, na.rm = TRUE)
+
## [1] 15
+

Funkcje są bardzo przydatne, gdy mamy do napisania długi skrypt. Pozwalają na podzielenie głównej części kodu na mniejsze kawałeczki, które kolejnemu użytkownikowi skryptu lub nam będzie łatwiej modyfikować.

+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/podstawy-kontroli-wersji-przy-pomocy-gita.html b/docs/_book/podstawy-kontroli-wersji-przy-pomocy-gita.html new file mode 100644 index 0000000..862a3f9 --- /dev/null +++ b/docs/_book/podstawy-kontroli-wersji-przy-pomocy-gita.html @@ -0,0 +1,571 @@ + + + + + + + Chapter 10 Podstawy kontroli wersji przy pomocy Gita | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 10 Podstawy kontroli wersji przy pomocy Gita

+
+

10.1 Podstawowe informacje

+

System kontroli wersji to narzędzie, które zarządza zmianami wprowadzanymi w plikach i katalogach w projekcie. Istnieje wiele systemów kontroli wersji. Przykładem takiego systemu jest Git. Jego mocne strony to:

+
    +
  • Nic, co jest zapisane w Git, nigdy nie jest tracone, więc zawsze możesz wrócić, aby zobaczyć, które wyniki zostały wygenerowane przez które wersje twoich programów.
  • +
  • Git automatycznie powiadamia Cię, gdy Twoja praca koliduje z pracą innej osoby, więc jest trudniej (choć nie jest to niemożliwe) o przypadkowe nadpisanie pracy.
  • +
  • Git może synchronizować pracę wykonywaną przez różne osoby na różnych komputerach.
  • +
+

Kontrola wersji nie dotyczy tylko oprogramowania: książki, artykuły, zestawy parametrów i wszystko, co zmienia się w czasie lub wymaga udostępnienia, może i powinno być przechowywane i udostępniane za pomocą czegoś takiego jak Git.

+

Każdy z projektów Git składa się z dwóch części: plików i katalogów, które tworzysz i edytujesz bezpośrednio, oraz dodatkowych informacji, które Git rejestruje o historii projektu. Połączenie tych dwóch rzeczy nazywa się repozytorium.

+

Git przechowuje wszystkie dodatkowe informacje w katalogu o nazwie \(\texttt{.git}\) znajdującym się w katalogu głównym repozytorium.

+
+
+

10.2 Podstawowe komendy

+

Używając Gita zapewne często będziemy chcieli sprawdzić stan swojego repozytorium. Aby to zrobić, użyjemy polecenie \(\texttt{git status}\).

+
    +
  • \(\texttt{git status}\) - wyświetla listę plików, które zostały zmodyfikowane od czasu ostatniego zapisania zmian
  • +
+

Git ma obszar przejściowy, w którym przechowuje pliki ze zmianami, które chcemy zapisać, a które nie zostały jeszcze zapisane.

+
    +
  • \(\texttt{git status}\) - pokazuje, które pliki znajdują się w tym obszarze przejściowy i które mają zmiany, które nie zostały jeszcze zatwierdzone

  • +
  • \(\texttt{git diff}\) - pokaże wszystkie zmiany w twoim repozytorium (porównując obecną postać plików z ostatnio zapisaną)

  • +
  • \(\texttt{git diff directory}\) - pokaże zmiany w plikach w jakimś katalogu (porównując obecną postać plików z ostatnio zapisaną)

  • +
  • \(\texttt{git diff filename}\) - pokaże zmiany w danym pliku (porównując obecną postać z ostatnio zapisaną)

  • +
+

Git różnice między dwiema wersjami pliku wyświetla w poniższy sposób: +diff --git a/report.txt b/report.txt index e713b17..4c0742a 100644 --- a/report.txt +++ b/report.txt @@ -1,4 +1,5 @@ -# Seasonal Dental Surgeries 2017-18 +# Seasonal Dental Surgeries (2017) 2017-18 +# TODO: write new summary +gdzie:

+
    +
  • \(\texttt{a/report.txt, b/report.txt}\) to pierwsza i druga wersja pliku,

  • +
  • linia druga wypisuje klucze do wewnętrznej bazy danych zmian Gita,

  • +
  • \(\texttt{--- a/report.txt, +++ b/report.txt}\) oznacza, że usuwane linie oznaczone są przedrostkiem \(\texttt{-}\), dodawane linie oznaczone są przedrostkiem \(\texttt{+}\),

  • +
  • linia zaczynająca się od \(\texttt{@@}\) mówi, gdzie wprowadzane są zmiany. Pary liczb to numer lini ,,startowej’’ i liczba linii,

  • +
  • kolejne linie są listą zmian, które zostały wprowadzone.

  • +
  • \(\texttt{git add filename}\) - dodaje plik do obszaru przejściowego

  • +
  • \(\texttt{git diff -r HEAD}\) - porówna pliki z repozytorium z plikami z obszaru przejściowego

  • +
  • \(\texttt{git diff -r HEAD path/to/file}\) - porówna konkretny plik z repozytorium z plikiem z obszaru przejściowego

  • +
  • \(\texttt{nano filename}\) - otwiera plik w edytorze tekstowym \(\texttt{nano}\)

    +
      +
    • poruszanie się strzałkami
    • +
  • +
  • \(\texttt{Backspace}\) - usuń znak

  • +
  • \(\texttt{Ctrl-K}\): usuń linię

  • +
  • \(\texttt{Ctrl-U}\): cofnij usunięcie linii

  • +
  • \(\texttt{Ctrl-O}\): zapisz plik

  • +
  • \(\texttt{Ctrl-X}\): wyjdź z edytora

  • +
  • \(\texttt{git commit -m "comment"}\) - zapisuje zmiany w obszarze przejściowym z jednowierszowym komunikatem o wprowadzonych zmianach

  • +
  • \(\texttt{git commit --amend - m "new message"}\) - zmienia ostatni komunikat

  • +
  • \(\texttt{git log}\) - wyświetlenie historii projektu (od najnowszych zmian). Wyświetlany zostaje unikatowy identyfikator dla zatwierdzenia oraz informacje na temat tego kto dokonał zmiany, kiedy i jaki komunikat napisał dokonując zmiany.

  • +
  • \(\texttt{spacja}\) - przejcie w dół o stronę

  • +
  • \(\texttt{q}\) - wyjście

  • +
  • \(\texttt{git log path}\) - wyświetlenie historii danego pliku lub katalogu

  • +
+
+
+

10.3 Repozytoria

+

   Informacje dotyczące zatwiedzonych zmian przechowywane są poprzez trzypoziomową strukturę. Każde zatwierdzenie (tzw. commit) zwiera komunikat o zatwierdzeniu i informacje o autorze i czasie, w którym zatwierdzenie zmian zostało wykonane. Każdy commit ma również swoje drzewo, które śledzi, gdzie w repozytorium dokonano zmian. Dla każdego pliku w drzewie istnieje tzw. blob (binary large object). Każdy blob zawiera skompresowaną migawkę zawartości pliku, z chwili w której nastąpił commit.

+

Czym jest hash?

+

Każde zatwierdzenie zmian w repozytorium ma unikalny identyfikator zwany hashem. Jest on zapisywany jako 40-znakowy ciąg szesnastkowy. Zazwyczaj jednak wystarczy podać pierwsze 6 lub 8 znaków hasha, by odnaleźć konkretne zatwierdzenie (commit). Identyfikatory jakimi są hashe umożliwiają Gitowi wydajne udostępnianie danych pomiędzy repozytoriami.

+

Jak wyświetlić konkretny commit?

+

By wyświetlić szczegóły dotyczące konkretnego commitu należy użyć komendy git show z pierwszymi 6 znakami hasha danego commmitu np.: git show Oda2f7.

+

Czym jest odpowiednik ścieżki względnej w Git?

+

Innym sposobem identyfikacji zatwierdzenia jest użycie odpowiednika ściezki względnej. By wyświetlić zatem ostatni commit możemy użyć komendy git show z etykietą HEAD. Jeśli natomiast zamiast HEAD wpiszemy HEAD~1 wyświetlony zostanie przedostatni commit, polecenie git show HEAD~2 zwróci nam natomiast jeszcze wcześniejszy commit itp.

+
+
+

10.4 Podstawowe komendy

+
    +
  • git log - wyświetla całą historię danego pliku lub projektu. W Gicie możemy jednak sprawdzić bardziej szczegółowe informacje. Dzięki poleceniu git annotate file możemy sprawdzić kto i kiedy dokonał ostatniej zmiany w każdej linijce pliku.

  • +
  • git diff ID1..ID2 - umożliwia sprawdzenie zmian pomiędzy dwoma commitami, których identyfikatory to odpowiednio ID1 i ID2.

  • +
  • git add - polecenie umożliwiające dodanie nowego pliku. Po wykonaniu tego polecenia Git zaczyna śledzić dodany plik.

  • +
  • git clean -n - pokazuje listę plików, które są w repozytorium, ale których historia nie jest śledzona przez Gita.

  • +
  • git clean -f - usuwa pliki, które są w repozytorium i których historii nie śledzi Git. Z używaniem tego polecenia należy uważać, ponieważ usuwa ono pliki z pamięci na stałe i nie da się ich już odzyskać.

  • +
  • git config - -list - wyświetla ustawienia Gita.

  • +
  • git config - -system - wyświetla ustawienia każdego użytkownika na danym komputerze.

  • +
  • git config - -global - wyświetla ustawienia każdego projektu.

  • +
  • git config - -local - wyświetla ustawienia poszczególnego projektu.

  • +
+

Każdy poziom zastępuje poziom nad nim, więc ustawienia lokalne (na projekt) mają pierwszeństwo przed ustawieniami globalnymi (na użytkownika), które z kolei mają pierwszeństwo przed ustawieniami systemowymi (dla wszystkich użytkowników na komputerze).

+
    +
  • git config - -global setting value - zmienia konfigurację odpowiedniej wartości dla wszystkich projektów na danym komputerze. Jako setting należy wpisać to co chcemy zmienić (np. user.name, user.email itp.), a jako value to co chcemy ustawić.
  • +
+
+
+

10.5 Cofanie zmian

+

Teraz dowiemy się jak cofnąć wprowadzone zmiany.

+
    +
  • \(\texttt{git reset HEAD}\)- usuwa ostatnio dodany plik ze śledzenia,

  • +
  • \(\texttt{git checkout -- filename}\) - odrzuci zmiany, które nie zostały jeszcze dodane do śledzenia,

  • +
  • \(\texttt{git reset HEAD path/to/file}\) - odrzuci ostatnie zmiany w pliku, który został juz dodany do śledzenia,

  • +
  • \(\texttt{git checkout 2242bd filename}\)- zamienia aktualna wersje pliku, na tę o hashu ‘2242bd’.

  • +
+

Do ostatniej komendy przydatne może być wykonanie poniższzego polecenia, aby sprawdzić hashe plików.

+
    +
  • \(\texttt{git log - 3 filename}\)- pokaże 3 ostatnie commity dotyczące wskazanego pliku.
  • +
+

Poniższe dwie komendy pokazują, jak cofać zmiany na więcej niż jednym pliku.

+
    +
  • \(\texttt{git reset HEAD data}\)- usuwa ze śledzenia wszystkie pliki z katalogu data. Jeżeli nie podamy nazwy katalogu( wtedy wystarczy samo \(\texttt{git reset}\)) wszystkie pliki zostaną usunięte.

  • +
  • \(\texttt{git checkout -- data}\)- wszystkie pliki w katalagu data zostaną cofnięte do poprzednich wersji.

  • +
+
+
+

10.6 Gałęzie

+

Jeśli nie używasz kontroli wersji, typowym przepływem pracy jest tworzenie różnych podkatalogów do przechowywania różnych wersji projektu w różnych stanach, na przykład deweloperskich i końcowych. Oczywiście zawsze kończy się to ostateczną aktualizacją i ostateczną aktualizacją-poprawioną. Problem polega na tym, że trudno jest to rozwiązać, jeśli masz odpowiednią wersję każdego pliku w odpowiednim podkatalogu i ryzykujesz utratę pracy. + 

+Jednym z powodów, dla których Git jest popularny, jest jego obsługa tworzenia gałęzi (branchy), co pozwala na posiadanie wielu wersji Twojej pracy i pozwala na systematyczne śledzenie każdej wersji. + 

+Każda gałąź jest jak wszechświat równoległy: zmiany, które wprowadzasz w jednej gałęzi, nie wpływają na inne gałęzie (dopóki nie połączysz ich z powrotem). + 

+Domyślnie kazde repozytorium Gita ma branch zwany master. + 

+Podstawowe komendy związanie z działaniem na branchach (gałęziach):  

+
    +
  • \(\texttt{git branch}\) - pokazuje wszystkie branche w repozytorium (branch, w którym obecnie się znajdujesz będziesz wylistowany z \(*\)).  

  • +
  • \(\texttt{git diff branch1..branch2}\) - wyświetla różnice między dwoma branchami  

  • +
+

Ciekawostka:

+
    +
  • \(\texttt{git diff branch1..branch2}\) - -\(\texttt{shortstat}\) - wyświetla konkretną liczbę plików które się różnią między dwoma branchami 

  • +
  • \(\texttt{git checkout branch1}\) - pozwala przełączyć się na branch1 

  • +
  • \(\texttt{git checkout -b branch-name}\) - pozwala utworzyć nowego brancha o nazwie branch-name 

    +Rozgałęzianie pozwala tworzyć równoległe wszechświaty. Scalanie (merging) to sposób, w jaki łączysz je z powrotem. Kiedy łączysz jedną gałąź (nazwijmy ją źródłową) z inną (nazwijmy ją docelową), Git włącza zmiany wprowadzone w gałęzi źródłowej do gałęzi docelowej. Jeśli te zmiany nie nakładają się, wynikiem jest nowe zatwierdzenie w gałęzi docelowej, które zawiera wszystko z gałęzi źródłowej. Do mergowania dwóch gałęzi używamy polecenia:  

  • +
  • \(\texttt{git merge source destination}\) - mergowanie dwóch branchy w jeden 

  • +
+

Czasami zmiany w dwóch gałęziach będą ze sobą kolidować: na przykład poprawki błędów mogą dotyczyć tych samych wierszy kodu lub analizy w dwóch różnych gałęziach mogą dołączać nowe (i różne) rekordy do pliku danych podsumowania. W takim przypadku ty decydujesz o sprzeczności zmian. 

+Jeżeli podczas mergowania występuje konflikt Git informuje Cię, że wystapił problem a \(\texttt{git status}\) poinformuje Cię, które pliki wmagają rozwiązania konfliktów. 

+Git pozostawia na danym pliku znaczniki, aby poinformować Cię o konkretnym miejscu konfliktu. Znaczniki te wyglądają następująco: +<<<<<<< destination-branch-name ...changes from the destination branch... ======= ...changes from the source branch... >>>>>>> source-branch-name
+Aby rozwiązać konflikt edytuj plik, usuwając znaczniki i wprowadź wszelkie zmiany potrzbne do rozwiązania kofilktu, a następnie zrób commit tych zmian. 

+
+
+

10.7 Tworzenie własnych repozytoriów

+

Przejdźmy do kolejnego zagadnienia związanego z pracą w Gicie.  

+Do tej pory wszystkie poznane funkcje Gita dotyczyły działań na repozytoriach już istniejących. Aby stworzyć własne repozytorium w bieżącym katalogu roboczym wystarczy komenda: 

+
    +
  • \(\texttt{git init project-name}\)  
  • +
+

Warto wspomnieć, że chociaż Git pozwala tworzyć zagnieżdżone repozytoria nie powinieneś tego robić. Aktualizacja takich repozytoriów bardzo szybko staje się bardzo skomplikowana, ponieważ musisz powiedzieć Gitowi, w którym z dwóch katalogów .git ma być przechowywana aktualizacja. 

+Nie tworzymy repozytorium w innym już istniejącym!  

+Poniżej kilka ważnych komend: 

+
    +
  • \(\texttt{git init}\) - inicjalizacja repozytorium w bieżącym katalogu  

  • +
  • \(\texttt{git init /path/to/project}\) - inicjalizacja repozytorium we wskazanym ścieżką katalogu  

  • +
  • \(\texttt{git clone URL}\) - tworzenie kopii istniejącego pod wskazanym adresem URL repozytorium

  • +
  • \(\texttt{git clone /existing/project newprojectname}\) - tworzenie kopii istniejącego repozytroium o zadanej nazwie - newprojectname  

  • +
  • \(\texttt{git remote}\) - wyświetla informację o fizycznej lokalizacji na serwerze Gita, z której zostało sklonowane repo  

  • +
  • \(\texttt{git remote -v}\) - wyświetla informację o URL serwerze Gita, z którego zostało sklonowane repo  

  • +
  • \(\texttt{git remote add remote-name URL}\) - pozawala na dodanie własnego remota z podanego URL

    +
      +
    • \(\texttt{git remote rm remote-name}\) - usuwanie istniejącego remota  
    • +
  • +
  • \(\texttt{git pull remote branch}\) - pobieranie zmian w branchu w lokalnym repozytorium i mergowanie ich z bieżacym brnachem w lokalnym repozytorium  

  • +
+

Uwaga!  

+

Git powstrzymuje Cię przed pobieraniem ze zdalnego repozytorium zmian, które mogą nadpisać niezapisane lokalnie zmiany. Wystarczy zrobić commit tych zmian lub cofnąć je, a następnie spullować repo ponownie.  

+
    +
  • \(\texttt{git push remote-name branch-name}\) - pushuje zmiany wprowadzone lokalnie na danym branchu do zdalnego repozytorium  
  • +
+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/programowanie-obiektowe-w-r-klasy-s3.html b/docs/_book/programowanie-obiektowe-w-r-klasy-s3.html new file mode 100644 index 0000000..ce959c2 --- /dev/null +++ b/docs/_book/programowanie-obiektowe-w-r-klasy-s3.html @@ -0,0 +1,784 @@ + + + + + + + Chapter 11 Programowanie obiektowe w R: klasy S3 | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 11 Programowanie obiektowe w R: klasy S3

+

Programując w R jesteśmy oswojeni z myśleniem kategoriami funkcji - przekształceń nakładanych na macierze lub ramki danych. Jest to naturalne ze względu na zastosowanie R głównie w statystyce i pochodnych jej dziedzin.

+

Tymczasem programowanie obiektowe, choć często niepotrzebne do przeprowadzenia analiz lub symulacji, może się okazać użyteczne przy tworzeniu większego projektu, w szczególności projektu współtworzonego przez więcej osób. Zdefiniowanie klas i metod nadaje projektowi strukturę, co sprawia, że jego rozbudowa przebiega mniej chaotycznie.

+

Ponadto, znajomość podstaw systemów programowania obiektowego w R umożliwia nam lepsze zrozumienie działania bazowych funkcji i obiektów R oraz ewentualne ich rozbudowywanie.

+
+

11.1 Systemy programowania obiektowego w R

+

W przeciwieństwie do wielu popularnych języków programowania, R nie ma jednego ujednoliconego systemu programowania obiektowego - jest ich wiele, przy czym różnią się nie tylko składnią, ale też funkcjonalnościami.

+

Pierwsze wersje pierwowzoru języka R - języka S nie posiadały żadnego systemu obiektowego. Wraz z trzecią wersją S wprowadzono pierwszy z nich: S3. Następnie, kiedy ten okazał się niewystarczający dla potrzeb użytkowników - S4. Oba systemy finalnie znalazły się w base języka R. Z czasem, w miarę wzrastania potrzeb, powstawały kolejne alternatywne systemy klas, które funkcjonowały równolegle i równoprawnie.

+

Do dzisiaj nie wyróżniamy systemu “oficjalnego” czy preferowanego - każdy z kilku pozostałych w powszechnym użyciu ma swoje zastosowania, w których niekorzystnym lub niewygodnym jest zastąpienie go innym. W tej notatce przyjrzymy się przede wszystkim S3.

+
+
+

11.2 S3

+

S3 to system, z którym stykamy się najczęśniej. Wszystkie wbudowane klasy obiektów zostały zbudowane właśnie przy pomocy systemu S3. By sprawdzić, do jakiej klasy S3 należy obiekt, używamy funkcji class. +W codziennej pracy w R operujemy w wiekszości na obiektach zbudowanych w S3. Klasy S3 to m.in. factor,data.frame,matrix.

+
f <- factor(c("y","n","y","n","n"))
+class(f)
+
## [1] "factor"
+

Warto w tym miejscu podkreślić, że klasa zmiennej nie jest równoważna typowi zmiennej, np. macierz liczb jest klasy matrix, ale typu double.

+
m <- matrix(c(1,2,3,4),2,2)
+class(m)
+
## [1] "matrix" "array"
+
typeof(m)
+
## [1] "double"
+

Każdemu obiektowi mogą być (ale nie muszą) przypisane atrybuty. Atrybuty mozna rozumieć jako cechy lub parametry obiektu. W przypadku macierzy są to jej wymiary.

+
attributes(m)
+
## $dim
+## [1] 2 2
+
+

11.2.1 Klasy i atrybuty

+

W systemie S3 nie tworzymy definicji klasy, nie określamy również, jakie atrybuty obiekt danej klasy ma. Obiektowi możemy nadać klasę przy jego utworzeniu, z użyciem funkcji structure:

+
kanapka <-structure(c("szynka", "margaryna", "chleb"), class = "jedzenie")
+class(kanapka)
+
## [1] "jedzenie"
+

lub w dowolnym momencie po jego utworzeniu z użyciem class:

+
szarlotka <- c("jaja", "mąka", "masło", "cukier")
+szarlotka <- c(szarlotka, "jabłka")
+class(szarlotka) <- "jedzenie"
+class(szarlotka)
+
## [1] "jedzenie"
+

Każdemu obiektowi możemy również indywidualnie przypisać atrybuty, również na kilka sposobów, przy jego utworzeniu z użyciem structure:

+
hot_dog <- structure(c("parówka", "bułka", "ketchup"), class="jedzenie", kalorie = 300)
+attributes(hot_dog)
+
## $class
+## [1] "jedzenie"
+## 
+## $kalorie
+## [1] 300
+
class(hot_dog)
+
## [1] "jedzenie"
+

Lub w dowolnym momencie z użyciem funkcji attr:

+
attr(kanapka, "kalorie")=150
+attr(szarlotka, "kalorie")=265
+attributes(kanapka)
+
## $class
+## [1] "jedzenie"
+## 
+## $kalorie
+## [1] 150
+
attributes(szarlotka)
+
## $class
+## [1] "jedzenie"
+## 
+## $kalorie
+## [1] 265
+

Z użyciem funkcji attributes i attr można również “dostać się” do wartości atrybutów obiektu:

+
attr(szarlotka, "kalorie")
+
## [1] 265
+
attributes(szarlotka)$kalorie
+
## [1] 265
+

Tworzenie obiektów różnych klas S3 jest więc bardzo proste i nie wymaga (przynajmniej formalnie) predefiniowania klasy i atrybutów. System jest więc z jednej strony bardzo elastyczny, z drugiej - nieprecyzyjny. Niesie to za sobą pewne konsekwencje, np. formalnie nic nie stoi na przeszkodzie by zrobić coś takiego:

+
droga <- c("asfalt","pobocze", "lewy pas", "prawy pas")
+class(droga) <- "jedzenie"
+class(droga)
+
## [1] "jedzenie"
+

lub takiego…

+
średnia_bez_na <- function(...) mean(na.rm=TRUE,...)
+class(średnia_bez_na)<-"jedzenie"
+class(średnia_bez_na)
+
## [1] "jedzenie"
+

lub takiego:

+
attr(hot_dog, "kalorie") <- "przecież to prawie nie ma kalorii!"
+bilans_posilkow <- attr(hot_dog,"kalorie")+attr(szarlotka, "kalorie")+attr(kanapka, "kalorie")
+
## Error in attr(hot_dog, "kalorie") + attr(szarlotka, "kalorie"): argument nieliczbowy przekazany do operatora dwuargumentowego
+

Dlatego należy pamiętać, by klas i atrybutów nie przydzielać chaotycznie, zachować pewne reguły, mimo że formalnie nie są wymagane przy użyciu S3.

+
+
+

11.2.2 Funkcje generyczne i metody

+

Metody to funkcje działające na obiektach danej klasy. Z reguły są predefiniowane przy utworzeniu klasy wraz z polami. Inaczej jednak jest z systemem S3 w R. Nie definiujemy klasy - klasa jest tworzona przy pierwszym przypisaniu jej jakiemuś obiektowi. Metody tworzy się przy pomocy funkcji generycznych (generics).

+
+

11.2.2.1 Funkcje generyczne

+

By lepiej zrozumieć logikę stojącą za funkcjami generycznymi, spróbujmy spojrzeć na klasy i ich metody z nieco mniej standardowej perspektywy. Dla różnych klas możemy mieć analogiczne metody, zachowujące się nieco inaczej w zależności od specyfiki klasy, np. inaczej rozumiemy różnicę między dwoma datami a różnicę między dwoma liczbami - liczby odejmujemy od siebie bezpośrednio, podczas gdy w przypadku dat oczekujemy różnicy w dniach pomiędzy nimi - w tym celu nie wystarczy bezpośrednie odjęcie od siebie dwóch dat.

+

W systemie S3 metody nie są przypisane bezpośrednio klasie, są przypisane odpowiedniej funkcji generycznej. Funkcja generyczna określa nazwę metody wspólną dla wszystkich klas i umożliwia tworzenie wariantów metody dla różnych klas pod tą konkretną nazwą. Zanim przejdziemy do tworzenia funkcji generycznych oraz metod dla własnych klas przyjrzyjmy się działaniu już istniejących.

+

Jedną z funkcji generycznych jest funkcja summary - funkcja podsumowująca obiekt (np. summary(lm(X~Y))).

+
summary
+
## function (object, ...) 
+## UseMethod("summary")
+## <bytecode: 0x55bf1e71aba0>
+## <environment: namespace:base>
+

Użyjemy funkcji methods, by wylistować wszystkie dostępne metody dla danej funkcji generycznej.

+
methods(summary)
+
##   [1] summary,ANY-method                  summary,DBIObject-method           
+##   [3] summary,diagonalMatrix-method       summary,marrayInfo-method          
+##   [5] summary,marrayLayout-method         summary,marrayNorm-method          
+##   [7] summary,marrayRaw-method            summary,mle-method                 
+##   [9] summary,sparseMatrix-method         summary.aareg*                     
+##  [11] summary.allFit*                     summary.aov                        
+##  [13] summary.aovlist*                    summary.aspell*                    
+##  [15] summary.cch*                        summary.check_packages_in_dir*     
+##  [17] summary.connection                  summary.corAR1*                    
+##  [19] summary.corARMA*                    summary.corCAR1*                   
+##  [21] summary.corCompSymm*                summary.corExp*                    
+##  [23] summary.corGaus*                    summary.corIdent*                  
+##  [25] summary.corLin*                     summary.corNatural*                
+##  [27] summary.corRatio*                   summary.corSpher*                  
+##  [29] summary.corStruct*                  summary.corSymm*                   
+##  [31] summary.coxph*                      summary.coxph.penal*               
+##  [33] summary.data.frame                  summary.Date                       
+##  [35] summary.default                     summary.Duration*                  
+##  [37] summary.ecdf*                       summary.EList*                     
+##  [39] summary.EListRaw*                   summary.factor                     
+##  [41] summary.gam*                        summary.ggplot*                    
+##  [43] summary.glm                         summary.gls*                       
+##  [45] summary.haven_labelled*             summary.hcl_palettes*              
+##  [47] summary.infl*                       summary.Interval*                  
+##  [49] summary.lm                          summary.lme*                       
+##  [51] summary.lmList*                     summary.lmList4*                   
+##  [53] summary.loess*                      summary.loglm*                     
+##  [55] summary.MAList*                     summary.manova                     
+##  [57] summary.MArrayLM*                   summary.matrix                     
+##  [59] summary.merMod*                     summary.mlm*                       
+##  [61] summary.modelStruct*                summary.negbin*                    
+##  [63] summary.nls*                        summary.nlsList*                   
+##  [65] summary.packageStatus*              summary.pdBlocked*                 
+##  [67] summary.pdCompSymm*                 summary.pdDiag*                    
+##  [69] summary.pdIdent*                    summary.pdIdnot*                   
+##  [71] summary.pdLogChol*                  summary.pdMat*                     
+##  [73] summary.pdNatural*                  summary.pdSymm*                    
+##  [75] summary.pdTens*                     summary.Period*                    
+##  [77] summary.polr*                       summary.POSIXct                    
+##  [79] summary.POSIXlt                     summary.ppr*                       
+##  [81] summary.prcomp*                     summary.prcomplist*                
+##  [83] summary.princomp*                   summary.proc_time                  
+##  [85] summary.pyears*                     summary.ratetable*                 
+##  [87] summary.reStruct*                   summary.RGList*                    
+##  [89] summary.rlang_error*                summary.rlang_message*             
+##  [91] summary.rlang_trace*                summary.rlang_warning*             
+##  [93] summary.rlang:::list_of_conditions* summary.rlm*                       
+##  [95] summary.RUnitTestData*              summary.shingle*                   
+##  [97] summary.srcfile                     summary.srcref                     
+##  [99] summary.stepfun                     summary.stl*                       
+## [101] summary.summary.merMod*             summary.survexp*                   
+## [103] summary.survfit*                    summary.survfitms*                 
+## [105] summary.survreg*                    summary.table                      
+## [107] summary.TestResults*                summary.tmerge*                    
+## [109] summary.trellis*                    summary.tukeysmooth*               
+## [111] summary.varComb*                    summary.varConstPower*             
+## [113] summary.varConstProp*               summary.varExp*                    
+## [115] summary.varFixed*                   summary.varFunc*                   
+## [117] summary.varIdent*                   summary.varPower*                  
+## [119] summary.vctrs_sclr*                 summary.vctrs_vctr*                
+## [121] summary.warnings                    summary.XMLInternalDocument*       
+## see '?methods' for accessing help and source code
+

Każda z wypisanych nazw odpowiada wariantowi metody dla jednej klasy. Zwrócmy uwagę na specyficzną składnię nazw tych funkcji - człon po kropce odpowiada nazwie klasy, jakiej metoda dotyczy. Przyjrzyjmy się wariantom summary dla dwóch różnych klas: lm i matrix.

+
X <- matrix(rep(1,12), 6,2)
+Y <- c(2,2,3,2,2,2)
+model <- lm(Y~X)
+
+summary.lm(model)
+
## 
+## Call:
+## lm(formula = Y ~ X)
+## 
+## Residuals:
+##       1       2       3       4       5       6 
+## -0.1667 -0.1667  0.8333 -0.1667 -0.1667 -0.1667 
+## 
+## Coefficients: (2 not defined because of singularities)
+##             Estimate Std. Error t value Pr(>|t|)    
+## (Intercept)   2.1667     0.1667      13  4.8e-05 ***
+## X1                NA         NA      NA       NA    
+## X2                NA         NA      NA       NA    
+## ---
+## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
+## 
+## Residual standard error: 0.4082 on 5 degrees of freedom
+
summary.matrix(X)
+
##        V1          V2   
+##  Min.   :1   Min.   :1  
+##  1st Qu.:1   1st Qu.:1  
+##  Median :1   Median :1  
+##  Mean   :1   Mean   :1  
+##  3rd Qu.:1   3rd Qu.:1  
+##  Max.   :1   Max.   :1
+

Jednak, by użyć odpowiedniej funkcji dla obiektu, nie musimy specyfikować jego klasy - właśnie dzięki zdefiniowaniu funkcji generycznej. Bez względu na klasę obiektu uzywamy składni funkcja_generyczna(obiekt). Wywoływana jest wówczas funkcja generyczna, która na podstawie klasy lub typu obiektu dopasowuje wariant metody. Spójrzmy jak to wygląda na przykładzie summary:

+
summary(model)
+
## 
+## Call:
+## lm(formula = Y ~ X)
+## 
+## Residuals:
+##       1       2       3       4       5       6 
+## -0.1667 -0.1667  0.8333 -0.1667 -0.1667 -0.1667 
+## 
+## Coefficients: (2 not defined because of singularities)
+##             Estimate Std. Error t value Pr(>|t|)    
+## (Intercept)   2.1667     0.1667      13  4.8e-05 ***
+## X1                NA         NA      NA       NA    
+## X2                NA         NA      NA       NA    
+## ---
+## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
+## 
+## Residual standard error: 0.4082 on 5 degrees of freedom
+
summary(X)
+
##        V1          V2   
+##  Min.   :1   Min.   :1  
+##  1st Qu.:1   1st Qu.:1  
+##  Median :1   Median :1  
+##  Mean   :1   Mean   :1  
+##  3rd Qu.:1   3rd Qu.:1  
+##  Max.   :1   Max.   :1
+

Jak widać na przykładzie powyżej wywołanie funkcji generycznej na obiekcie spowodowało dopasowanie odpowiedniej dla klasy obiektu metody i dało identyczny efekt jak wywołanie bezpośrednio dedykowanej funkcji.

+
+
+

11.2.2.2 Tworzenie funkcji generycznych i metod

+

Nowe funkcje generyczne tworzy się według następującego schematu:

+
nazwa_metody <- function (x) {
+  UseMethod("nazwa_metody", x)
+}
+

Po utworzeniu funkcji generycznej możemy przystąpić do napisania metod dla konkretnych klas. Metody tworzymy jako funkcje nazwane według konwencji nazwa_metody.klasa.

+

Spróbujmy wg powyższego schematu utworzyć metodę dla utworzonej wcześniej klasy jedzenie. Niech nasza metoda nazywa się zjedz:

+
zjedz <- function(x){
+  UseMethod("zjedz",x)
+}
+

Mając gotową funkcję generyczną możemy przejść do określenia zachowania metody dla naszej klasy:

+
zjedz.jedzenie <- function(x){
+  cat("Mniam mniam\n")
+}
+zjedz(szarlotka)
+
## Mniam mniam
+
zjedz(kanapka)
+
## Mniam mniam
+
zjedz(hot_dog)
+
## Mniam mniam
+

Oraz, jeśli potrzebujemy, również dla innych istniejących klas, w tym również wbudowanych, np. matrix.

+
zjedz.matrix <- function(x){
+  warning("Przeciez to macierz! Tego sie nie je!\n")
+}
+zjedz(matrix(c(1,2,2,3),2,2))
+
## Warning in zjedz.matrix(matrix(c(1, 2, 2, 3), 2, 2)): Przeciez to macierz! Tego sie nie je!
+

W szczególności możemy określić zachowanie metody dla pseudoklasy default, czyli określić domyślne zachowanie metody. W kontekście naszego przykładu z klasą jedzenie moglibyśmy oczekiwać, że nasza metoda domyślnie nie będzie “jeść” żadnych obiektów, robiąc wyjątek wyłącznie dla jedzenia.

+
zjedz.default <- function(x,...){
+  warning("Tego sie nie je!\n")
+}
+zjedz(mean)
+
## Warning in zjedz.default(mean): Tego sie nie je!
+
zjedz(c(1,2,3,4))
+
## Warning in zjedz.default(c(1, 2, 3, 4)): Tego sie nie je!
+

Zauważmy, że istnieje tu pewna hierarchia:

+
zjedz(matrix(c(1,2,3,4,4,5),2,3))
+
## Warning in zjedz.matrix(matrix(c(1, 2, 3, 4, 4, 5), 2, 3)): Przeciez to macierz! Tego sie nie je!
+
zjedz(szarlotka)
+
## Mniam mniam
+

Funkcja generyczna wywołuje metodę dla pseudoklasy default wtedy, gdy dla danej klasy indywidualnie nie ma zdefiniowanej metody. W pierwszej kolejności szuka metody dedykowanej dla danej klasy, dlatego dla obiektów klas jedzenie i matrix zostały wywołane odpowiednio zjedz.jedzenie i zjedz.matrix, a nie zjedz.default.

+
+
+
+

11.2.3 Dziedziczenie

+

O dziedziczeniu mówimy, gdy jedna z klas przejmuje (dziedziczy) właściwości i cechy innej. W S3 dziedziczenie wprowadza się w zaskakująco oczywisty i prosty sposób.

+

Każdemu obiektowi można przypisać więcej niż jedną klasę, przypisując class(obiekt) nie jedną nazwę klasy, lecz ich wektor, np. dla utworzonego wcześniej obiektu szarlotka:

+
class(szarlotka) <- c("ciasto", "slodkosci", "jedzenie")
+class(szarlotka)
+
## [1] "ciasto"    "slodkosci" "jedzenie"
+

Kolejność klas w wektorze nie jest przypadkowa: zaczynamy od klasy “najmłodszej” (i najważniejszej, najbardziej specyficznej), a kończymy na “najstarszej” (najogólniejszej). Kolejność ta jest również obowiązująca przy dopasowywaniu metod przez funkcję generyczną: funkcja generyczna najpierw szuka metody dla pierwszej z klas w wektorze, następnie dla drugiej itd. Jeśli nie uda jej się znaleźć metody dla żadnej z klas, wywołuje metodę dla pseudoklasy default.

+
zjedz.ciasto <- function(x){
+  cat("Mniam mniam, pyszne ciacho!\n")
+}
+zjedz.slodkosci <- function(x){
+  cat("Słodkie, dobre, mniam.. \n")
+}
+zjedz(szarlotka)
+
## Mniam mniam, pyszne ciacho!
+

Zgodnie z oczekiwaniami funkcja generyczna wywołała metodę dla pierwszej z klas w wektorze, czyli klasy ciasto, ignorując metody dla klas slodkosci i jedzenie.

+

W większości przypadków jednak wprowadzamy nowe klasy nie po to, by zastępować istniejące metody dla klas ogólniejszych, lecz po to by wprowadzić pewne rozszerzenia, np. metody czy atrybuty, które nie mają sensu dla innych obiektów z klasy - rodzica.

+

Wprowadźmy metodę pokroj. Dla każdego obiektu klasy jedzenie bedzie ona dzialac identycznie - dzielić atrybut kalorie przez wskazane n i zwracać n równych “porcji” :

+
pokroj<-function(x,...){
+  UseMethod("pokroj",x)
+}
+pokroj.jedzenie <- function(x,n){
+  porcja<-attr(x, "kalorie")/n
+  rep(porcja,n)
+}
+pokroj(kanapka,4)
+
## [1] 37.5 37.5 37.5 37.5
+

Oprócz tego wprowadźmy metodę sensowną tylko dla klasy ciasto: posyp_cukrem_pudrem.

+
posyp_cukrem_pudrem<-function(x,...){
+  UseMethod("posyp_cukrem_pudrem",x)
+}
+posyp_cukrem_pudrem.ciasto <- function(x){
+  cat("Syp syp syp\n")
+}
+

Zauważmy, że przez wprowadzenie dodatkowych klas obiekt szarlotka nie traci funkcjonalności klasy jedzenie:

+
pokroj(szarlotka,5)
+
## [1] 53 53 53 53 53
+

Podczas gdy równocześnie możliwym stało się zdefiniowanie dla niego indywidualnych metod:

+
posyp_cukrem_pudrem(szarlotka)
+
## Syp syp syp
+
posyp_cukrem_pudrem(hot_dog)
+
## Error in UseMethod("posyp_cukrem_pudrem", x): niestosowalna metoda dla 'posyp_cukrem_pudrem' zastosowana do obiektu klasy "jedzenie"
+

Dziedziczenie może być bardzo użyteczne, ale należy je stosować z ostrożnością, mając w pamięci elastyczność klas i atrybutów w S3. Bardzo łatwo stracić orientację, w szczególności wprowadzając dziedziczenie po klasach wbudowanych lub po klasach zbudowanych przez kogoś innego - wówczas ciężko nam wziąć pod uwagę wszystkie istniejące dla danych klas metody. Posługując się dziedziczeniem i klasami w sposób rozrzutny i nieprzemyślany łatwo możemy doprowadzić do chaosu.

+
+

11.2.3.1 NextMethod

+

NextMethod jest używane w sytuacji, gdy wewnątrz metody klasy chcemy wywołać metodę klasy nadrzędnej (rodzica).

+
zjedz.ciasto<- function(x){
+  cat("Mniam mniam, pyszne ciacho!\n")
+  NextMethod()
+}
+
+zjedz(szarlotka)
+
## Mniam mniam, pyszne ciacho!
+## Słodkie, dobre, mniam..
+
zjedz.slodkosci <- function(x){
+  cat("Słodkie, dobre, mniam.. \n")
+  NextMethod()
+}
+zjedz(szarlotka)
+
## Mniam mniam, pyszne ciacho!
+## Słodkie, dobre, mniam.. 
+## Mniam mniam
+
+
+
+
+

11.3 S4

+

S3 jest użyteczny i do niektórych zastosowań wystarczający, ale nie posiada wielu własności znanych z systemów programowania w innych językach. Ponadto, ze względu na dużą swobodę w tworzeniu klas i metod, utrzymanie bardziej złożonych struktur i hierarchii może być uciążliwe i mało przejrzyste z użyciem S3.

+

Pierwszą alternatywą dla S3 był system S4. W S4 metody tworzone z użyciem tej samej logiki - przez funckje generyczne. W przeciwieństie do S3, system S4 wymaga zdefiniowania klasy, w szczególności jej pól (slotów) i dziedziczenia po innych klasach.

+

Klasę definiuje się z użyciem funkcji setClass:

+
# pierwszym argumentem funkcji jest nazwa klasy
+setClass("nazwa_klasy",
+  slots = c(
+    # tutaj definiowane są sloty i ich typ
+    slot_1 = "data.frame",
+    slot_2 = "list"
+  ),
+  prototype = c(
+    # tutaj definiowane są wartości domyślne (prototyp) dla slotów
+    slot_1 = data.frame(),
+    slot_2 = list()
+  )
+)
+

Funkcja setClass posiada również parametr contains, który odpowiada za dziedziczenie po innych klasach:

+
setClass("klasa_rodzic", 
+         slots=c(
+           macierz = "matrix"
+         ))
+setClass("klasa_dziecko", contains="klasa_rodzic")
+

Funkcje generyczne z użyciem których tworzymy metody S4 są rozróżniane od funkcji generycznych systemu S3. Mechanizm tworzenia metody jest więc bardzo podobny, ale używamy do tego celu dedykowanych dla S4 funkcji.

+
# tworzenie funkcji generycznej S4
+setGeneric("nazwa_metody", function(x, ...) standardGeneric("nazwa_metody"))
+
## [1] "nazwa_metody"
+
# tworzenie metody dla klasy
+setMethod("nazwa_metody", "nazwa_klasy", function(x,...){
+  # działanie metody na obiekcie klasy 
+})
+
+

11.3.1 Bonus: przykład wykorzystania systemu S4

+

S4, choć bardziej restrykcyjny niż S3, nadal daje dużo swobody w przypisywaniu klas, dziedziczeniu, w szczególności w manewrowaniu wbudowanymi klasami R.

+

Wykorzystaliśmy to w naszym raczkującym pakiecie autoeda do ominięcia problemu przypisania różnego zachowania funkcji w zależności od otrzymanego typu danych.

+

Celem było obliczenie tej samej funkcji (np. średniej) dla wszystkich kolumn danych, przy założeniu, że nasz zbiór danych jest średniej wielkości (kilkadziesiąt kolumn - zmiennych). Jeśli niemożliwe jest obliczenie funkcji dla danej kolumny (np. próbujemy obliczyć średnią z kolumny stringów), chcieliśmy uniknąć przerywania pracy funkcji i zwracać NA.

+

By osiągnąć powyższy rezultat zdecydowaliśmy się zdefiniować klasę funkcji - miar obliczanych na kolumnach jako klasę dziedziczącą po… klasie funkcji generycznych:

+
setClass("RankingMeasure",
+  slots = c(
+    name = "character",
+    description = "character"
+  ),
+  prototype = list(
+    name = NA_character_,
+    description = NA_character_
+  )
+)
+setClass("BuiltInMeasure",
+  contains = c("standardGeneric", "RankingMeasure")
+)
+

Następnie dla każdej potrzebnej nam funkcji utworzyliśmy odpowiadający jej obiekt - funkcję generyczną klasy BuiltInMeasure i zdefiniowaliśmy metody tej funkcji generycznej dla możliwych typów zmiennych, zwracając NA domyślnie i wynik liczbowy, gdzie to możliwe.

+ +
+
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/przetwarzanie-danych-tabelarycznych.html b/docs/_book/przetwarzanie-danych-tabelarycznych.html new file mode 100644 index 0000000..28377a2 --- /dev/null +++ b/docs/_book/przetwarzanie-danych-tabelarycznych.html @@ -0,0 +1,654 @@ + + + + + + + Chapter 5 Przetwarzanie danych tabelarycznych | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 5 Przetwarzanie danych tabelarycznych

+

Operacje na danych w R są związane głównie z filtrowaniem, dodawaniem i modyfikowaniem kolumn, grupowaniem oraz podsumowywaniem danych. Można je wykonywać za pomocą funkcji bazowego R lub narzędzi z zaimportowanych pakietów: tidyverse, data.table.

+

Załóżmy, że ramka danych jest przypisana do zmiennej \(dane\), a nazwy jej kolumn to: \(kol.1, kol.2, kol.3,...\) .

+
+

5.1 Wybieranie kolumn

+

Poniżej przedstawione są instrukcje pozwalające na wybieranie konkretnych kolumn z ramki danych w~zależności od metody. +Dla uproszczenia przyjmijmy, że wybieramy kolumny: \(kol.1, kol.2, kol.3\).

+
    +
  1. base
  2. +
+
    +
  • dane = dane[, c(“kol.1”, “kol.2”, “kol.3”)]
  • +
+
    +
  1. tidyverse
  2. +
+
    +
  • dane = select(dane, kol 1, kol 2, kol 3)
  • +
  • dane = dane %>% select(kol 1, kol 2, kol 3)
  • +
+
    +
  1. data.table
  2. +
+

Nazwy kolumn ramki danych zawierą znak “.” . Wprowadźmy zmienną pomocniczą \(kolumny\). Będzie ona zawierać nazwy kolumn, ale zastępując znak “.” znakiem ” “.

+
kolumny = c("kol 1", "kol 2", "kol 3")
+
    +
  • dane = dane[, kolumny]
  • +
  • dane = dane[, kolumny, with = FALSE] - dana metoda nie zadziała bez argumentu \(with~=~FALSE\), ponieważ szuka w ramce danych kolumn o nazwach zawartych w obiekcie \(kolumny\), a nie konkretnie podanych nazw
  • +
  • dane = dane[, colnames(dane) %in% kolumny, with = FALSE]
  • +
  • dane = dane[, ..kolumny]
  • +
  • dane = dane[, list(kol 1, kol 2, kol 3)]
  • +
  • dane = dane[, .(kol 1, kol 2, kol 3)]
  • +
+
+
+

5.2 Zmiana nazw kolumn

+

Teraz zostaną zaprezentowane sposoby na zmianę nazw kolumn ramki danych. Przyjmijmy, że nowe nazwy kolumn są postaci \(k1, k2, k3, ...\) .

+
    +
  1. base
  2. +
+
    +
  • colnames(dane) = c(“k1”, “k2”, “k3”)
  • +
+
    +
  1. tidyverse
  2. +
+
    +
  • dane = dane %>% rename(k1 = kol.1, k2 = kol.2, k3 = kol.3)
  • +
+
    +
  1. data.table
  2. +
+
    +
  • setnames(dane, c(“kol.1”, “kol.2”, “kol.3”), c(“k1”, “k2”, “k3”)) - zaleta: nie kopiuje ramki danych
  • +
+
+
+

5.3 Filtrowanie

+

Dany rozdział skupia się na sposobach filtrowania danych. Przydatne funkcje:

+
    +
  • unique(dane\(\$\)k1) - zwraca unikalne wartości kolumny \(k1\)
  • +
  • table(dane\(\$\)k1) - zlicza ilość wystąpienia każdej wartości w kolumnie \(k1\)
  • +
  • prop.table(table(dane\(\$\)k1)) - pokazuje procentowo ilość wystąpienia każdej wartości w kolumnie \(k1\) w\(~\)stosunku do wszystkich wartości
  • +
+

Przyjmnijmy, że wybieramy z kolumny \(k1\) określoną wartość \(abc\).

+
    +
  1. base
  2. +
+
    +
  • dane[dane\(\$\)k1 == “abc”, ]
  • +
+
    +
  1. tidyverse
  2. +
+
    +
  • dane %>% filter(k1 == “abc”) +
      +
    • można podać kilka warunków (po przecinku), będą one domyślnie rozdzielone spójnikiem \(i\)
    • +
    • aby połączyć warunki spójnikiem \(i\) można również użyć operatora \(\&\)
    • +
    • aby połączyć warunki spójnikiem \(lub\) należy użyć operatora \(|\)
    • +
  • +
+
    +
  1. data.table
  2. +
+
    +
  • dane[k1 == “abc”]
  • +
+
+
+

5.4 Usuwanie kolumn

+

Załóżmy, że usuwamy pierwszą kolumnę - \(k1\).

+
    +
  1. base
  2. +
+
    +
  • dane = dane[, -1] - gdzie \(1\) to numer usuwanej kolumny, a “-” oznacza usuwanie
  • +
+
    +
  1. tidyverse
  2. +
+
    +
  • dane = select(dane, -k1) - jak powyżej, “-” oznacza usuwanie, ale w tym przypadku stosujemy nazwę kolumny a nie jej numer
  • +
+
    +
  1. data.table
  2. +
+
    +
  • dane[, k1 := NULL] - operator \(:=\) (referencja) oznacza, że operacja jest wykonywana bez kopiowania ramki danych
  • +
  • dane = dane[, -1, with = FALSE]
  • +
+
+
+

5.5 Manipulacje na kolumnach

+

Przyjmijmy, że kolumna \(k2\) zawiera tylko liczby. Wartości ujemne zamieniamy na \(0\). W tym celu posłużymy się funkcją \(ifelse\): +\[ ifelse(warunek \ logiczny,\ wartość \ jeśli \ spełniony, \ wartość \ jeśli\ niespełniony).\] +1. base

+
    +
  • dane[[“k2”]] = ifelse(dane[[“k2”]] < 0, 0, dane[[“k2”]])
  • +
+
    +
  1. tidyverse
  2. +
+
    +
  • dane = dane %>% mutate(k2 = ifelse(k2 < 0, 0, k2)) +
      +
    • możemy modyfikować kilka kolumn jednocześnie, rozdzielając je przecinkiem
    • +
  • +
+
    +
  1. data.table
  2. +
+
    +
  • dane[, k2 := ifelse(k2 < 0, 0, k2)] - z użyciem referencji
  • +
  • dane[[“k2”]] = ifelse(dane[[“k2”]] < 0, 0, dane[[“k2”]]) - bez użycia referencji
  • +
+
+
+

5.6 Aplikowanie transformacji do każdej kolumny

+

W tym rozdziale będziemy operować na wszystkich kolumnach ramki danych. Wartości w nich zawarte mogą być typu \(factor\), które zamienimy na typ \(character\).

+
    +
  1. base
  2. +
+
    +
  • poprzez pętlę
  • +
+
      for (i in 1:ncol(dane)){
+        if (is.factor(dane[, i])){
+          dane[, i] = as.character(dane[, i])
+        }
+      }
+
    +
  • poprzez funkcję \(lapply\)
  • +
+
      lapply(dane, fun(x){
+        if(is.factor(x))
+          x = as.character(x)
+      })
+
    +
  1. tidyverse
  2. +
+
    +
  • przy użyciu funkcji \(mutate\_all\)
  • +
+
    dane = dane %>%
+      mutate_all(function(x){
+        if (is.factor(x)){
+          as.character(x)
+        } 
+        else{
+          x
+        }
+      })
+
    +
  1. data.table
  2. +
+
    +
  • przy użyciu funkcji lapply
  • +
+
    dane = dane[, lapply(.SD, function(x){
+      if (is.factor(x)){
+        as.character(x)
+      } 
+      else{
+        x
+      } 
+    })]
+
+
+

5.7 Grupowanie i podsumowanie

+

Załóżmy, że do wyznaczenia wszystkich unkialnych wartości ramki danych potrzebne są kolumny \(k1\), \(k2\) i \(k3\). Natomiast podsumowywana będzie kolumna \(k4\) - zostanie wyliczona średnia dla każdej unikalnej wartości.

+
    +
  1. base
  2. +
+
    +
  • przy użyciu funkcji \(aggregate\) - zastosowana zostanie formuła \(k4\) ~ \(k1 + k2 + k3\), która oznacza, że będzie podsumowywana zmienna \(k4\) w zależności od unikalnych zestawów wartości zmiennych \(k1\), \(k2\), \(k3\) +
      +
    • aggregate(k4 ~ k1 + k2 + k3, +data = dane, +FUN = function(x) mean(x, na.rm = TRUE)) - poprzez zastosowanie własnej funkcji

    • +
    • aggregate(k4 ~ k1 + k2 + k3, +data = dane, +FUN = mean, na.rm = TRUE) - poprzez zastosowanie istniejącej funkcji

    • +
  • +
+
    +
  1. tidyverse
  2. +
+
    +
  • dane %>% +group_by(k1, k2, k3) %>% +summarize(srednia = mean(k4, na.rm = TRUE), maksimum = max(k4, na.rm = TRUE)) +
      +
    • \(group\_by\) - grupuje po kolumnach \(k1\), \(k2\), \(k3\)
    • +
    • \(summarize\) - podsumowuje według podanych elementów (w tym przypadku wylicza średnią i maksimum z kolumny \(k4\))
    • +
  • +
+
    +
  1. data.table
  2. +
+
    +
  • dane[, list(średnia = mean(k4, na.rm = TRUE), +maksimum = max(k4, na.rm = TRUE)), +by = c(“k1”, “k2”, “k3”)]
  • +
+
+
+

5.8 Podsumowywanie wszystkich kolumn

+

W celu podsumowania kolumn zdefiniujemy poniższą funkcję, która zwróci ilość niepustych wartości.

+
  num_unique_noNA = function(input_vector){
+    sum(!is.na(unique(input_vector)))
+  }
+
    +
  1. base
  2. +
+
    +
  • apply(dane, 2, num_unique_noNA) - gdzie \(2\) oznacza, że wywołujemy podaną funkcję \(num\_unique\_noNA\) po kolumnach +
      +
    • lapply(dane, num_unique_noNA)
    • +
    • sapply(dane, num_unique_noNA)
    • +
  • +
+
    +
  1. tidyverse
  2. +
+
    +
  • summarise_all(dane, num_unique_noNA)
  • +
+
    +
  1. data.table
  2. +
+
    +
  • dane[, lapply(.SD, num_unique_noNA)]
  • +
+ +
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/reference-keys.txt b/docs/_book/reference-keys.txt new file mode 100644 index 0000000..66e6a81 --- /dev/null +++ b/docs/_book/reference-keys.txt @@ -0,0 +1,113 @@ +tab:unnamed-chunk-94 +tab:unnamed-chunk-101 +wstęp +podstawy-języka-r +liczby +łańcuchy-znaków +wartości-logiczne +wektory +indeksowanie +operacje-na-wektorach +r---funkcje +wczytywanie-danych-w-r +formaty-danych +csvdsv +xml +json +excel-xlsx +otwarte-wersje-programu-excel +pliki-tekstowe +base +readr +data.table +różnice +arkusze-kalkulacyjne-i-pliki-json +locale +ustawienie-locale-przez-użytkownika +ustawienie-locale-poprzez-readr +natywne-formaty-r +rds +rda +eksploracyjna-analiza-danych +dane-tabelaryczne +typy-zmiennych +miary +r---podsumowanie-kolumn +przetwarzanie-danych-tabelarycznych +wybieranie-kolumn +zmiana-nazw-kolumn +filtrowanie +usuwanie-kolumn +manipulacje-na-kolumnach +aplikowanie-transformacji-do-każdej-kolumny +grupowanie-i-podsumowanie +podsumowywanie-wszystkich-kolumn +czyste-dane +dane-w-formacie-wąskim-i-szerokim +rozdzielanie-na-kolumny-wąska---szeroka +scalanie-kilku-kolumn-w-jedną-szeroka---wąska +łączenie-tabel-danych +merge +join +operacje-na-napisach-i-datach +operacje-na-napisach +operacje-na-datach +katarzyna-frankiewicz-maciej-grabias-jakub-michałowski +wprowadzenie +gramatyka-grafiki +podstawy-tworzenia-wykresów-w-ggplot2 +mapowanie +geometria-wykresu +funkcje-pomagające-poprawić-czytelność-wykresu +systemy-współrzędnych +dopasowanie-położenia +zarządzanie-osiami-współrzędnych +motywy +panele +czysty-i-wydajny-kod-w-r +czysty-kod +co-jeśli-w-kodzie-jest-bałagan +opis-zmiennych +opis-intencji +unikanie-błędnych-informacji +kilka-wskazówek +funkcje +komentarze +obiekt-a-struktura-danych +styl-kodu-i-narzędzia-pomagające-w-utrzymaniu-czystego-kodu +interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-użytkownika +wstęp-1 +tworzenie-ui +układ-strony +elementy-wejścia-i-wyjścia +przykładowe-elementy-wejścia +przykładowe-elementy-wyjścia +przykład-użycia +wygląd-aplikacji +uwaga +wstęp-2 +serwer-shiny +podstawy-kontroli-wersji-przy-pomocy-gita +podstawowe-informacje +podstawowe-komendy +repozytoria +podstawowe-komendy-1 +cofanie-zmian +gałęzie +tworzenie-własnych-repozytoriów +programowanie-obiektowe-w-r-klasy-s3 +systemy-programowania-obiektowego-w-r +s3 +klasy-i-atrybuty +funkcje-generyczne-i-metody +funkcje-generyczne +tworzenie-funkcji-generycznych-i-metod +dziedziczenie +nextmethod +s4 +bonus-przykład-wykorzystania-systemu-s4 +moduły-w-aplikacjach-shiny +czym-jest-moduł-shiny +dlaczego-warto-używać-modułów-shiny +budowa-modułu-shiny. +jak-używać-modułów-shiny diff --git a/docs/_book/search_index.json b/docs/_book/search_index.json new file mode 100644 index 0000000..84be323 --- /dev/null +++ b/docs/_book/search_index.json @@ -0,0 +1 @@ +[["index.html", "Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ Instytut Matematyczny, Uniwersytet Wrocławski Chapter 1 Wstęp", " Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ Instytut Matematyczny, Uniwersytet Wrocławski Mateusz Staniak 2023-10-12 Chapter 1 Wstęp Autorzy poszczególnych rozdziałów: Podstawy języka R: Michał Dylewicz, Marcela Kamchen, Anna Krasoń, Katarzyna Kulon, Arkadiusz Soból (z wyjątkiem podrozdziału Funkcje). Wczytywanie danych: Marta Kałużna, Sebastian Jachimek, Joanna Grunwald, Wojciech Wojnar. Eksploracyjna analiza danych: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. [Także podrozdział Funkcje pierwszego rozdziału.] Podstawy kontroli wersji z Gitem: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. Przetwarzanie danych tabelarycznych: Weronika Domaszewska, Ewelina Grzmocińska, Gracjan Hrynczyszyn, Dominik Jaźwiecki, Michał Ociepa. Czyste dane: Kacper Ambroży, Dominika Szewc, Radosław Szudra, Helena Wołoch. Wizualizacja danych z pakietem ggplot2: Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski Czysty i wydajny kod w R: Paulina Bannert, Natalia Bercz, Piotr Mrozik, Dariusz Sudół, Monika Wyźnikiewicz Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika: Stanisław Banaszek, Mateusz Drobina, Dominik Mika, Adrian Płoszczyca, Jakub Sobkowiak Interaktywna wizualizacja danych z pakietem shiny: strona serwerowa: Wojciech Leszkowicz, Małgorzata Stawińska, Tomasz Szmyd, Maciej Tadej. Dodatkowe rozdziały: - Podstawy kontroli wersji przy pomocy Gita: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. - Programowanie obiektowe w R: klasy S3: Agata Cieślik. - Moduły w aplikacjach shiny: Krystyna Grzesiak. "],["podstawy-języka-r.html", "Chapter 2 Podstawy języka R 2.1 Liczby 2.2 Łańcuchy znaków 2.3 Wartości logiczne 2.4 Wektory 2.5 Indeksowanie 2.6 Operacje na wektorach 2.7 R - funkcje", " Chapter 2 Podstawy języka R Język R posiada kilka typów danych, które pokrótce postaramy sie omówić poniżej. Pokażemy ich budowe jak i operacje na nich, przytaczając stosowne przyklady. 2.1 Liczby Liczby całkowite i rzeczywiste (tutaj separator dziesiętny to kropka). Możemy używać również notacji naukowej. Operacje na liczbach to podstawowe działania matematyczne jak i trochę rozszerzone, ukazane niżej wraz z specjalnymi liczbami. 5; 5.5; 5.5e-2; ## [1] 5 ## [1] 5.5 ## [1] 0.055 Tutaj liczby specjalne, NaN # not a number ## [1] NaN Inf # nieskończoność ## [1] Inf -Inf # - nieskończoność ## [1] -Inf oraz kilka działań na liczbach 1 + 1 # podobnie '-' to odejmowanie ## [1] 2 4/2 # dzielenie, a '*' to mnożenie ## [1] 2 5 %/% 3 # dzielenie całkowite ## [1] 1 5 %% 3 # reszta z dzielenia ## [1] 2 2^3 # potęgowanie ## [1] 8 2**3 # też potęgowanie ## [1] 8 sqrt(4) #pierwiastkowanie ## [1] 2 abs(-1) # wartość bezwzględna ## [1] 1 2.2 Łańcuchy znaków Łańcuch znaków to po prostu napi. Napis jest otoczony przez ” lub ’. W napisie możemy umieszczać dowolne znaki, pamiętając że są też znaki specjalne (rozpoczynające się od \\ i mające specjalne funkcje). Na napisach istnieje wiele operacji (np. \\(\\verb+paste()+,\\) czyli sklejenie dwóch napisów), lecz je zobaczymy w notatce o napisach. "napis" ## [1] "napis" 'to też' ## [1] "to też" "'a tutaj nawet z bonusem'" ## [1] "'a tutaj nawet z bonusem'" # ""a"" to już wbrew intuicji nie jest napis cat("i znak \\n specjalny, wstawiający nową linie") # cat() wyświetla napis w sposób niesformatowany ## i znak ## specjalny, wstawiający nową linie 2.3 Wartości logiczne Logiczna Prawda (\\(\\verb+TRUE+\\) lub \\(\\verb+T+\\)) oraz logiczny Fałsz (\\(\\verb+FALSE+\\) lub \\(\\verb+F+\\)). Na tych obiektach możemy wykonywać operacje logiczne oraz algebraiczne. TRUE & TRUE # operator 'i' ## [1] TRUE TRUE | FALSE # operator 'lub' ## [1] TRUE 1 == 1 # testowanie równości ## [1] TRUE 1 != 2 # testowanie nierówności ## [1] TRUE 2*TRUE # TRUE ma wartość 1 ## [1] 2 2*FALSE # FALSE ma wartość 0 ## [1] 0 T ; `T` <- FALSE; T # używając `` możemy zmienić wartość logiczną wyrażenia ## [1] FALSE ## [1] FALSE 2.4 Wektory Wektor to w R uporządkowany zbiór elementów. Elementy te muszą mieć ten sam typ, także jeśli do wektora trafią elementy z różnym typem (poza NA), to nastąpi konwersja elementów do jednego typu. Proste wektory tworzymy przez polecenie \\(\\verb+c()+\\) i elementy wypisujemy w nawiasie po przecinku. Dodatkowo, element wektora jest traktowany jako jednoelementowy wektor. Wektory liczbowe jak i inne możemy tworzyć za pomocą wbudowanych funkcji do tego przeznaczonych. v <- c(1, 2, 3) #przypisanie wektora do zmiennej 0:10 # wektor liczbowy ## [1] 0 1 2 3 4 5 6 7 8 9 10 seq(from = 0, to = 10, by = 1) # to samo, ale za pomocą seq(), czyli sequance ## [1] 0 1 2 3 4 5 6 7 8 9 10 seq(0, 1, length.out = 4) # równe odstępy w 4 liczbowym wektorze ## [1] 0.0000000 0.3333333 0.6666667 1.0000000 length(v) # zwraca długość vectora ## [1] 3 # vector(mode, lenght) tworzy wektor dlugosci lenght, a wyrazy tego wektora maja klase mode vector("integer", 10) # wektor liczb calkowitych ## [1] 0 0 0 0 0 0 0 0 0 0 vector("numeric", 10) # wektor liczb rzeczywistych ## [1] 0 0 0 0 0 0 0 0 0 0 vector("character", 10) # wektor slów ## [1] "" "" "" "" "" "" "" "" "" "" rep(v, each = 2) # każdy element v zostanie powtórzony 2 razy ## [1] 1 1 2 2 3 3 rep(v, times = 2) # v zostanie powtórzony 2 razy ## [1] 1 2 3 1 2 3 # mały mix tj. tutaj element v traktujemy jako wektor jednoelementowy # i powtarzamy times razy rep(v, times = 1:3) ## [1] 1 2 2 3 3 3 x <- c("a", "A") # wektor napisowy v <- "a" # to też toupper(x) # zmieni stringi w argumencie na wielkie litery ## [1] "A" "A" tolower(x) # zmieni stringi w argumencie na male litery ## [1] "a" "a" 2.5 Indeksowanie W R wektory są indeksowane od 1 (a nie od 0 jak w wielu językach programowania!). Aby odwołać się do konkretnego elementu wektora korzystamy z nawiasów kwadratowych \\(\\verb+[]+.\\) letters[3] ## [1] "c" Można wybrać więcej niż jeden element, wpisując w nawiasach kwadratowych wektor indeksów. letters[1:10] ## [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" letters[c(1, 15)] ## [1] "a" "o" letters[seq(1, 20, by = 2)] ## [1] "a" "c" "e" "g" "i" "k" "m" "o" "q" "s" Jeśli przed wektorem indeksów widnieje znak minus, R zwróci wszystkie elementy wektora z wyjątkiem tych w nawiasie kwadratowym. letters[-(1:10)] # niezbędny nawias wokół 1:10 ## [1] "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" letters[-c(1, 15)] ## [1] "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" letters[-seq(1, 20, by = 2)] ## [1] "b" "d" "f" "h" "j" "l" "n" "p" "r" "t" "u" "v" "w" "x" "y" "z" Pod wybrane indeksy można przypisać nowe wartości. new_letters <- letters new_letters[1:5] <- LETTERS[1:5] new_letters ## [1] "A" "B" "C" "D" "E" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" ## [26] "z" Albo pod każdy wybrany indeks nową wspólną wartość. new_letters[1:5] <- "x" new_letters ## [1] "x" "x" "x" "x" "x" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" ## [26] "z" Tworząc wektor funkcją \\(\\verb+c()+,\\) możemy nazwać każdy z jego elementów. str_vec_nam <- c("a" = "A", "b" = "B", "c" = "C") str_vec_nam ## a b c ## "A" "B" "C" Może być to użyteczne przy odwoływaniu się do konkretnego elementu wektora, nie trzeba wtedy znać numeru jego indeksu. str_vec_nam["a"] ## a ## "A" str_vec_nam[c("a", "c")] ## a c ## "A" "C" str_vec_nam[c("c", "a")] ## c a ## "C" "A" Wektory możemy również indeksować za pomocą wektorów logicznych. Działa to wtedy jak wybieranie tych elementów wektora, które spełniają ustalony warunek. x_ind <- new_letters == "x" x_ind ## [1] TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE ## [17] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE new_letters[x_ind] ## [1] "x" "x" "x" "x" "x" "x" seq_vec <- seq(0, 1, length.out = 10) seq_vec[seq_vec < 0.5] ## [1] 0.0000000 0.1111111 0.2222222 0.3333333 0.4444444 Można oczywiście rozbudowywać wyrażenia logiczne, np. następująco: seq_vec[seq_vec < 0.3 | seq_vec > 0.8] ## [1] 0.0000000 0.1111111 0.2222222 0.8888889 1.0000000 seq_vec[seq_vec > 0.3 & seq_vec < 0.8] ## [1] 0.3333333 0.4444444 0.5555556 0.6666667 0.7777778 2.6 Operacje na wektorach W R domyślnym i naturalnym zachowaniem funkcji na wektorach jest działanie element po elemencie 1:10 + seq(0, 1, length.out = 10) ## [1] 1.000000 2.111111 3.222222 4.333333 5.444444 6.555556 7.666667 8.777778 9.888889 11.000000 c(2,4,6,8)^(1:4) ## [1] 2 16 216 4096 W przypadku gdy wektory, na których wykonujemy obliczenia mają różne długości zachodzi recykling, tj. R samoistnie przedłuża krótszy wektor replikując go odpowiednią liczbę razy. Widzimy, że obie poniższe linie kodu dają taki sam efekt. 1:10 + 1:2 ## [1] 2 4 4 6 6 8 8 10 10 12 1:10 + rep(1:2, 5) ## [1] 2 4 4 6 6 8 8 10 10 12 Gdy długość dłuższego wektora nie jest wielokrotnością krótszego, recykling także zadziała, jednak R zgłosi warning. 1:10 + 1:3 ## Warning in 1:10 + 1:3: długość dłuszego obiektu nie jest wielokrotnością długości krótszego obiektu ## [1] 2 4 6 5 7 9 8 10 12 11 1:10 + 1:3 + 1:2 + 1:5 ## Warning in 1:10 + 1:3: długość dłuszego obiektu nie jest wielokrotnością długości krótszego obiektu ## [1] 4 8 10 11 13 12 11 15 17 18 Na wektorach możemy wykonywać oczywiście inne funkcje poza podstawowymi operacjami arytmetycznymi. Jedną z opcji jest posortowanie wektora. num_vec <- c(3,6,1,9,8,-3,0,102,-5) sort(num_vec) # sortowanie rosnące ## [1] -5 -3 0 1 3 6 8 9 102 sort(num_vec, decreasing = TRUE) # sortowanie malejące ## [1] 102 9 8 6 3 1 0 -3 -5 Odwrócić kolejnośc elementów wektora można następująco. rev(num_vec) ## [1] -5 102 0 -3 8 9 1 6 3 Oto kilka kolejnych funkcji. sum(num_vec) # suma elementów wektora ## [1] 121 prod(num_vec) # iloczyn elementów wektora ## [1] 0 mean(num_vec) # średnia elementów wektora ## [1] 13.44444 Przy operacjach jak powyższe należy jednak uważać na wektory zawierające “NA”. vec_with_NA <- c(3,6,1,NA) sum(vec_with_NA) ## [1] NA Aby zsumować wartości z pominięciem “NA” należy dopisać dodatkowy argument funkcji. sum(vec_with_NA, na.rm = TRUE) ## [1] 10 Analogicznie dla iloczynu i średniej elementów. prod(vec_with_NA) ## [1] NA prod(vec_with_NA, na.rm = TRUE) ## [1] 18 mean(vec_with_NA) ## [1] NA mean(vec_with_NA, na.rm = TRUE) ## [1] 3.333333 Lista jest podobna do wektora tj. jest pewnym ciągiem obiektów, tyle że jej elementy mogą mieć różne typy. l <- list(1:5) #lista z elementami bedacymi liczbami ## [[1]] ## [1] 1 2 3 4 5 l2 <- list(zwierze='dog', imie='Max',czyLubiInnePsy = TRUE) #lista z elementami bedacymi stringami lub wartosciami logicznymi ## $zwierze ## [1] "dog" ## ## $imie ## [1] "Max" ## ## $czyLubiInnePsy ## [1] TRUE Kolejnę różnica pomiedzy wektorem a listą jest możliwość odwoływania się do elementów listy za pomocą nazwy tego elementu i operatora $. Np: # odwolanie do elementu bedacego za pomoca [], # wynikiem takiej operacji jest lista zawierajaca wektor l[1] ## [[1]] ## [1] 1 2 3 4 5 # aby odwolac sie do konkretnego elementu uzwywamy [[]], na przyklad operacja l[[1]][2] # zwroci drugi element wektora z listy l[[1]][2] ## [1] 2 # nadpisywanie elementu listy wektorem l[[1]] <- c("a", "b", "c") # odwolanie do elementu za pomoca nazwy elementu l2$zwierze ## [1] "dog" l2$imie ## [1] "Max" l2$czyLubiInnePsy ## [1] TRUE Listy można łączyć oraz modyfikować. Funkcja \\(\\verb+lapply()+\\) to funkcja, która pozwala na wykonanie pewnego konkretnego działania na KAŻDYM elemencie z listy. Na przykład, możemy każdy element chcieć zapisać tylko dużymi literami: lapply(l2,toupper) ## $zwierze ## [1] "DOG" ## ## $imie ## [1] "MAX" ## ## $czyLubiInnePsy ## [1] "TRUE" Aby połączyć dwie listy, należy użyć \\(\\verb+c()+,\\) robiąc z dwóch list wektor i przypisując go do nowej zmiennej. l3 <- c(l,l2) ## [[1]] ## [1] "a" "b" "c" ## ## $zwierze ## [1] "dog" ## ## $imie ## [1] "Max" ## ## $czyLubiInnePsy ## [1] TRUE Macierz to obiekt dwuwymiarowy. Składa się z elementów tego samego typu. Tworzy się ją funkcją \\(\\verb+matrix()+,\\) do której podajemy wartości macierzy (zwykle w postaci wektora), liczbę wierszy i kolumn. matrix(data = 1:10, nrow = 2, ncol = 5) ## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 3 5 7 9 ## [2,] 2 4 6 8 10 Widzimy, że R domyślnie wypełnia macierz po kolumnach. Aby wypełnić ją po wierszach ustalamy parametr \\(\\verb+byrow = TRUE+\\) m <- matrix(data = 1:10, nrow = 2, ncol = 5, byrow = TRUE) m ## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 2 3 4 5 ## [2,] 6 7 8 9 10 Elementy macierzy wybiera się za pomocą dwóch indeksów - indeksu wiersza i indeksu kolumny umieszczonych w nawiasach kwadaratowych i rozdzielonych przecinkiem. m[2,3] ## [1] 8 Można również wybrać konkretne wiersze lub kolumny. m[1:2,3:4] # wybiera wiersze 1 i 2 oraz kolumny 3 i 4 ## [,1] [,2] ## [1,] 3 4 ## [2,] 8 9 m[2,c(1,4,5)] # wybiera wiersz 2 oraz kolumny 1,4 i 5 ## [1] 6 9 10 Nie podanie indeksu przed przecinkiem oznacza, że chcemy otrzymać wszystkie wiersze. Analogicznie nie podanie indeksu po przecinku oznacza, że chcemy otrzymać wszystkie kolumny. m[,c(1,3)] ## [,1] [,2] ## [1,] 1 3 ## [2,] 6 8 m[2,] ## [1] 6 7 8 9 10 Macierze, podobnie jak wektory, możemy także indeksować warunkami logicznymi. # zwraca elementy (w tym wypadku element) z pierwszej kolumny, # które są większe od 2 m[m[,1] > 2, 1] ## [1] 6 Można także indeksować macierz inną macierzą o dwóch kolumnach. Zwrócone zostaną wtedy elementy o indeksach będących wierszami tej macierzy. matrix_ind<- matrix(c(1, 2, 2, 3, 2, 4), byrow = TRUE, nrow = 3, ncol = 2) m[matrix_ind] ## [1] 2 8 9 Na macierzach o tych samych wymiarach możemy wykonywać operacje arytmetyczne. Trzeba zwrócić uwagę, że są one wykonywane element po elemencie (z matematycznego punktu widzenia jest to oczekiwane przy dodawaniu, ale nieoczekiwane przy mnożeniu macierzy). m1 <- matrix(1:4,2,2) m1 ## [,1] [,2] ## [1,] 1 3 ## [2,] 2 4 m2 <- matrix(2:5,2,2) m2 ## [,1] [,2] ## [1,] 2 4 ## [2,] 3 5 m1 + m2 ## [,1] [,2] ## [1,] 3 7 ## [2,] 5 9 m1 * m2 ## [,1] [,2] ## [1,] 2 12 ## [2,] 6 20 Aby wykonać matematyczne mnożenie macierzy należy użyć operatora \\(\\verb+%*%+.\\) m1 %*% m2 ## [,1] [,2] ## [1,] 11 19 ## [2,] 16 28 Jest to obiekt przechowujący dane w postaci tabeli dwuwymiarowej, którą tworzą wektory o dowolnym typie. Z ramki danych można korzystać jak z macierzy dwuwymiarowej (poprzez korzystanie z \\(\\verb+[,]+\\)), jak i z listy (poprzez korzystanie z $). imie <- c("Max", "Reksio","Rex","Luna") #utworzymy ramke z 2 wektorow wiek <- c(2,8,3,11) ramka <- data.frame(imie,wiek) #ramke tworzymy za pomoca polecenia data.frame() ## imie wiek ## 1 Max 2 ## 2 Reksio 8 ## 3 Rex 3 ## 4 Luna 11 #wyswietlanie nazw kolumn names(ramka) ## [1] "imie" "wiek" #odnoszenie sie do elementu znajdujacego sie w 2. rzedzie i 1. kolumnie ramka[2,1] ## [1] "Reksio" #pobieranie paru wierszy na raz za pomoca wektora ramka[c(1, 2), ] ## imie wiek ## 1 Max 2 ## 2 Reksio 8 #pobieranie wszystkich kolumn dla 1. wiersza ramka[1,] ## imie wiek ## 1 Max 2 #pobieranie wszystkich wierszy dla 1. kolumny ramka[,1] ## [1] "Max" "Reksio" "Rex" "Luna" # pierwsza kolumna bez drugiego wiersza ramka[-2, 1] ## [1] "Max" "Rex" "Luna" #pobieranie kolumn/wierszy po nazwie ramka$wiek ## [1] 2 8 3 11 # inny sposób indeksowanie po nazwie ramka[, "wiek"] ## [1] 2 8 3 11 Indeksowanie na podstawie zawartości ramki danych Dane z ramki mogą być przez nas “filtrowane” za pomocą []. Na przykład # psy poniżej 9 roku życia ramka[ramka$wiek < 9, ] ## imie wiek ## 1 Max 2 ## 2 Reksio 8 ## 3 Rex 3 #dane tylko dla Reksia ramka[ramka$imie == "Reksio", ] ## imie wiek ## 2 Reksio 8 # analogicznie dla wektorów wiek[wiek < 9] ## [1] 2 8 3 Tworząc ramkę danych należy pamiętać o tym, aby wektory danych służące za kolumny były tej samej długości. #zamiana nazw kolumn names(ramka) <- c("imie_psa", "wiek_psa") ## imie_psa wiek_psa ## 1 Max 2 ## 2 Reksio 8 ## 3 Rex 3 ## 4 Luna 11 Ramki danych możemy powiększać o dodatkowe wiersze i kolumny, ale typy (dla wierszy) i rozmiary muszą sie zgadzać z typami i rozmiarem ramki danych. Rozpatrzmy poniższy przykład, aby pokazać, jak dodać wiersz i kolumnę za pomocą funkcji \\(\\verb+cbind()+\\) oraz \\(\\verb+rbind()+\\). #dodawanie nowego wiersza dodajemy_wiersz <- data.frame(imie_psa ="Quentin", wiek_psa=9) #funkcja rbind "skleja" wierszowo argument pierwszy (u nas ramka) z drugim ramka <- rbind(ramka,dodajemy_wiersz) #dodawanie nowej kolumny czyLubiInnePsy <- c(TRUE,TRUE, FALSE, TRUE, FALSE) #funkcja cbind "skleja" kolumnowo argument pierwszy (u nas ramka) z drugim ramka <- cbind(ramka,czyLubiInnePsy) ## imie_psa wiek_psa czyLubiInnePsy ## 1 Max 2 TRUE ## 2 Reksio 8 TRUE ## 3 Rex 3 FALSE ## 4 Luna 11 TRUE ## 5 Quentin 9 FALSE Możemy rownież dodawać wiersze za pomocą indeksowania, to znaczy przypisywania wartości do konkretnych indeksów ramki: #jako 6. wiersz "wkladamy" nowy wektor ramka[6,] <- c("Fanta",0.5,TRUE) ## imie_psa wiek_psa czyLubiInnePsy ## 1 Max 2 TRUE ## 2 Reksio 8 TRUE ## 3 Rex 3 FALSE ## 4 Luna 11 TRUE ## 5 Quentin 9 FALSE ## 6 Fanta 0.5 TRUE # jako 4.kolumne "wkladamy" nowy wektor ramka[,4] <- c("Mateusz","Romek","Renata","Leon","Quennie","Filip") # nazywamy kolumne 4. names(ramka)[4] <- "opiekun_psa" ## imie_psa wiek_psa czyLubiInnePsy opiekun_psa ## 1 Max 2 TRUE Mateusz ## 2 Reksio 8 TRUE Romek ## 3 Rex 3 FALSE Renata ## 4 Luna 11 TRUE Leon ## 5 Quentin 9 FALSE Quennie ## 6 Fanta 0.5 TRUE Filip Analizując nową dla nas ramkę danych, użyteczne okazują się funkcje pozwalające na poznanie właściwości ramki danych. Oto pare z nich: # wymiary ramki (6 wierszy,4 kolumny) mozna sprawdzic za pomoca funkcji dim() dim(ramka) ## [1] 6 4 # aby zobaczyc skrocony opis typow danych zawartych w ramce uzywana jest funkcja str() str(ramka) ## 'data.frame': 6 obs. of 4 variables: ## $ imie_psa : chr "Max" "Reksio" "Rex" "Luna" ... ## $ wiek_psa : chr "2" "8" "3" "11" ... ## $ czyLubiInnePsy: chr "TRUE" "TRUE" "FALSE" "TRUE" ... ## $ opiekun_psa : chr "Mateusz" "Romek" "Renata" "Leon" ... # aby "podejrzec" pierwsze wiersze ramki danych, wraz naglowkami kolumn uzywana jest funkcja head() head(ramka) ## imie_psa wiek_psa czyLubiInnePsy opiekun_psa ## 1 Max 2 TRUE Mateusz ## 2 Reksio 8 TRUE Romek ## 3 Rex 3 FALSE Renata ## 4 Luna 11 TRUE Leon ## 5 Quentin 9 FALSE Quennie ## 6 Fanta 0.5 TRUE Filip # wysietlanie pierwszych n wierszy head(ramka,n=2) ## imie_psa wiek_psa czyLubiInnePsy opiekun_psa ## 1 Max 2 TRUE Mateusz ## 2 Reksio 8 TRUE Romek # wyswietlanie ostatnich n wierszy za pomoca funkcji tail() tail(ramka,n=2) ## imie_psa wiek_psa czyLubiInnePsy opiekun_psa ## 5 Quentin 9 FALSE Quennie ## 6 Fanta 0.5 TRUE Filip Pętli oraz instrukcji warunkowych używamy, kiedy chcemy uniknąć powielania kodu i chcemy zachować jego przejrzystość. Ułatwia to wprowadzanie potencjalnych zmian. Instrukcje opisujące co powinno się zdarzyć należy umieścić w nawiasach \\(\\verb+{ }+\\). Jeśli chcemy wykonać tylko jedną linijke kodu, możemy je opuścić. Umożliwia warunkowe wykonanie kawałka kodu - jeśli warunek zawarty w \\(\\verb+if+\\) jest spełniony, to R przejdzie do zawartej instrukcji. W przeciwnym wypadku wykona polecenie zawarte w \\(\\verb+else+\\), a jeśli go nie ma , to przejdzie do kolejnych pętli. Część \\(\\verb+else+\\) nie jest wymagana, w tym wypadku z góry wiadomo ile razy kod zostanie wykonany. Składnia wygląda następująco: if(warunek) { instrukcja_1 } i jest analogiczna do if(warunek) instrukcja_1 Możemy także zapisać if(warunek) { instrukcja_1 instrukcja_2 } else { instrukcja_3 } Powiedzmy, że rozpatrujemy liczbe z rozkładu normalnego i sprawdzamy jakiego jest znaku. x_norm <- rnorm(1) if (x_norm < 0) { cat("Liczba", x_norm, "jest ujemna") } else { cat("Liczba ", x_norm, "jest dodatnia") } ## Liczba 0.2630452 jest dodatnia Możemy chcieć wykonać różne operacje na tak wylosowanej liczbie. Przykładowo, jeśli będzie ujemna, to zmienić znak, zaokrąglić i zreplikować w wektorze if (x_norm < 0) { x_norm <- abs(x_norm) x_wek <- rep(round(x_norm, 2), times = 5) } else { x_wek <- "X" } i otrzymać X (X oznacza, że wylosowana liczba była dodatnia, a z nią nic nie robimy). Pętla \\(\\verb+while+\\) działa tak długo, dopóki warunek jest spełniony - tzn. do kiedy nie dostaniemy \\(\\verb+FALSE+\\). Warunek należy opisać tak, żeby w pewnym momencie został spełniony - inaczej pętla będzie działać w “nieskończoność”. Często używa sie jej do szukania losowych liczb o pewnych właściwościach. Składnia tej pętli jest następująca: while(warunek) { instrukcja_1 instrukcja_2 } Tutaj przykład wykorzystania, gdy chcemy losować liczby z przedziału [1, 100], dopóki różnica między dwoma kolejnymi nie będzie parzysta i <- 2 los <- c() los[1] <- 0 roznica <- 1 while(roznica%%2 != 0) { los <- c(los, sample(1:100, 1, replace = TRUE)) roznica <- los[i]-los[i-1] i = i+1 } W ten sposób dostajemy wylosowane liczby: 0, 39, 53, z różnicą między ostatnimi równą 14. Pętla \\(\\verb+for+\\) wygląda następująco: for(iterator in warunek) { instrukcja_1 instrukcja_2 } Ta pętla wykonuje instrukcje określoną ilość razy - tyle ile elementów \\(\\verb+iterator+\\) w zbiorze \\(\\verb+warunek+\\). W warunku możemy mieć liste albo wektor. Po każdym wykonaniu pętli, zmienna \\(\\verb+iterator+\\) przeskakuje do kolejnego elementu warunku. Jeśli chcemy wykonać tylko 1 instrukcje, można zapisać for(iterator in warunek) instrukcja_1 Przykładowo, jeśli chcemy elementy ze zbioru [1, 10] podnieść do potęgi, możemy użyć pętli \\(\\verb+for+\\). wynik <-c() for (i in 1:10) wynik <- c(wynik, i*i) wynik ## [1] 1 4 9 16 25 36 49 64 81 100 Możemy także napisać pętle zagnieżdżone, przykładowo do obliczenia wartości w macierzach. W tym wypadku wartością każdego elementu macierzy (3x3) jest iloczyn jego indeksów, co daje następujący wynik macierz <- matrix(nrow=3, ncol=3) for(i in 1:dim(macierz)[1]) { for(j in 1:dim(macierz)[2]) { macierz[i,j] = i*j } } macierz ## [,1] [,2] [,3] ## [1,] 1 2 3 ## [2,] 2 4 6 ## [3,] 3 6 9 Teraz zajmiemy się rodziną funkcji \\(\\verb+apply+\\). Należą do niej takie funkcję jak \\(\\verb+apply, tapply, sapply, lapply, vapply+\\). Wszystkie one pozwalają na wykonanie pewnej operacji na szeregu podzbiorów danych. Operacja, która ma być wykonana określana jest przez argument \\(\\verb+FUN+\\). Funkcje z tej rodziny przyjmują elementy listy \\(\\verb+(lapply()+)\\), elementy wektora \\(\\verb+(sapply())+\\), macierze \\(\\verb+(apply())+\\) oraz podgrup wskazanych przez jedną lub kilka zmiennych \\(\\verb+(by()+\\) i \\(\\verb+tapply())+\\). Zacznijmy od funkcji \\(\\verb+lapply()+\\). Wykonuje funkcję \\(\\verb+FUN+\\) dla wszystkich elementów wektora \\(\\verb+x+\\). Przydatna funkcja zastępująca pętlę \\(\\verb+for+\\). Domyślnie wynikiem działania jest lista, lecz jeżeli w wyniku chcielibyśmy otrzymać wektor, to jednym z rozwiązań jest zamiana listy na wektor funkcją \\(\\verb+unlist()+\\). Oto przykładowe działanie funkcji \\(\\verb+lapply()+\\): x=c(1,2,3,4,5,6,7,8,9,10) func=function(x){return(x**3-3*x)} lapply(x,func) ## [[1]] ## [1] -2 ## ## [[2]] ## [1] 2 ## ## [[3]] ## [1] 18 ## ## [[4]] ## [1] 52 ## ## [[5]] ## [1] 110 ## ## [[6]] ## [1] 198 ## ## [[7]] ## [1] 322 ## ## [[8]] ## [1] 488 ## ## [[9]] ## [1] 702 ## ## [[10]] ## [1] 970 Funkcja \\(\\verb+sapply+\\) jest bardziej przyjazną użytkownikowi wersją \\(\\verb+lapply+\\) zwracającą wektor lub macierz i może przyjmować więcej argumentów, np. \\(\\verb+sapply(x, f, simplify = FALSE, USE.NAMES = FALSE)+\\) zwraca ten sam wynik co \\(\\verb+lapply(x, f)+\\). Funkcja \\(\\verb+vapply+\\) jest podobna do \\(\\verb+sapply+\\), ale ma z góry określony typ zwracanych wartości, a może być również bezpieczniejszy w użyciu, a czasem nawet szybszy. Teraz weźmiemy pod lupe \\(\\verb+tapply()+\\), która to wykonuje funkcję \\(\\verb+FUN+\\) dla podzbiorów wektora \\(\\verb+x+\\) określonego przez poziomy zmiennej czynnikowej \\(\\verb+index+\\). Przydatna funkcja, gdy chcemy policzyć pewną statystykę w podgrupach, np. odchylenie standardowe w z wagami. W tym przypadku \\(\\verb+x+\\) będzie wektorem z wagami, \\(\\verb+index+\\) wektorem z płcią a \\(\\verb+FUN+\\) będzie funkcją sd). x=c(98,67,65,82,55,60,72,81,48,88) index=c('M','M','K','M','K','M','M','M','K','M') tapply(x,index,sd) ## K M ## 8.544004 12.944938 A teraz bardziej zaawansowana werssa funkcji \\(\\verb+tapply()+\\) z tą różnicą, że \\(\\verb+x+\\) może być macierzą lub listą, \\(\\verb+index+\\) może być listą, a wynik tej funkcji jest specyficznie wyświetlany. Jeżeli \\(\\verb+index+\\) jest listą zmiennych czynnikowych, to wartość funkcji \\(\\verb+FUN+\\) będzie wyznaczona dla każdego przecięcia czynników tych zmiennych. Wynik funkcji \\(\\verb+by()+\\) jest klasy \\(\\verb+by+\\), ale po usunięciu informacji o klasie, np. poprzez użycie funkcji \\(\\verb+unclass()+\\) otrzymujemy zwykłą macierz. Argument \\(\\verb+x+\\) może być listą lub macierzą, dzięki czemu do funkcji \\(\\verb+FUN+\\) przekazać można kilka zmiennych – elementów/kolumn listy/macierzy \\(\\verb+x+\\). m1=seq(1:9) x=c('a','b','c','a','b','c','a','b','c') by(m1,x,mean) ## x: a ## [1] 4 ## ------------------------------------------------------------------------------ ## x: b ## [1] 5 ## ------------------------------------------------------------------------------ ## x: c ## [1] 6 Z kolei \\(\\verb+mapply()+\\) to wielowymiarowy odpowiednik funkcji \\(\\verb+sapply()+\\). Argumentami tej funkcji jest funkcja \\(\\verb+fun+\\) oraz kilka (dwa lub więcej) wektorów o tej samej długości. Wynikiem jest wektor, w którym na pozycji \\(\\verb+i+\\)-tej jest wynik funkcji \\(\\verb+fun+\\) wywołanej z \\(\\verb+i+\\)-tych elementów wektorów będących argumentami. a=function(x,y){return(x**y)} mapply(a,x=seq(1,101,by=10),y=seq(1:11)) ## [1] 1.000000e+00 1.210000e+02 9.261000e+03 9.235210e+05 1.158562e+08 1.759629e+10 3.142743e+12 ## [8] 6.457535e+14 1.500946e+17 3.894161e+19 1.115668e+22 2.7 R - funkcje Funkcje przydają się do zamknięcia w nich operacji, które się często powtarzają w naszym kodzie lub dla jego lepszej czytelności. Podstawowa składnia funkcji w R wygląda tak: nazwa_funkcja <- function(argument 1, argument 2, …){ ciało funkcji return(wartość lub obiekt zwracany) } Napiszmy funkcję, która będzie mnożyła dowolny wektor przez podaną liczbę, a następnie zsumuje elementy wektora: funkcja1 <- function(wektor, liczba){ rezultat <- wektor * liczba rezultat <- sum(rezultat) return(rezultat) } Możemy także pominąc \\(\\texttt{return}\\) i zdefiniować funkcje: funkcja2 <- function(wektor, liczba){ rezultat <- wektor * liczba rezultat <- sum(rezultat) rezultat } Obie funkcje \\(\\texttt{funkcja1}\\) i \\(\\texttt{funkcja2}\\) robią to samo. Wykonajmy nasze funkcje dla dwóch zdefiniowanych zmiennych: v <- 1:5 n <- 2 funkcja1(v, n) ## [1] 30 funkcja2(v, n) ## [1] 30 Oczywiście do wykonania funkcji potrzebne jest zdefiniowanie obu argumentów. Jak ich nie dodamy wyświetli się błąd, że argument drugi zaginął i nie mamy zdefiniowanej jego wartości domyślnej. Zdefiniujmy zatem domyślną wartość argumentu \\(\\texttt{liczba}\\) jako \\(\\texttt{NULL}\\) i dopiszmy do naszej funkcji kod, który gdy ten argument będzie miał wartość domyślną zwróci tylko sumę elementów wektora: funkcja3 <- function(wektor, liczba = NULL){ if(is.null(liczba)){ rezultat <- sum(wektor) } else{ rezultat <- wektor * liczba rezultat <- sum(rezultat) } rezultat } Wykonajmy funckję \\(\\texttt{funkcja3}\\) na wcześniej zdefiniowanym wektorze \\(\\texttt{v}\\): funkcja3(v) ## [1] 15 Oprócz zdefiniowania wartości domyślnej argumentu poprzez trzy kropki możemy również dopuścić parametry dodatkowe. Zdefiniujmy funkcję z parametrami dodatkowymi: funkcja4 <- function(wektor, liczba = NULL, ...){ if(is.null(liczba)){ rezultat <- sum(wektor, ...) } else{ rezultat <- wektor * liczba rezultat <- sum(rezultat, ...) } rezultat } Wykonajmy funckję \\(\\texttt{funkcja4}\\) usuwając wartości brakujące z nowo zdefiniowanego wektora: v <- c(NA, 1, NA, 2:4, NA, 5) v ## [1] NA 1 NA 2 3 4 NA 5 funkcja4(v, na.rm = TRUE) ## [1] 15 Funkcje są bardzo przydatne, gdy mamy do napisania długi skrypt. Pozwalają na podzielenie głównej części kodu na mniejsze kawałeczki, które kolejnemu użytkownikowi skryptu lub nam będzie łatwiej modyfikować. "],["wczytywanie-danych-w-r.html", "Chapter 3 Wczytywanie danych w R 3.1 Formaty danych 3.2 Locale 3.3 Natywne formaty R", " Chapter 3 Wczytywanie danych w R 3.1 Formaty danych 3.1.1 CSV/DSV CSV (Comma Separated Values) to plik tekstowy, w którym wartości rozdzielane są przecinkami, a kolejne wiersze znakiem nowej linii. Plik CSV zazwyczaj przechowuje dane tabelaryczne. Nagłówki kolumn są często dołączane jako pierwszy wiersz (są to nazwy zmiennych), a każdy kolejny wiersz odpowiada jednej obserwacji (jednemu wierszowi w tabeli danych). CSV jest szczególnym przypadkiem formatu danych o nazwie Delimiter Seperated Values (DSV). Jest to plik tekstowy w którym pola w każdym wierszu oddzielone są dowolnym separatorem. Najczęściej spotykane separatory to: przecinek (CSV), tabulator (TSV), średnik. Przykładowy plik CSV 3.1.2 XML XML to skrót od nazwy Extensible Markup Language. Dane przechowywane w tym formacie mają zagnieżdżoną strukturę: znaczniki oznaczają nazwy zmiennych, a wewnątrz przechowywane są ich wartości. XML swoją strukturą przypomina plik HTML. Przykładowy plik XML 3.1.3 JSON JSON - JavaScript Object Notation - to format przydatny w przypadku pracy z danymi pochodzącymi z REST API, czyli pobieranymi z sieci. Niektóre bazy danych również komunikują się za pomocą tego formatu, np. MongoDB. Struktura: w pliku JSON obserwacje przechowywane są w słownikach, w których nazwy zmiennych są kluczami, a wartości zmiennych - wartościami. Obserwacje oddzielane są przecinkami, a dodatkowo, wszystkie dane spięte są nawiasami klamrowymi. Przykładowy plik JSON 3.1.4 Excel (XLSX) XLSX to format danych oparty na XML. Pliki tego typu są domyślnymi dokumentami wyjściowymi arkuszy kalkulacyjnych programu Microsoft Excel. Przedstawiają one głównie dane liczbowe i tekstowe w postaci tabel dwuwymiarowych. Przykładowy arkusz kalkulacyjny w Excelu 3.1.5 Otwarte wersje programu Excel Istnieją inne pakiety biurowe, np. LibreOffice, które - w przeciwieństwie do Excela - pozwalają na darmowe korzystanie z arkusza kalkulacyjnego. W przypadku LibreOffice, domyślnym formatem zapisu danych przez Calc (odpowiednik Excela) jest OpenDocument Format (.ods). Przykładowy arkusz kalkulacyjny w LibreOffice 3.1.6 Pliki tekstowe Jednym z najczęściej występujących i najbardziej uniwersalnych formatów przechowujących dane (np. w postaci tabeli) są pliki tekstowe. Mają one najczęściej rozszerzenie txt lub csv (comma separated values). Poniższą charakteryzację różnych metod wczytywania przedstawiamy na podstawie pliku listings.csv 3.1.6.1 Base Podstawową funkcją używaną do wczytywania tego typu plików w postaci tabeli jest funkcja read.table. Ze względu na specyfikację wewnętrzną plików, read.table posiada kilka wariantów, takie jak read.csv(), read.csv2() czy read.delim(). read.csv() używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest “.”, a wartości w wierszach oddzielone są poprzez “,”; read.csv2() używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest “,”, a wartości w wierszach oddzielone są poprzez “;”; read.delim() używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest “.”, a wartości w wierszach oddzielone są poprzez TAB Przykładowy sposób załadowania plików w formacie csv read.csv('./data/csv/listings.csv', header = TRUE, sep = ",") W przypadku read.table() dane zostają zaimportowane jako data.frame. Dla dużych plików wczytwanie za pomocą read.table() bywa jednak czasochłonne. Wówczas możemy użyć funkcji z paczki data.table lub readr. 3.1.6.2 readr readr jest częścią pakietu tidyverse. W tym przypadku import odbywa się za pomocą funkcji o podobnej nazwie, jak w przypadku read.table(), a mianowicie read_csv(). read_csv wczytuje dane oddzielone przecinkami, natomiast read_csv2() - dane oddzielone średnikami. read_csv('./data/csv/listings.csv') W przeciwieństwie do read.csv, funkcja read_csv na wyjściu daje dane w postaci tabeli w bardziej zwartej i przejrzystej formie. Oprócz tego podaje także specyfikację kolumn, tzn. informuje, jaka jest nazwa każdej kolumny oraz jej typ (np. col_double () oznaczają dane liczbowe). Typ danych jaki dostajemy na wyjściu to tbl_df (tzw. tibble), który jest w pewnym sensie zmodyfikowaną wersją tradycyjnej ramki danych data.frame, pozwalającą na łatwiejszą pracę w obrębie tidyverse. 3.1.6.3 data.table Do wczytywania danych z plików csv możemy także użyć funkcji fread z pakietu data.table. fread('./data/csv/listings.csv') Na wyjściu otrzymujemy ramkę danych, jednak wyświetloną w inny sposób niż w przypadku użycia read.csv. Różnica jest widoczna, gdyż po użyciu funkcji class() na fread() jako typ danych otrzymujemy \"data.table\" \"data.frame\". 3.1.6.4 Różnice Najważniejsze różnice pomiędzy wymienionymi sposobami wczytywania plików csv to: Typ danych Base: `data.frame readr: tibble data.table: `data.table data.frame Postać wyświetlania (co jest konsekwencją 1) Base: Wyświetla 62 początkowe wiersze każdej kolumny, wyświetlając informacje o liczbie pozostałych; readr: wyświetla 10 pierwszych wierszy z 10 pierwszych kolumn, z informacją o liczbie pozostałych wierszy i kolumn; automatycznie wyświetlane są też nazwy kolumn oraz skrót informujący o typie zmiennych data.table: wyświetla 5 początkowych i 5 końcowych wartości z każdej kolumny Czas i użycie pamięci przy dużych rozmiarach danych Zarówno czas wczytania danych, jak i wykorzystanie pamięci najkorzystniejsze jest w przypadku funkcji fread. Gdyby przez time oznaczyć czas potrzebny na wczytanie dużych plików, a przez memory zużycie pamięci, to time(fread) < time(read_csv) << time(read.csv) oraz memory(fread) < memory(read.csv) < memory(read_csv). 3.1.7 Arkusze kalkulacyjne i pliki JSON Do wczytywania arkusza kalkulacyjnego (np. pliku excela) używa się funkcji read_excel z pakietu readxl będącego częścią tidyverse. read_excel('./data/excel/listings.xlsx') Oprócz tego, można także użyć pakietu funkcji read.xlsx z pakietu xlsx. Wymaga ona jednak instalacji Javy. Do zaimportowania plików JSON możemy użyć funkcji z pakietu jsonlite listings_js <- jsonlite::fromJSON('./data/json/listings.json') listings_js <- mutate(listings_js, last_review = as_date(last_review)) 3.2 Locale Locale jest to uniksowe narzędzie powłokowe przechowujące ustawienia środowiskowe związane z ustawieniami regionalnymi. Sys.getlocale() ## [1] "LC_CTYPE=pl_PL.UTF-8;LC_NUMERIC=C;LC_TIME=pl_PL.UTF-8;LC_COLLATE=pl_PL.UTF-8;LC_MONETARY=pl_PL.UTF-8;LC_MESSAGES=pl_PL.UTF-8;LC_PAPER=pl_PL.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=pl_PL.UTF-8;LC_IDENTIFICATION=C" LC_COLLATE - odpowiada za porządek znaków, ważny przy sortowaniu LC_CTYPE - odpowiada za kodowanie znaków LC_MONETARY - odpowiada za system monetarny: znak waluty, separator tysięcy, liczba cyfr po przecinku itd. LC_NUMERIC - określa separator ułamkowy, separator tysięcy, grupowanie cyfr LC_TIME - odpowiada za system wyświetlania daty Sys.localeconv() ## decimal_point thousands_sep grouping int_curr_symbol currency_symbol ## "." "" "" "PLN " "zł" ## mon_decimal_point mon_thousands_sep mon_grouping positive_sign negative_sign ## "," " " "\\003" "" "-" ## int_frac_digits frac_digits p_cs_precedes p_sep_by_space n_cs_precedes ## "2" "2" "0" "1" "0" ## n_sep_by_space p_sign_posn n_sign_posn ## "1" "1" "1" Powyższa funkcja wyświetla szczegóły dotyczące systemu numerycznego i monetarnego. 3.2.1 Ustawienie locale przez użytkownika Sys.setlocale(category = "LC_ALL", locale = "polish") ## Warning in Sys.setlocale(category = "LC_ALL", locale = "polish"): Żądania raportów OS aby ustawić ## lokalizację na "polish" nie mogą zostać wykonane ## [1] "" W celu ustawienia innego locale niż domyślne systemowe należy użyć powyższej funkcji, przyjmowane przez nią argumenty to category i locale. category - odpowiada za określenie, które zmienne środowiskowe chcemy zmienić, gdzie opcje: “LC_ALL”, “LC_COLLATE”, “LC_CTYPE”, “LC_MONETARY”, “LC_NUMERIC” oraz “LC_TIME” są wspierane na każdym systemie operacyjnym, niektóre systemy wspierają również: “LC_MESSAGES”, “LC_PAPER” i “LC_MEASUREMENT” locale - odpowiada za region, który chcemy ustawić dla systemu windows podajemy angielską nazwę języka (regionu) np.: ‘polish’, w systemach UNIXowych podajemy np.: ‘pl_PL’ lub ‘pl_PL.UTF-8’. 3.2.2 Ustawienie locale poprzez readr Pakiet readr oferuje więcej możliwości dostosowywania locale, więcej informacji na ten temat można znaleźć w tym odnośniku. 3.3 Natywne formaty R R ma dwa natywne sposoby przechowywania danych, RDA(od RData) i RDS. Główną zaletą takiej obsługi danych jest szybkość przetwarzania ich. Zachowuje on także informacje z R o danych(np. typy zmiennych). 3.3.1 RDS W formacie RDS mogą być przechowywane jedynie pojedyncze pliki R. Mogą być one za to przypisywane do dowolnej nazwy. Aby załadować dane korzystamy z: listings_rds <- readRDS("./data/native/listings.rds") Do zapisania danych używamy: saveRDS(object = listings, file = "listings.rds") 3.3.2 RDA W plikach formatu RDA wczytane dane nie są przypisywane do zmiennej, tylko wywołujemy te funkcje i w efekcie plik pojawia się w środowisku. W RDA do załadowania danych służy load("./data/native/listings.rda") Natomiast, aby zapisać dane używamy: save(listings_rr, file = "listings_rr.rda") Korzystając z formatu RDA możemy jednocześnie zapisywać większą ilość plików save(iris, cars, file="data_frame.rda") "],["eksploracyjna-analiza-danych.html", "Chapter 4 Eksploracyjna analiza danych 4.1 Dane tabelaryczne 4.2 Typy zmiennych 4.3 Miary 4.4 R - podsumowanie kolumn", " Chapter 4 Eksploracyjna analiza danych Badanie eksploracyjne danych (ang. exploratory data analysis) dotyczy opisu, wizualizacji i badania zebranych danych bez potrzeby zakładania z góry hipotez badawczych. Badania ekploracyjne obejmują również wstępne sprawdzenie danych w celu skontrolowania założeń modeli statystycznych lub występowania błędów w danych (np. braków odpowiedzi). 4.1 Dane tabelaryczne Dane tabelaryczne to dane, które mają postać tabeli. Tabela to struktura danych, która składa się z wierszy i kolumn. Każdy wiersz odpowiada pewnej obserwacji, której cechy zostały zapisane w kolejnych kolumnach. 4.2 Typy zmiennych Zmienne, które opisują kolejne obserwacje możemy podzielić na: zmienne jakościowe (niemierzalne) porządkowe - np. klasyfikacja wzrostu (niski, średni, wysoki) nominalne - np. kolor oczu, płeć, grupa krwi zmienne ilościowe (mierzalne) dyskretne - np. liczba dzieci, liczba gospodarstw domowych, wiek (w rozumieniu ilości skończonych lat) ciągłe - np. wzrost, masa, wiek (w rozumieniu ilości dni między datą urodzin a datą badania) proporcjonalne - np. masa, długość, temperatura wyrażona w Kelwinach lub stopniach Rankine’a (przyjmujemy istnienie zera i możemy twierdzić, że jedno ciało jest dwukrotnie gorętsze od drugiego) interwałowe - np. temperatura wyrażona w stopniach Celsjusza lub Fahrenheita (możemy twierdzić, że coś jest o 20 °C cieplejsze od czegoś innego, ale nie możemy stwierdzić ilokrotnie cieplejsze jest ciało o temperaturze 40 °C od ciała o temperaturze –10 °C), data kalendarzowa (możemy mówić o stałej różnicy pomiędzy kolejnymi dniami) 4.3 Miary Zapoznając się z danymi chcielibyśmy sprawdzić wokół jakiej wartości są skupione oraz jak bardzo są zmienne wartości danej cechy. Miary lokacji (miary tendencji centralnej) pomagają nam umiejscowić dane na osi. Przykładami takich miar są: średnia - najczęściej arytmetyczna określona jako \\(\\overline{x} = \\frac{1}{n}\\sum\\limits_{i=1}^n x_i\\). dominanta (moda) - ozn. \\(Mo\\) - dla zmiennych o rozkładzie dyskretnym, wartość o największym prawdopodobieństwie wystąpienia lub wartość najczęściej występująca w próbie. Dla zmiennej losowej o rozkładzie ciągłym jest to argument, dla którego funkcja gęstości prawdopodobieństwa ma wartość największą. mediana - ozn. \\(Me\\) - wartość cechy w szeregu uporządkowanym, powyżej i poniżej której znajduje się jednakowa liczba obserwacji. kwantyle rzędu \\(p\\) - wartość cechy w szeregu uporządkowanym, poniżej której znajduje się \\(p \\cdot 100\\%\\) liczby obserwacji, a powyżej której znajduje się \\((1 - p) \\cdot 100\\%\\) liczby obserwacji. Natomiast miary rozrzutu dostarczają informacji jak bardzo zróżnicowane są obserwacje pod względem badanej cechy. Przykładami takich miar są: wariancja - stopień rozrzutu badanej cechy wokół wartości oczekiwanej. Im większa wariancja, tym rozrzut zmiennej jest większy. Nieobciążony estymator wariancji wyraża się wzorem: \\(s^2 = \\frac{1}{n}\\sum\\limits_{i=1}^n\\left(x_i - \\overline{x}\\right)^2\\) odchylenie standardowe - mówi nam o przeciętnym odchyleniu wartości zmiennej losowej od jej wartości oczekiwanej. Im odchylenie standardowe jest większe, tym większe zróżnicowanie wartości badanej cechy. Odchylenie standardowe z próby obliczamy jako pierwiastek z wariancji z próby, tzn. \\(s = \\sqrt{s^2}\\). rozstęp międzykwartylowy - różnica między trzecim a pierwszym kwartylem. Ponieważ pomiędzy tymi kwartylami znajduje się z definicji 50% wszystkich obserwacji (położonych centralnie w rozkładzie), dlatego im większa szerokość tego rozstępu, tym większe zróżnicowanie cechy. Wyróżniamy także miary asymetrii. Miary asymetrii mówią nam, czy większa część populacji klasuje się powyżej, czy poniżej przeciętnego poziomu badanej cechy. Asymetrię rozkładu można zbadać porównując średnią, dominantę i medianę. W przypadku rozkładu symetrycznego wszystkie te parametry są równe. Jeśli zachodzi nierówność \\(Mo < Me < \\mathbb{E} X\\), to mamy do czynienia z prawostronną asymetrycznością rozkładu. Tzn. dużo małych wartości i bardzo mało dużych. Jeśli zachodzi nierówność \\(\\mathbb{E} X < Me < Mo\\), to mamy do czynienia z lewostronną asymetrycznością rozkładu. Tzn. mało małych i bardzo dużo dużych. 4.4 R - podsumowanie kolumn Podstawowymi funkcjami, które pomagają nam zapoznać się z danymi są funkcje: \\(\\texttt{head}\\) - zwraca pierwszą część wektora, macierzy, tabeli lub ramki danych. Domyślnie 6 pierwszych elementów. \\(\\texttt{nrow}\\) - zwraca liczbę wierszy macierzy, tabeli lub ramki danych. \\(\\texttt{ncol}\\) - zwraca liczbę kolumn macierzy, tabeli lub ramki danych. Natomiast podstawowymi funkcjami, które podsumowują kolejne kolumny są funkcje: \\(\\texttt{str}\\) - zwraca strukturę danego obiektu. Wyświetla np. klasę obiektu, liczbę wierszy i kolumn, a także nazwę danej kolumny, typ wartości w niej zawartych, jak i kilka początkowych wartości. \\(\\texttt{summary}\\) - zwraca podsumowanie każdej kolumny. Dla zmiennych ciagłych wyznacza wartości tj.: wartość najmniejsza i największa średnia i mediana 1 (0.25) i 3 (0.75) kwartyl liczba wartości brakujących (NA) Natomiast w przypadku zmiennych dyskretnych wyznacza liczbę obserwacji, które przyjmują daną wartość zmiennej. \\(\\texttt{glimpse}\\) - funkcja z pakietu \\(\\texttt{tidyverse}\\) podobna do \\(\\texttt{str}\\), ale stara się pokazać jak najwięcej danych. Wyświetla np. liczbę wierszy i kolumn, a także nazwę danej kolumny, typ wartości w niej zawartych oraz jak najwięcej wartości z tej kolumny. "],["przetwarzanie-danych-tabelarycznych.html", "Chapter 5 Przetwarzanie danych tabelarycznych 5.1 Wybieranie kolumn 5.2 Zmiana nazw kolumn 5.3 Filtrowanie 5.4 Usuwanie kolumn 5.5 Manipulacje na kolumnach 5.6 Aplikowanie transformacji do każdej kolumny 5.7 Grupowanie i podsumowanie 5.8 Podsumowywanie wszystkich kolumn", " Chapter 5 Przetwarzanie danych tabelarycznych Operacje na danych w R są związane głównie z filtrowaniem, dodawaniem i modyfikowaniem kolumn, grupowaniem oraz podsumowywaniem danych. Można je wykonywać za pomocą funkcji bazowego R lub narzędzi z zaimportowanych pakietów: tidyverse, data.table. Załóżmy, że ramka danych jest przypisana do zmiennej \\(dane\\), a nazwy jej kolumn to: \\(kol.1, kol.2, kol.3,...\\) . 5.1 Wybieranie kolumn Poniżej przedstawione są instrukcje pozwalające na wybieranie konkretnych kolumn z ramki danych w~zależności od metody. Dla uproszczenia przyjmijmy, że wybieramy kolumny: \\(kol.1, kol.2, kol.3\\). base dane = dane[, c(“kol.1”, “kol.2”, “kol.3”)] tidyverse dane = select(dane, kol 1, kol 2, kol 3) dane = dane %>% select(kol 1, kol 2, kol 3) data.table Nazwy kolumn ramki danych zawierą znak “.” . Wprowadźmy zmienną pomocniczą \\(kolumny\\). Będzie ona zawierać nazwy kolumn, ale zastępując znak “.” znakiem ” “. kolumny = c("kol 1", "kol 2", "kol 3") dane = dane[, kolumny] dane = dane[, kolumny, with = FALSE] - dana metoda nie zadziała bez argumentu \\(with~=~FALSE\\), ponieważ szuka w ramce danych kolumn o nazwach zawartych w obiekcie \\(kolumny\\), a nie konkretnie podanych nazw dane = dane[, colnames(dane) %in% kolumny, with = FALSE] dane = dane[, ..kolumny] dane = dane[, list(kol 1, kol 2, kol 3)] dane = dane[, .(kol 1, kol 2, kol 3)] 5.2 Zmiana nazw kolumn Teraz zostaną zaprezentowane sposoby na zmianę nazw kolumn ramki danych. Przyjmijmy, że nowe nazwy kolumn są postaci \\(k1, k2, k3, ...\\) . base colnames(dane) = c(“k1”, “k2”, “k3”) tidyverse dane = dane %>% rename(k1 = kol.1, k2 = kol.2, k3 = kol.3) data.table setnames(dane, c(“kol.1”, “kol.2”, “kol.3”), c(“k1”, “k2”, “k3”)) - zaleta: nie kopiuje ramki danych 5.3 Filtrowanie Dany rozdział skupia się na sposobach filtrowania danych. Przydatne funkcje: unique(dane\\(\\$\\)k1) - zwraca unikalne wartości kolumny \\(k1\\) table(dane\\(\\$\\)k1) - zlicza ilość wystąpienia każdej wartości w kolumnie \\(k1\\) prop.table(table(dane\\(\\$\\)k1)) - pokazuje procentowo ilość wystąpienia każdej wartości w kolumnie \\(k1\\) w\\(~\\)stosunku do wszystkich wartości Przyjmnijmy, że wybieramy z kolumny \\(k1\\) określoną wartość \\(abc\\). base dane[dane\\(\\$\\)k1 == “abc”, ] tidyverse dane %>% filter(k1 == “abc”) można podać kilka warunków (po przecinku), będą one domyślnie rozdzielone spójnikiem \\(i\\) aby połączyć warunki spójnikiem \\(i\\) można również użyć operatora \\(\\&\\) aby połączyć warunki spójnikiem \\(lub\\) należy użyć operatora \\(|\\) data.table dane[k1 == “abc”] 5.4 Usuwanie kolumn Załóżmy, że usuwamy pierwszą kolumnę - \\(k1\\). base dane = dane[, -1] - gdzie \\(1\\) to numer usuwanej kolumny, a “-” oznacza usuwanie tidyverse dane = select(dane, -k1) - jak powyżej, “-” oznacza usuwanie, ale w tym przypadku stosujemy nazwę kolumny a nie jej numer data.table dane[, k1 := NULL] - operator \\(:=\\) (referencja) oznacza, że operacja jest wykonywana bez kopiowania ramki danych dane = dane[, -1, with = FALSE] 5.5 Manipulacje na kolumnach Przyjmijmy, że kolumna \\(k2\\) zawiera tylko liczby. Wartości ujemne zamieniamy na \\(0\\). W tym celu posłużymy się funkcją \\(ifelse\\): \\[ ifelse(warunek \\ logiczny,\\ wartość \\ jeśli \\ spełniony, \\ wartość \\ jeśli\\ niespełniony).\\] 1. base dane[[“k2”]] = ifelse(dane[[“k2”]] < 0, 0, dane[[“k2”]]) tidyverse dane = dane %>% mutate(k2 = ifelse(k2 < 0, 0, k2)) możemy modyfikować kilka kolumn jednocześnie, rozdzielając je przecinkiem data.table dane[, k2 := ifelse(k2 < 0, 0, k2)] - z użyciem referencji dane[[“k2”]] = ifelse(dane[[“k2”]] < 0, 0, dane[[“k2”]]) - bez użycia referencji 5.6 Aplikowanie transformacji do każdej kolumny W tym rozdziale będziemy operować na wszystkich kolumnach ramki danych. Wartości w nich zawarte mogą być typu \\(factor\\), które zamienimy na typ \\(character\\). base poprzez pętlę for (i in 1:ncol(dane)){ if (is.factor(dane[, i])){ dane[, i] = as.character(dane[, i]) } } poprzez funkcję \\(lapply\\) lapply(dane, fun(x){ if(is.factor(x)) x = as.character(x) }) tidyverse przy użyciu funkcji \\(mutate\\_all\\) dane = dane %>% mutate_all(function(x){ if (is.factor(x)){ as.character(x) } else{ x } }) data.table przy użyciu funkcji lapply dane = dane[, lapply(.SD, function(x){ if (is.factor(x)){ as.character(x) } else{ x } })] 5.7 Grupowanie i podsumowanie Załóżmy, że do wyznaczenia wszystkich unkialnych wartości ramki danych potrzebne są kolumny \\(k1\\), \\(k2\\) i \\(k3\\). Natomiast podsumowywana będzie kolumna \\(k4\\) - zostanie wyliczona średnia dla każdej unikalnej wartości. base przy użyciu funkcji \\(aggregate\\) - zastosowana zostanie formuła \\(k4\\) ~ \\(k1 + k2 + k3\\), która oznacza, że będzie podsumowywana zmienna \\(k4\\) w zależności od unikalnych zestawów wartości zmiennych \\(k1\\), \\(k2\\), \\(k3\\) aggregate(k4 ~ k1 + k2 + k3, data = dane, FUN = function(x) mean(x, na.rm = TRUE)) - poprzez zastosowanie własnej funkcji aggregate(k4 ~ k1 + k2 + k3, data = dane, FUN = mean, na.rm = TRUE) - poprzez zastosowanie istniejącej funkcji tidyverse dane %>% group_by(k1, k2, k3) %>% summarize(srednia = mean(k4, na.rm = TRUE), maksimum = max(k4, na.rm = TRUE)) \\(group\\_by\\) - grupuje po kolumnach \\(k1\\), \\(k2\\), \\(k3\\) \\(summarize\\) - podsumowuje według podanych elementów (w tym przypadku wylicza średnią i maksimum z kolumny \\(k4\\)) data.table dane[, list(średnia = mean(k4, na.rm = TRUE), maksimum = max(k4, na.rm = TRUE)), by = c(“k1”, “k2”, “k3”)] 5.8 Podsumowywanie wszystkich kolumn W celu podsumowania kolumn zdefiniujemy poniższą funkcję, która zwróci ilość niepustych wartości. num_unique_noNA = function(input_vector){ sum(!is.na(unique(input_vector))) } base apply(dane, 2, num_unique_noNA) - gdzie \\(2\\) oznacza, że wywołujemy podaną funkcję \\(num\\_unique\\_noNA\\) po kolumnach lapply(dane, num_unique_noNA) sapply(dane, num_unique_noNA) tidyverse summarise_all(dane, num_unique_noNA) data.table dane[, lapply(.SD, num_unique_noNA)] "],["czyste-dane.html", "Chapter 6 Czyste dane 6.1 Dane w formacie wąskim i szerokim 6.2 Rozdzielanie na kolumny (wąska -> szeroka) 6.3 Scalanie kilku kolumn w jedną (szeroka -> wąska) 6.4 Łączenie tabel danych 6.5 Operacje na napisach i datach", " Chapter 6 Czyste dane Transformacja danych jest niezwykle ważnym elementem dobrze zrobionego raportu. Dane te powinny być prezentowane w sposób czytelny i ułatwiający ich porównywanie. To od potrzeby biznesowej zależy w jaki sposób powinniśmy przedstwiać dane. Np. dysponując wynikami finansowymi zbieranymi co miesiąc przez trzy lata bo planowania budżetu na następny rok przyda nam się prezentacja ich w formacie wąskim, czyli skupionym na wydatkach względem każdego roku. Jednakże, jeżeli chcielibyśmy kontrolować wydatki w tym następnym roku prezentacja danych w formacie szerokim będzie bardziej korzystna, gdyż będziemy mieli informację ile średnio wydajemy w danym miesiącu i na bieżąco będziemy mogli podejmować decyzję o inwestowaniu lub zaciskaniu pasa. Niekiedy jednak dane mają bardziej skomplikowaną formę i np. składają się z wielu tabel. Wówczas dla łatwiejszego uzyskania informacji biznesowej będzie połączenie tych tabel. Takie operacje w połączeniu z odpowiednią agregacją i grupowaniem zdecydowanie ułatwia wgląd w aktualną sytuację. Ostatnim tematem, na temat któtego ta notatka traktuje są operacje na napisach i datach. Bardzo łatwo uzmysłowić sobie przydatność w posługiwaniu się takimi operacjami. Ułatwia to konstruowanie prostych funkcji, które są kluczowe w każdym projekcie. Chociażby bazując na imionach i nazwiskach pewnych obywateli Polski łatwo wskazać z dużą pewnością kobiety w tym zbiorze sprawdzając ostatnią literę ich imienia (tj. czy dane imie kończy się na literę “a”). 6.1 Dane w formacie wąskim i szerokim Dane najczęściej są przedstawiane w postaci tabelarycznej. Jednak mogą być w tej tabeli różnie sformatowane. Wyróżnia się między innymi szeroką reprezentacje danych i wąską reprezentacje danych. W zależności od tego, co chcemy z nimi zrobić czasami trzeba przejść z jednej postaci do drugiej. Aby przetransformować dane korzysta się z funkcji z pakietów dplyr i tidyverse. O postaci szerokiej mówimy, gdy pojedyncza zmienna jest rozdzielona pomiędzy kilka kolumn. Różnicę najłatwiej jest pokazać na przykładzie. W tym celu wykorzystamy wbudowany zbiór danych sleep zawierający informacje o wpływie dwóch leków nasennych na ilość przespanych godzin. Kolumna extra zawiera informacje o ilości dodatkowo przespanych godzin. extra group ID 0.7 1 1 -1.6 1 2 -0.2 1 3 -1.2 1 4 -0.1 1 5 3.4 1 6 Dane są przedstawione w postaci wąskiej, każda zmienna jest przedstawiona w oddzielnej kolumnie. Teraz ‘rozbijmy’ kolumnę group na group 1 i group 2. ID group 1 group 2 1 0.7 1.9 2 -1.6 0.8 3 -0.2 1.1 4 -1.2 0.1 5 -0.1 -0.1 6 3.4 4.4 7 3.7 5.5 8 0.8 1.6 9 0.0 4.6 10 2.0 3.4 Można zaobserwować, że wartości z kolumny extra zostały wpisane w poszczególne komórki, a kolumna group została podzielona na dwie oddzielne kolumny group 1 i group 2. Tak sformatowane dane nazywamy szeroką reprezentacją danych. 6.2 Rozdzielanie na kolumny (wąska -> szeroka) Aby przejść z wąskiego formatu przedstawiania danych do szerokiego, można użyć funkcji spread() z pakietu dplyr. Funkcja spread(dataset,key,value) przyjmuje trzy agrumenty: dataset - zbiór danych w formacie wąskim, key - kolumna (klucz) odpowiadająca kolumnie, która ma zostać rozłożona, value - kolumna, w której znajdują się wartości wypełniające nowe kolumny. szeroka <- spread(sleep, group, extra) colnames(szeroka) = c("ID","group 1","group 2") kable_styling(kable(head(szeroka)), position = "center") ID group 1 group 2 1 0.7 1.9 2 -1.6 0.8 3 -0.2 1.1 4 -1.2 0.1 5 -0.1 -0.1 6 3.4 4.4 Drugą opcją na uzyskanie tego samego rezultatu jest użycie funkcji pivot_wider z pakietu tidyverse. Funkcja przyjmuje dwa argumenty pivot_wider(names_from = name, values_from = value): name - nazwa kolumny, która ma zostać rozłożona, value - nazwa kolumny, w której znajdują się wartości. sleep %>% pivot_wider(names_from = group, values_from = extra) 6.3 Scalanie kilku kolumn w jedną (szeroka -> wąska) Można wrócić z postaci szerokiej do wąskiej. W tym celu należy użyć funkcji gather() z pakietu tidyr. Funkcja gather(dataset, key, value, other) przyjmuje również trzy argumenty: dataset - zbiór danych w formacie szerokim, key - nazwy kolumn z kluczami, value - nazwy kolumn z wartościami, other - kolumny dataset, które mają być zawarte w nowej tabeli. Aby wrócić do postaci wąskiej nałóżmy funkcję gather na wygenerowaną wcześniej tabele szeroka. kable_styling(kable(head(szeroka %>% gather(group, extra, -ID))),position = "center") ID group extra 1 1 0.7 2 1 -1.6 3 1 -0.2 4 1 -1.2 5 1 -0.1 6 1 3.4 Drugą funkcją, która umożliwia przejście z szerokiej reprezentacji danych do wąskiej jest funkcja pivot_longer z pakietu tidyverse. Funkcja pivot_longer(col_names, names_to = name, values_to = value) przyjmuje trzy argumenty col_names - ciąg nazw kolumn, które chcemy złączyć, name - nazwa nowo powstałej kolumny, value - nazwa kolumny, w której pojawią się wartości. kable_styling(kable(head(szeroka %>% pivot_longer(c("1", "2"), names_to = "group", values_to = "extra"))), position = "center") 6.4 Łączenie tabel danych Mamy dwie tabele danych tab1 z małymi literami oraz tab2 z wielkimi literami: Table 6.1: tab1 = x indeks litery 1 a 2 b 3 c 4 d 5 e 6 f Table 6.1: tab2 = y indeks LITERY 4 E 5 F 6 G 7 H 8 I 9 J gdzie x = tab1, a y = tab2. Aby połączyć dwie tabele danych na podstawie wskazanych kolumn lub kolumn o wspólnej nazwie można użyć przykładowych funkcji. 6.4.1 merge() Dostępna w bazowym R. Domyślnie funkcja ta łączy tabele względem nazw kolumn, które są wspólne. tabela <- merge(x = tab1, y = tab2) kable(tabela) indeks litery LITERY 4 d E 5 e F 6 f G Jeśli chcemy być pewni, że tabele zostaną połączone po odpowiedniej kolumnie, możemy przekazać nazwę tej kolumny w argumencie. W tym przypadku: merge(tab1, tab2, by = "indeks") # INNER JOIN Jeśli jest więcej kolumn, po których chcemy połączyć tabele, wystarczy przekazać w argumencie by wektor z nazwami tych kolumn. Gdy nazwy kolumn po których chcemy złączyć tabele różnią się, należy wykorzystać argument by.*. Załóżmy, że kolumna tabeli tab1 - indeks zmieniła nazwę na index, zatem: merge(tab1, tab2, by.x = "index", by.y = "indeks") Wartości kolumn indeks w tab1 oraz tab2 różnią się. Dlatego korzystając z funkcji bez dodatkowych argumentów tracimy dane. Aby zapobiec traceniu danych z poszczególnych tabel należy skorzystać z argumentu all, brakujące wartości zostaną uzupełnione NA: merge(tab1, tab2, all.x = TRUE) # LEFT JOIN merge(tab1, tab2, all.y = TRUE) # RIGHT JOIN merge(tab1, tab2, all = TRUE) # OUTER JOIN Dostajemy wtedy kolejno: Table 6.2: all.x = TRUE indeks litery LITERY 1 a NA 2 b NA 3 c NA 4 d E 5 e F 6 f G Table 6.2: all.y = TRUE indeks litery LITERY 4 d E 5 e F 6 f G 7 NA H 8 NA I 9 NA J Table 6.2: all = TRUE indeks litery LITERY 1 a NA 2 b NA 3 c NA 4 d E 5 e F 6 f G 7 NA H 8 NA I 9 NA J Bez sprecyzowania argumentu sort wiersze wyniku merge() zostaną posortowane leksykograficznie po wspólnych kolumnach. Gdy sort = FALSE wiersze będą w nieokreślonej kolejności. Kolumny złączonej tabeli to najpierw kolumny wspólne, następnie pozostałe z x a na końcu pozostałe z y, co widać na przykładach. 6.4.2 join() Funkcja z paczki dplyr. Tabele x i y powinny zwykle pochodzić z tego samego źródła danych, ale jeśli copy = TRUE, y zostanie automatycznie skopiowany do tego samego źródła co x. Są cztery typy join zmieniających: left_join() - zwraca wszystkie wiersze z x i wszystkie kolumny z x i y. Wiersze w x bez dopasowania w y będą miały wartości NA w nowych kolumnach. Jeśli istnieje wiele dopasowań między x a y, zwracane są wszystkie kombinacje dopasowań tabela <- left_join(tab1, tab2) kable(tabela) indeks litery LITERY 1 a NA 2 b NA 3 c NA 4 d E 5 e F 6 f G 6 z G right_join() - analogicznie do left_join(), ale zwraca wszystkie wiersze z y, a wiersze bez dopasowania w x będą miały wartości NA inner_join() - zwraca wszystkie wiersze z x, w których znajdują się pasujące wartości w y, oraz wszystkie kolumny z x i y. Jeśli istnieje wiele dopasowań między x a y, zwracane są wszystkie kombinacje dopasowań. tabela <- inner_join(tab1, tab2) kable(tabela) indeks litery LITERY 4 d E 5 e F 6 f G 6 z G full_join() - zwraca wszystkie wiersze i wszystkie kolumny zarówno z x, jak i y. Jeśli nie ma pasujących wartości, zwraca NA dla brakujących. tabela <- full_join(tab1, tab2) kable(tabela) indeks litery LITERY 1 a NA 2 b NA 3 c NA 4 d E 5 e F 6 f G 6 z G 7 NA H 8 NA I 9 NA J Argument by przyjmuje wektor nazw zmiennych do połączenia. Jeśli by = NULL funkcja *_join() domyślnie połączy tabele dopasowując wartości ze wszystkich kolumn o wspólnych nazwach w obu tabelach. 6.5 Operacje na napisach i datach Większość poniższych funkcji pochodzi z pakietu stringi. 6.5.1 Operacje na napisach Wyznaczanie długości napisów. Funkcja stri_lenght() zwraca długości poszczególnych napisów w danym wektorze, a stri_isempty() sprawdza, które napisy są puste -> ’’. Łączenie i powielanie napisów. Funkcja używana do łączenia kilku wektorów napisów w inny wektor napisów lub nawet w jeden napis, jest stri_paste() i jej warianty. Przykład: x <- LETTERS[1:3] y <- letters[1:3] z <- '!' stri_paste(x, y, z) ## [1] "Aa!" "Bb!" "Cc!" Przycinanie i wypełnianie. Funkcja stri_wrap() wstawia znaki nowego wiersza (n), by napis po wyświetleniu np. przy funkcji cat() miał szerokość nie większą, niż podana, jeżeli to możliwe. W przypadku przetwarzania tekstów pochodzących np. z formularzy na stronach internetowych może zachodzić potrzeba usunięcia tzw. białych znaków, np. spacji z początku lub końca napisu. Możemy to zrobić przy użyciu funkcji stri_trim(). Operacja w pewnym sensie odwrotną do tej można wykonać przy użyciu funkcji stri_pad(). Przykład: stri_trim(' Mama i tata\\n') ## [1] "Mama i tata" Formatowanie napisów na podstawie innych obiektów. Najprostszym sposobem na uzyskanie napisowej reprezentacji danego obiektu jest użycie funkcji as.character(). Przykład: as.character(list(1L, mean, NULL, pi, FALSE)) ## [1] "1" "function (x, ...) \\nUseMethod(\\"mean\\")" ## [3] "NULL" "3.14159265358979" ## [5] "FALSE" x <-data.frame(a=c(TRUE, FALSE, FALSE), b=as.integer(c(1, 2, 3))) as.character(x) ## [1] "c(TRUE, FALSE, FALSE)" "1:3" Zmiana pojedynczych znaków. Zmiana poszczególnych znaków na inne przydaje się między innymi na etapie wstępnego przygotowania danych w celu ujednolicenia tekstowych identyfikatorów obiektów, możemy np. zmieniać wielkości wszystkich liter w napisach. Przykład: stri_trans_toupper('chcemy duże litery') ## [1] "CHCEMY DUŻE LITERY" stri_trans_tolower('ChCemY MałE LiTErY') ## [1] "chcemy małe litery" stri_trans_char('zastępowanie znaków', 'ąćęłńóśżź', 'acelnoszz') ## [1] "zastepowanie znakow" stri_trans_general('żółć', 'Latin-ASCII') ## [1] "zolc" Wyznaczanie podnapisów. Funkcja stri_sub() zwraca podnapis składający się ze znaków leżących na określonych pozycjach danego napisu. Przykład: x <- 'Lasy, pola, pastwiska, koszą traktorem' stri_sub(x, 7) ## [1] "pola, pastwiska, koszą traktorem" 6.5.2 Operacje na datach Funkcją zwracającą aktualną datę systemową jest Sys.Date(), a Sys.time() aktualny czas systemowy wraz z datą. Przykład: (data <- Sys.Date()) ## [1] "2023-10-12" (czas <- Sys.time()) ## [1] "2023-10-12 00:39:40 CEST" Operacje arytmetyczne na datach – dodawanie, odejmowanie i porównywanie. Przykład: data ## [1] "2023-10-12" data-365 ## [1] "2022-10-12" data+365 ## [1] "2024-10-11" (d <- data-as.Date('2021-01-01')) ## Time difference of 1014 days Do konwersji do napisu może służyć przeciążona wersja metody format(), której wywołanie jest tożsame z wywołaniem funkcji strftime() (ang. string-format-time). Przykład: strftime(czas, '%Y-%m-%d %H:%M:%S %Z') ## [1] "2023-10-12 00:39:40 CEST" Do znajdowania “najstarszej” i “najmłodszej” daty używamy funkcji max() oraz min(). Do pracy ze strefami czasowymi możemy używać poniższych funkcji: force_tz() ustawienie strefy czasowej, with_tz() sprawdzenie daty w innej strefie czasowej. "],["katarzyna-frankiewicz-maciej-grabias-jakub-michałowski.html", "Chapter 7 Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski 7.1 Wprowadzenie 7.2 Podstawy tworzenia wykresów w ggplot2 7.3 Mapowanie 7.4 Geometria wykresu 7.5 Funkcje pomagające poprawić czytelność wykresu 7.6 Panele", " Chapter 7 Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski 7.1 Wprowadzenie Jednym z ważnych elementów przekazywania ciekawych informacji oraz ich analizy jest przedstawienie graficzne interesujących nas danych. W R istnieje kilka sposobów na wizualizację danych. Jednym z nich jest korzytanie z narzędzi oferowanych przez pakiet ggplot2. Bibiloteka ggplot2 oprócz zwykłych funkcji plotowania, implementuje także gramatykę grafiki, co pozwala na wykonanie prawie każdego rodzaju (statystycznej) wizualizacji danych. 7.1.1 Gramatyka grafiki Powyżej wspomnieliśmy o gramatyce grafiki. Dla dokładniejszego uporządkowania wiedzy przypomnijmy, że gramatyka grafiki daje nam możliwość zadawania odpowiednich parametórw dla wszystkich linii, słów, strzałek, itp., które połączone tworzą wykres. Dodatkowo możemy m.in. zmieniać układ współrzędnych, czy korygować położenie każdego obiektu znajdującego się na wykresie. Możliwości jakie oferuje nam gramatyka grafiki będą przedstawione dokładniej w dalszej części notatki. 7.2 Podstawy tworzenia wykresów w ggplot2 Na początku, aby móc tworzyć wizualizacje, musimy załadować pakiet oraz bibilotekę ggplot2. Warto zwrócić uwagę, że ggplot2 posiada również szereg wbudowanych zestawów danych. Aby pokazać możliwości jakie oferuje nam ggplot, przeprowadzimy symulację danych mpg dostępnych w R. library(ggplot2) head(mpg) ## # A tibble: 6 × 11 ## manufacturer model displ year cyl trans drv cty hwy fl class ## <chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr> ## 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact ## 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact ## 3 audi a4 2 2008 4 manual(m6) f 20 31 p compact ## 4 audi a4 2 2008 4 auto(av) f 21 30 p compact ## 5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact ## 6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact Składnia wykresów w ggplot polega na warstwowym budowaniu wykresów. Zaczynamy od doboru danych, jakie chcielibyśmy zwizualizaować. Określamy sposób mapowania zmiennych do aspektów wizualnych. Definiujemy styl wykresu. Dodajemy dodatkowe warstwy personalizujące wykres, tzn. dodajemy tytuł, etykiety, itp. (opcjonalnie) Uwaga! Do dodawania nowych warstw do wykresu używamy symbolu “+” . # Budujemy podstawę wykresu, określając z jakich danych będziemy korzytsać ggplot(mpg) # Mapujemy dane ( na osiach pojawiły się odpowiednie podziałki) ggplot(mpg , aes( x = displ, y = hwy)) # Określamy styl wykresu, dzięki czemu dostemy wykres odpwiednich zależności ggplot(mpg , aes( x = displ, y = hwy))+ geom_point() # Personalizujemy wykres poprzez dodanie tytułu oraz określenie motywu wykresu ggplot(mpg , aes( x = displ, y = hwy))+ geom_point()+ ggtitle("disp vs hwy")+ theme_bw() 7.3 Mapowanie Mapowanie danych jest estetyką, która mówi ggplot’owi, jakie zmienne powinny znajdować się na osi x oraz y. Dodatkowo możemy wpływać na cechy wizualne danych, takie jak kolor ( color = ), kształt ( shape = ), czy przezroczystość ( alpha = ). Wszystkie estetyki dla podziałki wykresu są określone w wywołaniu funkcji aes(). Uwaga! Każda warstwa geom może mieć swoją własną specyfikację aes. Możemy zdecydować, czy na wykresie geom_point punkty mają być zaznaczone jako koła, czy kwadraty. # Punkty na wykresie będą kwadratami ggplot(mpg, aes(x = displ, y = hwy)) + geom_point(shape = 0)+ ggtitle("displ vs hwy")+ theme( axis.title = element_text(size = 1))+ theme_bw() # Punkty na wykresie to czerwone kropki ggplot(mpg, aes(x = displ, y = hwy)) + geom_point(color = "red")+ ggtitle("displ vs hwy")+ theme_bw() 7.4 Geometria wykresu Za pomocą ggplot2 możemy stworzyć prawie każdy rodzaj wykresu. W tym celu musimy zadać typ wykresu jaki nas interesuje. Ggplot2 daje możliwość stworzenia wykresu: punktowego ( geom_point) liniowego ( geom_line) słupkowego ( geom_bar) skrzypcowego ( geom_violin) histogramu ( geom_histogram) boxplota ( geom_boxplot) oraz wielu innych, które powstają m.in. przez zastosowanie funcji: geom_area, geom_density, geom_dotplot, geom_qq, geom_smooth. Uwaga! Wykresy słupkowe i histogramy grupują dane, a następnie prezentują liczbę elementów znajdujących się w poszczególnych grupach Na wykresach liniowych model jest dopasowywany do danych, a nastęonie wykreślane są przewidywania wyznaczone przez model Wykresy pudełkowe obliczają kompleksowe podsumowanie rozkładu wartości Poniżej przedstawione są dwa przykładowe typy wykresów. Pierwszy narysowany przy użyciu funkcji geom_smooth, która służy do rysowania wygładzonych linii, np. dla prostych trendów. Drugi wykres powstał przy zastosowaniu funkcji geom_histogram. W pakiecie ggplot2 bardzo prosto możemy łączyć ze sobą różne geometrie na jednym wykresie. Wystarczy wstawić znak “+” pomiędzy odpowiednimi funkcjami. ggplot(mpg , aes( x = displ, y = hwy))+ geom_point()+ geom_smooth()+ ggtitle("Multiple geomteries")+ theme_bw() 7.5 Funkcje pomagające poprawić czytelność wykresu 7.5.1 Systemy współrzędnych Domyślnym systemem współrzędnych dla ggplot2 jest kartezjański układ współrzędnych. W zależności od danych na jakich działamy, może się okazać, że pokazanie danych w innym układzie współrzędnych, wpłynie na lepszy odbiór informacji z wykresu. Funkcjami, które odpowiadają za przekształcenie układu współrzędnych są m.in. coord_flip która zamienia osie x i y coord_polar wykres jest pokazany we współrzędnych polarnych coord_fixed nadal jesteśmy w kartezjańskim układzie współrzędnych, ale możemy zmienić proporcję między jednostkami na osi x i y 7.5.2 Dopasowanie położenia Każda geometria w ggplot2 ma ustawione domyślne położenie różnych elementów na wykresie względem siebie. Różne opcje ustawienia położenia są dobrze widoczne na wykresach słupkowych. Zacznijmy od stworzenia zwykłego wykresu słupkowego, bez żadnych dodatkowych funkcji. Jeżeli teraz do mapowania dodamy opcję fill = dvr, to każdy prostokąt będzie reprezentował kombinację wartości class oraz dvr. Takie przedstawienie danych nie dla każdego może być czytelne, dlatego możemy skorzystać z opcji position, która przyjmuje m.in. argumenty: “dodge” i “fill”. 7.5.3 Zarządzanie osiami współrzędnych Jedną z możliwości jaką oferuje nam pakiet ggplot2 jest prosta zmiana skali na osiach wykresu. Podstawowymi funkcjami, które to umożliwiają są: scale_x_log10 (zamiast x możemy podać także y) wtedy skala x-ów będzie zlogarytmowana scale_x_reverse powoduje odwrotny kierunek na osi x scale_x_sqrt() skala x-ów będzie spierwiastkowana scale_fill_manual pozwala nam ręcznie wprowadzić oczekiwane przez nas wartości, m.in. możemy zmienić nazwy obiektów na skali, czy podać zakres wartości do uwzględnienia w mapowaniu xlim(5,40) powoduje ograniczenie podziałki na osi x od 5 do 40 (analogicznie z ylim) W ggplot2 z łatwością także dodamy etykiety tekstowe oraz adnotacje. Do wykresu możemy dodać tytuł oraz nazwy osi korzystając m.in. z funkcji labs(). ggplot(mpg, aes(x = displ, y = hwy, color = class)) + geom_point() + labs(title = "Fuel Efficiency by Engine Power", x = "Engine power", y = "Fuel Efficiency", color = "Car Type") 7.5.4 Motywy Theme to dobry sposób na dostosowanie odpowiedniego tytułu, etykiet, czcionek, tła, legendy, czy lini siatki na wykresie. Możemy skorzystać z jednego z dostępnych motywów, takich jak theme_bw(), czy theme_minimal(). Istnieje możliwość zastosowania wielu dostępnych opcji tak, aby odpowiednie elementy wykresu wyglądały tak, jak chcemy. Podstawowymi funkcjami, jakie warto znać są m.in. legend.position, dzięki której możemy ustalić pozycję legendy wykresu, axis.text, która umożliwia nam ustawienie czcionki na wykresie oraz ustalenie jej wielkości czy koloru. Przydatną funkcją pochodzącą z rodziny theme jest ‘theme(axis.text.x = element_text(angle = 90))’, która obraca nazwy znajdujące się na osi x, dzięki, czemu stają się one czytelniejsze. 7.6 Panele Ostatnim z podstawowych funkcji jakie oferuje pakiet ggplot2 jest facets. Panele to sposoby grupowania wykresu danych w wiele różnych części ze względu na zadaną zmienną. Możemy korzystać z funkcji: facet_wrap(), która ustawia panele w prostokątnym układzie facet_grid(), która ustawia panele w kolumny lub w wiersze (zależnie jaką opcję wybierzemy) ggplot(mpg, aes(x = displ, y = hwy)) + geom_point() + facet_grid(~ class) Uwaga! Aby zadać względem, której zmiennej chcemy grupować, w funkcji ‘facet_’ po znaku “~”, podajemy nazwę tej zmiennej. Kiedy korzystamy z funkcji tworzącej panele, automatycznie wszytskie wykresy będą pokazane w układzie współrzędnych dopasowanym do wszytkich okienek. Istnieje jednak możliwość dopasowania układu współrzędnych do każdego panelu osobno. W tym celu możemy wykorzystać funcję ‘scale = “free”’. "],["czysty-i-wydajny-kod-w-r.html", "Chapter 8 Czysty i wydajny kod w R 8.1 Czysty kod 8.2 Styl kodu i narzędzia pomagające w utrzymaniu czystego kodu", " Chapter 8 Czysty i wydajny kod w R 8.1 Czysty kod Na początku zajmiemy się szeroko pojętą czystością kodu. Aby dany kod mógł aspirować do takiego miana, musi przede wszystkim spełniać dwa podstawowe warunki: Być łatwym do zrozumienia Aby kod był łatwy do zrozumienia musi być przede wszystkim czytelny. Niewątpliwie pomoże w\\(~\\)tym odpowiednie nazwanie zmiennych, zadbanie o to, żeby wszystkie użyte funkcje i obiekty miały swoją określoną rolę oraz by relacje między nimi były zrozumiałe. Być łatwym do zmiany Tworząc kod powinniśmy myśleć o tym, że będzie on w przyszłości wykorzystywany. Aby to ułatwić, musi być napisany w taki sposób, żeby można było nanieść drobne poprawki lub zmienić dane bez konieczności zmieniania całego kodu. Jeśli te dwa warunki nie są spełnione, istnieje obawa, że wprowadzenie nawet najmniejszych zmian całkowicie zniszczy kod. 8.1.1 Co jeśli w kodzie jest ,,bałagan’’? Nieuporządkowany i nieklarowny kod może sprawić w przyszłości wiele kłopotów, takich jak na przykład: Zmarnowanie czasu Jeśli my lub ktokolwiek inny będzie chciał w przyszłości wykorzystać taki kod z pewnością straci mnóstwo czasu na próby jego przeczytania i zrozumienia. Gdy już mu się to uda, może napotkać kolejny problem w postaci trudności z wprowadzeniem jakichkolwiek zmian. Ograniczenie lub nawet brak możliwości rozwoju Złe napisanie kodu może spowodować, że po jego jedynym użyciu stanie się bezwartościowy. Nie będzie sensu wprowadzać w nim jakichkolwiek zmian (gdyż będzie to zbyt pracochłonne), ani w żaden sposób rozwinąć by mógł posłużyć do przyszłych projektów (gdyż nawet najmniejsze zmiany mogą ,,zepsuć’’ istniejący kod). Podatność na wystąpienie błędów W nieczytelnym i napisanym w sposób niezrozumiały kodzie, łatwo przemycić błędy, które na pierwszy rzut oka są niewidoczne, ale wychodzą na jaw później. 8.1.2 Opis zmiennych 8.1.3 Opis intencji Aby tworzyć czysty kod musimy pamiętać o kilku zasadach. Jedną z nich jest odpowiednie nazywanie zmiennych. Nie powinniśmy używać do tego skrótów, czy przypadkowych znaków. Idealna nazwa od razu wskazuje na to, czym jest dany obiekt oraz co oznacza. Przedstawia zamiary, jakie mamy do nazywanego obiektu. 8.1.4 Unikanie błędnych informacji Równie ważne jest, aby w nazwach nie znajdywały się błędy lub informacje, które mogą wprowadzić potencjalnego czytelnika w błąd. Mówimy tu np. o: - nazwaniu kilku obiektów zbyt podobnie, - użyciu do nazwania listy (np. osób) słowa \\(\\mathtt{List}\\), choć w rzeczywistości ta ,,lista’’ osób może być wektorem, - użyciu trudno rozróżnialnych znaków (takich jak np. 0 i O), - nazwaniu wszystkich obiektów za pomocą jednej litery i cyfry (np. \\(x_1,x_2,...,x_n\\)). 8.1.4.1 Kilka wskazówek Jakie powinny być idealne nazwy obiektów w R? Oto kilka wskazówek: - zrozumiałe dla osób, dla których jest przeznaczony kod, - utrzymane w jednym stylu, - łatwe do zrozumienia i napisania, - nazwa obiektu powinna być rzeczownikiem, który wskazuje na to, z czym mamy do czynienia, - nazwa funkcji powinna być czasownikiem wskazującym na to, co robi dana funkcja. 8.1.5 Funkcje W tym rozdziale dowiemy się jak pisać ,,dobre’’ funkcje. Tutaj również musimy pamiętać o kilku zasadach. Funkcje powinny: - być możliwie jak najkrótsze, - odpowiadać za jedno pojedyncze zadanie, - być na jednym poziomie abstrakcji, - mieć maksymalnie 3 parametry. To znaczy, że nie jest wskazane, aby tworzyć jedną wielką funkcję, która np. wylicza kilkanaście rzeczy, aby na końcu wygenerować jeden wynik. Zamiast tego lepiej stworzyć kilka mniejszych funkcji, które będą się odwoływały do poprzednich. Dzięki temu nasz kod będzie bardziej przejrzysty oraz w prosty sposób będzie można sprawdzić, czy pojedyncze funkcje działają poprawnie. Co więcej, nie ma sensu tworzyć funkcji, która zwraca nam już oprawioną tabelę z wynikami. Lepiej, gdy zwraca surowe wyniki, a tworzeniem tabeli zajmuje się kolejna funkcja. Przykładowa, poprawnie napisana funkcja: calculate_conf_interval = function(sample, alpha) { len = length(sample) successes = length(sample[sample == 1]) mi = successes / n se = sqrt(mi * (1 - mi) / len) quantile = qt(1 - alpha / 2, len - 1) left = mi - quantile * se right = mi + quantile * se return(c(left, right)) } Przykładowa funkcja, napisana w ,,nieładny’’ sposób: func= function(x,y,temp1,temp2){ n =length(x) s <-length(x[x==1]) m = s/n sgm = sqrt(mi *(1- m)/n) q<-qt(1 - y /2,len-1) tmp = (s + 0.5 * q ^ 2) /(n + q ^ 2) se = sqrt(tmp *(1 - tmp)/ (n+ q^2)) l<- tmp- q* se r = tmp + q*se return(c(l,r))} Główne problemy: - czasem przypisanie jest za pomocą =, czasem <-, - brak spacji po przecinkach, - brak spacji pomiędzy +, -, *, /, itd, - niepoprawnie umiejscowione nawiasy {, }. - nazwa funkcji nie opisuje, co robi ta funkcja, - zmienne mają nic nieznaczące i jednoliterowe nazwy, - nazwa zmiennej tmp także nie mówi, czym ona jest, - dwa nieużywane parametry funkcji. 8.1.6 Komentarze Zazwyczaj komentarze do kodu nie są potrzebne, a wręcz zbędne. Dzieje się tak, ponieważ dobrze napisany kod powinien sam się tłumaczyć, tzn. być na tyle zrozumiałym, żeby dodatkowe komentarze nie były potrzebne. Jeśli jednak w kodzie jest bałagan, dodatkowe komentarze mogą wręcz wprowadzić dodatkowy chaos. Od tej reguły są jednak pewne wyjątki. Jeśli używamy niezbyt oczywistych implementacji lub ,,sztuczek programistycznych’’ warto wspomnieć w komentarzu, co się w danej chwili dzieje. Wyjątkiem są też komentarze informujące o tym, co trzeba jeszcze zrobić lub o potrzebie poprawienia jakiejś części kodu. 8.1.7 Obiekt a struktura danych W kontekście pisania czystego i wydajnego kodu, należy wziąć pod uwagę rozróżnienie pomiędzy klasami a strukturami danych. Te pierwsze zawierają atrybuty i funkcje, a instancje klasy nazywamy obiektem. Zastosowanie klas pozwala na stworzenie interfejsu definującego pewne dane. Struktury danych służą natomiast do reprezentacji danych dowolnego typu a nie ich opisu. 8.2 Styl kodu i narzędzia pomagające w utrzymaniu czystego kodu Dobry styl kodowania jest porównywany do prawidłowego stosowania interpunkcji. Jest możliwe nie stosowanie się do jej zasad, jednak przestrzeganie ich pozwala, aby w zapisie panował ład i porządek. W R dominują dwa style, które pomagają utrzymać dobry układ kodu. Jednym jest tidyverse style, a\\(~\\)drugim, wywodzącym się z poprzedniego, Google style. Istnieją przewodniki, które ułatwiają stosowanie się do zasad panujących w tych stylach. Style ustosunkowują się m.in. do stawiania spacji po przecinkach, przed operatorami matematycznymi oraz po nich, a także podkreślników w nazwach. Dodatkowo można zainstalować pakiety, które będą pomagać w utrzymaniu schludnego kodu: cleanr, stylerr, lintr. "],["interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-użytkownika.html", "Chapter 9 Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika 9.1 Wstęp 9.2 Tworzenie UI 9.3 Układ strony 9.4 Elementy wejścia i wyjścia 9.5 Przykład użycia 9.6 Wygląd aplikacji 9.7 Wstęp 9.8 Serwer Shiny", " Chapter 9 Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika 9.1 Wstęp Shiny jest pakietem R pozwalającym na tworzenie interaktywnych aplikacji webowych w łatwy i przystępny sposób. Aplikacja w shiny zbudowana jest z dwóch następujcych elementów: ui - user interface, czyli obiekt, w którym zawarty jest wygląd aplikacji, server - funkcja organizująca działanie aplikacji. Do uruchomienia aplikacji służy funkcja shinyApp(ui, server). Stworzenie dobrej i czytelnej aplikacji może znacznie ułatwić analizowanie danych. W tej notatce zajmiemy się omówieniem elementów oraz podstawowych schematów budowy UI. library(shiny) library(shinyWidgets) library(shinydashboard) 9.2 Tworzenie UI Do budowania podstawowego interfejsu w shiny będziemy korzystać z funkcji fluidPage, w której tworzymy cały UI. Wszystkie informacje o rodzajach wprowadznych danych, strukturze wyświetlanych danych oraz szeroko rozumianej estetyce aplikacji będą zawarte wewnątrz tej funkcji. ui <- fluidPage( # coś ) 9.3 Układ strony Tym co jest bardzo ważne w UI jest oczywiście wygląd, a dokładniej mówiąc przejrzystość i czytelność, dlatego chcielibyśmy uporządkować wyświetlane elementy tak, aby umożliwić użytkownikowi intuicyjne korzystanie z aplikacji. Pakiet shiny oferuje wiele narzędzi pozwalających na zorganizowanie układu interfejsu zgodnie z naszymi oczekiwaniami. Przydadzą nam się do tego następujące funkcje: titlePanel - funkcja tworząca panel tytułowy, w której podajemy tytuł aplikacji, sidebarLayout - funkcja organizująca wygląd strony jako mniejszy panel boczny po lewej stronie oraz większy panel po prawej stronie, sidebarPanel - funkcja, którą możemy umieścić w poprzedniej funkcji, aby uporządkować panel, w którym będziemy np. wprowadzać dane, mainPanel - funkcja, w której umieszczamy treści, które chcemy, aby znalazły się w panelu głównym, tabsetPanel - funkcja umożliwiająca organizowanie paska zakładek. Aby utworzyć zakładki w jej ciele używamy funkcji tabPanel, w której umieszczamy dowolne treści, np. wykresy lub tabele. Oprócz tego możemy bardziej modyfikować wygląd aplikacji dzięki funkcjom fluidRow i column pozwalającym na uporządkowanie obiektów odpowiednio w wierszach oraz kolumnach. 9.4 Elementy wejścia i wyjścia Układ strony należy oczywiście podporządkować temu jaką funkcję ma pełnić aplikacja, a także temu jaki rodzaj interakcji ma mieć z nią docelowo użytkownik. Interakcje użytkownika z aplikacją można intuicyjnie podzielić na to co zostaje do aplikacji wprowadzone (input) oraz to co ostatecznie w związku z tym aplikacja zwraca (output). Każdy input i output jest w kodzie identyfikowany dzięki nadanej mu przez nas nazwie. Wewnątrz fluidPage możemy zawrzeć różne rodzaje inputów i outputów w zależności od rodzaju wprowadzanych/wyświetlanych danych. 9.4.0.1 Przykładowe elementy wejścia textInput - funkcja tworząca pole, w którym użytkownik może wprowadzić dowolny tekst, ui <- fluidPage( # Okienko do wpisywania tekstu textInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji") ) numericInput - funkcja tworząca pole, w którym użytkownik może wprowadzić wartość liczbową, ui <- fluidPage( # Okienko do wpisywania liczb numericInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji", # Wartość domyślna value = 10) ) selectInput - funkcja tworząca listę, z której użytkownik może dokonać wyboru - domyślnie parametr multiple umożliwia wybór jednej pozycji z listy, ui <- fluidPage( # Możliwość wybrania z listy selectInput("nazwa_inputu_3", "Tekst wyświetlany w aplikacji", # Lista możliwości do wyboru choices = c("Wybór_1", "Wybór_2")) ) sliderInput - funkcja tworząca suwak umożliwiający użytkownikowi wybór zakresu interesujących go wartości, ui <- fluidPage( # Suwak do wyboru wartości sliderInput("nazwa_inputu_4", "Tekst wyświetlany w aplikacji", # Wartość domyślna value = 1, # Wartość minimalna min = 0, # Wartość maksymalna max = 10) ) dateRangeInput - funkcja tworząca pole wyboru zakresu interesujących dat. ui <- fluidPage( # Pole wyboru zakresu dat dateRangeInput("nazwa_inputu_5", "Tekst wyświetlany w aplikacji", # Data początkowa start = "2001-01-01", # Data końcowa end = "2010-12-31") ) 9.4.0.2 Przykładowe elementy wyjścia Używanie funkcji wyświetlających outputy jest bardzo proste, ponieważ w UI decydujemy jedynie gdzie i jak wyswietlić output, który jest obiektem utworzonym wewnątrz funkcji server na podstawie wprowadzonego przez użytkownika inputu. textOutput - funkcja wyświetlająca tekst, ui <- fluidPage( # Wyświetla tekst, który stworzyliśmy w serwerze pod daną nazwą textOutput("nazwa_outputu_1") ) tableOutput - podstawowa funkcja wyświetlająca tabelę, ui <- fluidPage( # Wyświetla tabelę stworzoną w serwerze pod daną nazwą tableOutput("nazwa_outputu_2") ) DTOutput - funkcja wyświetlająca interaktywną ramkę danych z użyciem pakietu data.table, ui <- fluidPage( # Interaktywna ramka danych z użyciem data.table DT::DTOutput("nazwa_outputu_3") ) plotOutput - funkcja wyświetlająca wykres. ui <- fluidPage( # Wyświetla wykres stworzony w serwerze plotOutput("nazwa_outputu_4", # Szerokość wykresu width = "100%", # Wysokość wykresu height = "400px") ) 9.5 Przykład użycia Oczywiście powyższe kody były jedynie fragmentami większej całości. Poniżej możemy zobaczyć przykładowy kod obrazujący strukturę budowy interfejsu. Rzeczą, o której należy pamiętać jest oddzielanie funkcji przecinkami. ui <- fluidPage( # Tytuł titlePanel("Tytuł"), # To co będzie wyświetlone z boku interfejsu sidebarLayout( # Panel boczny sidebarPanel( # Pierwszy input - wybór selectInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji", choices = c("Wybór_1", "Wybór_2")), # Drugi input - suwak sliderInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji", value = 1, min = 0, max = 10) ), # Główny panel mainPanel( # Tworzymy zakładki tabsetPanel( # Pierwsza zakładka - wykres tabPanel("Tytuł wykresu", plotOutput("nazwa_outputu_1")), # Druga zakładka - ramka danych tabPanel("Tytuł ramki", DT::DTOutput("nazwa_outputu_2")) ) ) ) ) Dodatkowo warto zdawać sobie sprawę, że po wprowadzeniu danych przez użytkownika outputy aktualizują się automatycznie, dlatego często przydatne jest programowanie reaktywne z funkcją observeEvent oraz użycie actionButton, który pozwala na wykonanie danego działania dopiero po kliknięciu odpowiedniego przycisku przez użytkownika. 9.6 Wygląd aplikacji Ostatecznie chcielibyśmy, aby aplikacja wyglądała bardziej estetycznie. Możemy do tego użyć kilku narzędzi. Po pierwsze możemy zmienić motyw naszej aplikacji. Z pomocą przychodzi nam funkcja shinythemes::themeSelector(), którą musimy umieścić w naszym UI. Wtedy w naszej aplikacji pojawia się pole z możliwością wyboru motywu. Gdy już wybierzemy ulubiony motyw zamieniamy poprzednią funkcję w UI na theme = shinythemes::shinytheme('NASZ_MOTYW') i gotowe! Poza tym Shiny umożliwia całkowitą customizację wyglądu aplikacji przy użyciu HTML, CSS oraz JavaScript. Ostatnim narzędziem, o którym warto pamiętać, jest shinyWidgetsGallery(). Jest to bardzo użyteczna aplikacja stworzona w bibliotece shinyWidgets, dzięki której możemy między innymi zobaczyć w praktyce działanie różnego typu inputów oraz kod umożliwiający użycie ich w aplikacji. 9.6.1 Uwaga W tej notatce omówiliśmy podstawowe elementy pozwalające na zbudowanie interfejsu w shiny ale chcielibyśmy też dodać, że w poszukiwaniu bardziej zaawansowanych rozwiązań warto odwiedzić stronę https://shiny.rstudio.com/, gdzie można znaleźć dokumentację pakietu shiny, wiele przykładów oraz nieomówionych tu funkcji. 9.7 Wstęp Shiny to biblioteka w R pozwalająca na budowanie interaktywnych aplikacji w prosty i szybki sposób. Aplikacja Shiny składa się z dwóch części, opisywanych w dwóch osobnych plikach: interfejs użytkownika (UI), czyli jak aplikacja będzie wyglądać u użytkownika oraz sposób przetwarzania danych (serwer). W tej pracy zajmiemy się stroną serwerową Shiny. 9.8 Serwer Shiny Aplikacje Shiny zazwyczaj budujemy w sytuacjach, w których mamy dane, chcemy obliczyć pewne rzeczy i narysować odpowiednie wykresy. Użytkownik widzi efekt końcowy, czyli to jak zaprogramowaliśmy gdzie ma się wyświetlać wynik, natomiast w części serwerowej opisujemy jak ten wynik ma być obliczony. Jest to więc część zależna od pliku UI. Musimy więc w kodzie serwera zamieścić obiekty opisane w UI. Zauważmy, że tworzymy kod serwera jako funkcję od dwóch parametrów: input, output. W środku serwera definiujemy zależności pomiędzy inputami i outputami. Jedną z zalet Shiny jest interaktywność. Dzięki temu użytkownik może na bieżąco zmieniać parametry i generować nowe wykresy. Jednak generowanie kodu na nowo przy każdej zmianie danych nie zawsze jest pożądane. Ważnym pojęciem przy pisaniu strony serwerowej jest reaktywność (żródło infografiki: Shiny Cheat Sheet). reaktywnosc Jeśli zmienna jest reaktywna, to znaczy że jakakolwiek jej zmiana powoduje ponowne uruchomienie funkcji z nią powiązanych. Do budowania reaktywnych wyrażeń używamy funkcji reactive(). Taka zmienna jest liczona tylko raz i wyrażenia z nią związane używają tej wartości aż do momentu aktualizacji wybranego przez użytkownika. Z pojęciem reaktywności wiąże się kilka ważnych funkcji: reactiveValues(...), które tworzy listą reaktywnych zmiennych, isolate(expr) - zapobiega zależności od reaktywnych zmiennych, render*() - funkcje tworzące obiekty do wyświetlenia, które zmieniają się wraz z reaktywnymi zmiennymi, observeEvent(...) - gdy nie chcemy aby model od razu się zaktualizował przy zmianie danych, a przy jakiejś określonej akcji, reactive() - tworzy reaktywne wyrażenia eventReactive - tworzy reaktywne wyrażenia, które nie zależą od wszystkich reaktywnych zmiennych, a zależą jedynie od akcji wymienionych w pierwszym argumencie. "],["podstawy-kontroli-wersji-przy-pomocy-gita.html", "Chapter 10 Podstawy kontroli wersji przy pomocy Gita 10.1 Podstawowe informacje 10.2 Podstawowe komendy 10.3 Repozytoria 10.4 Podstawowe komendy 10.5 Cofanie zmian 10.6 Gałęzie 10.7 Tworzenie własnych repozytoriów", " Chapter 10 Podstawy kontroli wersji przy pomocy Gita 10.1 Podstawowe informacje System kontroli wersji to narzędzie, które zarządza zmianami wprowadzanymi w plikach i katalogach w projekcie. Istnieje wiele systemów kontroli wersji. Przykładem takiego systemu jest Git. Jego mocne strony to: Nic, co jest zapisane w Git, nigdy nie jest tracone, więc zawsze możesz wrócić, aby zobaczyć, które wyniki zostały wygenerowane przez które wersje twoich programów. Git automatycznie powiadamia Cię, gdy Twoja praca koliduje z pracą innej osoby, więc jest trudniej (choć nie jest to niemożliwe) o przypadkowe nadpisanie pracy. Git może synchronizować pracę wykonywaną przez różne osoby na różnych komputerach. Kontrola wersji nie dotyczy tylko oprogramowania: książki, artykuły, zestawy parametrów i wszystko, co zmienia się w czasie lub wymaga udostępnienia, może i powinno być przechowywane i udostępniane za pomocą czegoś takiego jak Git. Każdy z projektów Git składa się z dwóch części: plików i katalogów, które tworzysz i edytujesz bezpośrednio, oraz dodatkowych informacji, które Git rejestruje o historii projektu. Połączenie tych dwóch rzeczy nazywa się repozytorium. Git przechowuje wszystkie dodatkowe informacje w katalogu o nazwie \\(\\texttt{.git}\\) znajdującym się w katalogu głównym repozytorium. 10.2 Podstawowe komendy Używając Gita zapewne często będziemy chcieli sprawdzić stan swojego repozytorium. Aby to zrobić, użyjemy polecenie \\(\\texttt{git status}\\). \\(\\texttt{git status}\\) - wyświetla listę plików, które zostały zmodyfikowane od czasu ostatniego zapisania zmian Git ma obszar przejściowy, w którym przechowuje pliki ze zmianami, które chcemy zapisać, a które nie zostały jeszcze zapisane. \\(\\texttt{git status}\\) - pokazuje, które pliki znajdują się w tym obszarze przejściowy i które mają zmiany, które nie zostały jeszcze zatwierdzone \\(\\texttt{git diff}\\) - pokaże wszystkie zmiany w twoim repozytorium (porównując obecną postać plików z ostatnio zapisaną) \\(\\texttt{git diff directory}\\) - pokaże zmiany w plikach w jakimś katalogu (porównując obecną postać plików z ostatnio zapisaną) \\(\\texttt{git diff filename}\\) - pokaże zmiany w danym pliku (porównując obecną postać z ostatnio zapisaną) Git różnice między dwiema wersjami pliku wyświetla w poniższy sposób: diff --git a/report.txt b/report.txt index e713b17..4c0742a 100644 --- a/report.txt +++ b/report.txt @@ -1,4 +1,5 @@ -# Seasonal Dental Surgeries 2017-18 +# Seasonal Dental Surgeries (2017) 2017-18 +# TODO: write new summary gdzie: \\(\\texttt{a/report.txt, b/report.txt}\\) to pierwsza i druga wersja pliku, linia druga wypisuje klucze do wewnętrznej bazy danych zmian Gita, \\(\\texttt{--- a/report.txt, +++ b/report.txt}\\) oznacza, że usuwane linie oznaczone są przedrostkiem \\(\\texttt{-}\\), dodawane linie oznaczone są przedrostkiem \\(\\texttt{+}\\), linia zaczynająca się od \\(\\texttt{@@}\\) mówi, gdzie wprowadzane są zmiany. Pary liczb to numer lini ,,startowej’’ i liczba linii, kolejne linie są listą zmian, które zostały wprowadzone. \\(\\texttt{git add filename}\\) - dodaje plik do obszaru przejściowego \\(\\texttt{git diff -r HEAD}\\) - porówna pliki z repozytorium z plikami z obszaru przejściowego \\(\\texttt{git diff -r HEAD path/to/file}\\) - porówna konkretny plik z repozytorium z plikiem z obszaru przejściowego \\(\\texttt{nano filename}\\) - otwiera plik w edytorze tekstowym \\(\\texttt{nano}\\) poruszanie się strzałkami \\(\\texttt{Backspace}\\) - usuń znak \\(\\texttt{Ctrl-K}\\): usuń linię \\(\\texttt{Ctrl-U}\\): cofnij usunięcie linii \\(\\texttt{Ctrl-O}\\): zapisz plik \\(\\texttt{Ctrl-X}\\): wyjdź z edytora \\(\\texttt{git commit -m "comment"}\\) - zapisuje zmiany w obszarze przejściowym z jednowierszowym komunikatem o wprowadzonych zmianach \\(\\texttt{git commit --amend - m "new message"}\\) - zmienia ostatni komunikat \\(\\texttt{git log}\\) - wyświetlenie historii projektu (od najnowszych zmian). Wyświetlany zostaje unikatowy identyfikator dla zatwierdzenia oraz informacje na temat tego kto dokonał zmiany, kiedy i jaki komunikat napisał dokonując zmiany. \\(\\texttt{spacja}\\) - przejcie w dół o stronę \\(\\texttt{q}\\) - wyjście \\(\\texttt{git log path}\\) - wyświetlenie historii danego pliku lub katalogu 10.3 Repozytoria    Informacje dotyczące zatwiedzonych zmian przechowywane są poprzez trzypoziomową strukturę. Każde zatwierdzenie (tzw. commit) zwiera komunikat o zatwierdzeniu i informacje o autorze i czasie, w którym zatwierdzenie zmian zostało wykonane. Każdy commit ma również swoje drzewo, które śledzi, gdzie w repozytorium dokonano zmian. Dla każdego pliku w drzewie istnieje tzw. blob (binary large object). Każdy blob zawiera skompresowaną migawkę zawartości pliku, z chwili w której nastąpił commit. Czym jest hash? Każde zatwierdzenie zmian w repozytorium ma unikalny identyfikator zwany hashem. Jest on zapisywany jako 40-znakowy ciąg szesnastkowy. Zazwyczaj jednak wystarczy podać pierwsze 6 lub 8 znaków hasha, by odnaleźć konkretne zatwierdzenie (commit). Identyfikatory jakimi są hashe umożliwiają Gitowi wydajne udostępnianie danych pomiędzy repozytoriami. Jak wyświetlić konkretny commit? By wyświetlić szczegóły dotyczące konkretnego commitu należy użyć komendy git show z pierwszymi 6 znakami hasha danego commmitu np.: git show Oda2f7. Czym jest odpowiednik ścieżki względnej w Git? Innym sposobem identyfikacji zatwierdzenia jest użycie odpowiednika ściezki względnej. By wyświetlić zatem ostatni commit możemy użyć komendy git show z etykietą HEAD. Jeśli natomiast zamiast HEAD wpiszemy HEAD~1 wyświetlony zostanie przedostatni commit, polecenie git show HEAD~2 zwróci nam natomiast jeszcze wcześniejszy commit itp. 10.4 Podstawowe komendy git log - wyświetla całą historię danego pliku lub projektu. W Gicie możemy jednak sprawdzić bardziej szczegółowe informacje. Dzięki poleceniu git annotate file możemy sprawdzić kto i kiedy dokonał ostatniej zmiany w każdej linijce pliku. git diff ID1..ID2 - umożliwia sprawdzenie zmian pomiędzy dwoma commitami, których identyfikatory to odpowiednio ID1 i ID2. git add - polecenie umożliwiające dodanie nowego pliku. Po wykonaniu tego polecenia Git zaczyna śledzić dodany plik. git clean -n - pokazuje listę plików, które są w repozytorium, ale których historia nie jest śledzona przez Gita. git clean -f - usuwa pliki, które są w repozytorium i których historii nie śledzi Git. Z używaniem tego polecenia należy uważać, ponieważ usuwa ono pliki z pamięci na stałe i nie da się ich już odzyskać. git config - -list - wyświetla ustawienia Gita. git config - -system - wyświetla ustawienia każdego użytkownika na danym komputerze. git config - -global - wyświetla ustawienia każdego projektu. git config - -local - wyświetla ustawienia poszczególnego projektu. Każdy poziom zastępuje poziom nad nim, więc ustawienia lokalne (na projekt) mają pierwszeństwo przed ustawieniami globalnymi (na użytkownika), które z kolei mają pierwszeństwo przed ustawieniami systemowymi (dla wszystkich użytkowników na komputerze). git config - -global setting value - zmienia konfigurację odpowiedniej wartości dla wszystkich projektów na danym komputerze. Jako setting należy wpisać to co chcemy zmienić (np. user.name, user.email itp.), a jako value to co chcemy ustawić. 10.5 Cofanie zmian Teraz dowiemy się jak cofnąć wprowadzone zmiany. \\(\\texttt{git reset HEAD}\\)- usuwa ostatnio dodany plik ze śledzenia, \\(\\texttt{git checkout -- filename}\\) - odrzuci zmiany, które nie zostały jeszcze dodane do śledzenia, \\(\\texttt{git reset HEAD path/to/file}\\) - odrzuci ostatnie zmiany w pliku, który został juz dodany do śledzenia, \\(\\texttt{git checkout 2242bd filename}\\)- zamienia aktualna wersje pliku, na tę o hashu ‘2242bd’. Do ostatniej komendy przydatne może być wykonanie poniższzego polecenia, aby sprawdzić hashe plików. \\(\\texttt{git log - 3 filename}\\)- pokaże 3 ostatnie commity dotyczące wskazanego pliku. Poniższe dwie komendy pokazują, jak cofać zmiany na więcej niż jednym pliku. \\(\\texttt{git reset HEAD data}\\)- usuwa ze śledzenia wszystkie pliki z katalogu data. Jeżeli nie podamy nazwy katalogu( wtedy wystarczy samo \\(\\texttt{git reset}\\)) wszystkie pliki zostaną usunięte. \\(\\texttt{git checkout -- data}\\)- wszystkie pliki w katalagu data zostaną cofnięte do poprzednich wersji. 10.6 Gałęzie Jeśli nie używasz kontroli wersji, typowym przepływem pracy jest tworzenie różnych podkatalogów do przechowywania różnych wersji projektu w różnych stanach, na przykład deweloperskich i końcowych. Oczywiście zawsze kończy się to ostateczną aktualizacją i ostateczną aktualizacją-poprawioną. Problem polega na tym, że trudno jest to rozwiązać, jeśli masz odpowiednią wersję każdego pliku w odpowiednim podkatalogu i ryzykujesz utratę pracy.     Jednym z powodów, dla których Git jest popularny, jest jego obsługa tworzenia gałęzi (branchy), co pozwala na posiadanie wielu wersji Twojej pracy i pozwala na systematyczne śledzenie każdej wersji.     Każda gałąź jest jak wszechświat równoległy: zmiany, które wprowadzasz w jednej gałęzi, nie wpływają na inne gałęzie (dopóki nie połączysz ich z powrotem).     Domyślnie kazde repozytorium Gita ma branch zwany master.     Podstawowe komendy związanie z działaniem na branchach (gałęziach):   \\(\\texttt{git branch}\\) - pokazuje wszystkie branche w repozytorium (branch, w którym obecnie się znajdujesz będziesz wylistowany z \\(*\\)).   \\(\\texttt{git diff branch1..branch2}\\) - wyświetla różnice między dwoma branchami   Ciekawostka: \\(\\texttt{git diff branch1..branch2}\\) - -\\(\\texttt{shortstat}\\) - wyświetla konkretną liczbę plików które się różnią między dwoma branchami  \\(\\texttt{git checkout branch1}\\) - pozwala przełączyć się na branch1  \\(\\texttt{git checkout -b branch-name}\\) - pozwala utworzyć nowego brancha o nazwie branch-name    Rozgałęzianie pozwala tworzyć równoległe wszechświaty. Scalanie (merging) to sposób, w jaki łączysz je z powrotem. Kiedy łączysz jedną gałąź (nazwijmy ją źródłową) z inną (nazwijmy ją docelową), Git włącza zmiany wprowadzone w gałęzi źródłowej do gałęzi docelowej. Jeśli te zmiany nie nakładają się, wynikiem jest nowe zatwierdzenie w gałęzi docelowej, które zawiera wszystko z gałęzi źródłowej. Do mergowania dwóch gałęzi używamy polecenia:   \\(\\texttt{git merge source destination}\\) - mergowanie dwóch branchy w jeden  Czasami zmiany w dwóch gałęziach będą ze sobą kolidować: na przykład poprawki błędów mogą dotyczyć tych samych wierszy kodu lub analizy w dwóch różnych gałęziach mogą dołączać nowe (i różne) rekordy do pliku danych podsumowania. W takim przypadku ty decydujesz o sprzeczności zmian.    Jeżeli podczas mergowania występuje konflikt Git informuje Cię, że wystapił problem a \\(\\texttt{git status}\\) poinformuje Cię, które pliki wmagają rozwiązania konfliktów.    Git pozostawia na danym pliku znaczniki, aby poinformować Cię o konkretnym miejscu konfliktu. Znaczniki te wyglądają następująco: <<<<<<< destination-branch-name ...changes from the destination branch... ======= ...changes from the source branch... >>>>>>> source-branch-name   Aby rozwiązać konflikt edytuj plik, usuwając znaczniki i wprowadź wszelkie zmiany potrzbne do rozwiązania kofilktu, a następnie zrób commit tych zmian.    10.7 Tworzenie własnych repozytoriów Przejdźmy do kolejnego zagadnienia związanego z pracą w Gicie.     Do tej pory wszystkie poznane funkcje Gita dotyczyły działań na repozytoriach już istniejących. Aby stworzyć własne repozytorium w bieżącym katalogu roboczym wystarczy komenda:  \\(\\texttt{git init project-name}\\)   Warto wspomnieć, że chociaż Git pozwala tworzyć zagnieżdżone repozytoria nie powinieneś tego robić. Aktualizacja takich repozytoriów bardzo szybko staje się bardzo skomplikowana, ponieważ musisz powiedzieć Gitowi, w którym z dwóch katalogów .git ma być przechowywana aktualizacja.    Nie tworzymy repozytorium w innym już istniejącym!     Poniżej kilka ważnych komend:  \\(\\texttt{git init}\\) - inicjalizacja repozytorium w bieżącym katalogu   \\(\\texttt{git init /path/to/project}\\) - inicjalizacja repozytorium we wskazanym ścieżką katalogu   \\(\\texttt{git clone URL}\\) - tworzenie kopii istniejącego pod wskazanym adresem URL repozytorium \\(\\texttt{git clone /existing/project newprojectname}\\) - tworzenie kopii istniejącego repozytroium o zadanej nazwie - newprojectname   \\(\\texttt{git remote}\\) - wyświetla informację o fizycznej lokalizacji na serwerze Gita, z której zostało sklonowane repo   \\(\\texttt{git remote -v}\\) - wyświetla informację o URL serwerze Gita, z którego zostało sklonowane repo   \\(\\texttt{git remote add remote-name URL}\\) - pozawala na dodanie własnego remota z podanego URL \\(\\texttt{git remote rm remote-name}\\) - usuwanie istniejącego remota   \\(\\texttt{git pull remote branch}\\) - pobieranie zmian w branchu w lokalnym repozytorium i mergowanie ich z bieżacym brnachem w lokalnym repozytorium   Uwaga!   Git powstrzymuje Cię przed pobieraniem ze zdalnego repozytorium zmian, które mogą nadpisać niezapisane lokalnie zmiany. Wystarczy zrobić commit tych zmian lub cofnąć je, a następnie spullować repo ponownie.   \\(\\texttt{git push remote-name branch-name}\\) - pushuje zmiany wprowadzone lokalnie na danym branchu do zdalnego repozytorium   "],["programowanie-obiektowe-w-r-klasy-s3.html", "Chapter 11 Programowanie obiektowe w R: klasy S3 11.1 Systemy programowania obiektowego w R 11.2 S3 11.3 S4", " Chapter 11 Programowanie obiektowe w R: klasy S3 Programując w R jesteśmy oswojeni z myśleniem kategoriami funkcji - przekształceń nakładanych na macierze lub ramki danych. Jest to naturalne ze względu na zastosowanie R głównie w statystyce i pochodnych jej dziedzin. Tymczasem programowanie obiektowe, choć często niepotrzebne do przeprowadzenia analiz lub symulacji, może się okazać użyteczne przy tworzeniu większego projektu, w szczególności projektu współtworzonego przez więcej osób. Zdefiniowanie klas i metod nadaje projektowi strukturę, co sprawia, że jego rozbudowa przebiega mniej chaotycznie. Ponadto, znajomość podstaw systemów programowania obiektowego w R umożliwia nam lepsze zrozumienie działania bazowych funkcji i obiektów R oraz ewentualne ich rozbudowywanie. 11.1 Systemy programowania obiektowego w R W przeciwieństwie do wielu popularnych języków programowania, R nie ma jednego ujednoliconego systemu programowania obiektowego - jest ich wiele, przy czym różnią się nie tylko składnią, ale też funkcjonalnościami. Pierwsze wersje pierwowzoru języka R - języka S nie posiadały żadnego systemu obiektowego. Wraz z trzecią wersją S wprowadzono pierwszy z nich: S3. Następnie, kiedy ten okazał się niewystarczający dla potrzeb użytkowników - S4. Oba systemy finalnie znalazły się w base języka R. Z czasem, w miarę wzrastania potrzeb, powstawały kolejne alternatywne systemy klas, które funkcjonowały równolegle i równoprawnie. Do dzisiaj nie wyróżniamy systemu “oficjalnego” czy preferowanego - każdy z kilku pozostałych w powszechnym użyciu ma swoje zastosowania, w których niekorzystnym lub niewygodnym jest zastąpienie go innym. W tej notatce przyjrzymy się przede wszystkim S3. 11.2 S3 S3 to system, z którym stykamy się najczęśniej. Wszystkie wbudowane klasy obiektów zostały zbudowane właśnie przy pomocy systemu S3. By sprawdzić, do jakiej klasy S3 należy obiekt, używamy funkcji class. W codziennej pracy w R operujemy w wiekszości na obiektach zbudowanych w S3. Klasy S3 to m.in. factor,data.frame,matrix. f <- factor(c("y","n","y","n","n")) class(f) ## [1] "factor" Warto w tym miejscu podkreślić, że klasa zmiennej nie jest równoważna typowi zmiennej, np. macierz liczb jest klasy matrix, ale typu double. m <- matrix(c(1,2,3,4),2,2) class(m) ## [1] "matrix" "array" typeof(m) ## [1] "double" Każdemu obiektowi mogą być (ale nie muszą) przypisane atrybuty. Atrybuty mozna rozumieć jako cechy lub parametry obiektu. W przypadku macierzy są to jej wymiary. attributes(m) ## $dim ## [1] 2 2 11.2.1 Klasy i atrybuty W systemie S3 nie tworzymy definicji klasy, nie określamy również, jakie atrybuty obiekt danej klasy ma. Obiektowi możemy nadać klasę przy jego utworzeniu, z użyciem funkcji structure: kanapka <-structure(c("szynka", "margaryna", "chleb"), class = "jedzenie") class(kanapka) ## [1] "jedzenie" lub w dowolnym momencie po jego utworzeniu z użyciem class: szarlotka <- c("jaja", "mąka", "masło", "cukier") szarlotka <- c(szarlotka, "jabłka") class(szarlotka) <- "jedzenie" class(szarlotka) ## [1] "jedzenie" Każdemu obiektowi możemy również indywidualnie przypisać atrybuty, również na kilka sposobów, przy jego utworzeniu z użyciem structure: hot_dog <- structure(c("parówka", "bułka", "ketchup"), class="jedzenie", kalorie = 300) attributes(hot_dog) ## $class ## [1] "jedzenie" ## ## $kalorie ## [1] 300 class(hot_dog) ## [1] "jedzenie" Lub w dowolnym momencie z użyciem funkcji attr: attr(kanapka, "kalorie")=150 attr(szarlotka, "kalorie")=265 attributes(kanapka) ## $class ## [1] "jedzenie" ## ## $kalorie ## [1] 150 attributes(szarlotka) ## $class ## [1] "jedzenie" ## ## $kalorie ## [1] 265 Z użyciem funkcji attributes i attr można również “dostać się” do wartości atrybutów obiektu: attr(szarlotka, "kalorie") ## [1] 265 attributes(szarlotka)$kalorie ## [1] 265 Tworzenie obiektów różnych klas S3 jest więc bardzo proste i nie wymaga (przynajmniej formalnie) predefiniowania klasy i atrybutów. System jest więc z jednej strony bardzo elastyczny, z drugiej - nieprecyzyjny. Niesie to za sobą pewne konsekwencje, np. formalnie nic nie stoi na przeszkodzie by zrobić coś takiego: droga <- c("asfalt","pobocze", "lewy pas", "prawy pas") class(droga) <- "jedzenie" class(droga) ## [1] "jedzenie" lub takiego… średnia_bez_na <- function(...) mean(na.rm=TRUE,...) class(średnia_bez_na)<-"jedzenie" class(średnia_bez_na) ## [1] "jedzenie" lub takiego: attr(hot_dog, "kalorie") <- "przecież to prawie nie ma kalorii!" bilans_posilkow <- attr(hot_dog,"kalorie")+attr(szarlotka, "kalorie")+attr(kanapka, "kalorie") ## Error in attr(hot_dog, "kalorie") + attr(szarlotka, "kalorie"): argument nieliczbowy przekazany do operatora dwuargumentowego Dlatego należy pamiętać, by klas i atrybutów nie przydzielać chaotycznie, zachować pewne reguły, mimo że formalnie nie są wymagane przy użyciu S3. 11.2.2 Funkcje generyczne i metody Metody to funkcje działające na obiektach danej klasy. Z reguły są predefiniowane przy utworzeniu klasy wraz z polami. Inaczej jednak jest z systemem S3 w R. Nie definiujemy klasy - klasa jest tworzona przy pierwszym przypisaniu jej jakiemuś obiektowi. Metody tworzy się przy pomocy funkcji generycznych (generics). 11.2.2.1 Funkcje generyczne By lepiej zrozumieć logikę stojącą za funkcjami generycznymi, spróbujmy spojrzeć na klasy i ich metody z nieco mniej standardowej perspektywy. Dla różnych klas możemy mieć analogiczne metody, zachowujące się nieco inaczej w zależności od specyfiki klasy, np. inaczej rozumiemy różnicę między dwoma datami a różnicę między dwoma liczbami - liczby odejmujemy od siebie bezpośrednio, podczas gdy w przypadku dat oczekujemy różnicy w dniach pomiędzy nimi - w tym celu nie wystarczy bezpośrednie odjęcie od siebie dwóch dat. W systemie S3 metody nie są przypisane bezpośrednio klasie, są przypisane odpowiedniej funkcji generycznej. Funkcja generyczna określa nazwę metody wspólną dla wszystkich klas i umożliwia tworzenie wariantów metody dla różnych klas pod tą konkretną nazwą. Zanim przejdziemy do tworzenia funkcji generycznych oraz metod dla własnych klas przyjrzyjmy się działaniu już istniejących. Jedną z funkcji generycznych jest funkcja summary - funkcja podsumowująca obiekt (np. summary(lm(X~Y))). summary ## function (object, ...) ## UseMethod("summary") ## <bytecode: 0x55bf1e71aba0> ## <environment: namespace:base> Użyjemy funkcji methods, by wylistować wszystkie dostępne metody dla danej funkcji generycznej. methods(summary) ## [1] summary,ANY-method summary,DBIObject-method ## [3] summary,diagonalMatrix-method summary,marrayInfo-method ## [5] summary,marrayLayout-method summary,marrayNorm-method ## [7] summary,marrayRaw-method summary,mle-method ## [9] summary,sparseMatrix-method summary.aareg* ## [11] summary.allFit* summary.aov ## [13] summary.aovlist* summary.aspell* ## [15] summary.cch* summary.check_packages_in_dir* ## [17] summary.connection summary.corAR1* ## [19] summary.corARMA* summary.corCAR1* ## [21] summary.corCompSymm* summary.corExp* ## [23] summary.corGaus* summary.corIdent* ## [25] summary.corLin* summary.corNatural* ## [27] summary.corRatio* summary.corSpher* ## [29] summary.corStruct* summary.corSymm* ## [31] summary.coxph* summary.coxph.penal* ## [33] summary.data.frame summary.Date ## [35] summary.default summary.Duration* ## [37] summary.ecdf* summary.EList* ## [39] summary.EListRaw* summary.factor ## [41] summary.gam* summary.ggplot* ## [43] summary.glm summary.gls* ## [45] summary.haven_labelled* summary.hcl_palettes* ## [47] summary.infl* summary.Interval* ## [49] summary.lm summary.lme* ## [51] summary.lmList* summary.lmList4* ## [53] summary.loess* summary.loglm* ## [55] summary.MAList* summary.manova ## [57] summary.MArrayLM* summary.matrix ## [59] summary.merMod* summary.mlm* ## [61] summary.modelStruct* summary.negbin* ## [63] summary.nls* summary.nlsList* ## [65] summary.packageStatus* summary.pdBlocked* ## [67] summary.pdCompSymm* summary.pdDiag* ## [69] summary.pdIdent* summary.pdIdnot* ## [71] summary.pdLogChol* summary.pdMat* ## [73] summary.pdNatural* summary.pdSymm* ## [75] summary.pdTens* summary.Period* ## [77] summary.polr* summary.POSIXct ## [79] summary.POSIXlt summary.ppr* ## [81] summary.prcomp* summary.prcomplist* ## [83] summary.princomp* summary.proc_time ## [85] summary.pyears* summary.ratetable* ## [87] summary.reStruct* summary.RGList* ## [89] summary.rlang_error* summary.rlang_message* ## [91] summary.rlang_trace* summary.rlang_warning* ## [93] summary.rlang:::list_of_conditions* summary.rlm* ## [95] summary.RUnitTestData* summary.shingle* ## [97] summary.srcfile summary.srcref ## [99] summary.stepfun summary.stl* ## [101] summary.summary.merMod* summary.survexp* ## [103] summary.survfit* summary.survfitms* ## [105] summary.survreg* summary.table ## [107] summary.TestResults* summary.tmerge* ## [109] summary.trellis* summary.tukeysmooth* ## [111] summary.varComb* summary.varConstPower* ## [113] summary.varConstProp* summary.varExp* ## [115] summary.varFixed* summary.varFunc* ## [117] summary.varIdent* summary.varPower* ## [119] summary.vctrs_sclr* summary.vctrs_vctr* ## [121] summary.warnings summary.XMLInternalDocument* ## see '?methods' for accessing help and source code Każda z wypisanych nazw odpowiada wariantowi metody dla jednej klasy. Zwrócmy uwagę na specyficzną składnię nazw tych funkcji - człon po kropce odpowiada nazwie klasy, jakiej metoda dotyczy. Przyjrzyjmy się wariantom summary dla dwóch różnych klas: lm i matrix. X <- matrix(rep(1,12), 6,2) Y <- c(2,2,3,2,2,2) model <- lm(Y~X) summary.lm(model) ## ## Call: ## lm(formula = Y ~ X) ## ## Residuals: ## 1 2 3 4 5 6 ## -0.1667 -0.1667 0.8333 -0.1667 -0.1667 -0.1667 ## ## Coefficients: (2 not defined because of singularities) ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 2.1667 0.1667 13 4.8e-05 *** ## X1 NA NA NA NA ## X2 NA NA NA NA ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.4082 on 5 degrees of freedom summary.matrix(X) ## V1 V2 ## Min. :1 Min. :1 ## 1st Qu.:1 1st Qu.:1 ## Median :1 Median :1 ## Mean :1 Mean :1 ## 3rd Qu.:1 3rd Qu.:1 ## Max. :1 Max. :1 Jednak, by użyć odpowiedniej funkcji dla obiektu, nie musimy specyfikować jego klasy - właśnie dzięki zdefiniowaniu funkcji generycznej. Bez względu na klasę obiektu uzywamy składni funkcja_generyczna(obiekt). Wywoływana jest wówczas funkcja generyczna, która na podstawie klasy lub typu obiektu dopasowuje wariant metody. Spójrzmy jak to wygląda na przykładzie summary: summary(model) ## ## Call: ## lm(formula = Y ~ X) ## ## Residuals: ## 1 2 3 4 5 6 ## -0.1667 -0.1667 0.8333 -0.1667 -0.1667 -0.1667 ## ## Coefficients: (2 not defined because of singularities) ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 2.1667 0.1667 13 4.8e-05 *** ## X1 NA NA NA NA ## X2 NA NA NA NA ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.4082 on 5 degrees of freedom summary(X) ## V1 V2 ## Min. :1 Min. :1 ## 1st Qu.:1 1st Qu.:1 ## Median :1 Median :1 ## Mean :1 Mean :1 ## 3rd Qu.:1 3rd Qu.:1 ## Max. :1 Max. :1 Jak widać na przykładzie powyżej wywołanie funkcji generycznej na obiekcie spowodowało dopasowanie odpowiedniej dla klasy obiektu metody i dało identyczny efekt jak wywołanie bezpośrednio dedykowanej funkcji. 11.2.2.2 Tworzenie funkcji generycznych i metod Nowe funkcje generyczne tworzy się według następującego schematu: nazwa_metody <- function (x) { UseMethod("nazwa_metody", x) } Po utworzeniu funkcji generycznej możemy przystąpić do napisania metod dla konkretnych klas. Metody tworzymy jako funkcje nazwane według konwencji nazwa_metody.klasa. Spróbujmy wg powyższego schematu utworzyć metodę dla utworzonej wcześniej klasy jedzenie. Niech nasza metoda nazywa się zjedz: zjedz <- function(x){ UseMethod("zjedz",x) } Mając gotową funkcję generyczną możemy przejść do określenia zachowania metody dla naszej klasy: zjedz.jedzenie <- function(x){ cat("Mniam mniam\\n") } zjedz(szarlotka) ## Mniam mniam zjedz(kanapka) ## Mniam mniam zjedz(hot_dog) ## Mniam mniam Oraz, jeśli potrzebujemy, również dla innych istniejących klas, w tym również wbudowanych, np. matrix. zjedz.matrix <- function(x){ warning("Przeciez to macierz! Tego sie nie je!\\n") } zjedz(matrix(c(1,2,2,3),2,2)) ## Warning in zjedz.matrix(matrix(c(1, 2, 2, 3), 2, 2)): Przeciez to macierz! Tego sie nie je! W szczególności możemy określić zachowanie metody dla pseudoklasy default, czyli określić domyślne zachowanie metody. W kontekście naszego przykładu z klasą jedzenie moglibyśmy oczekiwać, że nasza metoda domyślnie nie będzie “jeść” żadnych obiektów, robiąc wyjątek wyłącznie dla jedzenia. zjedz.default <- function(x,...){ warning("Tego sie nie je!\\n") } zjedz(mean) ## Warning in zjedz.default(mean): Tego sie nie je! zjedz(c(1,2,3,4)) ## Warning in zjedz.default(c(1, 2, 3, 4)): Tego sie nie je! Zauważmy, że istnieje tu pewna hierarchia: zjedz(matrix(c(1,2,3,4,4,5),2,3)) ## Warning in zjedz.matrix(matrix(c(1, 2, 3, 4, 4, 5), 2, 3)): Przeciez to macierz! Tego sie nie je! zjedz(szarlotka) ## Mniam mniam Funkcja generyczna wywołuje metodę dla pseudoklasy default wtedy, gdy dla danej klasy indywidualnie nie ma zdefiniowanej metody. W pierwszej kolejności szuka metody dedykowanej dla danej klasy, dlatego dla obiektów klas jedzenie i matrix zostały wywołane odpowiednio zjedz.jedzenie i zjedz.matrix, a nie zjedz.default. 11.2.3 Dziedziczenie O dziedziczeniu mówimy, gdy jedna z klas przejmuje (dziedziczy) właściwości i cechy innej. W S3 dziedziczenie wprowadza się w zaskakująco oczywisty i prosty sposób. Każdemu obiektowi można przypisać więcej niż jedną klasę, przypisując class(obiekt) nie jedną nazwę klasy, lecz ich wektor, np. dla utworzonego wcześniej obiektu szarlotka: class(szarlotka) <- c("ciasto", "slodkosci", "jedzenie") class(szarlotka) ## [1] "ciasto" "slodkosci" "jedzenie" Kolejność klas w wektorze nie jest przypadkowa: zaczynamy od klasy “najmłodszej” (i najważniejszej, najbardziej specyficznej), a kończymy na “najstarszej” (najogólniejszej). Kolejność ta jest również obowiązująca przy dopasowywaniu metod przez funkcję generyczną: funkcja generyczna najpierw szuka metody dla pierwszej z klas w wektorze, następnie dla drugiej itd. Jeśli nie uda jej się znaleźć metody dla żadnej z klas, wywołuje metodę dla pseudoklasy default. zjedz.ciasto <- function(x){ cat("Mniam mniam, pyszne ciacho!\\n") } zjedz.slodkosci <- function(x){ cat("Słodkie, dobre, mniam.. \\n") } zjedz(szarlotka) ## Mniam mniam, pyszne ciacho! Zgodnie z oczekiwaniami funkcja generyczna wywołała metodę dla pierwszej z klas w wektorze, czyli klasy ciasto, ignorując metody dla klas slodkosci i jedzenie. W większości przypadków jednak wprowadzamy nowe klasy nie po to, by zastępować istniejące metody dla klas ogólniejszych, lecz po to by wprowadzić pewne rozszerzenia, np. metody czy atrybuty, które nie mają sensu dla innych obiektów z klasy - rodzica. Wprowadźmy metodę pokroj. Dla każdego obiektu klasy jedzenie bedzie ona dzialac identycznie - dzielić atrybut kalorie przez wskazane n i zwracać n równych “porcji” : pokroj<-function(x,...){ UseMethod("pokroj",x) } pokroj.jedzenie <- function(x,n){ porcja<-attr(x, "kalorie")/n rep(porcja,n) } pokroj(kanapka,4) ## [1] 37.5 37.5 37.5 37.5 Oprócz tego wprowadźmy metodę sensowną tylko dla klasy ciasto: posyp_cukrem_pudrem. posyp_cukrem_pudrem<-function(x,...){ UseMethod("posyp_cukrem_pudrem",x) } posyp_cukrem_pudrem.ciasto <- function(x){ cat("Syp syp syp\\n") } Zauważmy, że przez wprowadzenie dodatkowych klas obiekt szarlotka nie traci funkcjonalności klasy jedzenie: pokroj(szarlotka,5) ## [1] 53 53 53 53 53 Podczas gdy równocześnie możliwym stało się zdefiniowanie dla niego indywidualnych metod: posyp_cukrem_pudrem(szarlotka) ## Syp syp syp posyp_cukrem_pudrem(hot_dog) ## Error in UseMethod("posyp_cukrem_pudrem", x): niestosowalna metoda dla 'posyp_cukrem_pudrem' zastosowana do obiektu klasy "jedzenie" Dziedziczenie może być bardzo użyteczne, ale należy je stosować z ostrożnością, mając w pamięci elastyczność klas i atrybutów w S3. Bardzo łatwo stracić orientację, w szczególności wprowadzając dziedziczenie po klasach wbudowanych lub po klasach zbudowanych przez kogoś innego - wówczas ciężko nam wziąć pod uwagę wszystkie istniejące dla danych klas metody. Posługując się dziedziczeniem i klasami w sposób rozrzutny i nieprzemyślany łatwo możemy doprowadzić do chaosu. 11.2.3.1 NextMethod NextMethod jest używane w sytuacji, gdy wewnątrz metody klasy chcemy wywołać metodę klasy nadrzędnej (rodzica). zjedz.ciasto<- function(x){ cat("Mniam mniam, pyszne ciacho!\\n") NextMethod() } zjedz(szarlotka) ## Mniam mniam, pyszne ciacho! ## Słodkie, dobre, mniam.. zjedz.slodkosci <- function(x){ cat("Słodkie, dobre, mniam.. \\n") NextMethod() } zjedz(szarlotka) ## Mniam mniam, pyszne ciacho! ## Słodkie, dobre, mniam.. ## Mniam mniam 11.3 S4 S3 jest użyteczny i do niektórych zastosowań wystarczający, ale nie posiada wielu własności znanych z systemów programowania w innych językach. Ponadto, ze względu na dużą swobodę w tworzeniu klas i metod, utrzymanie bardziej złożonych struktur i hierarchii może być uciążliwe i mało przejrzyste z użyciem S3. Pierwszą alternatywą dla S3 był system S4. W S4 metody tworzone z użyciem tej samej logiki - przez funckje generyczne. W przeciwieństie do S3, system S4 wymaga zdefiniowania klasy, w szczególności jej pól (slotów) i dziedziczenia po innych klasach. Klasę definiuje się z użyciem funkcji setClass: # pierwszym argumentem funkcji jest nazwa klasy setClass("nazwa_klasy", slots = c( # tutaj definiowane są sloty i ich typ slot_1 = "data.frame", slot_2 = "list" ), prototype = c( # tutaj definiowane są wartości domyślne (prototyp) dla slotów slot_1 = data.frame(), slot_2 = list() ) ) Funkcja setClass posiada również parametr contains, który odpowiada za dziedziczenie po innych klasach: setClass("klasa_rodzic", slots=c( macierz = "matrix" )) setClass("klasa_dziecko", contains="klasa_rodzic") Funkcje generyczne z użyciem których tworzymy metody S4 są rozróżniane od funkcji generycznych systemu S3. Mechanizm tworzenia metody jest więc bardzo podobny, ale używamy do tego celu dedykowanych dla S4 funkcji. # tworzenie funkcji generycznej S4 setGeneric("nazwa_metody", function(x, ...) standardGeneric("nazwa_metody")) ## [1] "nazwa_metody" # tworzenie metody dla klasy setMethod("nazwa_metody", "nazwa_klasy", function(x,...){ # działanie metody na obiekcie klasy }) 11.3.1 Bonus: przykład wykorzystania systemu S4 S4, choć bardziej restrykcyjny niż S3, nadal daje dużo swobody w przypisywaniu klas, dziedziczeniu, w szczególności w manewrowaniu wbudowanymi klasami R. Wykorzystaliśmy to w naszym raczkującym pakiecie autoeda do ominięcia problemu przypisania różnego zachowania funkcji w zależności od otrzymanego typu danych. Celem było obliczenie tej samej funkcji (np. średniej) dla wszystkich kolumn danych, przy założeniu, że nasz zbiór danych jest średniej wielkości (kilkadziesiąt kolumn - zmiennych). Jeśli niemożliwe jest obliczenie funkcji dla danej kolumny (np. próbujemy obliczyć średnią z kolumny stringów), chcieliśmy uniknąć przerywania pracy funkcji i zwracać NA. By osiągnąć powyższy rezultat zdecydowaliśmy się zdefiniować klasę funkcji - miar obliczanych na kolumnach jako klasę dziedziczącą po… klasie funkcji generycznych: setClass("RankingMeasure", slots = c( name = "character", description = "character" ), prototype = list( name = NA_character_, description = NA_character_ ) ) setClass("BuiltInMeasure", contains = c("standardGeneric", "RankingMeasure") ) Następnie dla każdej potrzebnej nam funkcji utworzyliśmy odpowiadający jej obiekt - funkcję generyczną klasy BuiltInMeasure i zdefiniowaliśmy metody tej funkcji generycznej dla możliwych typów zmiennych, zwracając NA domyślnie i wynik liczbowy, gdzie to możliwe. "],["moduły-w-aplikacjach-shiny.html", "Chapter 12 Moduły w aplikacjach shiny 12.1 Czym jest moduł Shiny 12.2 Budowa modułu Shiny.", " Chapter 12 Moduły w aplikacjach shiny 12.1 Czym jest moduł Shiny Modułem Shiny nazywamy odrębny kawałek aplikacji Shiny. Moduł nie może być wywołany niezależnie od reszty aplikacji. Traktuje się go jako część większej aplikacji lub większego modułu Shiny (moduł może składać się z modułów). 12.1.1 Dlaczego warto używać modułów Shiny? Uproszczenie kodu - moduły pozwalają nam na uporządkowanie złożonego kodu w przypadku dużych i skomplikowanych aplikacji Własna przestrzeń nazw - w aplikacjach shiny ID obiektów z inputów i outputów pochodzą ze wspólnej przestrzeni nazw. To znaczy, że ID każdego z obiektów w całej aplikacji musi być unikalne. Jako że moduł jest osobną funkcją wywołaną w aplikacji, posiada własną przestrzeń nazw. Wystarczy zatem, że ID obiektów są unikalne wewnątrz modułu. Recykling - ponieważ moduł Shiny jest niezależną funkcją, może być użyty zarówno wiele razy w jednej aplikacji, jak i w wielu różnych aplikacjach. Dzięki temu można z łatwością przechowywać gotowe fragmenty aplikacji w eRowych pakietach i wykorzystywać je w razie potrzeby. 12.2 Budowa modułu Shiny. kawałek UI - funkcja odpowiadająca za User Interface w module Shiny kawałek serwera - funkcja zawierająca fragment serwera, który jest wykorzystywany w UI 12.2.1 Jak używać modułów Shiny? Rozważmy aplikację składającą się z dwóch paneli - każdy z wykresem i danymi dla dwóch rozkładów, otrzymaną za pomocą poniższego kodu: library(shiny) library(ggplot2) ui <- fluidPage( tabsetPanel( #generujemy panel dla rozkładu normalnego tabPanel(title = "Rozkład normalny", tabsetPanel( tabPanel( title = "Wykres", numericInput(inputId = "normal_n", label = "Podaj wielkość próby", value = 1000), plotOutput("normal_plot") ), tabPanel( title = "Dane", tableOutput("normal_data") ) ) ), #generujemy panel dla rozkładu wykładniczego tabPanel(title = "Rozkład wykładniczy", tabsetPanel( tabPanel( title = "wykres", numericInput(inputId = "exp_n", label = "Podaj wielkość próby", value = 1000), plotOutput("exp_plot") ), tabPanel( title = "Dane", tableOutput("exp_data") ) ) ) ) ) server <- function(input, output, session) { #generujemy dane normal_data <- reactive({ set.seed(17) data.frame(id = 1:input[["normal_n"]], sample = rnorm(input[["normal_n"]])) }) exp_data <- reactive({ set.seed(17) data.frame(id = 1:input[["exp_n"]], sample = rnorm(input[["exp_n"]])) }) #generujemy tabele output[["normal_data"]] <- renderTable({ normal_data() }) output[["exp_data"]] <- renderTable({ exp_data() }) #generuemy wykresy output[["normal_plot"]] <- renderPlot({ ggplot(normal_data(), aes(x = sample)) + geom_density() }) output[["exp_plot"]] <- renderPlot({ ggplot(exp_data(), aes(x = sample)) + geom_density() + xlim(0, 5) }) } shinyApp(ui, server) Aplikacja wygląda następująco: W naszej przestrzeni wykorzystaliśmy nazwy: inputy - normal_n, exp_n outputy - normal_plot, normal_data, exp_plot, exp_data Co daje razem 6 obiektów. W aplikacji UI zajmuje 36 linijek kodu, a server 29, razem 65 linijek. Zrefaktoryzuemy kod powyższej aplikacji przy użyciu modułów Shiny. Za powtarzające się elementy (tj. panele z wykresem i danymi) będą odpowiedzialne następujące funkcje module_UI oraz module_SERVER (odpowiedniki UI oraz servera dla odrębnego fragmentu aplikacji). module_UI <- function(id) { ns <- NS(id) tagList( tabsetPanel( tabPanel( title = "Wykres", numericInput(inputId = ns("n"), label = "Podaj wielkość próby", value = 1000), plotOutput(ns("plot")) ), tabPanel(title = "Dane", tableOutput(outputId = ns("data")) ) ) ) } Na szczególną uwagę w powyższym kodzie zasługuje linijka ns <- NS(id) Za pomocą funkcji NS() tworzymy osobną przestrzeń nazw ID. module_SERVER <- function(id) { moduleServer(id, function(input, output, session) { #generujemy dane data <- reactive({ set.seed(17) data.frame(id = 1:input[["n"]], sample = rnorm(input[["n"]])) }) #generujemy wykres output[["plot"]] <- renderPlot({ ggplot(data(), aes(x = sample)) + geom_density() }) #generujemy tabelę output[["data"]] <- renderTable({ data() }) }) } Ostatecznie nasza aplikacja używająca pomocniczego modułu wygląda następująco library(shiny) ui <- fluidPage( titlePanel("Przykładowe ciągłe rozkłady prawdopodobieństwa"), tabsetPanel( #generujemy panel dla rozkładu normalnego tabPanel(title = "Rozkład normalny", module_UI("norm") ), #generujemy panel dla rozkładu wykładniczego tabPanel(title = "Rozkład wykładniczy", module_UI("exp") ) ) ) server <- function(input, output, session) { module_SERVER("norm") module_SERVER("exp") } shinyApp(ui, server) Powyższy kod jest czytelniejszy, krótszy, a także rozwiązuje problem wielu zmiennych. "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] diff --git a/docs/_book/style.css b/docs/_book/style.css new file mode 100644 index 0000000..f317b43 --- /dev/null +++ b/docs/_book/style.css @@ -0,0 +1,14 @@ +p.caption { + color: #777; + margin-top: 10px; +} +p code { + white-space: inherit; +} +pre { + word-break: normal; + word-wrap: normal; +} +pre code { + white-space: inherit; +} diff --git a/docs/_book/wczytywanie-danych-w-r-1.html b/docs/_book/wczytywanie-danych-w-r-1.html new file mode 100644 index 0000000..03c831f --- /dev/null +++ b/docs/_book/wczytywanie-danych-w-r-1.html @@ -0,0 +1,465 @@ + + + + + + + Chapter 4 Wczytywanie danych w R | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + +
+
+ +
+
+

Chapter 4 Wczytywanie danych w R

+
+

4.1 Formaty danych

+
+

4.1.1 CSV/DSV

+

CSV (Comma Separated Values) to plik tekstowy, w którym wartości rozdzielane są przecinkami, a kolejne wiersze znakiem nowej linii. Plik CSV zazwyczaj przechowuje dane tabelaryczne. Nagłówki kolumn są często dołączane jako pierwszy wiersz (są to nazwy zmiennych), a każdy kolejny wiersz odpowiada jednej obserwacji (jednemu wierszowi w tabeli danych).

+

CSV jest szczególnym przypadkiem formatu danych o nazwie Delimiter Seperated Values (DSV). Jest to plik tekstowy w którym pola w każdym wierszu oddzielone są dowolnym separatorem. Najczęściej spotykane separatory to: przecinek (CSV), tabulator (TSV), średnik.

+

Przykładowy plik CSV

+

+
+
+

4.1.2 XML

+

XML to skrót od nazwy Extensible Markup Language. Dane przechowywane w tym formacie mają zagnieżdżoną strukturę: znaczniki oznaczają nazwy zmiennych, a wewnątrz przechowywane są ich wartości. XML swoją strukturą przypomina plik HTML.

+

Przykładowy plik XML

+

+
+
+

4.1.3 JSON

+

JSON - JavaScript Object Notation - to format przydatny w przypadku pracy z danymi pochodzącymi z REST API, czyli pobieranymi z sieci. Niektóre bazy danych również komunikują się za pomocą tego formatu, np. MongoDB.

+

Struktura: w pliku JSON obserwacje przechowywane są w słownikach, w których nazwy zmiennych są kluczami, a wartości zmiennych - wartościami. Obserwacje oddzielane są przecinkami, a dodatkowo, wszystkie dane spięte są nawiasami klamrowymi.

+

Przykładowy plik JSON

+

+
+
+

4.1.4 Excel (XLSX)

+

XLSX to format danych oparty na XML. Pliki tego typu są domyślnymi dokumentami wyjściowymi arkuszy kalkulacyjnych programu Microsoft Excel. Przedstawiają one głównie dane liczbowe i tekstowe w postaci tabel dwuwymiarowych.

+

Przykładowy arkusz kalkulacyjny w Excelu

+

+
+
+

4.1.5 Otwarte wersje programu Excel

+

Istnieją inne pakiety biurowe, np. LibreOffice, które - w przeciwieństwie do Excela - pozwalają na darmowe korzystanie z arkusza kalkulacyjnego. W przypadku LibreOffice, domyślnym formatem zapisu danych przez Calc (odpowiednik Excela) jest OpenDocument Format (.ods).

+

Przykładowy arkusz kalkulacyjny w LibreOffice

+

+
+
+

4.1.6 Pliki tekstowe

+

Jednym z najczęściej występujących i najbardziej uniwersalnych formatów przechowujących dane (np. w postaci tabeli) są pliki tekstowe. Mają one najczęściej rozszerzenie txt lub csv (comma separated values).
+Poniższą charakteryzację różnych metod wczytywania przedstawiamy na podstawie pliku listings.csv

+
+

4.1.6.1 Base

+

Podstawową funkcją używaną do wczytywania tego typu plików w postaci tabeli jest funkcja read.table. +Ze względu na specyfikację wewnętrzną plików, read.table posiada kilka wariantów, takie jak read.csv(), read.csv2() czy read.delim().

+

read.csv() używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest “.”, a wartości w wierszach oddzielone są poprzez “,”;
+read.csv2() używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest “,”, a wartości w wierszach oddzielone są poprzez “;”;
+read.delim() używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest “.”, a wartości w wierszach oddzielone są poprzez TAB

+

Przykładowy sposób załadowania plików w formacie csv

+
read.csv('./data/csv/listings.csv', header = TRUE, sep = ",")
+

W przypadku read.table() dane zostają zaimportowane jako data.frame.

+

Dla dużych plików wczytwanie za pomocą read.table() bywa jednak czasochłonne. Wówczas możemy użyć funkcji z paczki data.table lub readr.

+
+
+

4.1.6.2 readr

+

readr jest częścią pakietu tidyverse. W tym przypadku import odbywa się za pomocą funkcji o podobnej nazwie, jak w przypadku read.table(), a mianowicie read_csv().
+read_csv wczytuje dane oddzielone przecinkami, natomiast read_csv2() - dane oddzielone średnikami.

+
read_csv('./data/csv/listings.csv')
+

W przeciwieństwie do read.csv, funkcja read_csv na wyjściu daje dane w postaci tabeli w bardziej zwartej i przejrzystej formie. Oprócz tego podaje także specyfikację kolumn, tzn. informuje, jaka jest nazwa każdej kolumny oraz jej typ (np. col_double () oznaczają dane liczbowe).
+Typ danych jaki dostajemy na wyjściu to tbl_df (tzw. tibble), który jest w pewnym sensie zmodyfikowaną wersją tradycyjnej ramki danych data.frame, pozwalającą na łatwiejszą pracę w obrębie tidyverse.

+
+
+

4.1.6.3 data.table

+

Do wczytywania danych z plików csv możemy także użyć funkcji fread z pakietu data.table.

+
fread('./data/csv/listings.csv')
+

Na wyjściu otrzymujemy ramkę danych, jednak wyświetloną w inny sposób niż w przypadku użycia read.csv. Różnica jest widoczna, gdyż po użyciu funkcji class() na fread() jako typ danych otrzymujemy "data.table" "data.frame".

+
+
+

4.1.6.4 Różnice

+

Najważniejsze różnice pomiędzy wymienionymi sposobami wczytywania plików csv to:

+
    +
  1. Typ danych
  2. +
+
    +
  • Base: `data.frame
  • +
  • readr: tibble
  • +
  • data.table: `data.table data.frame
  • +
+
    +
  1. Postać wyświetlania (co jest konsekwencją 1)
  2. +
+
    +
  • Base: Wyświetla 62 początkowe wiersze każdej kolumny, wyświetlając informacje o liczbie pozostałych;
  • +
  • readr: wyświetla 10 pierwszych wierszy z 10 pierwszych kolumn, z informacją o liczbie pozostałych wierszy i kolumn; automatycznie wyświetlane są też nazwy kolumn oraz skrót informujący o typie zmiennych
  • +
  • data.table: wyświetla 5 początkowych i 5 końcowych wartości z każdej kolumny
  • +
+
    +
  1. Czas i użycie pamięci przy dużych rozmiarach danych
    +Zarówno czas wczytania danych, jak i wykorzystanie pamięci najkorzystniejsze jest w przypadku funkcji fread. Gdyby przez time oznaczyć czas potrzebny na wczytanie dużych plików, a przez memory zużycie pamięci, to time(fread) < time(read_csv) << time(read.csv) oraz memory(fread) < memory(read.csv) < memory(read_csv).
  2. +
+
+
+
+

4.1.7 Arkusze kalkulacyjne i pliki JSON

+

Do wczytywania arkusza kalkulacyjnego (np. pliku excela) używa się funkcji read_excel z pakietu readxl będącego częścią tidyverse.

+
read_excel('./data/excel/listings.xlsx')
+

Oprócz tego, można także użyć pakietu funkcji read.xlsx z pakietu xlsx. Wymaga ona jednak instalacji Javy.

+

Do zaimportowania plików JSON możemy użyć funkcji z pakietu jsonlite

+
listings_js <- jsonlite::fromJSON('./data/json/listings.json')
+listings_js <- mutate(listings_js, 
+                      last_review = as_date(last_review))
+
+
+
+

4.2 Locale

+

Locale jest to uniksowe narzędzie powłokowe przechowujące ustawienia środowiskowe związane z ustawieniami regionalnymi.

+
Sys.getlocale()
+
## [1] "LC_CTYPE=pl_PL.UTF-8;LC_NUMERIC=C;LC_TIME=pl_PL.UTF-8;LC_COLLATE=pl_PL.UTF-8;LC_MONETARY=pl_PL.UTF-8;LC_MESSAGES=pl_PL.UTF-8;LC_PAPER=pl_PL.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=pl_PL.UTF-8;LC_IDENTIFICATION=C"
+

LC_COLLATE - odpowiada za porządek znaków, ważny przy sortowaniu

+

LC_CTYPE - odpowiada za kodowanie znaków

+

LC_MONETARY - odpowiada za system monetarny: znak waluty, separator tysięcy, liczba cyfr po przecinku itd.

+

LC_NUMERIC - określa separator ułamkowy, separator tysięcy, grupowanie cyfr

+

LC_TIME - odpowiada za system wyświetlania daty

+
Sys.localeconv()
+
##     decimal_point     thousands_sep          grouping   int_curr_symbol   currency_symbol 
+##               "."                ""                ""            "PLN "              "zł" 
+## mon_decimal_point mon_thousands_sep      mon_grouping     positive_sign     negative_sign 
+##               ","               " "            "\003"                ""               "-" 
+##   int_frac_digits       frac_digits     p_cs_precedes    p_sep_by_space     n_cs_precedes 
+##               "2"               "2"               "0"               "1"               "0" 
+##    n_sep_by_space       p_sign_posn       n_sign_posn 
+##               "1"               "1"               "1"
+

Powyższa funkcja wyświetla szczegóły dotyczące systemu numerycznego i monetarnego.

+
+

4.2.1 Ustawienie locale przez użytkownika

+
Sys.setlocale(category = "LC_ALL", locale = "polish")
+
## Warning in Sys.setlocale(category = "LC_ALL", locale = "polish"): Żądania raportów OS aby ustawić
+## lokalizację na "polish" nie mogą zostać wykonane
+
## [1] ""
+

W celu ustawienia innego locale niż domyślne systemowe należy użyć powyższej funkcji, przyjmowane przez nią argumenty to category i locale.

+

category - odpowiada za określenie, które zmienne środowiskowe chcemy zmienić, gdzie opcje: “LC_ALL”, “LC_COLLATE”, “LC_CTYPE”, “LC_MONETARY”, “LC_NUMERIC” oraz “LC_TIME” są wspierane na każdym systemie operacyjnym, niektóre systemy wspierają również: “LC_MESSAGES”, “LC_PAPER” i “LC_MEASUREMENT”

+

locale - odpowiada za region, który chcemy ustawić dla systemu windows podajemy angielską nazwę języka (regionu) np.: ‘polish’, w systemach UNIXowych podajemy np.: ‘pl_PL’ lub ‘pl_PL.UTF-8’.

+
+
+

4.2.2 Ustawienie locale poprzez readr

+

Pakiet readr oferuje więcej możliwości dostosowywania locale, więcej informacji na ten temat można znaleźć w tym odnośniku.

+
+
+
+

4.3 Natywne formaty R

+

R ma dwa natywne sposoby przechowywania danych, RDA(od RData) i RDS. Główną zaletą takiej obsługi danych jest szybkość przetwarzania ich. Zachowuje on także informacje z R o danych(np. typy zmiennych).

+
+

4.3.1 RDS

+

W formacie RDS mogą być przechowywane jedynie pojedyncze pliki R. Mogą być one za to przypisywane do dowolnej nazwy. +Aby załadować dane korzystamy z:

+
listings_rds <- readRDS("./data/native/listings.rds")
+

Do zapisania danych używamy:

+
saveRDS(object = listings, file = "listings.rds")
+
+
+

4.3.2 RDA

+

W plikach formatu RDA wczytane dane nie są przypisywane do zmiennej, tylko wywołujemy te funkcje i w efekcie plik pojawia się w środowisku.

+

W RDA do załadowania danych służy

+
load("./data/native/listings.rda")
+

Natomiast, aby zapisać dane używamy:

+
save(listings_rr, file = "listings_rr.rda")
+

Korzystając z formatu RDA możemy jednocześnie zapisywać większą ilość plików

+
save(iris, cars, file="data_frame.rda")
+ +
+
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_book/wczytywanie-danych-w-r.html b/docs/_book/wczytywanie-danych-w-r.html new file mode 100644 index 0000000..c5441bc --- /dev/null +++ b/docs/_book/wczytywanie-danych-w-r.html @@ -0,0 +1,557 @@ + + + + + + + Chapter 3 Wczytywanie danych w R | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + +
+
+ +
+
+

Chapter 3 Wczytywanie danych w R

+
+

3.1 Formaty danych

+
+

3.1.1 CSV/DSV

+

CSV (Comma Separated Values) to plik tekstowy, w którym wartości rozdzielane są przecinkami, a kolejne wiersze znakiem nowej linii. Plik CSV zazwyczaj przechowuje dane tabelaryczne. Nagłówki kolumn są często dołączane jako pierwszy wiersz (są to nazwy zmiennych), a każdy kolejny wiersz odpowiada jednej obserwacji (jednemu wierszowi w tabeli danych).

+

CSV jest szczególnym przypadkiem formatu danych o nazwie Delimiter Seperated Values (DSV). Jest to plik tekstowy w którym pola w każdym wierszu oddzielone są dowolnym separatorem. Najczęściej spotykane separatory to: przecinek (CSV), tabulator (TSV), średnik.

+

Przykładowy plik CSV

+

+
+
+

3.1.2 XML

+

XML to skrót od nazwy Extensible Markup Language. Dane przechowywane w tym formacie mają zagnieżdżoną strukturę: znaczniki oznaczają nazwy zmiennych, a wewnątrz przechowywane są ich wartości. XML swoją strukturą przypomina plik HTML.

+

Przykładowy plik XML

+

+
+
+

3.1.3 JSON

+

JSON - JavaScript Object Notation - to format przydatny w przypadku pracy z danymi pochodzącymi z REST API, czyli pobieranymi z sieci. Niektóre bazy danych również komunikują się za pomocą tego formatu, np. MongoDB.

+

Struktura: w pliku JSON obserwacje przechowywane są w słownikach, w których nazwy zmiennych są kluczami, a wartości zmiennych - wartościami. Obserwacje oddzielane są przecinkami, a dodatkowo, wszystkie dane spięte są nawiasami klamrowymi.

+

Przykładowy plik JSON

+

+
+
+

3.1.4 Excel (XLSX)

+

XLSX to format danych oparty na XML. Pliki tego typu są domyślnymi dokumentami wyjściowymi arkuszy kalkulacyjnych programu Microsoft Excel. Przedstawiają one głównie dane liczbowe i tekstowe w postaci tabel dwuwymiarowych.

+

Przykładowy arkusz kalkulacyjny w Excelu

+

+
+
+

3.1.5 Otwarte wersje programu Excel

+

Istnieją inne pakiety biurowe, np. LibreOffice, które - w przeciwieństwie do Excela - pozwalają na darmowe korzystanie z arkusza kalkulacyjnego. W przypadku LibreOffice, domyślnym formatem zapisu danych przez Calc (odpowiednik Excela) jest OpenDocument Format (.ods).

+

Przykładowy arkusz kalkulacyjny w LibreOffice

+

+
+
+

3.1.6 Pliki tekstowe

+

Jednym z najczęściej występujących i najbardziej uniwersalnych formatów przechowujących dane (np. w postaci tabeli) są pliki tekstowe. Mają one najczęściej rozszerzenie txt lub csv (comma separated values).
+Poniższą charakteryzację różnych metod wczytywania przedstawiamy na podstawie pliku listings.csv

+
+

3.1.6.1 Base

+

Podstawową funkcją używaną do wczytywania tego typu plików w postaci tabeli jest funkcja read.table. +Ze względu na specyfikację wewnętrzną plików, read.table posiada kilka wariantów, takie jak read.csv(), read.csv2() czy read.delim().

+

read.csv() używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest “.”, a wartości w wierszach oddzielone są poprzez “,”;
+read.csv2() używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest “,”, a wartości w wierszach oddzielone są poprzez “;”;
+read.delim() używana jest w przypadku, gdy domyślnym separatorem dziesiętnym jest “.”, a wartości w wierszach oddzielone są poprzez TAB

+

Przykładowy sposób załadowania plików w formacie csv

+
read.csv('./data/csv/listings.csv', header = TRUE, sep = ",")
+

W przypadku read.table() dane zostają zaimportowane jako data.frame.

+

Dla dużych plików wczytwanie za pomocą read.table() bywa jednak czasochłonne. Wówczas możemy użyć funkcji z paczki data.table lub readr.

+
+
+

3.1.6.2 readr

+

readr jest częścią pakietu tidyverse. W tym przypadku import odbywa się za pomocą funkcji o podobnej nazwie, jak w przypadku read.table(), a mianowicie read_csv().
+read_csv wczytuje dane oddzielone przecinkami, natomiast read_csv2() - dane oddzielone średnikami.

+
read_csv('./data/csv/listings.csv')
+

W przeciwieństwie do read.csv, funkcja read_csv na wyjściu daje dane w postaci tabeli w bardziej zwartej i przejrzystej formie. Oprócz tego podaje także specyfikację kolumn, tzn. informuje, jaka jest nazwa każdej kolumny oraz jej typ (np. col_double () oznaczają dane liczbowe).
+Typ danych jaki dostajemy na wyjściu to tbl_df (tzw. tibble), który jest w pewnym sensie zmodyfikowaną wersją tradycyjnej ramki danych data.frame, pozwalającą na łatwiejszą pracę w obrębie tidyverse.

+
+
+

3.1.6.3 data.table

+

Do wczytywania danych z plików csv możemy także użyć funkcji fread z pakietu data.table.

+
fread('./data/csv/listings.csv')
+

Na wyjściu otrzymujemy ramkę danych, jednak wyświetloną w inny sposób niż w przypadku użycia read.csv. Różnica jest widoczna, gdyż po użyciu funkcji class() na fread() jako typ danych otrzymujemy "data.table" "data.frame".

+
+
+

3.1.6.4 Różnice

+

Najważniejsze różnice pomiędzy wymienionymi sposobami wczytywania plików csv to:

+
    +
  1. Typ danych
  2. +
+
    +
  • Base: `data.frame
  • +
  • readr: tibble
  • +
  • data.table: `data.table data.frame
  • +
+
    +
  1. Postać wyświetlania (co jest konsekwencją 1)
  2. +
+
    +
  • Base: Wyświetla 62 początkowe wiersze każdej kolumny, wyświetlając informacje o liczbie pozostałych;
  • +
  • readr: wyświetla 10 pierwszych wierszy z 10 pierwszych kolumn, z informacją o liczbie pozostałych wierszy i kolumn; automatycznie wyświetlane są też nazwy kolumn oraz skrót informujący o typie zmiennych
  • +
  • data.table: wyświetla 5 początkowych i 5 końcowych wartości z każdej kolumny
  • +
+
    +
  1. Czas i użycie pamięci przy dużych rozmiarach danych
    +Zarówno czas wczytania danych, jak i wykorzystanie pamięci najkorzystniejsze jest w przypadku funkcji fread. Gdyby przez time oznaczyć czas potrzebny na wczytanie dużych plików, a przez memory zużycie pamięci, to time(fread) < time(read_csv) << time(read.csv) oraz memory(fread) < memory(read.csv) < memory(read_csv).
  2. +
+
+
+
+

3.1.7 Arkusze kalkulacyjne i pliki JSON

+

Do wczytywania arkusza kalkulacyjnego (np. pliku excela) używa się funkcji read_excel z pakietu readxl będącego częścią tidyverse.

+
read_excel('./data/excel/listings.xlsx')
+

Oprócz tego, można także użyć pakietu funkcji read.xlsx z pakietu xlsx. Wymaga ona jednak instalacji Javy.

+

Do zaimportowania plików JSON możemy użyć funkcji z pakietu jsonlite

+
listings_js <- jsonlite::fromJSON('./data/json/listings.json')
+listings_js <- mutate(listings_js, 
+                      last_review = as_date(last_review))
+
+
+
+

3.2 Locale

+

Locale jest to uniksowe narzędzie powłokowe przechowujące ustawienia środowiskowe związane z ustawieniami regionalnymi.

+
Sys.getlocale()
+
## [1] "LC_CTYPE=pl_PL.UTF-8;LC_NUMERIC=C;LC_TIME=pl_PL.UTF-8;LC_COLLATE=pl_PL.UTF-8;LC_MONETARY=pl_PL.UTF-8;LC_MESSAGES=pl_PL.UTF-8;LC_PAPER=pl_PL.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=pl_PL.UTF-8;LC_IDENTIFICATION=C"
+

LC_COLLATE - odpowiada za porządek znaków, ważny przy sortowaniu

+

LC_CTYPE - odpowiada za kodowanie znaków

+

LC_MONETARY - odpowiada za system monetarny: znak waluty, separator tysięcy, liczba cyfr po przecinku itd.

+

LC_NUMERIC - określa separator ułamkowy, separator tysięcy, grupowanie cyfr

+

LC_TIME - odpowiada za system wyświetlania daty

+
Sys.localeconv()
+
##     decimal_point     thousands_sep          grouping   int_curr_symbol   currency_symbol 
+##               "."                ""                ""            "PLN "              "zł" 
+## mon_decimal_point mon_thousands_sep      mon_grouping     positive_sign     negative_sign 
+##               ","               " "            "\003"                ""               "-" 
+##   int_frac_digits       frac_digits     p_cs_precedes    p_sep_by_space     n_cs_precedes 
+##               "2"               "2"               "0"               "1"               "0" 
+##    n_sep_by_space       p_sign_posn       n_sign_posn 
+##               "1"               "1"               "1"
+

Powyższa funkcja wyświetla szczegóły dotyczące systemu numerycznego i monetarnego.

+
+

3.2.1 Ustawienie locale przez użytkownika

+
Sys.setlocale(category = "LC_ALL", locale = "polish")
+
## Warning in Sys.setlocale(category = "LC_ALL", locale = "polish"): Żądania raportów OS aby ustawić
+## lokalizację na "polish" nie mogą zostać wykonane
+
## [1] ""
+

W celu ustawienia innego locale niż domyślne systemowe należy użyć powyższej funkcji, przyjmowane przez nią argumenty to category i locale.

+

category - odpowiada za określenie, które zmienne środowiskowe chcemy zmienić, gdzie opcje: “LC_ALL”, “LC_COLLATE”, “LC_CTYPE”, “LC_MONETARY”, “LC_NUMERIC” oraz “LC_TIME” są wspierane na każdym systemie operacyjnym, niektóre systemy wspierają również: “LC_MESSAGES”, “LC_PAPER” i “LC_MEASUREMENT”

+

locale - odpowiada za region, który chcemy ustawić dla systemu windows podajemy angielską nazwę języka (regionu) np.: ‘polish’, w systemach UNIXowych podajemy np.: ‘pl_PL’ lub ‘pl_PL.UTF-8’.

+
+
+

3.2.2 Ustawienie locale poprzez readr

+

Pakiet readr oferuje więcej możliwości dostosowywania locale, więcej informacji na ten temat można znaleźć w tym odnośniku.

+
+
+
+

3.3 Natywne formaty R

+

R ma dwa natywne sposoby przechowywania danych, RDA(od RData) i RDS. Główną zaletą takiej obsługi danych jest szybkość przetwarzania ich. Zachowuje on także informacje z R o danych(np. typy zmiennych).

+
+

3.3.1 RDS

+

W formacie RDS mogą być przechowywane jedynie pojedyncze pliki R. Mogą być one za to przypisywane do dowolnej nazwy. +Aby załadować dane korzystamy z:

+
listings_rds <- readRDS("./data/native/listings.rds")
+

Do zapisania danych używamy:

+
saveRDS(object = listings, file = "listings.rds")
+
+
+

3.3.2 RDA

+

W plikach formatu RDA wczytane dane nie są przypisywane do zmiennej, tylko wywołujemy te funkcje i w efekcie plik pojawia się w środowisku.

+

W RDA do załadowania danych służy

+
load("./data/native/listings.rda")
+

Natomiast, aby zapisać dane używamy:

+
save(listings_rr, file = "listings_rr.rda")
+

Korzystając z formatu RDA możemy jednocześnie zapisywać większą ilość plików

+
save(iris, cars, file="data_frame.rda")
+ +
+
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git "a/docs/_book/wst\304\231p-1.html" "b/docs/_book/wst\304\231p-1.html" new file mode 100644 index 0000000..2a84832 --- /dev/null +++ "b/docs/_book/wst\304\231p-1.html" @@ -0,0 +1,321 @@ + + + + + + + Chapter 6 Wstęp | Dane w formacie wąskim i szerokim. Łączenie tabel danych (join). Operacje na napisach i datach. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + +
+
+ +
+
+

Chapter 6 Wstęp

+

Transformacja danych jest niezwykle ważnym elementem dobrze zrobionego raportu. Dane te powinny być prezentowane w sposób czytelny i ułatwiający ich porównywanie. To od potrzeby biznesowej zależy w jaki sposób powinniśmy przedstwiać dane. Np. dysponując wynikami finansowymi zbieranymi co miesiąc przez trzy lata bo planowania budżetu na następny rok przyda nam się prezentacja ich w formacie wąskim, czyli skupionym na wydatkach względem każdego roku. Jednakże, jeżeli chcielibyśmy kontrolować wydatki w tym następnym roku prezentacja danych w formacie szerokim będzie bardziej korzystna, gdyż będziemy mieli informację ile średnio wydajemy w danym miesiącu i na bieżąco będziemy mogli podejmować decyzję o inwestowaniu lub zaciskaniu pasa.

+

Niekiedy jednak dane mają bardziej skomplikowaną formę i np. składają się z wielu tabel. Wówczas dla łatwiejszego uzyskania informacji biznesowej będzie połączenie tych tabel. Takie operacje w połączeniu z odpowiednią agregacją i grupowaniem zdecydowanie ułatwia wgląd w aktualną sytuację.

+

Ostatnim tematem, na temat któtego ta notatka traktuje są operacje na napisach i datach. Bardzo łatwo uzmysłowić sobie przydatność w posługiwaniu się takimi operacjami. Ułatwia to konstruowanie prostych funkcji, które są kluczowe w każdym projekcie. Chociażby bazując na imionach i nazwiskach pewnych obywateli Polski łatwo wskazać z dużą pewnością kobiety w tym zbiorze sprawdzając ostatnią literę ich imienia (tj. czy dane imie kończy się na literę “a”). +

+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git "a/docs/_book/\305\202\304\205czenie-tabel-danych.html" "b/docs/_book/\305\202\304\205czenie-tabel-danych.html" new file mode 100644 index 0000000..1059cd9 --- /dev/null +++ "b/docs/_book/\305\202\304\205czenie-tabel-danych.html" @@ -0,0 +1,1114 @@ + + + + + + + Chapter 8 Łączenie tabel danych | Dane w formacie wąskim i szerokim. Łączenie tabel danych (join). Operacje na napisach i datach. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + +
+
+ +
+
+

Chapter 8 Łączenie tabel danych

+

Mamy dwie tabele danych tab1 z małymi literami oraz tab2 z wielkimi literami:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 8.1: tab1 = x +
+indeks + +litery +
+1 + +a +
+2 + +b +
+3 + +c +
+4 + +d +
+5 + +e +
+6 + +f +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 8.1: tab2 = y +
+indeks + +LITERY +
+4 + +E +
+5 + +F +
+6 + +G +
+7 + +H +
+8 + +I +
+9 + +J +
+

gdzie x = tab1, a y = tab2.

+

Aby połączyć dwie tabele danych na podstawie wskazanych kolumn lub kolumn o wspólnej nazwie można użyć przykładowych funkcji.

+
+

8.1 merge()

+

Dostępna w bazowym R. Domyślnie funkcja ta łączy tabele względem nazw kolumn, które są wspólne.

+
tabela <- merge(x = tab1, y = tab2)
+kable(tabela)
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+indeks + +litery + +LITERY +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+

Jeśli chcemy być pewni, że tabele zostaną połączone po odpowiedniej kolumnie, możemy przekazać nazwę tej kolumny w argumencie. W tym przypadku:

+
merge(tab1, tab2, by = "indeks") # INNER JOIN
+

Jeśli jest więcej kolumn, po których chcemy połączyć tabele, wystarczy przekazać w argumencie by wektor z nazwami tych kolumn.

+

Gdy nazwy kolumn po których chcemy złączyć tabele różnią się, należy wykorzystać argument by.*. Załóżmy, że kolumna tabeli tab1 - indeks zmieniła nazwę na index, zatem:

+
merge(tab1, tab2, by.x = "index", by.y = "indeks")
+

Wartości kolumn indeks w tab1 oraz tab2 różnią się. Dlatego korzystając z funkcji bez dodatkowych argumentów tracimy dane.

+

Aby zapobiec traceniu danych z poszczególnych tabel należy skorzystać z argumentu all, brakujące wartości zostaną uzupełnione NA:

+
merge(tab1, tab2, all.x = TRUE) # LEFT JOIN
+merge(tab1, tab2, all.y = TRUE) # RIGHT JOIN
+merge(tab1, tab2, all = TRUE)   # OUTER JOIN
+

Dostajemy wtedy kolejno:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 8.2: all.x = TRUE +
+indeks + +litery + +LITERY +
+1 + +a + +NA +
+2 + +b + +NA +
+3 + +c + +NA +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 8.2: all.y = TRUE +
+indeks + +litery + +LITERY +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+7 + +NA + +H +
+8 + +NA + +I +
+9 + +NA + +J +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Table 8.2: all = TRUE +
+indeks + +litery + +LITERY +
+1 + +a + +NA +
+2 + +b + +NA +
+3 + +c + +NA +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+7 + +NA + +H +
+8 + +NA + +I +
+9 + +NA + +J +
+

Bez sprecyzowania argumentu sort wiersze wyniku merge() zostaną posortowane leksykograficznie po wspólnych kolumnach. Gdy sort = FALSE wiersze będą w nieokreślonej kolejności.

+

Kolumny złączonej tabeli to najpierw kolumny wspólne, następnie pozostałe z x a na końcu pozostałe z y, co widać na przykładach.

+
+
+

8.2 join()

+

Funkcja z paczki dplyr. Tabele x i y powinny zwykle pochodzić z tego samego źródła danych, ale jeśli copy = TRUE, y zostanie automatycznie skopiowany do tego samego źródła co x.

+

Są cztery typy join zmieniających:

+
    +
  • left_join() - zwraca wszystkie wiersze z x i wszystkie kolumny z x i y. Wiersze w x bez dopasowania w y będą miały wartości NA w nowych kolumnach. Jeśli istnieje wiele dopasowań między x a y, zwracane są wszystkie kombinacje dopasowań
  • +
+
tabela <- left_join(tab1, tab2)
+kable(tabela)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+indeks + +litery + +LITERY +
+1 + +a + +NA +
+2 + +b + +NA +
+3 + +c + +NA +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+6 + +z + +G +
+
    +
  • right_join() - analogicznie do left_join(), ale zwraca wszystkie wiersze z y, a wiersze bez dopasowania w x będą miały wartości NA

  • +
  • inner_join() - zwraca wszystkie wiersze z x, w których znajdują się pasujące wartości w y, oraz wszystkie kolumny z x i y. Jeśli istnieje wiele dopasowań między x a y, zwracane są wszystkie kombinacje dopasowań.

  • +
+
tabela <- inner_join(tab1, tab2)
+kable(tabela)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+indeks + +litery + +LITERY +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+6 + +z + +G +
+
    +
  • full_join() - zwraca wszystkie wiersze i wszystkie kolumny zarówno z x, jak i y. Jeśli nie ma pasujących wartości, zwraca NA dla brakujących.
  • +
+
tabela <- full_join(tab1, tab2)
+kable(tabela)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+indeks + +litery + +LITERY +
+1 + +a + +NA +
+2 + +b + +NA +
+3 + +c + +NA +
+4 + +d + +E +
+5 + +e + +F +
+6 + +f + +G +
+6 + +z + +G +
+7 + +NA + +H +
+8 + +NA + +I +
+9 + +NA + +J +
+

Argument by przyjmuje wektor nazw zmiennych do połączenia. Jeśli by = NULL funkcja *_join() domyślnie połączy tabele dopasowując wartości ze wszystkich kolumn o wspólnych nazwach w obu tabelach.

+
+
+
+ +
+
+
+ + +
+
+ + + + + + + + + + + + + + + diff --git a/docs/_bookdown.yml b/docs/_bookdown.yml new file mode 100644 index 0000000..30bf605 --- /dev/null +++ b/docs/_bookdown.yml @@ -0,0 +1,4 @@ +delete_merged_file: true +language: + ui: + chapter_name: "Chapter " diff --git "a/docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia-1.png" "b/docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..53ae0df41ffd444f4ede7eb8e56a3682477301ff GIT binary patch literal 10713 zcmeHt2T)U8v~CCqh90E%CZKd_!cQk6MT+#^rAm_~9fDGnCJIrcNt51`CN&6(B1mr{ z5KyE;K!MP20?O}y+uWJ==FYr#FEbgEbM{_mt#5tn+xx6@?%&W-AthoU0ssJ{YN}Ut z0RVg?0Dy;r;A4+iNdK$_0D!YMH1w6RKk@MJfIuKVK0XKp0)xQ>1O(^Kor6FigoK1d zL`1~I#3UpnWMpLI^KfPj#Y zkg%}u<;#~vL_|bIMa9I##KpxWB_*Y#q@<;#Wn^SzWo6~$8#iv~=;-L`>gws~>Feto7#J8D8X6fH z85e?UM$ zU|?WSP*8Aia7ainXIPoF+bO-+6F>{(h` zT6%hVMn*+I}&|Ni}l4<9~${Mg;y-P6C>m) z-rl~xzW)CHfq{X+!NH-Sq2b}-k&%(n(b2K7vGMWo&!0a}OiXwJUlu&IzB$OVv;1mvYgOU z)x;YBV2;Lp@Dk@X>;V8afZA0>egE{;i~wt@(Tw@&3npLVni;hpO=={>KX#Rw>Mj+% z>2SwEBz63zXzR6TaS`M9Z$zF02w1}@Y@$(=qB;QBN~!Dv&0rG3+NuqTbF5t$RiGWo z_Xl>;56759o*=_73=Qmul~~r~Eg4=P3bI%~{AoJf%j#ofU=&i)x*jq#EPyRD0Gg&P z1PB0lvk3!O@Zor9ItWR4r-C&=h5(3f~kKHAqrbkSEgyoe-GQi5jyU?|itl9~XgC3rCWLBe@k&7Zj||DOgjod7fvh#AmA{ zgh~=Z$MB$IAV@k0vI2m(0zq0pkRJdffd}Nl14;vcX#n_R0Gt^B*9`x^X$EbCy1z#E zi1e3ndT{7W)aSjojk)_7J7OdJ#%YmAE`0bZJ{~8OwH`(J?eXsWLuz40K zSnn&K!p{|M^t7~)`Z)X7M^>XAez|fN0YmA+k=t;juAgS9By>tJzcc@fCT08R)LrV- z9X8MVxQW)6va-#FR+B8&)yLHZT(VOo6j0|+X9;G{pQEMGO>3|)@+T#Q*PI^J${*c1 zaO$5GU;3*7UR#plCPoW<0s+;MgAgwfBNpm-;zA%|@oJ;8FB+mbWve^NOtPuKw&YJQ zZZm2AbyvqBhE!w8Hl~Nbs+`Vt|0XNUg+a6{8wqAdQXvzY%QNtu~bTI7_C8=uT^5KEGCMFlq+1|bG6g4E~kPL%I-z;E9 zGkwl+pU!DxC^aN{WL!3ON#v%Pw?`0e3Yzpcy{SEX?}WNnRnYq`2WE@G?A{tL&BH zY?UEw!k}7$|DF7w0hXSe>+Gq~m8nmb*SW9jcex`Iv3UWuLVqbyw1WUBn&+1%oXbQc zb73L_8L~}A3g9^*rZE-fDg#I;avVEN1+6>Q1D)Wq$5Krj{iYW>!Lv`NJNQ(G49xOq zRm-~R+z7!seD&_me`D$@?*P3=%Fcmm6W2wFfYN1V_9#{X!; z>e?t-gV-GDGo^+a6GL1@a&;-|gJ_h2tj{#{Rfd9r*t%q9tNakBu8C^A#Di8c^;BI; zQ~by-3>v`$rgaxqgF?miXbGFrxT7kX&+&<@D_U>sbFx)(r`x4HLUt}MXC;8#^J!{c zUB%HA7k=<=L>0B-OYQMK6wX&@QT9bG9xK4zPk*1E}rwKlWQ zIvEjxJbDAK%SN>~jO)cOq`Yh#vZL$c;er*nit=)R;nUANL;P-_u&Q0=mdmwE-X3jC zQgjUkbd~PPydQ`F$L6^@>7-O1@r^zs>nk=mT=_WnW2fRz*x)@ z^Xwqhxb@6ni4dC8mI*Xck;e1O=}b*j*s*aql$8+`ArGZhvOYY!$m%%gD21-8>`wzh z67XpgDz=Us#gy1?HeUQ6L1Tuf* zECx!#bfUlG=BCE1X32^|{`7~N5|h$97eYb`-&+2zc4p^jRT2+=z4Xj&?(_AEF~wPH zds~1%-AhwN#VSW8y@EcK9)^U09e7hO875stwRm^vy&ZvB$N!3rOY|-8BgjDuG!46d z`GweZhX)21DC+lvH}E0mwx?0`JW92tRs$j8XJ>cVJ)Qp?c^=cjHG8X(%~S24M?bKJ zSq7sk7+WWgiPg?rbNHZ9_24Ry_DBg^slUKC5z#B zu%|tFJhdfA^H%t_pk&Jq+TuCdUAp9LKV3TwOF4>=}?xb|)-m>uo0q_#KxRteB$y9yXdJ4b26mT z$y#YNlHe@#3+MfJqB~e?3gyea0^h2(YHeD1dAys1`b5MT z#xAUa6&ajO5%`=P?bh+dIprw%7%*H4Cq%eR67j#<(K`I>DEFhLNM7v7o&eJQ@HFp9 z`ltao5-Y0#z{Y} z3@MGLb{3DUc$!c_4o6DX3BTxl5BTvDq9SYtHmeubh%U@-g+ArPsyEKxA|$(PfyP`U zb`SXW6|-3t5i|Tc{^>G-;MC6~{&00fNFelQ< z0IbN}U5a>};-2JnMU%uTh}`hz)LrDtFTy%Qf*EDY-0ut~_s!DO^l31%2?zZm8v}4! zY|htrpJq7PsL##C#$rZX>~E)Fs8E(XE?tQ}znZ>l-t1?y9soVca!@JtQQO7&Jz|`u z&Gx}pRS2WCsBya}uM>rGz1$66GZlr85Y$l*l_T!x+EwELMPK|r83zsxAR3mToJy5J z69sEl+dFd4I{iml#|%#t;%bl$oXdbo54o9Pq9n8(TQ{z~PZ!(E;_Y$N#^H)7bArm_*5OsPXMxNeH#d{b2oRV5y zc15L9?CkcG>Tf(0Q7fP&N7Kss)&!S%gF&AIiSr=8!xKFQ!^v-CA~)X`M|Hg$(TgO% zdnOl`AnDLECBgf>4Z`a0|9(Hs#{b_qJQx#6_$6N)wQ+X8R*x8gug2h$oiDHLM@hpO zEmXPK0^()ekey^{nk;pdJrj2IN2g|rJ$zX)1p9p~jq*(jvi_cfs{}8(f{`t8$lrdzG$UBleAt;`+N`UY1jsN zf}Y@-l8KBVy0S45xg5LqFlITAqf>NTFRRn~pEe#J%zz01dDj<#z1hr5weg6nd=1m_ zlEGr&1hw(U?{13)Sak_TjScE%-i#p?{ForxvE3yXHAGfRKb+bH*QNEp++66+nm@eD zc&#UkRvcBITtIKDtrif$UTfBsOHzf~fVK1%4uReCrM)=h!SL&#lYUD|19GCMg|A-f z=B9`gi=OJ2*0LuJMr>;)r3JaaTx-@eDbeNmgg zw~wHzlTKGJO=k_H6>0ai^NL7Ei%4iNF>FQlYo~k1)!MN6Z0RSXOglpDo;X%x)aP9kaAhiA>uAwgp zzSfA8O_Nx?8M8W8ecw)feWJPuy&o*-Z#VctD{4$2?I?r2CTQ@*BuSOZ6}P?S_^%0m za6AAf;NLujXacUAgxU`erTKA9XRq&uy}Bd8o$RBuya;cLq;(#Km<`@sfR`!9C-*C* z4Sq7d>hU7vz09@ApLR5ue4?CpE?qKD{Sz%4x@ULkZVV7AqLQlw(1mHCO~5<)gD*Kn z8s#33BYd9dj9RPl{Cw9gO+Xt3Nv{*vjA9ux9a5!-N|H)~EmeNJnsMWseB|@QhEc{O zxP~A^ITXR3COcti3Nz)m4QB@yyhB$_hNvYb9VCHCtY%_>Sb1X~r^hAm&^M21RqafdB9q7b zo1+4QJcomOmcC)yAG@C|uj_^hzmAuXF;aPqa7C>0IgWIP%9+>2B-D%yBu`ih$lS-+ z5NIuwQpJuzEewu=)h4Ug4<*h^jzoO^>xq{uzbhAg`#S>0&=7G0v6{^8G84@^#j>9c z?3@%=7Qf5t#x@aoYx{YEIN*s|`9b*ymt{-0Z!8l%6H+S8kC2`IGGJ~NHYk)Ey%E0+ z;YpqL{@_UzJeWK>ylSQ|G&d7i>|V@iN?Sf|qD`&GSEPHmh;EEoYB9L}GcQ@YBCpFp z{{3`I5=)v2CF}KM%%FO)b9dh{X~C@bu>Ng>sHNJEo~rYDt4$v-{rHx*^x6p8%-_!5 zoaD3#>MG@v#0Ivfy|6+Rd&9fILtJNWPJjRK2Fjn<-Oure>5i&92<$t-K>LN$$MCZ{0*+39&H%U{j(T8eU zGp|x;iB!xF(34JI3w(%BeVy(u&o%c$zn|H>LcA|z@};BO3zw|q*6bzJN84?}EfHpm z_HS;}s_~j07l`*PUTp4Kz7C_QQ6INV4Jb6rG`|)vJM(a0KyX|t(aAEpdrCdlUNX<; z5N~{!Ez;`Z4=s++ryaBgZ#jn2kFFH^H<-1It7aoNXe3BNm%N26Mjs!SJ{ECxt+aU; zda2H+FTqK3+e=qGG%+;&*yjgJk+NkZueha!WSX|c^^dVl3Ge*)t~KSqk)5ykI7kk4 z`+5@1ls8cv5MF1fgI51S6+f~{e0O}8@cKM39T^rBEF<^uMYWV;Y!vvoGz0ctF(2 zOEB1)2FQ4o5-0A|6k8sq%2d-E2xU#&U{yJt2)1PRb@y#)P73l!_ znC9Gu{G>AIbH!R~OY zOeOK&Lg}kpe3|hr7l-@1q+zCoBIYX-`vVQsq+%C6r?%r~o?ghwU?5n_`k;SxeIb-m ztG9N65@k_+u}KQSI8eKg{dnQV6b@g`6MQ}L1N!k*;c5v@ulm2HhlS5bP+}8 zO0lveeLsRWHYG2Lb0pvdTH!qx>XP!vh&ocL=4_!p;fmet4l~}dA1Oz&JFgP9Re4fJ zy+2^@gn}>iudenVGRN{pY&3nZK`liP5Vpj~%1PB{_D;hzEA8pi_kW&Tq6Q3wo~2u?62YP8od@j^uN)k=!RTReKKss!Z1~P#I4t zCK9|VSqe#={^eNr`;u}lf4&C9i^5w|K+>;0w45WlZJDpLmKvY=ow!E7{@TYF?C$YA zwTeCPIHj>b$M{>GMlb5KN}*p*?N?n1vKHVxw%pX@X@jH78S3TH;=5&NrDDv(BbmU3 zn}0pLbK({{;m8Qp>77YZ{g4vls2`@`_C9Dtt)Bv8(7;~bLfo49&DZh)vWloZu4&2C zNo~7ZOm`Zvk~MRklhm$}v|Rzq#3PQ+<|-=2zloR*%yP*|arD{=A}gewZLy!(`n*LI zQt{*4wydsJ_UO=?WJUOoS{~YZMw4spO4Q>`kKapc zd;qfMe9YNF^4&f6tp;kc<+pWjwbh5s8UP?j!o3U7PqCTltLp>$q}An9`ogL!;?s2s zNkf~bNk$ogQlB*p_U$Fxb3N#L5^yzhuL&z%aiP3B!Uj84xYW`wOMxZ9p)v>CItgUO zx<4?Hl{4biN@Y!HERSA37^-;(?|zO9n0QRgPusVLcJT05tdY4QP?1gAPP&-)>EcZr zTv_YAM23jIp?tXMk9Lp)B+dZL@+sv@rL-wsm!D2YxGB*ZrD0 z6P5g(^^wIb(V6|?rpGa?+<#?*NNx>W*WcAh40c59N$56#^LI3T^o|R10Q5w`lbzHBB^VTn%nmDK3!ca$RPDH)r(XW9*K`l_my=@Nah2n5Wa+vY+A00ZWos%) zX&V$Q)mgU%k^NxN$ll4uf4F*Aq)SXQk8q~<{lSC6#R;Q@CwJmmk$@N9~+(NX8^7b$8Vi#!|GI$K;} zd$)XkHGAoj$#1I00a>5dBR9+P2a79=(XKzs3qpp|uNQ<}+4DHCG?Od}{qSyTw4yB3 zxQmvNFKx4K8Ny#T>1VL&yPQ+7_0K`HDF&BxV_7YoPb%LR0(0-~a(_x7ez?qFF7R zpQqT4#4tN9x3zv|y%%z+cV6J2OHn{oAxGan@!A;?Y;JvD&^N6QoaX45tV#j@GGhhx z-FRD%3|VjSxl?lkc>G<4y~XRt$HOq0JZp+Lbu2W`=V3WgEi!EA1e4>h?fvI^vXPtP zLig@;9!^?x+9xRsGhjUr*Hij-sGJoF_c(qIoj(Xzl|NkRQneo6Qf=o^a+cp!s!|pv z!bPb4JuD%e60?hn+#&Rh{E|#5`R&S1Ff1mKnZr@MIEWDGO~# zXf<|kJxr5h{MJy+y#wKxNvREbjPaG0<*PVGW{0=Mh?B# zy5C(-%xLwbc~E|HX1r|^@v-$lW&YS?PVaTdDaHP4Z)W|I_W$+wyPh7C$9fIOHC-=$ Q3&8%VDQjIVSF(=y7g}_3A^-pY literal 0 HcmV?d00001 diff --git "a/docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia2-1.png" "b/docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia2-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..78d0668b6c0b11cfbb99a912e50d71159eb4c407 GIT binary patch literal 11719 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 TdC~(k;73_OUA{!t{Mmm1kx%)* literal 0 HcmV?d00001 diff --git "a/docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia3-1.png" "b/docs/_bookdown_files/_main_files/figure-html/dopasowanie po\305\202o\305\274enia3-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..925ed386160c039e884551ff5f061a3270f07d16 GIT binary patch literal 26999 zcmb?@2RxPk-~Q2ZB023rI1P!=5ZOXQRzpNa%PwSQtB%qnkt8ERGBYwGDMD6OvXZ^` z9_N4EzQ6JOp8qrc&;RwD*X#Q|;+*^3=l;Au@Avh-uIqi@Kc#YCoIZUdM*EE7Cff7c%*&TKaHe-o7W6&YZ>$)hApUH~Y0lThfP1vGt+LHmRmy+= z3Gbaa9nv!HlfA_0xmn1%t-!Mym&{T;@lrw<@U($kPW+8&nGv33mM;;)Q^*pAt#~?h zi^PJbw=(|^Z?nFlZC!En?urznicr(qIJ+kM&iu!0y;=8$TMLR!U50WQOSGMwpKKEs zw(a{l(3n|}pKse!6%`Ys)cat`NP|^b;qj4b4L!+C6KuoB9&M&_{uIoaON>fgLJGN| zq_v6S&&x+Vn3M32q zvdyEufAtM#8H?N9EhG|+!XU=Oua!LHDi|LXwP(+s(+dr0H(Dq9>nHo`Yu}xVj)?x! zZ@ZhDn~8en>{(Av={Va_!(eB1l`{3{@w;qhCr+MBJiqsK{92?)9bPax4xfF#P$7$ z{qzkDGqnY%@+VK8JZrw3B-2U>36Qt69AOb@7%Grn7%t+AZ^*ETrdhuKJ3ez?J>cKu(97RmRwgy8ly`Z_RiUjZ z0$5&|T5`E^G!|sbmMtUwOBq)iU3jFTrml`FCELqeYMhdiQe9o`z0+9d#MB-^!T8wN z>I^25TRz@3kTqKR%$%n)jr_&`prNkQ@YmcsjH%|$O_$#%8&`6Ri#v9F_g~mE*Bu!w zym=LOrK>^fD;!lSSmVr@ADWYim%lRE>+h;~sl=WBHS*V|-qT7ig%q-*cN~90rm6%< zh+g_kd-UkhMt-fnUnzV;a#Y&XOmBR_lWp}WrnPBlX+AzaeSLj7bM1mT3p1u%^}?Ye zUVW3lbMKsuQ0lG-JMQG<6d-(k1V*$M)2xnqR(rS$pvjEagmG(m-)L;kh9O(o==o z4s~^PBNYMSb_1Fk13%w~WsPjJYj`d6giS=n%!xifIWMA_?Ue5HnZcF&S@&=Or(I@a zQIV?TxLTkoH#c`s%7+y$wKr$Ry7Q~UULf+bN?Y>oVS`jwR{F+DEljm0)o@40#AJ=v zThpz~yh*?ACU^d&fZ91KSh6V=s5YO>Og)r7u{I>qX z^?ET8p{I@^1pSI=w$tT|4-U1n2+x7c|xw#Dx86(%}T=iW=cNzvmk3P&w?XQWwfMxS3 zZ13*w4ivLlYqPwoG1G4M?%jNB`2_`f*c14t=YyI4fKa~pti;5`172af&n_7|x=E)k zushSbJJd-eR3aaHzmU$c)p>Ky+=!z7&!0v@1_lPYH@}Y+aD)rQk zSK-XjqhHslO1%EkRrqW-qsuB^QtS&cn;!h5J)GE)9sY)^R@}*Yi_EPOc~I@%etv#s zU7>3~6Obx+`tgda{txwSNB8gFFC0+f7(Ekektdmz9eX=UZ)N$&@Rt3TX(X{q{%mzt|vHm-;7xT2z> z^FU3zE#241;H&TDIi6lR{3oV|x%_e5@e!tSS&z(t48`jT8#Zhx@)&%v|BBP? zz?}-xb3<~nvbPhNgZ~yUJ3J+}r+RWo{+iw5$FH4ss;+#uj5K|2)Y1_tZJzo0&hGxy z=I0vwwmx>89EhF#G#{kurki#1JzdPSCg${ku?HLYvNj!>*|%~1`fvT$eE zUAyc(=j}sNH$6IxW`|&=`WzRBe_>7R_{d&gI8IUpZ29{s@bS04guR!>l8;@b|-s_E#o zi@dA`IoNqoB?jwc8!Ylziad{h^jC^lxsH1(wX>t6s5VhSRn^ZhtI8O4VqrO>S^lFf zP~?s!nMMeF8-)#%c3vLVguzB6`f3BJraA$ z=J#C@M$)T08U7RKQ^` ze7IJ3J+-kW!=@K7GF3r(+1+ z-um;TsQStMxpr>P`7bPt$GZj|G%U4icAgxs)iZC*IOl)mdTM>M%WS`=^ukS?T+wek zqwaoACK6>oaVcK?jDGv}?X7B`he<-0uZn2*+<)=}JDr!Ge}nA$_3MQwS9`P8TZQql zTILkZ&&@W|8D6;9=YpRZ#x~=l4aFd zxO3$}7b1W8y+sp!9=56im)v5hWA063vZqgU# zS=MWxJ9q9p@#wOO@FO_`+Klu6N;MCjd!Ku8-x%O`D_4k^kPaV+R{}MuQ%wrQie*a?#Q5Y(zf1B zF7xBH>FMb<18U^`H~xHy)5!#27!UK5dS@QEB5UX~^Eki5Kze5z+x*P<*%gqW#z|| zP~_60uYy^HyR)lRB_G=&GzvSl1orIlKcN2rTUxW_+tVE<`HT@1-n(xTuM|8%5^cN10J5;|CCNJ# z2t@R;RR!Hm$dNlvDja>!M6aHl+lp!>$0{j=w)RtRl%NdbS=Awij1M1bI)8DZ%LK$P zO7SZ(7`?rmxvgI6i0})b%lO0-&Bsy)p9k`{ zyx*YOCS^Z7as2pkV6eu1+gbDQ?+jkMxVcy8sxD>7s2E?y8L~^^9eRoO=NEb!Y;Xzg zvatCScT6+Z9n;{La{+*T^GJwKiM#U8*N5nx1?c|1zU?_Jz_+@czUnl}v9KF`Ki?yz zzgr!$HpFqP>&D#F@QlE*pTGy(#BHnWc0U$>giaKY@7nJ#_O-f>{Q#rRA56HIM9TBn ze!i<1UkAEkyhX^?!5aC4l}-3s_mA*kr;$Q*2&Jz?D*@QiXRqESW{nRT*P#xAO;A=) z(8L}_soT3zacM25S&)P5XOk3{v5MmXBIdg3mhH$Y4<0^L=05A-FoX7v!)YiNhY%Wi zmWf;~9Q(c$ocGrc`VBjd^?Qyj66JOS;j`h|K5{*agFo(xEZJ=z%)$Hfr zU;a8X-a9%n0uI2}+Z#JS6^*F!OQAjAI)x4$!s^DNq&aj3+JO&<1X@#%)f(@svugYH z6v<>*b?!m_wtTd|=%MzBh}czx9>qc;{J-5_w;QM(y7(J%X;X-h69?Y}AERv*pW|%X-YuPR^F?e;XGE!lf4{ zvT8*h*qJlU)}55g%eIo-yjms7Wq1lJ57H>W1$uzvlc8b9Jy!#pWgC6Nb$v;dTuO3_ z_(T?>ob>heMVmQQo3pTsW>lBh?y+VEx&bv!&2(4#!eI7n97;R+>8n>+Kt=>#Bq#X@ zd=TrwC7Hp zI(7cM(Z0>Ul8p~u{Nxs3mSK!bUF1uDd8@*xuPW*pCDeI#qU6I_pis6Qe^Fs`9+dwf z`}IF0&A4Nk%l&{u)ig9rb=;ZEQZEqcAT)Gpul2^oo{K84rsk7-u{?ua=h@D})?spn z`bD2OeULhFM+dvK-hGQ7x*fNH6mII?$TtTPDk(8BIc~|jH6gB@U_p>}5MMzx?#tx8 zcizjR(mWnKc<|&&O$Pf%t90#=%%^qNR>%9*c0^k9hgBFI80NjPQ6=)MOJ{^>pl?Cz z4Y5F3^0PvD9tl3YSHT-4I-o?WHq_26wZ7f*enO8Hs=27B=%GW0v^L$&{~cRVd#G0X zAgGksXtGB^D?WXVto-rgsn_bx^jeO^B_{qbOJ%06UAJzfI}1KvUteFA{P3%{msg05 zsDp;CuE4#|ZEaVNonz~;ILyn-OQYOad}#TF+3ni3i^CI@Alan)WUtm(+=mb93rp%u zQu4oiG15_yK{yK8wsUVH#i z95ncT;=~D~KU;B*7OPi!lIDLX3Wi5U&h7=JSkyl~+PP`NhVh>2-uDF@iV6yQ1O!|b zraRFXfI;|ioYOg3lWzs-H~W>~iG&Z!MZBJL zux}mpM@&#>WXbfT>*r(Dsq(;KbjeNY*Gr6*%PsV)M^~Gr`uX|Yo46%( z$gg;V?IF{*@7|s4UHkcNW%nD?<%s4p#6L<5lIpH$X{_PcsqllI^V&tl?%W095pA=9 z;i=w!A5~wn;3Y~(ta>lN^{c?Z>j(VbMMo2D5Pdd>jxIzKjU-AF@4{?_gs^ap;b>ag zVJfZB%zWZAf`szkdRxf7Ra-1u+&39qy~6C9uvao08JEvNU+LQdAu(9rJ&Nj2?VftB4p(p>>1 z2HA$@FRqu1rR>IsM@7XcJ#Vb}pA}v`&^^O)g0;^!bEm?J zJGryTu}0^ut*z6v<&<5t?4_B`X1L7vG^Asd1Ly0(qRxQj;1IJuv2ajSG(9HfJKfPf zeb=5nV84D;R<;lIw>}iiMmia3V4WYmDPid*y!CO*nWVcQ_uEO^Hf<^px68w#ds||q z&ml7~c1=y)Y+@!dLtC7_a6r4@$_f&)lB!oVan-YXQqJ#fIl#nCXC4Y&6Y+V(*tGsb zEG6{K8+jLf1tldP`j}>HaAMLHxDmJ{uh<$!V*Uz6ntD`k?z#0MmPG~0Ej~YIbFlVplE@tXA;d=4G ztWhk|?wvauZWL^@yaM*>;K767qc#a>^Qc;;)c50>+K2@L!9MWxtnH!VM7Tz}W+K&6 zn;cB9U++i1O-Kr$NO5XsBUP|ny}b767p=GNNxD|#vj@LwOw=z%6La9e0brUoi^B*W zP#j^G=5Z_!iHz0dKxN-w><3{+@VLxOOvt_{n>F|a2-lQrbw3Cr?dU3qkQH#5bb%~(&WC-hu~2|AC_il;qPDWuM2q1fxo>f9usFIl%#U% z|F5p}Kdh|(qGH`v=v`tB22;U1Ic_^wlg(Yl5(mmL)%WUMT94&w#rQJRTPzOz$d#?@W5JcD%9hIpjZoLlyWz%VVA>B$1i9v{JR@8n(-4p_H#Z1hYyMZx>s zyLSX4-Y+1af&y7;kR%HELS9?@RfSO%D!x@_qh;EDeUT>H? z8DN#-=8<0d`R>k#@Af&Y^OKev!JfPM3(NbzB_jU+E%vjT+S8BzH-&rR(;51YqHS82sL!Vnr=56J0Zjy04?h8&U*C_SY;q;KE4$$rlVG4467?17 zM`tGo%ZiJWv|^FHl@t`#$i4{=FL`;W*ht8%DQg;ya*6I<;`G#SF6#njTh6?3CpR~w z)W8MB)a&)!v~Q)Q6G5>RD9|x6dlkGbEiGThpTZmDGlt0J@mV7Thx$h0Sr7XyfxUaz z%c4Umi_|fD>PN`G)HN%lx6kz@mEm0r&GcDULVdcJv!s+QpJbjoY7NNY5^{;)!{eF{Hh)M(n<@!!b} zxxQbl(=xq{4dKEgIKm$N$-N>VEw6>5E662Qi_B6PsVWUJcp>tLxJb98%%)A71a&f! zfxkgf#F_{8^q5d-^g7`f^=L|HL`1&pGn6f)=h@T?vFi8oPHSpzQL88^?YF(BQ?m74 zl46L8fZxNo4QcP*@y05W*=#cXuU3>i)Cy#*{v;%J_K9ClM9)u<4xtG@|b#?U% z7kVoNScPirIl8a_&_q5i^n<*|PF>K{2EFJlZ3xBe&=AAY1Nt3zzh1uo;K%s!<0X5Z z-F|coJRIQnz^xVT2#ZB8z{jNe{*ldRl$2JTJ-ju-I<~9J=$S&Txs1cbq`I972R5$) zEF-q_=eMSXs(gdTFP+Q@j7dlsB3hoNkFx}cIrOryun=&1K`*F?UqL}(ApqfoRGtH|!&dC~ z)%WBetN783+#1dNB9HXan@>sWjce_FZZVxj^{g4jo*!e|fu>oKqYSM#NdJ~39ubkr zhyb&-vfl$l;vqHzRLXjId#??yKB=haPKnh@F?sHQEmW#wmO6`e1^PxshF3>ObD1QP zT>sp+yh4K{&4q(vVp`;~5fLdw6ph*dhSQU`%{{8NT z^wHpju}DZ{Rp|!S*2%dSrx4sU3YMfBx~r1Xca%tXil^kn3$!qsR{?Fkv#MXSDqCK%p8cyCyT*U=(*01`|@dIkCuwFT$_Rlsq*S@MW#N41u#$RWMgzPCq6R^ zj%ns3CXNKt=OQV8GJ4}o@fqJZWJZ4slC6J3Sq}8~*VNL=uxOFB_l|Bf3l_JFtL$bM zGV)r8e1fZI)SJu5=~HP1_63AfGRy&@Rvp?7-Qi&G>>6z}06qdQ5ag<-#K;NY{#T+_ z>hZe#WeNSwIj+zXX%vtTqs>PGo+Z;t~*P1tvwdvPC=kvNVu2_7LkpO z?ZT;3UN2r8cA6Rj?OScXS{!MMCy0=&ugUVM$DI0+MA^>EYm$3=IY3&BxtwP~(#6~* z!DD-Ar&L~ZmpxGD85J?hnV(3IQZ{+t7=HP?i9JZ ztJ0xeIB(pt>MoK27_0137C~49z|~Br>Ve`0i?C7{Znr+HPz zGAhk0Zd$i@Es4u}Pb3L;3!6B~x^?R|ZPI|A+Zj4D@Bzdf)K5ZjMAQ@H|4J%YZu6u% za5bP+*e079c;9u{l46^Uo5>~-OO9S;oz|@ajUpMK^ z{dp+3)wyhhYb+8VccR{$nQE5azA?IbtM>bhMLW{rNPPo?CWtAr9;hGVgU$2`G|FI~ zHtjvX&$_GJxH3X>@AH_LnEb{hCxIt`T!>I@8ofJs!z*`$^l$A+d`&`cX!VpPm}Bs> zJ`*oqyntjUl9&K>TxZToa{q-s<~j!(h<~t#EAL@_<7rg4b;MCYY3Yanfe99K1hV_<^`gT zKqqVBhxYwx7JTMzg4Cp}kKDaxL=>+j8FBmzsQs_3Sr!~d(CiEPZB2EK$`FNG&ijo; zl%^b7K#|W~duks1NEwr%t3Lmcf;wo)X7lG<^o_&nx0u5;ZcaDf+Vpte(M1e=P56Sb zaa4`_+g8i;&v6DU=hW1Ube5=*!?JaBb>j%|`+<0<{|)@o1y2y*cTopEDp8N@UWwr-+G;2SxU9+?0Cn+O2^Jw~UW*U{;>Os7#+u3Wjs%J&!dAIo&K(e4z4B)U|BT?!4A_1<|Ww>ghWqrd?4{k2g6^~e*lyv!T-Qe-7YzU^R%w*}XZL=^evO@mFX&XIvNIA-~&1cn)GnGFofy1+sc zBon+MkICg|Z=1l_f;K5GE=G1iR|>{q0%&?V2BgP-jH=%?ZX=HAW{}}CNvJ%u!!|uW zzgQpuEqJ=l$&oJ|@IQ0r%)_v#g@Qutyf=Kj0$%^__3m{Sxr(-I#bvNp+ zQF#dJdrwafbWDP8AMGro6YA)yePzMYIgnH};&p)v&cl6o5K6j}5i5jDkU$M>1m~rqi`g1YKp-)TSO{BmAr{GN#o9Os#EwlTc zo~~0Z_i!L*Tx?KIkb_Q>-~SsrPRTw?l%M~4O^oI`Zl#}D_M`CIR9j>tgk;hHR8heF z!2aBI##aUF=-Lw%=_5@a@yj7ovo7>BJua+@*UMou&pKV54KZR9RUW>iEH>!wVz8_I z{=~3L#=QQ6GWls>V87&rFtA+^>HuC#3JXtX>fvkA{E!j*8#7bwC&I;K?7GS?P4v|j z1zWmJn5}$$!7Tl&S*qdHt2aeXdRxy;-Jr^&iEKD?{yYz@t2REktOLorKGQBfYdsG2 zv?r-d>O!*7Xj;fI;W$P>qD_)=trZ8km4IXS8iOAH8x3+n^#3l?{e2+SnRR78N2 z`t!e0f6#iTQ3&ShcPRjU3J35{{Rz0WQ(=U~vtS*8Q;8h**&LhGUV`JFn-fj=#eGH> zl=7@~w38}bYtQJmjqAO0$#`DbU6nzTDLlwxJ?_AkO$3#}_ZL9vQlsAwvPw-|JlMDY zC+XwO;XhtgH`E2QhGfweqVPAGO)lT0z0df^&i2ReVE7=nxPD-XuI8n^jfxu1NhNG( z(3Tcy!4?a(bLZUCX1F_SGxOp)tk}ymet+&dUl@PXAz$=Sbg z`l75SW@V<-h*0mZU%w#ATf;sIKWHC-AQZ#JEJ}0>!J=(twl+bG87Q33xRpoD^|GDp zLF&O#+4|s`0g8oZg^|!A#r~wJuHV+L7z{i8^{7JyY=z3hV%~DP`zwHjJg3ui(F2c>-afelEXj)zENgoW#Ui9zZzWoGifE+21 zGiNziZE0oYPJu;d_4P|QYnuID$jjPKX%aii-~hlt3X~ZGW9OU^y^4b^@%>u)ng<4?%3F zej$vT^mH_H+`k-8F=S+9{A#iA$SBQam%thaC${=(=oXfh`LS(VT>$TACTcvuQ*T_R zidi4l82(035ue?e+xFCUv0i-2-5GBN^OZw`Ct!%cz{{sRr@e!$FVJNBnw zk3t|tyPJ29H5iI=U}pkRueS34pXsLI?Iv@W41ZrT)_Wg zOu2XOhH$h$*^vMePRrOrP)_Q%KrMpJ5Pc)WkM!0hlmql86$az>XJ7L7oqMoYbYl#uQZyjpMll7RInnF~IlyTsc z+#<@^8Gf}}5=L-Y59}e4yaBw)En;2Y`X`7Bp#(MWH>lik+Ub^%-ef&c*v0<&WjxtM z4}3ZVMO+e*$YqBWbMrcQZR^{Xrf}2jT8qKQ8t>7uTf#h|tPv8X5c)O+X zzoPMsj7M3e!Gfvvu{JAnDyHAB)zv9(w>*0EhJ9_qYkFKbIqb}#O~=gtjPS+AH3d-8 zkTsyWmu9G--sZI{ANAfDPy#wC0vvUkc3eXAG<(75hO~WR>PV+reij>7YHbSPYx$7^ zB5X0ufk4IsVije2gPg|Fjb!Zv20{;`M#(|Rzw`C7ab03K#Nscl!ut0q# z9Q(G>-U*o$zl4x!&%%_h8e z=PVJFLhEmn2uHPQkc4LT^%O1e7d265cRwpsQ&Y44{pl9yAh1rW0A=_WeuCUS4C}8F=q0zRKRpMfbmM=lkAOX$v)g=+;B(sJzjB!MUhc8b*j(5t)|j82a8%6Ademy08dFOS4WA0oU~r{(Khi3 zq%+W`0KvrQ0Qo(T-eQ1~jQD<%oX5IO6SEP9>2s|}CZRD<+8A3D+O!0q55la(GpU3Nbnbj%FIonJD`ck*1qr{*$Gj_K`>>1qt1I{WzHK zT9;^+@-lPnl(ouc^(!975u5RTcoas=a#}E|l-d6Q?Mz1FfL9-pM$6U7$3j>+rRIpy zBGi?FGePwFLYijJWN^esB!F0}G!!xENih5_Xi^X6h)EfmI$^*|#1+?k6{j zZFL-U@9@pPRwyL);_(m=pEjbB2v}l^h+^`fOTon`w5!R4*76vj09pY^u74${X9<0$5m0$DwsD*QNQq~HvAYe!I#%iU#*S$gAE5AkZ25X#d6TU zz$=mqSGYTc_yLIfO^m4P!W>i!@Q6Sp*V>DGF{1*Tc{AE-SVzuD6BBtMF4%1lEfzao zHeG%y^#~b$xEtr}ve8w7diC`^q+jF%Qw)_>VZ@G(84Wp9Mu4LB>WRVTU_U>@6fJa6 z{@&i(X(tpF1K?S&FlsZkfM7?9uxn9|X%uKdmP&ppAi??g6usZTjd@O-fErr?9I|J6K)DqA3DPHX=sL|} z7zH7$wv@}zNZt*=cM<;P4H&oFNJ)affBou0#y{*K)omN?_uw#;wYfp=S5Vt=6lqv% zfzd!4@9Z=tdY9Q?`gAb7s|8=a0LvY%4kR=pn-6r*jj|pBIvL+w7u(0SLbj&1=ZMki z<~$6f0hqJVZ56x$_Dc-To{Ln60AqerB8cF-GBRFzqQdF~-Z;})aPsCh0cf}THYf8( zT*?rLtLx4&J#<^0^`x{;aksUJj%*0lw7jnO`e8V$tFPu@ZKRxMz5{(@z713++kvYm z5P2Aox;-{#{qQTicu#@IFt8=3Yt@uxk6>S!aq($DKqk0vD$U7&l`0Pvcxq6{)LcFK z9QpLwv#qYX5i`Z;!{+K^)uZ!Tyms5(Ta#M9&Gt}m>&`EAzK)U3$4ijt-_F;B|fNR5}$B)M~rO~dYAFFYujBv zjB@%Tyj|HybiFSqA}3B<<5CTt}N zK2`qu^;n4`JW^7+e{U(*Y#%uib@~1IHqMjX!4ltLlIn}E2)SRr%m|9*SIwaIKFf6W z)%O|>-o|9?dvy2UkX6Vx>h%4Hgi1`&=u-dgL*YvgFYRkW(g`rnuFIK6`vTz(JR&tJ zE9zgmNU^~GtBW*CEoS(2`F+>iN3X%wtbfK2pO~1Kc97=7uiMGxm-wzS%-GqP9H_QG z_xacq98eg@u|)_W$pOAibXDZJ27dV>PnB0txUZTi5ubG~TAdoTj981@;QTm+>Z&RU zuoc+WTi}(3b-h=qOxEMkqgB)|h()JgAjKBDK(ih(pjnH7avQe=R7Uid&jSPJu~|g+ zg-3yKlJy`OJ-TiJI5k1RvTMT8lGB8+UQW_s>>@~T@_wf&3suRs>VK7-xI_Pqqy`P=`B90yH{B7yFT8l@P*AOnP9TU8*N7Dr*1d%Y9`HRvd?G zOkxQ!irnP|$qr{#F7XDSJA-ENnfx!F0Z1nJ(2VzrDGjrUvne1}_btBf|7nEzUyk(O zPd*bS&TXmn{nlax*G!lys0wG&s$!_^7Tvf01>ehJ5WCqzEb#Q{M<;14^LDYvJial8 zpWOWMKBjX8D z_$AwOE_a!HT5@ZL4E;&&MUVUU;e4vf@Nz>keDHvYN-MmY2xrJ&P7=VNUfu<{PUr9a zw!OQVdk7{6+DO~eH^A*(PRm}3n3x01KMtwB^Fy^3DldovbPitlE13!zyT)DK2V7Fe zv>=zvEO77v|Ie)nJXUL0t&k(WIy?aAXbi=hbd$c9M-+T?EBt%*M1hVi zNjke|CHh>Ab{(h?s8k?(>W@MFp2d;%mL3Qz;(wz1{HssG-nM2rOxa`Y@=$eSIky;@5cl>bT7 zzxaI1;PRqX^M(69X6jv|3#g=I$A5j%=hJbj7x0;jUI6$?z*VPUq}82y6Kq8@f+_#0 z=QKwJA0?k)!Bmd%=ft{eHUeU(Kxix;K6pT*0CapWTYQw11n$3bOjcHQ^f}rew-XyV z&K|~i6ja{l!NGdXOkl+YF&k4IT?_g^9ZfGjeQazDl?^2~S+p04N#;xCEO`t>&@lRZ zBwrAlGc|QNuCDO7RhtBgT17}Sy@E^(CKCAW8XPQfnFA&u2M#`86*9e9m<7tE^V7eC z%Mzveob|Da6j=}bU)ps`OHK~%D8I+bDIg&5;rw2(UJ&SQ;*$Oo6RJ`Q+Ops5A(Lym z5HpxbR>_7i2Zsz3-3A_DcM9m~QRBhd_+|k9_HbMvnG;>k%fu*vDzY9v>zf757LkMT zsdf0Axlr|=Qa&&PFeGtGe|LycxH}`Iuuu3KewGK zLyV=%U%M8g>Iie!lsV%#F$8h+;l^pg&=Og>XZOfH$X(-l2MyPaMbJAHr4OsW6LLzM z5*ge0R7WwI@o4SH#@|U?tV7+qW#oKMOqKI^O3u3eewNAINoct;==MuIqwMQfGKlTpf0|72nw7d*TD&wcExvSaxH&Qa zedp`-?AtdyD_p;BUF9h=+3D#SN_JBreM6^-A zpiTMcDtI2gY9L?X08B*0=on)qJ%pZ8LIB17X`D!{=cgt7JMUzM3|=b#K!>2%h{p@ z5`r)y@h^A&Q}Ywv>je(UMT~Y9|4n0Yi5a__x8d*;UtWa5@|!V0)D&6oH{1e@%HTo7 zy?0{Yg9DXO51Mh^qpYJ!+N-r`C}7jQK(mX+vPsozRxjzhLSg6g{cDlKOrvCLnY7(> zqG6Tpy7n)1>Ey{D8D0rhLpQ7rUD(zlvsi^R2yywVE3ute=yz}Z^X-Ih_YzF@Y3xEP zmn6r(eaquu)hguFaMOM~VpJ+3I)1$kaptahpWp+3ZMt0GQye&`T{L78W$o23mq~9Y zu+_hlXJ0I3A-M_8Cf^I_iMuCMy=|$H@W1Be|L|@ohAkxP$d#@OoC(Wv(-E3)|2`@5 z|E$daZDqH2%JK>aTnA%`0SZF>$gqZ2X%IE*F>0#~kPTO;{0TSoAOA&0zg<&JywFnq z+xjQ}r3>+$&Eh8E!6upf@4Cih0m2>qbjR8yV}EZ5o01Ow`fxqK*LRn~8QAGKC2cOb zt~5hqxMdUqn=Ic87|ULex~V5q+_`73;MSA;j|@pGWc)X-ohbJNg#PG@e!Z^`;l{vG zC_w34Ei-HDxR{t-LN&YkmPtveEeS^PM0{0KLxTbFh!9#cw95LjH@c1-K>PT?&+i8C zB!n8QDaB;zI>NLwFwm9l!=JFp9`+!{Kp%2n` zYN=B=TTty@6%LkW+{#oJeF(M#2VO6vclEEDQaT43HRYmpeKaZZ>gq#Kzd`z9d(Glq zy+g?R9J0R1_{C!E7Wfd|-#wXKQOg-&<+Zk2?iMw*wk`sM(_JP0K61y^@TkT#r}hFa z@~D=9^7Ft=X{6C;xE6Fsts(*u`BSZ|0~__c1*-X!uTyA_FGj~T7n_?mLe+CqEE6Gd zXf{vS+D=3MMM%-urZ^sKA~A8b`}H@Jg{v%9Gbkjit1oao{LL>rKjXn&v?vUsW;-bZ zt1P=3h(s1HTnO_n&hXyeUbroKbaK%cquQ;p%)MUe>2&;fE&5(4m?R`3@c*1!3;Di& z`J#&M2yYz*$5zBO1_a=l4lqt~_3&uaw%-VwE_MTv&Iok11%@YJQJlZ1cs!mD;7M%y z&~el+@Dr$C9gulND8T22J9CfL(?UZ+$SY{~M+*h7W|wdN zs=#!%L$kh~+1|}bhQ^+lU{6j?-UjFu5Fny{Fp~gcMhB{+ql532!^_IcIS7*fW0x!Y zRe^hdN5=t6%Wn|Y(%e^z3&X>Llm0nR&zZa2A4P)nXY)d4XJp*y5Hs-en}#<5ZeZxA zH*VO_+|&e83TmwmV51XnyhKGsiF`hS;DLCirNzR~u*6Wx>jSPSnK!%c_%*wLlvDWJ zfZ4=n1n7X=%)vX&0c)3-`1I-1q{)|$M+N$x^@~5W=C^rgTATjmQ3{dnVH=R4i0YU5NoAJWS}OGyhx&qjC~ufLhf!u zeLVz&+T*QfKyW~Oxd%ER!hKg>UT>exzBP1xTdG9@_nI>1p+~;F|s_t zr1E&YICzFrwbr4N46_Z0%j9d3^PeZcUtq`oHWntKUopmj1Zu1?LeP2Za&59c+tfJ8 z1c|=wXKuae*){J$Z~VzmF%??BwKHuWss2&U>sBkS{ua0p@%p z(x<-(Rnd3;la+|oF~GB))m}t)ZWLt+YRGGBS$g*_X+TU{pOD&uslPa5+5F)T|HH%* z;!@IEzJDT^KW#;8qbCDsfN?XpcM|F7TI&BI|Np+GA70vj@+CB>@b7?VR$aXscP9>@ z2x<;xap8f(FH1`gaa~UW*yFZ0w>DLZq@zwt6D_%-;U~KE*oK((-Zo_8Bt~;xIvm^b zo?Ah(k9;vqFOa*hO4!!B4NzvAS$I~#OQ1XCjf6T9@3DKW;4;#H57?_xNTYWM5#(md z{=_B@_Iuacw|YY8FMm2J0t9BC&49!d>?W{q-!JHBac7vLyqN9GW$-U)qQpRTH&L3rZvp%TuSYIKa~?)RoN0=;#5sGLg%U_z20PBCP`!;k5TXW`mFVDQPF8XPL zesYPU6W&5l)aO@O>@hNuAvg)JvlVx=%sJ~0uN%H&FcT`}wsU9jDON;8BP8gMT;;un5`)io1Z_4 zU6yU8F1p=t^}`+Vq40Sd8W@bV*J0k)BaLRLZe}yAz`!wgoZzzB+hfH(L-@@rER5yZ z15lo|E5TVXr|Cj+@+!(b968G2nGqgtZp0@HoRzg5+xdil)+`|k{Kvd}9;k#}(-7SR z&HMAA3RyvFm3aUDeRs@ROuUfk;R%xklvYsfM-h$V4I_C_!626J#nJkp-|wo5+bc9Q zJp3AvIX&G8(=t>!B7p?k0S6WaH|TRPg+$e7J%5i4j$z+Is=n-gP=lDCT_P_>Y!AoF z>kC2cm}|Y ze}x_miEIM1wmCaH8yN{vPC!kJKLP5*2F46kQ5=1pnd}W1AL-aTVCDJ>hK%9wc@an< zgs>R@y`@lRzWIA_{7+{G@f-hqEa3^{nUl4)=Xs*L~ezFS!fSTPWx$NF>shvu7mb zNu)I|Nu*VuH?GES`tCkz#E(rDXH=|7q`h~E|E==t`>9JJ?IWF)JfUzSe7Ms=O+j~g z`DfjccfOplWcK_X)!ni7gArGsB=kRI;d&fuX!kTh(J|SuE4NLFtA(dlzL77Gk1NQk zT8%8Lc4iaZPOjsUZ2_iQ!QD*X<|8(Uzx=|Wr?viu=rVn(b%eFLb*XzK@E9@sp%*aIFD;NUT}SNBnx#Dti2=cPDMZ4+9DJ_4vWJPht&z&~J+-KDlLM zJ^t;!{@?jnP_Erb`*+S~8pV!}Sk7zQ_~H>EY)@P0aVhRJ8~<_Bc7^v5rBTK$sm0?} z9Q*h09~~XtLeF>R{P}Eqzoizh9fu-a=e~dbtab5XT?LcdCp9s%PkGuEKU}X5xnDQ4 zUbA7VLRat7;(WCu7m38qr|)D>^5`sfni=gZq~q53^y1p7C@~jWF4d3mXCGyl@o{mT zmkjuoYTFrh++1wo$7}o1PnTSatopng46-bjW%@ps-Rdl~udAz5a$OioD;@5L@~#f; zTtjlNx=S)W-juAwO)t&E%lqijqgwINPx%uw-EMw9KFN5Nwy8G;d~Wah6#q8@9zHHpC3qLE| zmL{U6NA9WE*-d|Md@2?1I5l|m=+UL6rFB6$MorJmyGzL1cka}QS`v(W@!~~MkqGss zjT>2qvPq=G`i=ElE4sT&@t%ufvpTtEoxTi$WU_JdbBBrAcW5Ya zahjiwkACw;vTxG5_w9Yk1byn=ym~dkN3Rbza98k~wr5#gr6jpi+z;EhHy|@}Vz4P0 z1JqUA;Tv)3Y+6f4A!WHmjm9dHySEQ%BrlZDa61FT^CB^~r6L#M-hFtZ(?tJyrKcJ1ApV)D$e@rhKfrd{I) z^+LPzhT0z!FOjW!-gsd}&(6&`IyhWOR!qTvh&oL#^!RXZUVp1^BtUy|XGlm0CEelS z?ozj*<`hv;(V?c~mVE1PN3XyAWM2L)%B`gSwvCaUU#zi8_p*Jri&EPYt359ZY=_#j z410%$hQ1K5pFdtxmHv1|+0fANxLb@w(!FaOy;t?*$(!S^s;kfSvE!k3i@Q3Pg#;2ZcDR$L7Ivz74<_?=R^6DEwNS(w0SE!EW^B3ObUp#)b&@Sa+Wap<(j1FJ@A3S()`}Xa3 z@7`fAKB~;pseCBS=%DlK#}^|Zgc+_7xsq3}UIq9^@#_0}7&$mNV9D{j$IIW;c3ce3ou2&`MQ3!5jcW5|&T?Uj z&6^bzm9+0qEglV#?Kf$Olcu8n-dQ-)R~^JZH8|c^T}6xU^FGXPURuAa%iLs4$*c^6 zPPx|@!CFRER^c%V3rh(Wj!?t}l}RkdZ~gtWYMr4CymhrLrEbd{N~yusJ9g~2yLopk zCl*xo`}c?Qnyu?ZpK`Y6nroI>RTow)HfKCp9xIyg%{a3=>W?)Wo+KoM1Vsv3KT*ll zlksRyxk@KKMC@%O#*0+q3oit(-S+V4`}Qr2;}dty)Nos)nm99a zLcQL^`1qZzd!H#JV%3&uvF5!yd6Kb&O&^mz(J8Z&wX0MmU%h_q zb8K#Ytd!&2lw+~gWftUbudt0Hde~B1eDJMyQ-e)W&f}HA!MhSdqoSg$3M2bc)C+73 z$GVF9xj6iMInJcDxJ@=lo0*vr(dE}`D)H92ErDm<)YR0(eto{hGh!rY(2--B-grTL zqK0?P`pt40Y0BxZ)XZuJ*!=vc{V}t&#m%ppnr!i%W5qLFPGiMNDXRR*T}_K^KN_(- zE;NiIu{NcuUzNOf`T&*mT2g@c>a5QA_;|I$Js8w=Ln3nnaT}-@P1-Vay{^t<(ITvR zVnl6mm#sp7{P72O=|V<+Nw#^k+FT$q_Q}w5)3|$Ve2fluqHl7MRP_=qh`xgOW;p66A&h^nJ zur%)7yT|Ehu99B!s8Gd~A=<&v>rt6XrQ+hzi(i#uu!X<4`XJcFed;veqsLZE*s03v zn4+33&oW$HS^2#^duXCgywqVr?|kDv)jGwfl3CSnu~pVAyGbO9FF_AFKaJ53eERe$ zFE6h)?06~g1G7f{wZ{Pg@kIu$FJe55`X?Ov=XBpFE+(yg8ioDGS;z1p&+>Yohr?-8 znz!XRk%HMiT9z!CB#JDN~-v$-)2eW5xY*m*Y-v>9Bjgux|Z&)umI3h+0*Y6Z@0}9ZfrOiY>mp z5*{n+9UDsv2$p?K{2X8z8PYfLk5fKal^wV)x1(_c@`%et}*gm zy{~~iQD8SBWZhrmGC!U0#^Jc z@#R^+aooU1XL56B!=9tsl3K*;GqRG(us61*t-U>+KZ0v@ka7Thlo%=6>HsDUDUJVP zp0LCC*H~Vzuiw614CQ0v<-IHkjKpv8`DN^$bmt_q*_o#w1nh>D%f7`2FCx}aQ&U$B zEicWK_FG}OI3Kg0=&voe>&JlCRaI@LR#H-$xO}iluGHzr_cbK;&IKKw8ftO-{Ktmr;kGzVdLf&E zfrdEB)Wnt{7iVY5gNF`1y_#!gUi9{#-|qnW$F9@l(;pD^6FKQ5&<4c<_43ihJXWd0ENrS$}kTj^)aU~F+gLfnx%)y z*w%9h>rIoTHia9AY1xixVMkVYkC{snX}cgPFE77!uaM2u;FZ1#Ov~bY_wuo*S&l@_ zQrDGOR3|n+TsT&eY3|1U2w%UvFi}_adgFPP#Pu*7b5Gnyf{;KYeQUYY>l<}%y1h3WP}W-V%(oMlVO!(zd`Hz0cl^rwPj#J z`;m6rrG;4l1%)(?#XmMM4gkDyq!oPtkI-&WMW~mMc!?;Rre4@TIB4{Rx~i`c!*=Az z4~!t--qljqMc^R+@NfdPKIXc*l~Lrz8&7K5!&Q2(bN322oth3@}cD#?xZw0?Vb}d@vUyd+O>Q}AK!KDWm7RTOC6UQ z?&*0&XPJ&%SEjX%8Y>%XsjX0WYn1_Ce_x-MXJ)4Lx;fh`?*%@|y!rBEJuch-x)$85 z%Z05C#4$ED76fmklR9Ais`kf`H+sAXa#u*leD2)2>e^ZwYBx8x_cJ>=#KpxC7A2ou zN$&6My*@T7kof#LXJ6@I4Gj$>{pnHPTRp#Tn!(H{m@1c^-$-DoI~kmGGZj^?J-3{U zbJ%}5lDE8Vc6_N5UoLW<9cMoGcCs;1&?L@W>iSNE=5^KR?`EYlp* zj$`LJBEfnlzc=EsFF(DoW#h(e{?XCV;D%UhAm^a1hR+E7fR#a1LbJqqc5Z4YHI-Px zEqrW_Iy&(L9-%4P90w@FrJ8jlL>3Pi`i!_i3TdkPG{lvH<+$(OUy;(h&lngO#8@Rr zsyr(po;W)3%yDWXtHn86>Px9rtY_Hr?M6bM7_HmA`HnXC2re}{J9|2=p*=N7^igGe z(GmLl{VlAlSX&O)ctY6U=o``XUwX#sRHAN?7wGx={Fbf9`6(F9e3x0x`*{0|V{Sgn zS|xPgz$r=Z$gJt{@$LRKHL~ZMD7^3A-^*{L&|t;Qoi;o?jAUnAsNwtJ!-wI{b<#mW zK}zXjmkTkloYPt-PB54;_gGxM_4@q%j~^AB>|=DQ>{q*Oy&@NQOaeIC+q1CHDaMM5 zii*0jva&&;wx7jC^H;ci6JOf$$UN8h(m-in+m5@oGo8C>AM?miRL3byd~NJ&-XZ;X z^4;`2m$tOLMP5=FYtl7`0J%*H?WB>Bk%-XH(7?beiE6X2JDsakbhB?dySO+(X~+^` zXO~H9DJ&>Z?Vf#h>kB*esrdDA_(y?!=ggMVXSeXjeeLNXlP_HGbv;h+eZ_E1R%xl5 zkG!la&P-`*7_5*q2#%iKv)Z zm)Zw#J0Pos_;^m049SoKEQb#1zYiD8&(Fu36c3BYYZ8){oWjGfjY?@6rbl*R88^qD z-C_OZ4V0$yp*8>{y%m07jG6^Dm0CyEu3LA1*U{L|1?<1~jNy9;x?~VZtj5u{%%_+> zXXm1{v@!QpYiK!@Wf#r#t@`p^i3%SX7vohZI4x>GhRASLW#?$<6-s#CkfN1fhpW z6;&m|FGN>o)ehJQ(b3Ueym-;cKAxO@L`|@-jcUVN#sp$z-@WS9>i_YDh|KUg3jXIO@cn;7Mt%J8xyt3Ijpw7pI=l8-?)=Y$)|YKvdszwL z4~rgI>qBEBvce}2N8p^HDaUH#EqjIdL`6GKdaR?Q({S0Z&zM#-pGdVly`J=gmMWBFONBaiapsP1c6)5WB2{H zz(yaRU8zRmrSfHrru%#T01*)0x9>9|J#ZOB&>Fz03O^?EYvlyrY#kS0UcfIyM%uHD z>!bgWk6k+e*{KD&Mot%qdQTA$iMzK}h40?#$6Ue?iHwYlB7|%mr-x^!JIwFizP&R= z1z@tMs3^*HE(zQCYK}<=Zr#LW_$hwVZk$F4rIfUs+x$W6k)&wV?LWW#12o0j&aT9D z(Xlp^zj{GEaMj(C^>f46#TTOx-a~;aBqZEDvEyrlkDf|vVG^*|$HrFqs=%xqC<)f`s1crH0eDNR|Q8qRDy9$Gdg!Jjt-e;7RmCKU( zjapJWW2Gn`RqmvrNwB>II)cYV_6aC0EtS_kvJ27F#l;20)}+al7_`2r7R@Mew-V1^ zv$Kmsn#*7uwRf3ZTcJ@sfBu|K)A^_COdtlw+`M>7QBJNNf7?Y(-H@g!PHos-QatXq z1j5~;UuhE8^ir2@5awq&)awI(6Uo)*&=G)e=kF!7zE#>t4NTK zFAL-07}e1}^5v-|Vrit*w9(UT1IAJVrVZ!h`G$AS1=m4zPMIq#VjE$MZ5%sg)v!+ zAS(EA|K2@@quRH}qdZSuh!hbt`j{Bo2gC$T75h%HCGM3Qjly}_JJrtw71^nqoD>4z zvL=;%Q6$?P({3wAsl=( zH^P3raNz<_r*jM*f@6m5w4|gn6vsWsOa{73OB)ObsEBlT#T+r?Wjcy1N?xb@#O4gr zX@u-Yol9-^@Eh5bN>!a5fNq3H6ij)5OqM)&@L;@we3~-D+~%y@Tzl+gB!?KQzE7ER z4$)v^J-xlcwu9hU#V37G5NW`zqu4XyL5_@!1RIk*dsfh9Ku%Kf4eBD4DLsROs>6*} zfVOOe)V(g=IB{aLlGiRW|1M_!T?yNdN*W!JF-qLcoZx$)W=2;`{YEJt0|NtY&F8`@ z6G*>H;>#1_ERVip-QO6=Zjt;7a$RUY_L#zTKKfP6e*`@2x!_xesU0A%_#8IE^v3uI z?Su>s`Ye~ObTZeZZ5$#Yw<>VAJzi7AHR)7d>?JC*&R3Y9^WMWdZr`pL z4WBVmW@Mgb_6T)h194#JrP@AmnR_&-AKO<%M8vz;ruo%DJ*b`**e@Xdxwb=!%o58` zA+QyNBFqNrV{!)aLV=C5ND~&8CJ7yKy3#W%+~?W+{??) zZ%Vo>E$PcBs%qj9dsdd2nE<$>?b+2L%cq(1Tu&jeVX13K#>T}_c5w$sqN+D(NJj@% zqad-()9Simddo9pXlbmurP*(XE`+mY4ZQqg4fz9jjJ!P~zT~7FPZI{3Ao8*2zSV{) z71ZXKb*hG}HV54nU-)qf$o1*dZ@hIP*Uu~My?tuK0OIa(<7Q4~X5Gq%%%|fn5eprO z=TTT#N4~W_K!bJdZ|qn+5WgEj)hs4+%F!j}Y!Qu6MC!#TF>;1M1G(>cj;D^kKJt@m zU8E@Zla&4lc0i&|m)o*SpV9D_*LUd(Rv{2NAZ&6>Jq~*Gj2syXoj!N?hh+PTkEh z?-pZYGeq6SX?obw*47l2D+thRISh=9L}Etr8EMOuW?!1D(?bd$`k0i7aA;mK+yCol z@6Vqk06N}mz6uSfK3Hbs6HZCsi^5x4I zfZ1QYeh~JOkaoIVX4I2%@tmn^2ZA&llLqc>rBPV7QnqH@096QTj77sZv=-#J7%i{y zJOh3pCjcbAJvQ(C6&{un=+1ro#Q(DR{qJK$9+{chzj*=h)&GJ{SI|9)^dd97(!4$0 zwk7}EaH}Jm#d?AV|2u_x+3Whe5LTeSq5`gN8QrH2@4DJqk8(7Un@`M&9)W(c`d-IDwApJy}f6*RL8w3iI>ad zM(N7SQzMOge)Q$^^DXsYOtk*FU5?dO*~kr&l9FrJt}Xi2pHP^ggZPO~x8hN%v-a1n65{3_n;z-#pzwLT(-_G{bwz@a35bYT zMBTRkYd}Tu^UyUmSdQIJW1`}C)(+6Kc!$s)|alN_; zMSk66T3ku4+~sFE9g@5g1RLz;Vq9a~@Z*>~?sI~+4Lbzd5DTTYJurXT5` zhuA^XZXaD16z$xGcVB6)3E{<7J%&JnK@GBQY+gSASmON-Y`AJ9b_d?0V2PL)j9L{! zJJ9p|-Q7uhrU=cF^$%z*z%~>#T}a{mwP7%h*bX(*K$UOdG3tCq8tLij z>FXnET|k|WmzxgZLy4ht(5is=PkMkg>_!X#dYc~Yy!s^Ns_pA2RF-et$n!+N`h_KP zY;Ze1@;UE$#L??tUU`5!dHMJZ0e`Bgg`b~Wi@ynQ8tZ=%uozAh!toCQ71;& zgOLUGwW{n6DS~ZO5pzWn&NwD911rcvy8$1g7z*iMUegZlApA6Pw2);L#HfmMj!D2T z^5-h>&@y!|0WCN`M|@ggqlg^>{oi-H)(A5Lf_;O+GQ{Z@8B+MuOJ8g>m}lx0N}bK_ z6E|4pnZ2rjfyiE0a}Tq#vx|xr0~_N>@aQkFIW5Z(^HMZROIoEswk|V1G}9%fEzt-U z!pNhZ^Y!ajNaa$J1dtOD6eJQRRBY8;H_RxifXoLEdV2c#T{KyF$;#GXB#MfQxzgb0 zsLe1VoKIKo;~w0WmmYI0d=p=GKrNFf^26^y_=32LCm%i;0pLHfe}4?ZHYx~q5Y|zw z06TEO4h!T^f~BErygFHGyMfmt8v0JJ>%%d2FY6RAXZVNsl(f3)%-mAD!&OhL?JJit(&l`@8wBhry zlD}zAmG^I&qoS;o@A|r>#U8U%x-foDTU%Q~LIMTE4O{53jShtIVTri2CyK1L0To@C zoshzGNj7@_rYr25|D-EfFH*M?pc}97hzJl9SBx5dpwj0HnF|Of!K{bChCI454dWn0 zz#R}cZOz|bRL_>VFlBK?{kIT9d%7}CWd6&`zvwISj*bPM*u)uQTTSZPNr*(Wl;^P3 zaebox1@PnfuGddI)v&i}?_KOwk1A0S5u)-`@d|Sb2JQ&c(d$>QaAUkYJjcvF{X$_g zO*Q)&#uGLRHuW7aM3qN|;GH}nvJ9I-kEk(gdw$dkz(0Scp%}e@03i{r)SK97Nbt(K z*n7sbPCd=5&CSO?e*B21IoVg`b*=gl-weuM;JT<(^;h#kqm=e#2zmIB2$`Oqp5Sz< zZ7Z`A-O*9zn-UiJtJXIq=%j<%t1o?hO$q0Ma8I-I^Tw(T-QD8+{8I=P9#w(c#l_Dl zoq&1?jr5LGwbRrfD%>#$+kpjM@OTg+rhxRU{7d<>x2swTIn8 zbu>{_YzCJ=+8BkxJ~|p15TL^of-r}nO;nqEoS!Wg|7ApbH1t z=i%Y-2M;VzNt~RVM6rr$*AXo|H~b#;1wSz@M5+lhFA;>y1!@h!9kN%H)2N_sq#os@ z<03GEYOYx^5(*>|TmcaE4%|a`@6P}F)f&Gt+9!~85$#ImM+?b4V`Jh7?hSF$9Cbe~ z>*(sHD5q-!AA#FAfXQPlnRf1s&)($bwoLewQZo@ZwW~W;{9nQ=F@)qf)gnRQDohb% z574UDP{t{r=u=zT+q(^=m8v5+x!a$tg$&)Alyro^6*HdqTH|v|7sYR;OOZQc{F>sd<&v;la zq@+wg5l)o*aMXo8jKu!P0jMEx^IQ&|#~pwAZX?8OGzb`eA;{nVl37Z}=SyAW53pi^ z^SJ^B`uqEXy5U78YSk<#YQSfc5Ts#cmvjCUt|4)E>)wpaOprq3BfA2=-4D=j&r&(( zSnNswlDky7P3wti(JqGRkh|!|D?HDZ^{=5FUV5Jr)IH)&T!C3Dj1&>HV(i67fGtwB z9H0zfax$#?Wa1hO9^Jv)Nb?zG%nU)?nyy$+D9|4wqr%6U#|n8tNNBDD^E;TFhJ7{j zat)Po_sU9=ZjSupeP!j*r}`+b>aG^fT(xFBYs@SZFVqri>gsa;v6i5%%6*u?MmO&) zpaJ!?_zubNFt$_F@`AJ^RJMHWate+WfIo~SwwIcEKOwTBTxpk{c^B15)F?MI2*^od zMVskb<96L$RQ5#o_Vh>+wEc1NmR(0)su4>vF%L@@aeD_f6BAQ)6ZXB-R{)LQi?THc z=mr%b@^;u^h~)~9@Q=UDVa3q-6IINy(&ZA(2%twOU8<5;W!nGvPOO}#Ekg)TZOFyg zNOURNcJFROxIy5AvT{CLprNXt7*HuxRVsDZm+ewq9#p|nCW3W?{r0xJdX+n(J`9{iozUmTHHV3B)qfGBXb2JJMOPC$*Fy0Wfrg;lmTnO4F#wt2m+ zExwWb-+k=UCpGHy>YXMp7z+!Cni0f0v!IW+|5gOO<8i5qtI-_18~m*^+rW$A_P`Fy|mI4!2S%JtuQ|y%JyO}(=u!BX$}eZ_XwEqUn?jmI668a zXmw;6^4|ENRjiSw*9rT8c}LC&=vGov5@gDaTemXu8OXuALDAfXt%}_2qwWH0BH~+i znG-R*yYsC2s*spqNUh4e^#53t8ZRJF8_FFG20Q)18<`IsA_Sq<^y?_DAavc#Z$~Vy zp5(%{qwk@1@z~mtwt}i2WK;Ic8H1*0O^88zw{5e)j)8?JO3+%buPPAb-`p44s;cd= zQa<-i_g?oCJ!bXw3``%e2!gc(&YHJpCE=#2L?<7}U*1%YtWIcyG57Nd3LZDigYvjf z0sbp2-4~kVWB?Blb(zaT?FgZ2&Fa;X2U%GOcco+T66DRZXV20$W4P1GwBWERN2*<1 zT$GYbYXMG(24`Y*29>x(;phg$vzpcj7e8mu~)BN zO^}1cqLq@X+Ac1#mzNhbq$5Y_6S zXRsmynF5E7!+}6Z<<;D!2U%F)CIdvaK!~-=k0*B1*7tY{uzSy)5vH%?$BTWFCvp5($!<>R}7P3k#0m6VN~K`=j@p?zu*V+dHfBpuU|i* zIH9g76MQn>TTWE%3f+p;0lVC4WtUeAfAB1I<;aZ`;Q6gqO(ewM4o3uA;V!rv_=r67 z3JdAjXMX(H1`8L%R2baC#Hs~t4T_3d2BIWfyfXRQql=4*x|}C!U%WV?um25xSD*k_ zNYuauMp)d0Kw-+x&u@$LC>8bt+=c%BGbbr`+J;~I70>^TOnKGEu^LMEI9-j8zoe}x zpExVevupE7_tX~<<(-_Io<4a3V?7PK(tFV$0jjJvB0yuO0M21U-e(ZZKn(Af5_Oy; z9K}%OXHQb2TgLx@^pp5_1|b_(GFcleIOhfjMmzB!t~ozHk846VNt4T$??H1!4=t+4 zL0ng-(evW{4i?KgLe&l(iU*T{M#@>BjkHCW^WeOQ^}&Le0y(4OViK}RgcumAQFiaI zp_JoaLn%?ZVvl-$Pa8LD_4S>`K%5*f7c(ivR=AYD%oXU9hnD zfqe|~L~6c4NRQNAO#pTE8u;d94BNAi05`d(d{4xLo~Cayo_~qp%tv z;XnW6LPuTy%7wJAbs{Lh?a0N+Ib3_ZTcO|ea1{i4GPwuVWpT?M$rve^Hn;i1m7+3_ zG6syU0ygfbz1yP91IOcIPL)`ZISj);d@9qElYE5P^&3>R+B&+O{%}}%5~AAp*eOZW zz2K;n)M<#7s!}nfu0#Ze(-5czu!Lw$75m7u>AK3(7^s=U5jSZ^v=;v6#<1>i6iok~h$0;ICo#;$B56$Ev zJYY%T%9qkw{Gc%)a0=TE6Oz%ziwLBKXU?2~GtxN29=67+%C7TOplVP==J}{O>qBSvaTmA9f=AEz5wX3{&RGs{tFx`7$3g7 zhGQjG+`c3)T^l5is+T9+ltC``T25;X!qDZh{?-==5`)hsXbzBL|4HLlCp3QMku%Qb zK1XB*5oW4tYId%+@sM)Q*^NE*_yKS|Gs?^k~eSOL%McZVzyk;jiv`WUMZJGY^8YMCHm4b% zUlD9>BB-O>e@XJ>sZ;RRF;~fR{Ouu5Y~34;6nU6j6-cv=jTze~(^cI#6gMJ4^R+(H z0)|}AGYv^c;HQy1$jjR}XM3*U4elBlTRuxfT)bQB2gnK*-LV9K$to0_!>1G1c8X>E-ZANt#${0}2>%E^Vp zh~GQmJHA`8XUj}){i^oA`yQXh$9tYZIeujve$CBIgR~jU!i+EgBPmSeF-lv>!opW) zy)7**ztnR*o^>;VBZH=gH``}n!MX3aqg30($j#R&lCTuR_<8Avh4n(I5=6P%a99dX zR?spqaFS8bU{_cX`jEJ@{xa38h@ulgQ`LXyl|W0v@L2`T(Y#7r z_n&I!eLefj32%aVHzN~Mnyva2v7kvkpIan+-u<@@O08@FwmqBg08jA4i8l17p|a<* zeza8le`%H zlnU-)8#x{j-WZk4w_U}oA+y(>GBPsyF2A^32$L}8njG6Q1Q*6|=iUv0VPQ~3B;UXf z-WJ0BsK@f})?oJLFLvMF?{%_Yl~8fQfEPXh%o1MHqh~6yJSugzQzL}_(mZNcwk^p& zD$3k-bhl6qa zfXsypgu9fmTcx5WtgF*f4wY$i{P;=gAf2DOvpL<~o&mal9ApkQLSvhnn8?Jh8X!ZV zq2Mg_CQ8byCC>T8>O_J2h})7g_3TXPvM9)zlYPYrz%U*bmeZ2(cZ{u=*Q0roce%w9 zlz;2Z|7;BZIbF(LSE4B|FDD#8l0-}6Z-c!r>+$1CA&xa29fc5S2?IRZ2Z`2dPd;>C zDyFCsznTLo8tW`P#9%f9WdIY;%wR@qnU{1;>=Qzl!>7$vJO51P=ZLiZUp1Pyr>m7X zI{*X0BE*2pV_Qs9Mir)4GT4gt(=SfLR2dSr3y$5fdhslqL$$ZRLfYsF{di(WU~jbs-E`#$|`9@Q5dg`fwOI3@;12(K&9-kXwe*|wyXv_TSITXn^TK)#drn?c$M=U~y> z!(3dZ(6`aSUS!#O2mWYaP3WneFr%C-6=?kMflMYNfXuXLx}kMC2hW9a9LmZPF?R5> zqyydIA7*Ce*-#a{O3n#{6VlVNysdyNG5(-0?rYi{rady!wF)P86*ck zZ|}j5+%Zti=Z4Beq(Th=1iic1DHmEOA&&tqhlekf8qaWRmMnDIccW|bJ9r030;)`# zsHkQpCU}*8p;;1!?juGYS*fV}px?1`an)jBqv8n-aVsTdA#f}-z&f}s@wgE3C&#)= zF%A8;knIqCGa&=Q>tcpYjR1oJBnrZS@te17Y2phu>I(2!rSv+~o`}fYCBMibA`56) z<)ecs1+8zlV5R->KFa!^>&4u z5DF@~H=z+A0!524sRw_ zR_DS#?Z6JDt`<~gF;7E%eSN*XafY%uZ{jHphax0StTTk`MJP8|&?30Eua%E#zi2Hl zEkc^$-L=`VSPVvIz`k#FQOoe&;$7%k9J+Z`7?KfO0^8SO4KwcD>jG;FiZX7faH8aZ zygd2i2Z)a{VnK4UF)}tq>OAZs48nG@k`PO9x&*WhH#CS5&ZW=6K>}DZ9~alF?J(|2 z3aQkYgA@yg2^Sf12;7X&kM$9r45==p=!@*O!}D)p^!< zNKxK;-_F>6*24qvO#(i^4&HzHqG&?Aewcm6PT>??FkP_ryOlcQQ&Z>9otr0GQ=`)w>pQ>=q6L0>$BXDNQ5ld05sD3@NG2y*hd`VMCAh0x(ts16fc~8u%C>{o`49~ zoTk|ghcayb)JJ!1W^$RlBqLK5ed1Q6+mZto3P2hh#86<4Ls~RK@kCDUfhW3JuL0=- z&LQt#xgd_ZG@9`&%e`q}`?yrX9OXEe1cwn~3r^**MQer(lY*IMI+g}|u~ z7%^N~7Q7XHB!nekG5G6$K}koeayF!IB@G8DNl^K0oURbpKFd`8AMJ(v9Go4aSPOFu(MHBc4`bsDWXX}v z!rc0_a6lc8+qcmpDU4kWA1GXHofs}WS_jIDea1?)TF)FVmv7BeY%aQ-iRum9E?05G zjG{#4!QRr+%g+z3;_s2}6kdde?#+0hr0J3^SBZbq?AXzmWq6sH!MMFlrj{ixz7-}` zD4}pZ6(gQ`zC+{J6U4GTd-mYY(H3?x5O%0C2ybv`Y35nPd_EBqo=ntm6T2d08VUks zM7B{}vffD-5E3%GG{2lyJWu8GtZJFGlwY%vVzW$~=ej2gJQ5z;&h2#~y9VdOYg3n%DAg?hSgLt!E-~QKp{CQbNI1!2Jl1`w{Wc zCCidJks0ANuZwvXj9f~WZd%tB&wO&K%by6rp#zzOLV%+(a9ew#Pqtq&G({h|1KM6; z>?2ARZEYd&deylt@xlp5Cg0pr{JOJdv{1!Oo%86(R*CJh*N;C(LSWFEJl;o8_bSvfO3&K)!^r(NQ=2t6Fy=v5sP_sqUQO+409EAS% z_RX7Mrmjkz4D2$Lz6+p)qtKWu@AXLxMKX9C3@To{!`Umhzs=%225D*OOy4ZH9SP65 z6|rW^6}%jh^pr!MO5M%K=~<;6Ni?FFMhv>buP&VY=W=JIOPgQ zm`Y2YEX(zaB%C6`MbV3j_2b9=BO|rV>R_fjE{c>b6pBF35W@e+P zm8hJ36E5q&fq8UuThBXx9ta0hQ&Y%`oLi5eiFqC~w?8~XN!BAPrliCbftR5IE%zC} zZXHzoJ;;!w@w&}M)FaYkWfH3D>XuQ+CMwsN0dP~=+1P*|WY92YpHFhKmyFtSBJYg6 zN6XL@?7MnWQssceh*ksdK0gwp{H~RdeGDYP=lCpqx@d@-06^Mx|1@^;r`q9WKf2^P zyAAs`tseL?0PhfSWQ36sJ(OB(CL(N3#G(mx7}*(JE!{Ye2<}Y-g8``Fob+z$>U*hi zLI<&&kP$agCI$wE=TBpDo660jJmX6Q-tiqfw%z|nr?oK`7new# z(~TR-cPUMz<|E%uCssVXw^ukPB_#!c%H`{%1BU41k%kW+PD&!K_)U?UQ*@j4J+iK$ zB!LYDpURH+t^2ZXZrOlF^@jmbqUR5@va+(VsbuJQH5hQRvF%3ZipBG1zjD}Y$9%Un zZmT(X<;MNfaq>y<7EBUdC}{LYj>$5&J9gB=CjNtWH~wZ~Y}{y+{hVr-J@5Qv@5&Z_ zbBZK-&w!6OUW4!Walrkb`0#ae@zdMr=|dwUQ{i5M*%gy;?p%}66fikFKrn=TwaPyk z1Hb~r`YPzcb6tIXeLcN`f&wuBe-!#qVHyANV_z)J?r1(u;&Pq8=W_9HN?JbPf(!U+w+2Go2^|2>0sZmf%`^|r~jZMP3z`GvE55SBw^ zpTLIG+|t4X6ju`vBx+ab!xrxn*z7Bc6Qa`3-6;&|ocpQWW@b-%_?h|Dmz%||U7tQN z?AcQY+Q1m6f2$1Dx0j4ISon1zyoUq@XKzu7Y557)nuo{+ANk|kY*X^)n^K6y8ml zgbxOMU3r$T$q>V~OrdCG*1Q39CZ)Mq@mM9jmvD&o)@P*@!~3RhPhtP72w`{_v? zk1WM2SF+ufUC~lcl#YdXcHO2p_7%n2ofPE&81YR;DNzSHI*)BoMKD4va_jLrq{GvO zQUm(byas@xo6SpAN`uQz&!1tBkC)-F^27S0Wvi{NRZVFIx@m0OK?MBy@{CR*;FCnv zcGA*f$YD=})oh};HmI$uD-wP&F!^iBuPqt&h#MW*rA!ef@EyRMHkk<_D^N)z-{Q;a z`5;>p<)SYw7*lk|6(*8%$2R7xq3ObekDiO=d~#9}8#_CSXcT*HRLG1Y8(n=K`RLIp zNm|~gLS%@ZJ=QmCeGw~Pz1{997(%8p5|CpLgx3=SqzR)zCUOZ#Vbwy~I|{>?;$j!< zZ;TTr;`>kfEhpFQvEm6C#>pA|4okptI0NS9$(U`vt8)uYw`L(3K5(HCgWrLNM}DQv z@MZWrAziLJM-{GInfhf~Ww&2SQT417CYGD4#0c$j;d?17Ec3$JQo6YxkNg>@Z@PqN z6x~QqqLbu9*$>s3Vhx<*CN>e5g(K*2vJ07~ZZ`D6gJ?NcZ*OnNJm^*QM6@E@;vlGK zp+35NBrq+FdvTfjCwg!k(GAr)b0a6V4eJGa>!4}(iQ!eF=+heqt;rh&^>{M)jK4_h`2nU}r`TZl>%% zWM8}(UWL9BoDg`5+z#3cqJ(i=no4uS!D?Lwd`5iqk>7wo^dh^vYHPW0lnWp~@(DUD z%VDZXZZfhJf`_aT4k|5IHwV}XP^_)Pp#ZF`SVsT?NP@$EsO#$XA2aDFXHPMJUL>0QcR% zTQQnQpO7_?H_ze>#j(3-j`8wIIGt>{hPRH$3keD327DRYcm)K4b+-|@Az*6LSX$fz z$9K?4ma*sv$_DWEuC_KMA;F_J@6DSxIQhW(*ijn!#G;}F6o+wwm`%a)t{bnllS)gM zK@HYFy}2bH6>vPmvFVRJ_6(AWPs_NiqqdaY45l!@zqo!1vi9W7m6 z!a)V_Tijr_twGz#O+MW$P?zmiUbCk|FoLA0U5A82H3 z94OO=ZVdE&zAc~)#_$PnagBhn6*^8CNlV|wL!qe@9&02cqUb%+&OfoH5I})R%vo8$ zB{+CQ*bI0dvjc&^D7yed3g;Bc2Sk(0^zJw1y6*)y2o(3Xeo0w-oHQ+NJ; z5JFn?>H)svG>o>_uMe=Y4iF|WvH2ZtzbAvqnW4h8^~HWz#W*4+!DC% z?NwQbIeMcnm++~SpwMs6_l8p(%W4fL;rv60(zIhDo@p0uJ+Hf?bzasZ7YbVj5Hhwj zBpo7SLNXwZ`2jg04t1-ll0iWi9@U2rKQuMz?%hA7a^`5D;s?fV5Ng2BhYz=BtEMQh z-@19zbt0@=S>%th&YF@B(|=CD7n22z^(5l>BE*n(^wgQVn2_vmeQDeVAagoyx3Jyw zse^rM6wd5%TCm+MMrZkXp-zo+*HS&H*b?Xu{ybA%_1MB2WO zFe{Nr4@jp3NJMM*V?V#Tw4RyVRqNlU#qM8Vrx3ht;YymL)*uswf#2^V{?9>)744d| zZ`Eqz*aMulx^1N{Ksw`2A{wPg606sunv2)US3G!Wz-Pr!VX1cd^jo{&D@GodFN79WURI4-bjbkywURRJux-;MdG%+pXvLGN*PUVs9C zVu7t*iegw~BqI$C6sKMss0RS_+a=7H%gM$|B5h{%{WcqOcn#@gy%S8g8aVY6gwbD2 zw<-W@0BwpVNkr0H((E^u(hILEMv<-%gEA!Zb*m@C&M@9OK{^f*>ZzhwmC6x1v2hLn|?c zlTM+*vBctN7ld2v*~o8%e2S97B6zQ47WN(vIC-2O6SJR_Qx;CC{QMLMao7@IJVZAn zgj%3>FIM;*U?8;9Sx<5=d%1@6sZ&T;7$;D9vI+>~!Ty>zKydTID`<}iPJmJN@%U)r z7=?Al;lT}zH$KA;@yaGeQP}XqL9!~eGr^w_OHB@7cfG1H%5Dd__e5K%;XDtFrI% z&Skeo_XeHUyS6q#C~3iM*x{g(AjGI}PV3_SPwZnFMAd9_`puiG$rNBZo^oDi4hNxE zeGK#z=_u+x7fwS{!{Lv)35fT!#MwKNA3Hl;AbEfNs`Dil=T=Jpf+eK>! z`M?1b1fS=!tSqC|lM-uQs@G~AL8RU055vu^uxE*hsFYBZpeF-*xxJlT`@7w{cHMw> z3k;alG>8KKhY#{(D@#jMcBBD;P`T;*^5vSQ9*MMT?Jn$G`)n-mX^rSxdkY}<+JU%W zcDdCHbol5I+97w9;7VAgXc~Jf6bLm_nMPrL%-S+MJfB>MAna?P*VhDGap)>z3vLZG8+!LSuf&Xu zaRfRpdiO$^caJP{$;H4oI|SbYibS> zY6A@|4nE4OkLB$UnTSw1PrPb@M{3wWBMIw2$UFowX-WJZXYU5?4OvCf+J*q-Uf2os z&TD|+^8I1voV39I$eM{+Sswvv-_o{n-oQd3IGpmE36VY7oXEo9O98>b2E|FOt;*BV z#>UBiy&A0jumzrybo=$1X>e%B!w0_P_jl}S!j9LyrG*#I^Gu2&_WZRuAhbwy2psdz z{2~1c1MZpl;zfNy$2{EI!+zMsZT`gmUiBn>4JjIXFkSFFi)`=<)FX&PnQRKM3D6I= z!(S!=UHjp(EO8o7(urg79x|WvWJS(tQqtVAX;VJB&s9{~;46Ce>=}+&Z13oZ2oJ~k zo+y>a$+4mnc`p;wMM(%x5N$#J7|`NjYML@z@fso+hFZY)0QoF2R!26EQ0-q$+PniS zXT*~13#|v0ZtI*b*D5E7b1>uGR literal 0 HcmV?d00001 diff --git a/docs/_bookdown_files/_main_files/figure-html/first plot-1.png b/docs/_bookdown_files/_main_files/figure-html/first plot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..192e82c604ada2366e722e1f2e5d743c8f87ce8e GIT binary patch literal 945 zcmeAS@N?(olHy`uVBq!ia0y~yU~B+k4rZXpWJ%XvAjKBo6XN>%_3Qut|FBm$C2IfFd7srr_Id3m+ z!HPMF?FdhYq=2zPn!}lf8H|Pqfo=Q}dRT-p)Qt+DhTCX(4At-`lQ?i5M`nOT>PG%B Xov>Q5<(H&^IgY{8)z4*}Q$iB}C6yQG literal 0 HcmV?d00001 diff --git a/docs/_bookdown_files/_main_files/figure-html/first plot-2.png b/docs/_bookdown_files/_main_files/figure-html/first plot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..7212b79751aa4354bad0caac48d34c1e6f7aa077 GIT binary patch literal 5175 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 literal 0 HcmV?d00001 diff --git a/docs/_bookdown_files/_main_files/figure-html/first plot-3.png b/docs/_bookdown_files/_main_files/figure-html/first plot-3.png new file mode 100644 index 0000000000000000000000000000000000000000..83cc79cf53e3ef4238a976afcee40309d650a333 GIT binary patch literal 11326 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 literal 0 HcmV?d00001 diff --git a/docs/_bookdown_files/_main_files/figure-html/first plot-4.png b/docs/_bookdown_files/_main_files/figure-html/first plot-4.png new file mode 100644 index 0000000000000000000000000000000000000000..ba37f1e7c9dd0b1756b21ed3ee61bb636db2f682 GIT binary patch literal 12497 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
v5eBlV7#1MG7pS*oD<=~u}`!4B`5d@+=G8Ca) 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 aiz_9+Ln&2vUGdPC_^E`vc%G>KhyMWzTDk53 literal 0 HcmV?d00001 diff --git a/docs/_bookdown_files/_main_files/figure-html/geom plot-2.png b/docs/_bookdown_files/_main_files/figure-html/geom plot-2.png new file mode 100644 index 0000000000000000000000000000000000000000..59ab9c50e061b9b9a1d8ebf9274815d8e98372f4 GIT binary patch literal 8794 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
>1P4J6jS>idzC~pB7pnT0> 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 literal 0 HcmV?d00001 diff --git a/docs/_bookdown_files/_main_files/figure-html/mapping plot-1.png b/docs/_bookdown_files/_main_files/figure-html/mapping plot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e9a97525911e0fce2628111677ae8986931a9e91 GIT binary patch literal 13633 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 A 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 VKF8s({(!g&byaPZQnK~ce*;E}m`nfw literal 0 HcmV?d00001 diff --git "a/docs/_bookdown_files/_main_files/figure-html/zarz\304\205dzanaie osiami wsp\303\263\305\202rz\304\231dnych-1.png" "b/docs/_bookdown_files/_main_files/figure-html/zarz\304\205dzanaie osiami wsp\303\263\305\202rz\304\231dnych-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..903f0b8cc6246348805c21317f7e73b03b797c77 GIT binary patch literal 62329 zcmb@uWmHvd_cyvokyZ(51xW!(Nr9VA=`QIO=?;~Ul9CpXZWQTOkP;9nkw&BiBt`nn z?f-qp`EcGZXN-4`=ec#jX0i6Q<~8T9E+f<)$`RmF;vxt_pdc@;fgl+0SF{Bjboe7v zFw+(OxcWq1-wi=%!cqT6i(THeLXcaCg7kk{-mf=jeI!VhPmvv)KbDO||7me9tBFby z+}pwA-$7JHL>2dYo7)WR*h;LJ+TrgENs`rLJRF151E=zQ>JtAw{*SQH`A_;h-S7J2 z$IYAXx4H2)_m3SieQZ{I!i|q6z2=_h+EEfq;@l1yxY{#@b}Iz_UPW-@-=AqT%E72_ zS$cAzq23WU`4JQTAeOYg@_+LUl&imgtG2!gIQ^5xHYMb?5_gl3PV7wb%7&WCl`B`q z_m`HJ2VV<~4h^Z^x$fiRla!Kjce~Z=_uTg?iwB~j<>lp)Qc`JBy;slA&pj#yEzbV# zE;$CB?S^02IMAeu%#`Wg)9l$Z4fAcUdfV0d@#J7V@3?zvYUu@~WgX&bguXzn8D? z$;anc35iMh|n!NCzj6TNF|s$ytpSis>hQOP(N zTU&dW%56bSO&ub6yZUI>YaYIqkukmVqjPq4mVlh!zU08CJ%`-f!J*8T$icxuNl7U! zC`;65?``{q@4;GpV&aYF;oFvqsR;j%pRwYBa0wNf(BXB>K@qR*IPxOZY+Au5Zx$<0 zPENv!=+J{JDx4%GpXKE-RQGpum=C0KBMU1lg%)3N(J?RzG+2=uyHVN8>f06$E_7wd zr`U##uFHGN{o3^@$;opKE9c3(nsQImv6O@H z*+oTPNAtA$9aT2*(8s^XWg*CvSav;D6+h>*8@c1`>0Rer<2?^H+I~UyC+{7>b{uB#1 z5fl+I)YEg{{O&T-;BtkK`j#>GE9ERv{e2cIn#b!`==>$VCf;lqcd zySk;;N>FgZjZ{j>?CK9x9Ua+uae{t*t0=`v70^~wiyPsjc|5$>71cNSzPcLi&AWF` z=30DcX=&@~>L@SVWLH9EW7bCs@EXN41e^nNFgiOrdY|s@?rwb6)6+wOYim97{1Ouq z#vX*NJ`t?88G3AMt0rvuXLB>h@<--@}Szd1WPG?}6VRb`B02F@Nv8 z_=e_Y(qbYRVV{HT_dB{t*rrhKX$!aj^=|*nG(4}(~9iwwH_pFXp^`t z>zW2=*CMNAzo90oPE*H{yil9IBrDg`eN;AfoovTnHrUse05oP^9ad#P4c zze`HeZVx;^J3AA6eOWtBKy|;ov{Z4ICGm~~D=TZW=hjrM137Q6=jopVPjeKI zwoNB<7|NQ!gTuec^#~d$6xYh`g+TB^^Y1pzR`GjUQ69g(#m6|e9_r+IWl-2p)HxZJ zXq67qy-)~l^7ut|{d$Md#Kc6sMbFE~stD;^XoTEXC>d^c1YeDN9Q4X*x{g(6W@19% z)~(?6H!IuQ52x5Y*spEQMi69 ztgP&=P{f9pnT`(GBU)8R!GVFN>nl$3N}?$f7FUou4!(cuy53jdLDh=2WBxlT|>h(BGU1-fhg2UyXv zrh0W{^iO)V_S)*|*Cq|s)OLpD=(zv;vpt*9$lHw*#`Oq2zmtwpT-@}|_4w8s%nvOe z%V=vSY1Ea%1CtUxX%WiEw?e;@q!>;}^I7XGR{Y|TXID=T@733D-~Qg3u21XEijI!H z#vscj7qCAlFrW^d$ns}AgB;1dS1Bn)2aloQYp{P1HFWp%wBCL$Ru7L+etNZ7J@5Vd z_a>W6x!(wHyy@n?)D#gG_T^vRs-L$e9Aic^pHdQi@Sy+mXDy80^}imYh%HCT(i@eIm@?tgd8teZbRzkLwY zzP>MKW=)%Z-zi;VA46p{vQ@(!is^-1HWX93axmN7yF;&qI+yMu#PATk4P{?a_c`hk zsInzJ%(x#zf+{OLcBbhxp>Q%zqhh^_uQ^hdr~UWZl}$FkS4mZU*cdPC`y(*t{d}@` z2k2^5##c+oBPVfYoyQeJv8e?i=k}sx7&Iv;S;bU(_&D| zF9c$C>+M~#o1)%alV3y`C-%v> zuf~Om6Y#hR;+8kc%gf(V{R&uS{7@Gw81`p8c?zeoIWyP&Od+?hmQ>Vp(Z%RK{oPJS zgL=&_l~RT^6?BFZ9i7++W?U~kDyE;c=QiuW+*_P54JxoRsN&lH<+CwXvSFVy8A*C~ zY|A{*hnbNPHdGaH^nWdDbjt_pqn2vZ0IMiDKK$GrJDd@a6)g{#gIavA#T8_m3ynJE zo~d>EdGB)X`~xm7wJMA>dYJqI^ZuHwEei{ec-r`dgc{$yi(~aa+|WkWW*Ya`hV%M* zkrgj=WNcyrunH9-NKH7p_o-u*JWWVBIQ@-^4c3Z4jM(GZCK(faNL^pHJ_*!)e>(J_cT1Z5n zJfIoam}rl_zWL8zOk7a#CbGA`pDpSmi96HeQI?bQ^mUwm?0{OmeAPa`WF!Du&QvrK zfI18XwELM;Ytb|u#({xiKErFVE96$ihNXPgr3%6m^lWUAEo#ao_e@&k1K%EPO{c6A zpGZ17IVF9&t=3(G;QJgfr&%xR-v>@v* zulq!|%tfJ@XZUh++*S5L9yOtH#dcPjwm(e%bbF{V_3^~OPpv|J765lbu{n>g-M_r$ zfx1cfSf<4-Mx4x=^|ed`Dvz?xsg@iKG`y732>b8(&XQMP?JumuQyu7rev?2hEbeO0 zgU`fVTv5UA$rYBnPbX7*iuZhdu-jVH!2EdML|a?Nq{d<5p;Q$>qd0O@|CSxcd?9-I zENIF#74t=(UuqqF7iOdwUZT6KMDH=u0ar zvXmBpLMqD3;mh*qV_&~YWO)jSi11o``tYQ_`0!jj0w3$ftvVQ(uSK_XI?j|`yu1YL z#WPmQRWk0cudgFXL#8!)!F>W z$jFfq4Fc7Vsg*Ys#gAgHMVD|nhXDmCy_=Yr*r_8pc)mXe0BMh&mseAY+xogpfll(f zckf=kB0*5FEad8qUh`YZy0jw%u;tu@goGylz4C)j?!Ilw{cc*CHcvl>yTHI@VONs| zE(g-Vq;_D0QGV&aG|ciaJ!K@*H8+x6>v=D;AKQ%Q^CoYWXWnwPMFbb zi;w1P<BdwGujz+8W6ru=Bg< zQN8m#Syb1~@3w)?Fam~qoThCvwpVW1{;9{QMNdU2qBaJKFh`>#6)rE%`}k_1!;S28 zHQEl-0}q6kHP=Ijj%d2cX0NwRw1^yxm_gJ_yFQYwQ>$Jp+W->_E8aR4Mj<0JGo5%K zH3FzJZPM2rHfG-AiFAI4-YCGqxS^6{&$zEzQy=dB?9pEB#YWPU>)ci!ep|F#$@VJD z_yW_Mw5RMY8ylNB*`@h)O7q^h+m?}UqR8*@&;*khN|83B#qZxG3}#M0=8&vFm?W^f z5AsAkHePMaT_K{~oNH|!Mit7O_fLX7-!HF)B4^bp;IjxnSwIkA1J>4c-|q16BpiH) zH$}gEslyTX>ea#d(R|{BikLCaILCMq8Ho({de>_qw_c5{YuBzRXXDQrHG9US@#+o( zC<;7YCf_sgAfsl$vbYZGPVeBPSfIhQs#)Xp+vJ;$X}I;J&(Yzb)!tvA*}MU{6t0c_ zlkctWIFgf-7rfTHbDe;K2NU7pY&eX;Az5%NIffy7CPY68G~H59<_ZdU!s+ zVQTdL00#0+^j%}<;{I`Vz#j^qR!}1*O#D=;^iPMxFQZ?)xHXH_(b+l9L0r*$r(SEw zfUEOuFFD4|wfIp$GT$nVm9jk1B!Eo8lVeg&mB<<=q~NgxHdrc0!Fn_C?_U4CzD1q+ zz|$=%=a!FrU&bdUoWH*_yEr>m#<*E6TB^>!KXiI>_^U6VA>h;#VEx6#sk5~%Flle^ zzik1hz2XxUhDBqZIJl}GVai}47*`0jHlqiA?#hd$XJ#7f>Rw?RYJXuJ7^N0fwCrxV zBD<X&eGda9an-)Zqv#DJxdDD6;ZC&pMg_T{g)?R&@mD^I+>{ob zlzsf=sbm+bO{k@N`RL&HeD*7Kqh*Oz17eL5t=*z`&;#rprykKBu(aJ~jodprI@;gY zjD~%nGHZYqh8y8;QN;7-oeLkICs`{2z%$6}NoWb*?IJg2A%)d^ZvJ$--dVtxHq-f9HHj>c zt}k9l?PCy19%fsW-7{?~H(QCw6!A*Po{C|T;8V#K@p?EL;%LO_wK9+v*{^cLu@VcL z?UxjVC|W}QGKd!%XQry^PoBJ6*zzMuOJbbTvZha&^X`eqh%lpdL>NI_SdnYs7^&iMRIa-MAU+6E;a9>qWWQUrW-lietL1Oq@)CdAbcVsFE_UvxS=${?l*H5qu{8hD2ZE8Jh3lc`~@QEJl9gCKm&xu;!7q_vo`PaUV^sB84ii&zZeZr>|{XRaP zG_)!rBy_kv>(>=Y+Sk_yI+3k=4$(6oTx&bKl9OTqF0QzB@zeCh5EvwJBkPc`tOqC~SOUG#^o&c`+2(HlT&un|8$KabAYwB0#i>ev0^ zZ-*#j8U_>Fn^00x0+g2vbAaY8AT%3)jG4!5YC2z2!-sgE{jJ(q+=AIICME``o6v=#oM1CCfv-Xkz=WcQ^PX2VcT9B5p9JD|8H(KO0W0uRk&kIzNOS0$SrO zkU1Yb$joH{?Feo}PFh-8M&^g0O31*KI^?#c@A&vQRP~P-DgkfNIoP`}Ulet2bUq@M z?3Mo~EL-xJSN#S36NouzY(W=ijmk{>Ad~(1Lr6%NB_1TEPn=~{RaF&vtb{O`xHJfDC+abYukJ{KFRDVd78qWLtaDj+6U@}$860ohAiw!Ru6{T@Ia>0O<%u`xY; z{n@sFX6S8&xJf7qT&R+Pjev;yon>5jA?^x@>E)$mWf?qHk;+Wf@81i1ZNJt43DsXL zXm_#8Ql>6FJ^fz$*$9bQt`6Zp(Y^d+yZQIt-X8MkM@J}p>wS}XBC{$X4h|9w<3)u& z{w5cI1RX6c%MUj;@|v0qm=e>3aowPIz*^~m)Ixwr(+~UoZY^qDf?4!qdD+Uwrbswo zxhsl%budG~eN9bQSC@(^qtdwfC5_0R`uRYH%t(^mWB$oPP7Vr36mdISF+Zo%ZA3jJ#=B8e~5Af-sx>hXhgMT`2U|=AKHZXi9Cx!0Zxx>l% zkUucDuy7^nUK=P%!7wL4_>_?NaCW?}siA?dfyXPu088TtZQ%C27!04WEqwDT@4cnI zjkYm(Yy}!6=03EsR}h;ouaAL@rkR7@<(m@))fh~DlbpP$!I&+n&TbSNVS4zw*mn$8 zs8=027qg)}KI|ORYHO9eT_Ose{M=m0b9bFVz5F?Eu|Nt^6eH5p=z@Q?88&4=LO z_Tpvg(oBLz4m}s`!_bg3fF#)2d@4nSg)q(Qq1yu7odcCCfl=wz%O;=wm7?sxDHz!@ zQDnz||KdZ3&Nkp`FnSF7vZLcBbeWA`zhLo5j%bD5aS)csba?iQe*nm;iXCGj0NfcE z7+`~fKII3S0?M>MApO0~?|_H`jdma}tRR zY7$|Wy!7Grzz&1$747)_-BbV5Ge93rnNQ1grhyxN{;b%w1zZOB0z!Q4T24b|4Fa;{ z*RNmq_FQK!x+m6OpRdmM&!-zO*6pQsOlr?a)Sg|+~EEpi$_F$^!{5oiFV zaz5VPn=_4xcWk6#a}v>t_Aa}kJpyWCX`!R@4G2930y`E~JAaX)rKQDl^E(>i;o)KV ziQ4z}|Lj>J-bID_0-I1tvxg7Az$aB`evts~Mwtkgpx}4;#H+iTY5(2ZAdI-8V={J@%FqJQzhhHu5i*$08yl(SyNRC=9=G zmWYIgh5{QZp&fzhl2w%{OsfR>k%a|8Mq-+z!U)YNFj?hKMJNnA=|)7i5~ zBr|>6+b`r5%T^7$&d0|W*RA^VT7)!-%=ou&l!t7hw6Qb7WcHS3W*>h%(JPDBV+Wm| zYoivduh^clk`nF>ZE$=F3K$XjI|(NzzIi4}w}7BM+t{$rGYRed0qqklSc}bSl@}~G ztFbaQ5-TSs0?P(D+`wcp*!q zp7NDzsH-=-;oUp63}nf*QHxD`Q#~X-MBtZc@8&g1+$Vz6>4ngT)H@e;z4Pg)@g~rb z$lT}vQqB}5drX9V>_z8~o2P8lgyFT6S3@N^Q~Ems82A(9?{v2%OWb;tBRkOikSVch zKh0{(Sgvg=+Lz42u)*F1XJS9JrF<}{EuCcwYk>Q zFaj#s=$p4maMSj}(&yB!sH>~P$M`Zh*a{FcTP&crQ1(x`-DiO6PiOSpU#X;XNXPaBZ=`m_lw{kKiL|U2#H{y2ef|A^OM7w86&mJGdu*E)%4n*_KOod1QY#fc=#10?&&sc>W#qH z;Gw1|7e2nQ%|~OB0QXq0)_d1{Pjq|Qx&3^9NPL|1^y2h4z{jfysL%jYn5Y!YhoMW> zIZd-A71;@kiOuQ#C(!lzGaEZQKJt?Gf#QlCxG+w(w#7|*C_g}Df`^Bvw+iltA#bU7 zKmvA7Pb{780|ghCs^`x!VtWjM$NVTY=lq8?KCy|2G=KlDhs4R>0Y7rG$|76?16ySj zh#;z+_lb*Np1E10%qAqisOWBmwSlQ=yZ7$m>Cx}!9rAw3@!N{f^7GT|VHOQMchycy zO9Qg4gI@~<7_=wLNnIXQJ_I08+^#vytrq{|_lp#t%y$RUc*{ylSt5OZRn+5~W`83* zMb4wZCtk_=bBECj)E@hr%J}s0y~Q*~!H1OkdU`DU`c%}X1m~Co|2qr7e;o%?wv{Zr zGlwPeUrmj#E8qumklBA)*gxK!dGO8t)6ZSK=H&R6lZ~?Mz!N)ncXubJEkOPj=H}fm zX@33uDW$IE>G=m%J~=H-K@m{C?^194z|%b0m?@AKp{;><3qJ*NFF2!gqTcU-n?*4jijV7*4xW}9Frq2q;sM7%(e#w0p+!1jiw7aIC-6#+Q`5_*!oCn_M4eXV2kp^ZxsTP^@T=V9(CY&B?ws zDSLkPYdhcZS*rhdJpQbAgAwO388eYrj4#Lghdd7a<~jRJ*+XC(c2`~t@4W4d{Z07$ zdmV;GqsN;LyWXN?7qTEp7>7;zgjee@q!)TLB!_*&Nd!9uk^>V#7yH?Zi;K`z6BJ@d zVNwMgFQRR(BPr^#r*&7z{eL77A~c& z1t!RC(d`JFjghgSxVRV|Zca`PYOVsJTXH=Htqz*$3@D4j*Qy;mLayFH8<{!7K%Qe0 zfEpPY5h3KWXK7-R1r{azfHlBHrzyVi4!8#VSTuY)-~_y-`zoVtZEe7 zL@PKxotuF|vrR;_b#y5C@j=7jnU+&gArQH$CLUoJ0gtlUY#w~2}BI9Q}y7^*N$`j-<{r9o=V9AdBjoD>iJJAqjK z&UG5G>H(60Uhg*8Gysp#KLA#g_hMuOd}9hOETW~Wo9I&-SMmriuCMpb;(%0gejOfF`f4eFy{!U?4^?n8W739mgEa&@ItpE3Fi)w#K)TK2M4N-M^Z#3&3k+ z@+rm@SQrd+bou=uFzTs{FKGA${^CRjxKHkHrz??=dt$sn;~SKRix=zXu-JnLl76KC zLI&~L#u?M)nASKT5|8WZ$SEJo-&a z&wEiXc~5kybTjl%_ahqq%P?O&@wJe9Ml2~GL`FsiqWgUhlC@BnICc6{Qy6?gjnxC) z*XVAekbd{GtHjd{=s5*zPgi)7bHmZ&8AVW^LK1ZoH+D933L1k|gI#RMWMQ2LsF@^~ z7QW?`DK(3aZ8=SEKhu4S-2eF>>RSX%5{1LO>~9h;v1pId7G-IV^qDX5(99mFkdnfE zTQWT%N$vZ4@OzR~?L_pKwTA)$q9>v+u++W-4w?oo1K{bX5QRnFBXh%oK^t1>){UXSgg#;0W z>mZrZhPKNxDB}5zB_t&s&iVcJ z*qZVHA5O6um>4K%PoQrDD{^-J4Z5+cjEqa8N=@y%*n6)WG?i`bHYH$tSiMn<^a=l? zX~lRstzpn{{tKJ=N2TM8bfYslnfZ&Dn2NG8JVHXyY=8TR(jq(FEzn6;mY1ETYU}{2 z0B2(lG1FRJUIs~{@a3}y93@!t>}1X}4eIpq#oKJ0oF;Al$3QotA|pd2%``Mdh{VrO zo{XEc$=4L<0 z$w08E|3CZA&i05^Lz7u5g+1V{_%4r4i}*x05)>QAhu#y1Nz=Qyx$Pev=}vKy;G#(| zCB_HA>SAGH`h)fhVHa>gQu>#5D~*6dX?*4Y<>DJ475Htyp(n=2`2_^LVElr*3}jP- zz3$164)CA=bEG6C0j~jAkS*lKL{D!H_nR+aYr6(u4Nc+}@c`5Vq+Ra02O`8#T>z3$ zwn+Anmx~Mcz@YtY17&n~Am8&rm$P5KJoK1=3(|@C+d4V5x-Ngd?=*#=KELi;lfh-z z%d`C804stRt2~p6=1k?JrhK+ckfW31>$W0Sg?XqQ*UZmLwpNh05+ne)DL{aA2i#k z?CkIFt(3skfTdJaQi3Rq`76H(quOZ9;`i@efigioLxfFz*6(LG0fK{%ujP2|0Qrgb zc5#(a*m~yo)V9<}F!9UwHg$TAy@(hI$wiyTvGB`sS#HRHKrx7`qRH5$@+!W+WJE(J zSKSlRG$S?pu#FNqKtRF{hRU6sno8gR-EQSm#0}tZ5W4G2e%p4!29OGN7dJOIeLN13 zj*oJ50elYM%EQ9KU?3%sD9OvetE64X5*=P0en@BdReXuMoXbB<&ptDb$r#Vy@{b=vw2q}R2ke4=sK3*PFRYp zOSc4F26k7M|ETP?f&VjWG8lESKIl1xHf9$sMKhfTb(|;LPR=weFJD z&odK*ZN#}8E)8^dM$eJsV0P2?4gK6@i8Qa4rGDu$O>^uohR1Ji|8aFcCV<29Lbl?q z?3nmaLZcC<$nTwRT6rta|Ew#|o+@dg*^p1YEciGL0YW@7_P>y0L3;$lCOhb&5zG_w zr(o}GLC_U;NgsHRfQjLSyg?yfZf*wIXauR!Gt$z+MCJpIjPp{U0ce!Gir$)P@o`gD zRyH%cJ-NKFz~#NO06ugiZY{+Ryi7V|pyFqBu5~6Pe|UJd1Nsse^NRxVhPu~MuXw%FG&agaKi;e!0<}H$F|CH(4c-&h+>9_l>H^SVldUVi*bw@b`b^n|uvq2q|j<1kl0Gkd(mBYdDzs z|CIs%=<8|qeP2_P&+_>@KiI$d|Gf;Qgucm{Qg#x^#STnj4j**O!^7^aUXYA#6XVDa z$^A6TDt*yqKAwFetm|P6L^FG7cCA%p5}l5Ogn?>EgMT)VdmQy8Ho#vkfWw&V)BJ= z7}z58X&5W1$8Yc5xw8Zo1CRzSU&UHbV_~1dsQUvC3?1PKkJ2Do1{Ik}q|P3-E;mqF zV*pfOLIAS3y9J&c2wO-nL_9#2jx#wbVC%dE0VxFPLE&%-m?n%A?O78*A8X2^`00gq z>EDcGgOuG`m6>?|)I$C}yp#KncB+ofKcWqi76=aq-5_M4KMfA`qT$u#z~iSU^3*@2 zuKEL_mfI)Em~^T}2fyR7G&Kk!kUv!>Bz#%(po}J4;dF4MKq*a#C<#I@UMJ7<4nWksK~8Q1-~yaR5kbLT%lF{oKAx@{92wag6qvu$ zb#{LKd%nFLJ~2#;cn)$-BX5+LBUf8quFRcRQCV48QNh^GTPrGV-xm8pnqFOmG+#*W z7I9oq!lf*DK*$2Hb443aKMvt$u+Q zXhkbe1OXRVv{gfD01p9iA3QfVP_v4PR>6LUefJ$A4aiL)*CiluNO1qMu%MuP!3b=R zSW14y)BU`aX><~h9fXBGf~5us3O+n3xfEca-vEFq>FDOae*JKeR9RjQj6O%=)=eHu z9KZhn(A#?e>K@}iW1-+Sm-hER0}*k1zWwrGT~ki32Y%O=RPLWK0&{BA!#tpif>;p* zA_eqA6$J$p8u9k_c6YB?)S!xwj|V;V6!s#mm_I1AlK>mW%XEj}$03mjs6a_s*)l5> zmdFj@2nb}#B9-@7p+`XsU?j3g<2NQjy4Pp^Co3vW6WXxAa$BoL2}~{M4*#Pq@NvUR+*VY;!LzMiF%c?1jDH{AcfD=*^{(p^1zHGay2GC3l zo?m%6yA&o6Go0I>umf(qfhn$CrURvHxA5U9phb38R&IGc6akj(&T~dT02c`ZQ5gk+ z!}Q&w|G-nAr>BR9Wdw`-V#k0qJz3!wUcq4~9|x}oJN#6f{-_uKUwFZ=fn5R9pM{lG zfj<5<=xH!Spy2>u&IViF)|MrupI^S5Bc(yOf^WI3^o-Y4ff0Ff?D=i0gIeSssh$^) zhb`)gLOc@8wsdsaYinx|qy`j)O7%=nQz2k?|M@+C`T6c!_qDHPFn8gk!HH>cXz3U6 zOb_mS`c>wHb0k<~X(1aB3Pq zNlsRpi~u=_STdw7^Gy;o$Gf_f)FRMFsw_aB8Su#%)n`=*xT1?oa%>lp}C zz#7~WxcsG+mDcwS3=KgW6o%-UsOSvv@5ACZZ{C1LdbBy2Shx;#^DQ0O4dEow9kV5} z#SVAqBW-#|hSHuwBrY*+QS!S3bXPDmfU*O=8R_Vd+<%%WeC~xy?d9e5z{0kUg>b&q z$@Z{%p8r*qE6sl{_-D63!yuMSr&uVfhdBt13^X+WMgC%@{dpj30*N9(0!|Kw#lx)o zCxi4=J_>nYd}Mj~p``x`d-%T2@f1P+St?s+IsMI?(C}LIZg96+e0IX z|5`^lDcN5)ZC{`Aysz-+U)_#+-Sn52$4Ti=QY?VRnhl%`8ZODvOOQKYGr*!%_%$?R zFZzBt&)~%^-5z_9w^YM8$x_7Oz<6W-?(ezw!$K{`@-!UOTIRn*qkRg#4j3Jfd_jWS z+uIi_ffB-!0k{?7%4itX=kF2YkTjpw5uV%^2QQCnG8PCIgm@O`AkiM5zY3Wb6lv~X z_BE;OV(q&$En-P0lV6_GXgmt4rb7^xLGo03PFSX5JBaahM^gaq=JL1|R^*Ic<9GBp z;k?|a@qKZz?MS{tq@Qku0i15RfS!->0Vp)=!N(8oO}q!WXsu8~tdV-7bcYq<9d?ra zT?G{LHb#_}YYmrq^Zuh>!pRr|Zr?~r6XqOywthN(I;tv;_5ltje0ys;^pk&2BBp;C z;ot_BS-Gfv*R(*S;FOhL`L1s1;m1x7 z)}oU!5@P`mci$YlCOBSIZvhUUG(ESYsI|;ICV0_u2p0s?2fILB>LIyLM{iis6lge^ zYDeS(^EJUpC)>x)-&p_I2B%$s`byFSC7Y%`-U`?PqlGH_`}=OLuD;7jy5J)e3x8UL z-QwJ`D|@s(>*VMNA{vxZ2OM7OLI?2&Lq^@O&M_h?%FV;0wyw_8)fKke0JtS+x9;8r znyU{fhWfg??aAs@KrW=QG~DKxGU`wfsP+YMivP)GMMety{VBJv`Txo}&NUR0QU$<( z_(y8gO-vrDzk&mcv;uD@hXv5+Z%9l}PTFzGZW{y!wq>O_=(Dpg8$G_!Z}g{kQc>YI{0nQ8D zqXsrfbv4lXR5)-4X}4D|GeM?+I1R82(AYAvvoGP0Ml>Zq8xxak)c~*^ICA!qP8{Sw z(2BH8OafO1C|s{@-6f@@6n0xtMg@UEB+3FY1nqZGAM_`%1mz< zkAxgLFT|ZSGyp}pK*AGd%d1y?pFe}g`dCV;6L!(vyLTZa2#N}`O1hSo79Y4FRew!+ z7fsp&AF#1)09}S5J2Wsr4cQnYPOu^3v$IVh-2m|%$Oy^*jt2v?;8Eb^`4LE|g+)c= zBqY$=f$kY_ro7dwdUnjo6pU&$kbib;!U{0_+=(<~+f=0y7dJgLu}7uK<|v~&vW zYxA^c&z`~j)S%hAJ07_%a?KoqRFFr~sWduj?f8y$@G4oKJ#I6x77&I;j0{lCALSE46cd&+r3iL!$(NI&9T=xBVB2kcsBR8nJ z1cDWt(=G&ITwU2%Sy9K5`U;TX|AT^bb}wVBP@^IP&H9;1mAMSirM$d6Q2rnU1g}@P zf`Wqn2g7oTLWOB8Dzl}H5(*o-C`%?z_*-S?XP%%jHHk;F>W^lJi@BkeI>iG_##vcd z;`*22U~FlWMFIxDJBgVZNr8$eFvC)+*_j#GAV7}f(Q81ENKH)zEb)Hg<43cdg^wV0 zL0ZZ(>VA^_EdD-X4bm)}>6~nEvCz{?h0~)H{1cEdhyPU?HS#=oU|gc`Rk^oo*;S!& zg@?x_%_wpfAbhdQ7vs4C!SukgX7_-h@7!?@g@D{per{-Laus~NxM)89bQf%lH%t!0 z1c~2R=$~&XP>rCJ8NgN`?t(INw%eoamc#JBvjB8(rtBUE2kImoX+~yEiPkUcV6t1! z+;?xc`sZtuzyY>^W&<*K)`M3C?c%iTo3x5bB^tTQ)zME%Vx;00$(XR?<)wW`D2DLH z*xA`bBy-f?b_K>@qW`S4>G<&kB)1A#$(*>MRR_-U%UZqSYtM&PtKE+NsZ-k0b9P>y z1uy~VxhD`)1>K4@SwUGD69K_Ps%sydO;*i9md8*S`XIE#_AvCT{>v-Aq!!{a|Af8EY%Lth<#&(&kSX`s)GELbNt z<^Z%I*ouHXngGmn4U0lr8d@qu(-GEZD&l~q3(0;%lcoJAnd&Oocp zzwJRA!1(ayzvsOvzd;5?y9KAzc8ft50r`x)LhG*eJ3dD6?m0Lr`X2s#+p-s#Q)!D2 z!M5}=Xo)6|R$Q}0WYkq=ZbUNttkV?E2@S~14F z9)M&4HKANKW$g?m4pKf%xKGeLtd^!>x|^CD6?#9DeG`LEoRYU34kJVGkxN*(2{>^g zlS(cN8#D7NNHv(j5ba6efqd)(2%0)NI)bze=r7=@gqps-5JZ1Ltn~5qh4wU|_7Rjp z=-Vhyadx&9KoEc^%a_@xqsHhL7Z-q6=c{dqC}^;e|E>2Nsq5=gq_yc~C|-lwtF5i& z*!}nt8{7K`7`Fwu1)xPtkvu-^+_(ts{5kDTrYrVMP1^P+5qn_RHOb;-0PJLd+4~9r z_QG+CdXU%vaSg$}fQQ7uAjOvSXJb4{K?F3K1~|$L0nZA9+6_3fy}Ppm-gjJ|C6p_K zVA|2LFXUuoXoOrpb#`_R4pzK*Bf*xWL4wlk;H;qrDy;~IR}9DZD=jOV1z2Y7 zYYsFqi0A?qod*pFg6S8(FE8$KaqWPyFi_3q#8wM&G*wkVG6T@{F}`&yrTa>Zz5=^RkKxtJQ0%iyNZdkRa(2Y%6YTPj!9$m0-vkzVFW7)iW@Nl%}^J62IMUgeJjG*8bH-=gJbVp^=f} zSQ#WlMmVJC{u08YR9-#ijG$A>0NX>2j2~s?uzIOBdxs|zoy0Z+*EW!l= zA-B}~hF2DaAMVZbS}s0e?iZ4rBPAR|f?wB_rVw(J%q9j+2=%raJ$f3ILl0D`eB>@# zu3b9ci$O^9OYGL%U%#5X=u0TkoVziveH8iY)_GfRd%Mdt(Ld%V{Z>o@juu$5Si9Nk zJB8U&;_{@Y-Y(?QwADH9fCy;Lio{z?dC)a0*&x(h|8&t#`_3V?g47K!y>b}}6oEzP z85qbp3@pF=(!CkicJ*t%LL%}AG`sF?{>kfomIf+AjJ(?|!N6J#BA~#bpjBMDyz_Yj zrfE?L85rSWz6UJe`U4ljjwl%?j$GOZ|8PkjjzO0E7at$!wRuuo-Uk?l@4)~=4KCjhpG~Mik>!6yE6NU3f`K@8wj}piLP>(a zRvNZf!H#x)!X{hzqh-subzJ0 z;_eylo2RS_qhv`0N}0`^ZjLrH9(=HS3fb+U)Eoqh(n}YhGCt3E@4LbBz-A)4vxCLS!?6Zw=nYkNy}uR!ToWB*V#*szu*oPKU)|vo5zRBiTMi zZ35DWbfs@8;&DnYtf;)l3+*t4VE89k7JmPRV`eAdIg*l-_b*@4T$LF;02T_SBwUHW z6-vqI?f5|$fyXQ5@78qY3N30iVt%Lk*xL&(N|8y`mthIFm8bjYF!?85}?*3<3g z6Vo!G1-x2zSvT*xsaIp~QD-zl@KN*`B+h(~A`rq+v2hiZbI9VRwiTAg4iHFx@)1fXg<$uDV*p zZDjzas}>%F^jF~6v~iPreE%{iQe*qBgVKKUz8rYpeN@JcM!vX3nwgJ8L?@F?tddNu z$}gMW2zv^jsY-d?Cm6ziXb9Ze;ohExuIw%1mh(T;ur>iZ3r~RoGqp5LkXqrDDpIxk zd4AD&`}k5Nm^y$=Yx#UmZTH=90vX{0nt)ZRyNWTmzeZJ80@BnxoBq?mK+scg9MJ>O|NgZNkZH@i`*lKxWYIZgqN*&zrX|#UUpXWnnPrh?quQzSEm8CND z^g}j>F{K?o3fDO}pge;hc!M&+NQad(WMi7UMJC(|?I6 z_R)GQXaOLU1GTi}OioP1KsI#bom_b6B0p!97%v_iYyS7RG&EyAi0WwrI`h#&wtbYd z)`L@Hjm)bE`mcxgX}Tj{pH!1nYIq-}HD?bb^iugmGABhH*|dy4Tv|0F{Sb&!wTK-K zoY3|T53z#5)UfCD{Pm3k`MQ%@ZlwSj8MmiB^%bw`^y;qKpN`l({_o1{Gs32pnmMgW zBILDiUCHofc--*F&qi*?Zj=CBr8qM5xlde!?UHq63^b!w814=fCsu3dB1i z{p`{&pwwX6Xh%pduB?Eg!~>!bwdm0JMxi!Yi81>?$VNVC?FbZHzN<@`psE|HRTj%Y z?|`{09C+3MfIy4w90YKn3ZkMHBKs;J*@FTOGLWu;fugz=oHc~^%%T0uO|ADMy#F0- zjQ>JKddTmQ;b0;=;Ih0wUm45*i3a%!dM?ywNLbiLP{qoJ$%+Vl;;V)!D}vQ88HeT~ zC!{Gq=V1~)Bi#IiTAQ>G=%+Yvwh9mlr~dmTI6w{rL_taEE;~C);{`9q6clGL_jGtK zAb(B2uw&b(r5V%UpWbi9kxRaxAoYE4^$I`9PCXUd!VA49lvZq>ZFc=uE`S)6M7MA? zgCje|LBrY5fn{O7-C#9wg2b4URhYSA5EIF=lEX`h*Wr|M7o&37{c=-Xy`?})7VWQ# zPz~eiy}Len1p1;cZ;b?mW~HEPk8~j^CW)2KGKT=WtT%%7yN|zAW>QX_@~u5F(3f%v zJZnkM?Z2Elv8*rXU-fnUEZ{=?#c64$yd1TjjJoY19UP48Pf7iS8+CCMxx{lTRXK&bRVVeJclD6+zSt z-Iv#ESsKg#$PDRE#;JQ*B+FP}?1j3fYGHmG3F<-i#PN>C`rRYIgHg)^K~7$M3=$;y zjo*PUvqq-#+PwTY6is<(&LIK1(^41wOAONV@rz^}AXWVOf5>{vs4Bbf`}-oLR2rlt z1?g^(E~UG>Lqb5LQ@SLiTe?BI8>AZ~rBgt<{+s*z{9Zkd;V=ez4%gYS_L`qLci>V}Tvsxjalh<1tLLkn8EsT8?DYns3lEp+dH?i0x+-OKM8kKVOgsB%^|95z7Wh zpk(!1DY^G)0VD!xo&Gv{c=p=u!4bm#h&|oiz>At-R?v zYgxPEkW+#RH3tuR1gt%-=vo_L87-B#>AHs`S!94D5(nyZY;0PT8D-*Q`Bx!3Sx1rG zq)B-$rh}W7ujlXS`$Q)Jms=Vie;O;f_Ydfi!1LJ~-2K^{^BL0xUE9@baQZfRe~!v3 zf};i3kgL>WBumd*Tu?x+mtr&%@f@)@(HaNL<5wx+2{tm}O254D#m|%U`NQcgKM#uF z|Non!58f9e{1qXrwyUG54U=zLj#C`tZqd;dh0x(KHmBqf)WtDQej|v9^LH$%zR=ZG zM908U$A(cv7ejB@2omxAS@W;;+nZs5zRSKTcG)*<(o877j?4e0ZKqwPnM}ByrUL#2 z>&=I`R!_bsF-Y*Vp8_0@tZExU4+L1rE>oKvH)U3&(g2KP1(q%#CV-~LOM!o5p!oH~ z1DZ2%E_wkk20MZ5hY!EN8TbZdy;a&MoA}QreMNiach$kBmj|4tN#^OVK+UaHD);_< z3Mhv`^KJ2OOQRan2rPKnEe_0jl;1`mSEv%yVxap0V%>oJ1uAOL)w(+BwyOg^@-<-e zdGqZpI2(fZ27s&%UR#dzErTj%2)^CB{RIU1#jN>euu*yZ#zBvIRkYcJz%KTlbp*JT zC>K&aH#6|QN8R!*tQOs0oEFP}(q3dqxdu!Ez@yMHF zAbKPuf{Nv|yIU-0{0bZ}K!f-g{P$0q`Ee3x^AZsd?D2>wP61uDA+SE?NoxTIH_$-l zj(m!I!NV)pZ}S3&C!lm(1LwWgBd)IKrwi^Va4KW~iz8?&fMXw!bO2`qButO>5Ncpw zS$(UftXyr-;Rlvbz=ncc9L^b{`-Lok!uN8cuj^Y#ep z5y0d`!D8p^WOw+F)%^FgqWo0}0}O_3i?7oEjw=5CPDv&z5wF%0J4YdclEdH<^KMDadB}JG2f5b{ip9zz7mw% z07V3+zS63yQ$V2sknc&)f#~&`=gj^btG56gCL?7MaOn^}xBV*E2VmOGs)xU`;mw~Z(o7n4bc7jX*NvI zDBd#81d`)GX9BG&-EAxB$s-FsKw!Vd2NfppV6}QQZ1aHl96g{?gI+RdlY0T|^6~!I z8w(Q?V08YnO4gDZy^7u=I*qkiHYr`7mS^X%l4&vJNRkP}>?kE07!@^EG4-!jg9|e8 zVxyy@EvQ2Y#hTd|d-V+WGpSuwRHn=`Jb$Rr!U&bBjizwDgzSk{Dh%Q9UWuT?o2L&9 z4gC>->tY65DWZ?-vK#Px@;o_sZ!VA9jQd_-+g^wXI&L6APwm#?X-A5uIS6V&JHQNr z`6A@f1lp$F_xt)^S{{JuXp>$DFc+YA=DF(o42;cQQ`Q*DYoHwSg9-lP>z|d!2iKwH z1nW3X1t0LyfqpxPq`3x%7ks;YGbolKYAgZihIzQ6ZD$X(5t$) z1pf|mPhd`)%T8m%zk`tyaK_^#%=Cvw2iZoPMgHOU;JB|`oU#CQ_w~UEf%gf(swID9 zWMoK4G4A*iM8n89GBkvWjO+%c34b4GC-g-SZu4~VR0ApP7&tZkpER8(w@^$BS>rTl zM1iSJj#LGX4Y|3Lc7K7<6&6}ae-3<3@IFAm3r)ZHl3j}u4UBI<*#Q6=j8Oh0u*kcU zqyba)W$Pno%wPU?dfBz&*}(+bozNI)evJw@=!`5m*&*zJ{vX5)Ox6)U21K!OaHc_u zRe~w-ixAzJ)>2JxuQ2lQF47GQnZBg~4=Fj-`%5@kE^W_>w3I3ed`4mW{!wE#- zR{w`pdQs5G*hXVc2d%5Ivr#;~&oGc0P$|EEf10o5x=lYbGfCS$7i@llwGMdY+OF2a zK&|Q;E(jvI_}1PtwbX#&0NNk> z)9U&Hz_t#)q~(*I;T!q%1AA^vtdwg9jRXcJrmt-^#!&z0=rbSisNH0bff@wdGOquu z3`=iHkJcT%C9Rq6-eb66&F&2;)s|nZySK8^L$C_&mVvBB1+0!@3dN6V*Oo5#z6Z=m zd6`iNow`2c3Sk|{9QgK7!ft63o9=9sxCR5^q$rmR$~}lr+_CwD+Hx*+{szXE+07%4 zyrt{n&wGWXR*)kDYfgZ2@C==Y&aupom50?0h7`AZ9) z!v@&@B*XEaGQygkrOBDAs^UN%7xU)L)v0pS;);5sC;Q)L^tK-#F5f}*XCr(oU-lXF zV9>e%pz8q~bU@?!xcHNS2BE*M*>}lKzsaR^-bPMFW)C2aTpDU>h*0X;5SCr{5Z!FY zl%CF8dWFQMP-UMzNA(kw`ZkSPJaxok=w9W9@v<|xYZ;xy7xl-=_T?jq`1s8YDdqtc zSjKt7E0ND0O0LsQ?|IRWf>XZ2E0bO9bz1WL9{tSp;mz?41u%uK0A8`fU=HXkKwt%> zj2F=9fou;VbKJp1e@M6jglvP(JwUD&*l?052LS8a*vQ+obR>t;6k}Nm8~1eX0^l_+ zZVCt+1(iR~TEfW)-!V2eHUN?)*q6Zn3B-nmc)PG3SSbC0>BWe$b?s@*7-*G0tcNjq z^lkr2`eU8&FQ6%j-?JT-Ic`{uZr!JPnn;D#9_m(eQV^@Us8EW`u4j$TgYhv+HB*nM z2=})u$RF&&34zg540G^CmX5{#`Ld40j}#r=@|ez1A3+%Xumv~r&jd~_blHZ4*2TN^ zqAk6w;4Hf2h>z-e`Xj2|roaM|M`yv@JaKd0OuIO0+B@%MyE-R~F+2XS6YjJTAXWhC zB!5yC@F@Vo0DAK>$OC!=y^)#-g70|*tl?c1fKK~zy#iLl2<#2+zlZDrL8SmBiu&~E&)6w?e(4hOk7@eGCLwpF49R-QvhLw_ZIaY$FO z4-#yi3egGcvz%>{epWQ$!7G$`@i$cKW#k`XWBvHDf*u3>85V?^TskWjnoyTHtu$W{ z0fqXF%1gUqu6iqrXfiy^`-{gq>a5zFk&ccI816tK5(EmNdAeJ#fS#h_320a}J(iT0 z%gf6r4wy*fjNfbK(17#e71%?AE*lUbi5v&;j9i-T0npZPKBMi40MZ8C01M{2;yF8n zda+kr4iF|Q04#CE!A>o#tONEKvOoAPHEt-^u1@$o732&)S+k$k;S$a2r>>gG0A`&) z$YhzvKDqtR*ZM;WUwsj0auIv5X-Eo8R*S8X((2KDLeUlVo<@2ZFPFHSm-*PPc#Esx z_lM=jyvMWolE+ef4@;v7ShR*-ST%Hb%_c;^T+lWLQ|PHc0nZe?=q^tC<`0lBrOfGuGm)u4 zgAI}}KRP>~gO)1zf(5V-Kx6yo;PKXtB66+c)QrX?B@OJu=FkjUu%p<3nxUG0h-azW zP+A99jwj$wp`L$YowOb=u0=*l3D?fKzeFzU(9O>eMVwh;3_g%l$}byFT=8%zFMv{d zgw(ul@zCWYcV;G2g_Z@)`k3H5ys*9L81aj*ZP_Nafg)L?NS$1QnYJAcsb@vpX>xjf z4urroY09eUE}3qK-+TW6I`qC?=GrK(Ur`?~Ed-GK?6)owJk49I;PsshkkT<&DJe|) zr)w zz8Uj2oWPu=mZe}HNH4HET|5gui-tM#t9@<2RBluC7S^@OvOz+HDvpES@Ib}=5Xxm= zK|fSgQV~v_d?g)pCm#sE{zegdxP^J699IxWoK3K0F;GhBoY8`tj1-+po*G?KL4At# z_Y0&T!v%MSARx!u9;^PwU?X-CUu`Rqa;JCo)QM>_ReJV&EtRmQ>!|TXJ$c9loNzSQ zINHGa{0QdGQvgY&2AEO}z@fddVIq%U0WyAoq@)cLbRaZ^hJ~Gfxd+WbAiSId;M6hj zq5%fO!Dx;b*E>;Ip~} z3*#)fhvxSe#o({NB2eU zMt1fdiY1F7k`HZMq?A47r|Lgqldmi!W!KUd_fq4VoE0SeP$6N+oNNTSZq`3CSem3E z(fY3(-#&_WOKryw?jk8h1(l?JBWSE1Q;9yt{~*vRki%_5@54;ou32?r#-P`WLctP8 zElmiuP^|Nr$+=Eh0@wVS6|uS=k0;j1SPMh6*|Qc@bof2ydit*(Nm~hnJdTSkjJ#M- zPi1p-^f%p)yX9j&&#v?k0zbU@;}xb|I^$Bs$o*>3caJG*`a!|4sT;zPcyo?I%tpRd z=`wgoEgefYYE?bIu-KTXR0zTW%0pLvu5ypuCsZsR9@=84(8i+#W`h)IUG)y;a5ji9 zZRFx-#=xdyt(LAbMXbx1i~{!b{yDVj*q~+b?o2lR@H4Nxdv-BCG1<7Z1>EuOQ>F|d z;nVa%sD-9mT8bA-VILOmD&eFng6ca*?=7PH z9lmoII>jwI%bp=l>ldkf3mQrV%Z`;t{l->;aP^_tvVG}=9BCU5xoOU))sJ=)UiHEt z?RpI_bnWDP!sb`tH{*yr@-$ao!WRowr=2SDhkX%&MYn$^{F}c%9os4GOcv<9(os*= zvOQ=*9eLAq#;mQuiLDo~G(g_H1mzZOyiA0IG6;cY4*&25l%RT_J}Cn`Qiit|&`<%g z`OfR^vyss{a0-Ev7UcK<^62-Vz+cDfxCzTkZPy`7QKk%~PsBDbKF*05xC*SA@H1P( zZWNBN&;k2_OTg7R5_e^zet6rZk2yqoJB77Yvm!;xGrX1h#c}ShD5T)-5ctuccAz!d z%=k{$Tw^H^&e`AJj?aZ-Ub&&Mcdc$R^;_kG!rfLX<369`d(5XFX{j#Kq&CHaH1NXB z*IOx1`w76o1_uX$treW~K&TZ+tvcHL6&Vtu2}1pW2lFWq5k!Br=)D6?9ne3j(L+89 zG|f6i(RXKfNsD5t`%D{uQ19!hy0yKs|NN`L5$-eutBy8~Wv@CX2}_JE5@9G79!jmLBd1Sweo)W%F1akw_faOcJtcC9QKYr_ z!3G(+E;-NYx-L=C7S8TxeAz2}F&DcOT2Dl7I-ABhwJG#|&oxZqdo?8P>|St6`|J%S z`d<4U%BW|29EbGU%3YT*Yf09c&i5)*)AGN1k*dn!Qs3FStoDYYcCc=d!kjTR5(+Cq z;yiLS)#F=86`kR5uAZ6=(dciu5&BDmpS+?vol>MlA=EnYe%1t)p~Del*mF7}&Yr*L z3as)C5J zb0h5Zy(Xk^Swf&&qTqVLN)<**sv`giYbte6Vi{+e_(l^!5M|(sZy`hfH4gncCc3C5 zKZj|oM3SB_^roH{HFNet%z@Z%uz89UzEBi{t_!814&9(8X7&RQJsKIiSb+40*(nSM z;_BDn%#Ivl?YD}Z39=d;n0~8%w*x*}&Sk~?XVgM?n?=Q|g`%5p=z9aRGb#UU(i=$z z)Zie5(F|CSk}b>>>$vF%v3AZVAZN60)!a;IN(nh*ir2s`OZQZ6J7-~cIhj8xbf;A<(50aoJLC9|?u zN?)}1X#=z@@-8etkwvJioP0C=>a$@n41d&vuDxMK)d}17GXP@k9-otDC|ZQw+j$3{ z9WBztKh!d2F1V<0g3A6bU+v=OuruENJ01oyfoGXmZ-sD+j>6XxQEsV{^Eyoj1e|la z`psn3d%OA1&4*pt_h-Fa%yopQ`WfQZN*vT14#|fbJNvuS8^_nGa%Yb8o<5&!Wj_bq zc}i}v6kZ2iH2}?u^oPN{?( zseZ`7E#qiJK&~U%o67Q~_zO{;*a!jPZTN9LHT}>5z5e;id$y=q+X1fE4ZrOVo=%#o zURwJ!dqph>l5VjN%xHhgg0ltC@o$$~4J)j_8xVp0{iq6?d)SS>BB;@qN0JquvT4~w`e3;?>JIlGET8e*^;+ID zc=#hZ4R*#09;l!5=wWr;6E@bhhYA1nrK`8(=kfZ=T0|@s)62~C zHNT}2*gxLMxX1`po{Ca@ClB)xfkx&Xzszfe96FJBkpd-X^|wRT4i!W*7*p2(I|X~8 zR)&E)r{3UV^NS7150UhGKCN<;0;#RVNq3_hyfBqM3Hlnn^*3zPYbC3yX2!9~#jZ=f#pSmz{Qf9R8MS-WYP`g!U zDrcOEj;Xvx`gL%H&$y=IAx(H(eyB{cj%xhHodrVM5?!0HNn>D9am{uwZ6k8ne+!I` zD0l?_z$?jrXU)TG zzb9hvId)rJprK{h5Gn7{hL!$o(0@D6Gptku8cIqNfQW;RBWQ?Yi^H@7)fC2{??u*! zkI0H5(=hYSHNGLpLRV4M7x2{ORo7pIHn~NVN~Ai2LDo7(tQbzV!yrod%E?#q?`XvoZ+D77>DD4_hqUL`>+=~$a&34nZ3C?4cL zXQg!hXb3~RCKnX&ppBHG5`8M1%IN&6p{Ir)qQ4<%3n(f^sD?ZOMjHCg@8-Dp@etAY zW;KzCh*yb@Z^)hf*SHh-qkv>+u~(y`OV+Z^$TBt-ol0l&L=zn(DWjw`c({al`oK$0#n zLoe_7PJKfX%Cf>i?5--osaneIw5xj7k%aNX(N$d~JP^q#Z*%nz^#~W;=jz*EqE{z) z-%4HT4&lvpcmL+bUd_0Y@w8HCK2QeLef*K0=Xe<}Kp{)D; zlWyFr56B@4qNK_#_kTah;#Z3z-eD!g!9!Hjd?!w?jXbD3AnZgzrm5%Bkx6LK_TWsP z-ot#cGyiU|Bkia}JNq+%vAyO*qsB^l8G{BHqiVFrE)#^|!lOMw5ga6K|LQfF-I%rp z)z|VGK}Gy6LO%vn0$##EiKR7rJ4A6=zhR{&QD;2tl2o~*Ua_D-;UlM`rx~lq2)$MB za39%JIV!aKOCNrkII4OkUw+Tnt;n%)YjjbFLdSTP_cV>WYsKwxGr^4|P&;s~0)!0% zer-?)4#H%%^+uRQO?;@S6oPz~dAW=CGDJh`(B3Y`s-DZY*djp{LK`HuA3|t<>Gc=i z+h@|pnYDF-<7*xMS>;xR#h-6_LB!K<^}-coLsjIb-s(lKdE5VqPh7ER8an-P`n%1o zHlvNRZ)$`7j~)SIsS%AY%88pdG}GdPnw7yG`ie!F1Z11t#M75HH7l$g^cC8n zi6|cup9;@N9~WPmK|xg%qt`MsicvL@11qYFXf8g>NMMAR{zT-cM31ir~pl8(_-vc1D--7 zY;`40mNb7;odj}Hk-b!M0y0#ah(DnTs}2iQ^vc^b7@A0#y$)1yHntdV{(CPYqGQfJ zQn5rFR&h+-fmK`L7DuDE%XE$zON}WRs9f!A$0Tt zx1}r2ObCe-DOjykLIEBf9(}yRb}FOt+u5(svOoDz-~SsC95U9od_dw$v8{?CBnsrj z7AL@0V<7b>#T5^JA%3o|5MUCJKF0|EX(1i|2aTlgvd&tTVpuQ=xOVTf{-G0=0j_5w zfOW zfN<}||9b=8v#tLofU2{xl&wRqp@2OZl!~1&ZY6KT?VI`8)1s;(R}o9pzzVxUDZclT zW(@@^J(3M0xTuBqUBH{a8`tjH;q?eqHBe>Zb!CLJIj!#t#V`jJ;i>-|I%1;Zx)^c1Tv?Yw)wSir}+--o#`P?6Ha8=xzB80ag))s!=&NQuTfBuF8p=10x{Ot8^QW+fs|@<0tq_upjOB{R zB$3~M9w(|9$uU<5cX&Ds#gfMMb9zb+5H@ZQ4+SOUl-D4vP}AJ6+~sk% zi&3dSr-RrRU;&i&yP#c1!s95Gr_?|v{H!17RzYa5PG__~wt#Tl^$GQtDYCgpRXU8% zps!sRS3Gas#RocW_Zdq+O=aYjP{q}D8}b{|E}IndfM*@D9%0ASpe3s5RXIJoSjeaQ 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 xcNGH%zAy + after: | +
  • Published with bookdown
  • + edit: https://github.com/USERNAME/REPO/edit/BRANCH/%s + download: ["pdf", "epub"] +bookdown::pdf_book: + includes: + in_header: preamble.tex + latex_engine: xelatex + citation_package: natbib + keep_tex: yes +bookdown::epub_book: default diff --git a/docs/book.bib b/docs/book.bib new file mode 100644 index 0000000..f275a09 --- /dev/null +++ b/docs/book.bib @@ -0,0 +1,10 @@ +@Book{xie2015, + title = {Dynamic Documents with {R} and knitr}, + author = {Yihui Xie}, + publisher = {Chapman and Hall/CRC}, + address = {Boca Raton, Florida}, + year = {2015}, + edition = {2nd}, + note = {ISBN 978-1498716963}, + url = {http://yihui.org/knitr/}, +} diff --git a/docs/notatka_lab3/book_render.R b/docs/book_render.R similarity index 100% rename from docs/notatka_lab3/book_render.R rename to docs/book_render.R diff --git a/docs/czyste-dane.html b/docs/czyste-dane.html new file mode 100644 index 0000000..6bd80df --- /dev/null +++ b/docs/czyste-dane.html @@ -0,0 +1,1725 @@ + + + + + + + Chapter 6 Czyste dane | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
    + + +
    +
    + +
    +
    +

    Chapter 6 Czyste dane

    +

    Transformacja danych jest niezwykle ważnym elementem dobrze zrobionego raportu. Dane te powinny być prezentowane w sposób czytelny i ułatwiający ich porównywanie. To od potrzeby biznesowej zależy w jaki sposób powinniśmy przedstwiać dane. Np. dysponując wynikami finansowymi zbieranymi co miesiąc przez trzy lata bo planowania budżetu na następny rok przyda nam się prezentacja ich w formacie wąskim, czyli skupionym na wydatkach względem każdego roku. Jednakże, jeżeli chcielibyśmy kontrolować wydatki w tym następnym roku prezentacja danych w formacie szerokim będzie bardziej korzystna, gdyż będziemy mieli informację ile średnio wydajemy w danym miesiącu i na bieżąco będziemy mogli podejmować decyzję o inwestowaniu lub zaciskaniu pasa.

    +

    Niekiedy jednak dane mają bardziej skomplikowaną formę i np. składają się z wielu tabel. Wówczas dla łatwiejszego uzyskania informacji biznesowej będzie połączenie tych tabel. Takie operacje w połączeniu z odpowiednią agregacją i grupowaniem zdecydowanie ułatwia wgląd w aktualną sytuację.

    +

    Ostatnim tematem, na temat któtego ta notatka traktuje są operacje na napisach i datach. Bardzo łatwo uzmysłowić sobie przydatność w posługiwaniu się takimi operacjami. Ułatwia to konstruowanie prostych funkcji, które są kluczowe w każdym projekcie. Chociażby bazując na imionach i nazwiskach pewnych obywateli Polski łatwo wskazać z dużą pewnością kobiety w tym zbiorze sprawdzając ostatnią literę ich imienia (tj. czy dane imie kończy się na literę “a”).

    +
    +

    6.1 Dane w formacie wąskim i szerokim

    +

    Dane najczęściej są przedstawiane w postaci tabelarycznej. Jednak mogą być w tej tabeli różnie sformatowane. Wyróżnia się między innymi szeroką reprezentacje danych i wąską reprezentacje danych. W zależności od tego, co chcemy z nimi zrobić czasami trzeba przejść z jednej postaci do drugiej. Aby przetransformować dane korzysta się z funkcji z pakietów dplyr i tidyverse.

    +

    O postaci szerokiej mówimy, gdy pojedyncza zmienna jest rozdzielona pomiędzy kilka kolumn. Różnicę najłatwiej jest pokazać na przykładzie. W tym celu wykorzystamy wbudowany zbiór danych sleep zawierający informacje o wpływie dwóch leków nasennych na ilość przespanych godzin. Kolumna extra zawiera informacje o ilości dodatkowo przespanych godzin.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +extra + +group + +ID +
    +0.7 + +1 + +1 +
    +-1.6 + +1 + +2 +
    +-0.2 + +1 + +3 +
    +-1.2 + +1 + +4 +
    +-0.1 + +1 + +5 +
    +3.4 + +1 + +6 +
    +

    Dane są przedstawione w postaci wąskiej, każda zmienna jest przedstawiona w oddzielnej kolumnie. Teraz ‘rozbijmy’ kolumnę group na group 1 i group 2.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +ID + +group 1 + +group 2 +
    +1 + +0.7 + +1.9 +
    +2 + +-1.6 + +0.8 +
    +3 + +-0.2 + +1.1 +
    +4 + +-1.2 + +0.1 +
    +5 + +-0.1 + +-0.1 +
    +6 + +3.4 + +4.4 +
    +7 + +3.7 + +5.5 +
    +8 + +0.8 + +1.6 +
    +9 + +0.0 + +4.6 +
    +10 + +2.0 + +3.4 +
    +

    Można zaobserwować, że wartości z kolumny extra zostały wpisane w poszczególne komórki, a kolumna group została podzielona na dwie oddzielne kolumny group 1 i group 2. Tak sformatowane dane nazywamy szeroką reprezentacją danych.

    +
    +
    +

    6.2 Rozdzielanie na kolumny (wąska -> szeroka)

    +

    Aby przejść z wąskiego formatu przedstawiania danych do szerokiego, można użyć funkcji spread() z pakietu dplyr.

    +

    Funkcja spread(dataset,key,value) przyjmuje trzy agrumenty:

    +
      +
    • dataset - zbiór danych w formacie wąskim,

    • +
    • key - kolumna (klucz) odpowiadająca kolumnie, która ma zostać rozłożona,

    • +
    • value - kolumna, w której znajdują się wartości wypełniające nowe kolumny.

    • +
    +
    szeroka <- spread(sleep, group, extra)
    +colnames(szeroka) = c("ID","group 1","group 2")
    +kable_styling(kable(head(szeroka)), position = "center")
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +ID + +group 1 + +group 2 +
    +1 + +0.7 + +1.9 +
    +2 + +-1.6 + +0.8 +
    +3 + +-0.2 + +1.1 +
    +4 + +-1.2 + +0.1 +
    +5 + +-0.1 + +-0.1 +
    +6 + +3.4 + +4.4 +
    +

    Drugą opcją na uzyskanie tego samego rezultatu jest użycie funkcji pivot_wider z pakietu tidyverse.

    +

    Funkcja przyjmuje dwa argumenty pivot_wider(names_from = name, values_from = value):

    +
      +
    • name - nazwa kolumny, która ma zostać rozłożona,

    • +
    • value - nazwa kolumny, w której znajdują się wartości.

    • +
    +
    sleep %>%
    +    pivot_wider(names_from = group, values_from = extra)
    +
    +
    +

    6.3 Scalanie kilku kolumn w jedną (szeroka -> wąska)

    +

    Można wrócić z postaci szerokiej do wąskiej. W tym celu należy użyć funkcji gather() z pakietu tidyr.

    +

    Funkcja gather(dataset, key, value, other) przyjmuje również trzy argumenty:

    +
      +
    • dataset - zbiór danych w formacie szerokim,

    • +
    • key - nazwy kolumn z kluczami,

    • +
    • value - nazwy kolumn z wartościami,

    • +
    • other - kolumny dataset, które mają być zawarte w nowej tabeli.

    • +
    +

    Aby wrócić do postaci wąskiej nałóżmy funkcję gather na wygenerowaną wcześniej tabele szeroka.

    +
    kable_styling(kable(head(szeroka %>% 
    +  gather(group, extra, -ID))),position = "center")
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +ID + +group + +extra +
    +1 + +1 + +0.7 +
    +2 + +1 + +-1.6 +
    +3 + +1 + +-0.2 +
    +4 + +1 + +-1.2 +
    +5 + +1 + +-0.1 +
    +6 + +1 + +3.4 +
    +

    Drugą funkcją, która umożliwia przejście z szerokiej reprezentacji danych do wąskiej jest funkcja pivot_longer z pakietu tidyverse.

    +

    Funkcja pivot_longer(col_names, names_to = name, values_to = value) przyjmuje trzy argumenty

    +
      +
    • col_names - ciąg nazw kolumn, które chcemy złączyć,

    • +
    • name - nazwa nowo powstałej kolumny,

    • +
    • value - nazwa kolumny, w której pojawią się wartości.

    • +
    +
    kable_styling(kable(head(szeroka %>% 
    +  pivot_longer(c("1", "2"), names_to = "group", values_to = "extra"))), 
    +  position = "center")
    +
    +
    +

    6.4 Łączenie tabel danych

    +

    Mamy dwie tabele danych tab1 z małymi literami oraz tab2 z wielkimi literami:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Table 6.1: tab1 = x +
    +indeks + +litery +
    +1 + +a +
    +2 + +b +
    +3 + +c +
    +4 + +d +
    +5 + +e +
    +6 + +f +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Table 6.1: tab2 = y +
    +indeks + +LITERY +
    +4 + +E +
    +5 + +F +
    +6 + +G +
    +7 + +H +
    +8 + +I +
    +9 + +J +
    +

    gdzie x = tab1, a y = tab2.

    +

    Aby połączyć dwie tabele danych na podstawie wskazanych kolumn lub kolumn o wspólnej nazwie można użyć przykładowych funkcji.

    +
    +

    6.4.1 merge()

    +

    Dostępna w bazowym R. Domyślnie funkcja ta łączy tabele względem nazw kolumn, które są wspólne.

    +
    tabela <- merge(x = tab1, y = tab2)
    +kable(tabela)
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +indeks + +litery + +LITERY +
    +4 + +d + +E +
    +5 + +e + +F +
    +6 + +f + +G +
    +

    Jeśli chcemy być pewni, że tabele zostaną połączone po odpowiedniej kolumnie, możemy przekazać nazwę tej kolumny w argumencie. W tym przypadku:

    +
    merge(tab1, tab2, by = "indeks") # INNER JOIN
    +

    Jeśli jest więcej kolumn, po których chcemy połączyć tabele, wystarczy przekazać w argumencie by wektor z nazwami tych kolumn.

    +

    Gdy nazwy kolumn po których chcemy złączyć tabele różnią się, należy wykorzystać argument by.*. Załóżmy, że kolumna tabeli tab1 - indeks zmieniła nazwę na index, zatem:

    +
    merge(tab1, tab2, by.x = "index", by.y = "indeks")
    +

    Wartości kolumn indeks w tab1 oraz tab2 różnią się. Dlatego korzystając z funkcji bez dodatkowych argumentów tracimy dane.

    +

    Aby zapobiec traceniu danych z poszczególnych tabel należy skorzystać z argumentu all, brakujące wartości zostaną uzupełnione NA:

    +
    merge(tab1, tab2, all.x = TRUE) # LEFT JOIN
    +merge(tab1, tab2, all.y = TRUE) # RIGHT JOIN
    +merge(tab1, tab2, all = TRUE)   # OUTER JOIN
    +

    Dostajemy wtedy kolejno:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Table 6.2: all.x = TRUE +
    +indeks + +litery + +LITERY +
    +1 + +a + +NA +
    +2 + +b + +NA +
    +3 + +c + +NA +
    +4 + +d + +E +
    +5 + +e + +F +
    +6 + +f + +G +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Table 6.2: all.y = TRUE +
    +indeks + +litery + +LITERY +
    +4 + +d + +E +
    +5 + +e + +F +
    +6 + +f + +G +
    +7 + +NA + +H +
    +8 + +NA + +I +
    +9 + +NA + +J +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +Table 6.2: all = TRUE +
    +indeks + +litery + +LITERY +
    +1 + +a + +NA +
    +2 + +b + +NA +
    +3 + +c + +NA +
    +4 + +d + +E +
    +5 + +e + +F +
    +6 + +f + +G +
    +7 + +NA + +H +
    +8 + +NA + +I +
    +9 + +NA + +J +
    +

    Bez sprecyzowania argumentu sort wiersze wyniku merge() zostaną posortowane leksykograficznie po wspólnych kolumnach. Gdy sort = FALSE wiersze będą w nieokreślonej kolejności.

    +

    Kolumny złączonej tabeli to najpierw kolumny wspólne, następnie pozostałe z x a na końcu pozostałe z y, co widać na przykładach.

    +
    +
    +

    6.4.2 join()

    +

    Funkcja z paczki dplyr. Tabele x i y powinny zwykle pochodzić z tego samego źródła danych, ale jeśli copy = TRUE, y zostanie automatycznie skopiowany do tego samego źródła co x.

    +

    Są cztery typy join zmieniających:

    +
      +
    • left_join() - zwraca wszystkie wiersze z x i wszystkie kolumny z x i y. Wiersze w x bez dopasowania w y będą miały wartości NA w nowych kolumnach. Jeśli istnieje wiele dopasowań między x a y, zwracane są wszystkie kombinacje dopasowań
    • +
    +
    tabela <- left_join(tab1, tab2)
    +kable(tabela)
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +indeks + +litery + +LITERY +
    +1 + +a + +NA +
    +2 + +b + +NA +
    +3 + +c + +NA +
    +4 + +d + +E +
    +5 + +e + +F +
    +6 + +f + +G +
    +6 + +z + +G +
    +
      +
    • right_join() - analogicznie do left_join(), ale zwraca wszystkie wiersze z y, a wiersze bez dopasowania w x będą miały wartości NA

    • +
    • inner_join() - zwraca wszystkie wiersze z x, w których znajdują się pasujące wartości w y, oraz wszystkie kolumny z x i y. Jeśli istnieje wiele dopasowań między x a y, zwracane są wszystkie kombinacje dopasowań.

    • +
    +
    tabela <- inner_join(tab1, tab2)
    +kable(tabela)
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +indeks + +litery + +LITERY +
    +4 + +d + +E +
    +5 + +e + +F +
    +6 + +f + +G +
    +6 + +z + +G +
    +
      +
    • full_join() - zwraca wszystkie wiersze i wszystkie kolumny zarówno z x, jak i y. Jeśli nie ma pasujących wartości, zwraca NA dla brakujących.
    • +
    +
    tabela <- full_join(tab1, tab2)
    +kable(tabela)
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +indeks + +litery + +LITERY +
    +1 + +a + +NA +
    +2 + +b + +NA +
    +3 + +c + +NA +
    +4 + +d + +E +
    +5 + +e + +F +
    +6 + +f + +G +
    +6 + +z + +G +
    +7 + +NA + +H +
    +8 + +NA + +I +
    +9 + +NA + +J +
    +

    Argument by przyjmuje wektor nazw zmiennych do połączenia. Jeśli by = NULL funkcja *_join() domyślnie połączy tabele dopasowując wartości ze wszystkich kolumn o wspólnych nazwach w obu tabelach.

    +
    +
    +
    +

    6.5 Operacje na napisach i datach

    +

    Większość poniższych funkcji pochodzi z pakietu stringi.

    +
    +

    6.5.1 Operacje na napisach

    +
      +
    1. Wyznaczanie długości napisów. +Funkcja stri_lenght() zwraca długości poszczególnych napisów w danym wektorze, a stri_isempty() sprawdza, które napisy są puste -> ’’.

    2. +
    3. Łączenie i powielanie napisów. +Funkcja używana do łączenia kilku wektorów napisów w inny wektor napisów lub nawet w jeden napis, jest stri_paste() i jej warianty.

    4. +
    +

    Przykład:

    +
      x <- LETTERS[1:3]
    +    y <- letters[1:3] 
    +    z <- '!'
    +    stri_paste(x, y, z)
    +
    ## [1] "Aa!" "Bb!" "Cc!"
    +
      +
    1. Przycinanie i wypełnianie.
    2. +
    +

    Funkcja stri_wrap() wstawia znaki nowego wiersza (n), by napis po wyświetleniu np. przy funkcji cat() miał szerokość nie większą, niż podana, jeżeli to możliwe.

    +

    W przypadku przetwarzania tekstów pochodzących np. z formularzy na stronach internetowych może zachodzić potrzeba usunięcia tzw. białych znaków, np. spacji z początku lub końca napisu. Możemy to zrobić przy użyciu funkcji stri_trim(). Operacja w pewnym sensie odwrotną do tej można wykonać przy użyciu funkcji stri_pad().

    +

    Przykład:

    +
    stri_trim('            Mama i tata\n')
    +
    ## [1] "Mama i tata"
    +
      +
    1. Formatowanie napisów na podstawie innych obiektów. +Najprostszym sposobem na uzyskanie napisowej reprezentacji danego obiektu jest użycie funkcji as.character().
    2. +
    +

    Przykład:

    +
    as.character(list(1L, mean, NULL, pi, FALSE))
    +
    ## [1] "1"                                       "function (x, ...) \nUseMethod(\"mean\")"
    +## [3] "NULL"                                    "3.14159265358979"                       
    +## [5] "FALSE"
    +
    x <-data.frame(a=c(TRUE, FALSE, FALSE), b=as.integer(c(1, 2, 3)))
    +as.character(x)
    +
    ## [1] "c(TRUE, FALSE, FALSE)" "1:3"
    +
      +
    1. Zmiana pojedynczych znaków. +Zmiana poszczególnych znaków na inne przydaje się między innymi na etapie wstępnego przygotowania danych w celu ujednolicenia tekstowych identyfikatorów obiektów, możemy np. zmieniać wielkości wszystkich liter w napisach.
    2. +
    +

    Przykład:

    +
    stri_trans_toupper('chcemy duże litery')
    +
    ## [1] "CHCEMY DUŻE LITERY"
    +
    stri_trans_tolower('ChCemY MałE LiTErY')
    +
    ## [1] "chcemy małe litery"
    +
    stri_trans_char('zastępowanie znaków', 'ąćęłńóśżź', 'acelnoszz')
    +
    ## [1] "zastepowanie znakow"
    +
    stri_trans_general('żółć', 'Latin-ASCII')
    +
    ## [1] "zolc"
    +
      +
    1. Wyznaczanie podnapisów. +Funkcja stri_sub() zwraca podnapis składający się ze znaków leżących na określonych pozycjach danego napisu.
    2. +
    +

    Przykład:

    +
    x <- 'Lasy, pola, pastwiska, koszą traktorem'
    +        stri_sub(x, 7)  
    +
    ## [1] "pola, pastwiska, koszą traktorem"
    +
    +
    +

    6.5.2 Operacje na datach

    +
      +
    1. Funkcją zwracającą aktualną datę systemową jest Sys.Date(), a Sys.time() aktualny czas systemowy wraz z datą.
    2. +
    +

    Przykład:

    +
    (data <- Sys.Date())
    +
    ## [1] "2023-10-12"
    +
    (czas <- Sys.time())
    +
    ## [1] "2023-10-12 00:42:21 CEST"
    +
      +
    1. Operacje arytmetyczne na datach – dodawanie, odejmowanie i porównywanie.
    2. +
    +

    Przykład:

    +
    data
    +
    ## [1] "2023-10-12"
    +
    data-365
    +
    ## [1] "2022-10-12"
    +
    data+365
    +
    ## [1] "2024-10-11"
    +
    (d <- data-as.Date('2021-01-01'))
    +
    ## Time difference of 1014 days
    +
      +
    1. Do konwersji do napisu może służyć przeciążona wersja metody format(), której wywołanie jest tożsame z wywołaniem funkcji strftime() (ang. string-format-time).
    2. +
    +

    Przykład:

    +
    strftime(czas, '%Y-%m-%d %H:%M:%S %Z')  
    +
    ## [1] "2023-10-12 00:42:21 CEST"
    +
      +
    1. Do znajdowania “najstarszej” i “najmłodszej” daty używamy funkcji max() oraz min().

    2. +
    3. Do pracy ze strefami czasowymi możemy używać poniższych funkcji:

    4. +
    +
      +
    1. force_tz() ustawienie strefy czasowej,
    2. +
    3. with_tz() sprawdzenie daty w innej strefie czasowej.
    4. +
    + +
    +
    +
    +
    + +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + diff --git a/docs/czysty-i-wydajny-kod-w-r.html b/docs/czysty-i-wydajny-kod-w-r.html new file mode 100644 index 0000000..773943b --- /dev/null +++ b/docs/czysty-i-wydajny-kod-w-r.html @@ -0,0 +1,509 @@ + + + + + + + Chapter 8 Czysty i wydajny kod w R | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
    + + +
    +
    + +
    +
    +

    Chapter 8 Czysty i wydajny kod w R

    +
    +

    8.1 Czysty kod

    +

    Na początku zajmiemy się szeroko pojętą czystością kodu. Aby dany kod mógł aspirować do takiego miana, musi przede wszystkim spełniać dwa podstawowe warunki:

    +
      +
    1. Być łatwym do zrozumienia
    2. +
    +

    Aby kod był łatwy do zrozumienia musi być przede wszystkim czytelny. Niewątpliwie pomoże w\(~\)tym odpowiednie nazwanie zmiennych, zadbanie o to, żeby wszystkie użyte funkcje i obiekty miały swoją określoną rolę oraz by relacje między nimi były zrozumiałe.

    +
      +
    1. Być łatwym do zmiany
    2. +
    +

    Tworząc kod powinniśmy myśleć o tym, że będzie on w przyszłości wykorzystywany. Aby to ułatwić, musi być napisany w taki sposób, żeby można było nanieść drobne poprawki lub zmienić dane bez konieczności zmieniania całego kodu.

    +

    Jeśli te dwa warunki nie są spełnione, istnieje obawa, że wprowadzenie nawet najmniejszych zmian całkowicie zniszczy kod.

    +
    +

    8.1.1 Co jeśli w kodzie jest ,,bałagan’’?

    +

    Nieuporządkowany i nieklarowny kod może sprawić w przyszłości wiele kłopotów, takich jak na przykład:

    +
      +
    1. Zmarnowanie czasu
    2. +
    +

    Jeśli my lub ktokolwiek inny będzie chciał w przyszłości wykorzystać taki kod z pewnością straci mnóstwo czasu na próby jego przeczytania i zrozumienia. Gdy już mu się to uda, może napotkać kolejny problem w postaci trudności z wprowadzeniem jakichkolwiek zmian.

    +
      +
    1. Ograniczenie lub nawet brak możliwości rozwoju
    2. +
    +

    Złe napisanie kodu może spowodować, że po jego jedynym użyciu stanie się bezwartościowy. Nie będzie sensu wprowadzać w nim jakichkolwiek zmian (gdyż będzie to zbyt pracochłonne), ani w żaden sposób rozwinąć by mógł posłużyć do przyszłych projektów (gdyż nawet najmniejsze zmiany mogą ,,zepsuć’’ istniejący kod).

    +
      +
    1. Podatność na wystąpienie błędów
    2. +
    +

    W nieczytelnym i napisanym w sposób niezrozumiały kodzie, łatwo przemycić błędy, które na pierwszy rzut oka są niewidoczne, ale wychodzą na jaw później.

    +
    +
    +

    8.1.2 Opis zmiennych

    +
    +
    +

    8.1.3 Opis intencji

    +

    Aby tworzyć czysty kod musimy pamiętać o kilku zasadach. Jedną z nich jest odpowiednie nazywanie zmiennych. Nie powinniśmy używać do tego skrótów, czy przypadkowych znaków. Idealna nazwa od razu wskazuje na to, czym jest dany obiekt oraz co oznacza. Przedstawia zamiary, jakie mamy do nazywanego obiektu.

    +
    +
    +

    8.1.4 Unikanie błędnych informacji

    +

    Równie ważne jest, aby w nazwach nie znajdywały się błędy lub informacje, które mogą wprowadzić potencjalnego czytelnika w błąd. Mówimy tu np. o: +- nazwaniu kilku obiektów zbyt podobnie, +- użyciu do nazwania listy (np. osób) słowa \(\mathtt{List}\), choć w rzeczywistości ta ,,lista’’ osób może być wektorem, +- użyciu trudno rozróżnialnych znaków (takich jak np. 0 i O), +- nazwaniu wszystkich obiektów za pomocą jednej litery i cyfry (np. \(x_1,x_2,...,x_n\)).

    +
    +

    8.1.4.1 Kilka wskazówek

    +

    Jakie powinny być idealne nazwy obiektów w R? Oto kilka wskazówek: +- zrozumiałe dla osób, dla których jest przeznaczony kod, +- utrzymane w jednym stylu,
    +- łatwe do zrozumienia i napisania,
    +- nazwa obiektu powinna być rzeczownikiem, który wskazuje na to, z czym mamy do czynienia,
    +- nazwa funkcji powinna być czasownikiem wskazującym na to, co robi dana funkcja.

    +
    +
    +
    +

    8.1.5 Funkcje

    +

    W tym rozdziale dowiemy się jak pisać ,,dobre’’ funkcje. Tutaj również musimy pamiętać o kilku zasadach.
    +Funkcje powinny: +- być możliwie jak najkrótsze,
    +- odpowiadać za jedno pojedyncze zadanie, +- być na jednym poziomie abstrakcji, +- mieć maksymalnie 3 parametry.

    +

    To znaczy, że nie jest wskazane, aby tworzyć jedną wielką funkcję, która np. wylicza kilkanaście rzeczy, aby na końcu wygenerować jeden wynik. Zamiast tego lepiej stworzyć kilka mniejszych funkcji, które będą się odwoływały do poprzednich. Dzięki temu nasz kod będzie bardziej przejrzysty oraz w prosty sposób będzie można sprawdzić, czy pojedyncze funkcje działają poprawnie.

    +

    Co więcej, nie ma sensu tworzyć funkcji, która zwraca nam już oprawioną tabelę z wynikami. Lepiej, gdy zwraca surowe wyniki, a tworzeniem tabeli zajmuje się kolejna funkcja.

    +

    Przykładowa, poprawnie napisana funkcja:

    +
    calculate_conf_interval = function(sample, alpha) {
    +  len = length(sample)
    +  successes = length(sample[sample == 1])
    +  mi = successes / n
    +  se = sqrt(mi * (1 - mi) / len)
    +  quantile = qt(1 - alpha / 2, len - 1)
    +  left = mi - quantile * se
    +  right = mi + quantile * se
    +  return(c(left, right))
    +}
    +

    Przykładowa funkcja, napisana w ,,nieładny’’ sposób:

    +
    func= function(x,y,temp1,temp2){
    +  n =length(x)
    +  s <-length(x[x==1])
    +  m = s/n
    +  sgm = sqrt(mi *(1- m)/n)
    +  q<-qt(1 - y /2,len-1)
    +  tmp = (s + 0.5 * q ^ 2) /(n + q ^ 2)
    +  se = sqrt(tmp *(1 - tmp)/ (n+ q^2))
    +  l<- tmp- q* se
    +  r = tmp + q*se
    +return(c(l,r))}
    +

    Główne problemy: +- czasem przypisanie jest za pomocą =, czasem <-,
    +- brak spacji po przecinkach,
    +- brak spacji pomiędzy +, -, *, /, itd,
    +- niepoprawnie umiejscowione nawiasy {, }.
    +- nazwa funkcji nie opisuje, co robi ta funkcja,
    +- zmienne mają nic nieznaczące i jednoliterowe nazwy,
    +- nazwa zmiennej tmp także nie mówi, czym ona jest,
    +- dwa nieużywane parametry funkcji.

    +
    +
    +

    8.1.6 Komentarze

    +

    Zazwyczaj komentarze do kodu nie są potrzebne, a wręcz zbędne. Dzieje się tak, ponieważ dobrze napisany kod powinien sam się tłumaczyć, tzn. być na tyle zrozumiałym, żeby dodatkowe komentarze nie były potrzebne.

    +

    Jeśli jednak w kodzie jest bałagan, dodatkowe komentarze mogą wręcz wprowadzić dodatkowy chaos.

    +

    Od tej reguły są jednak pewne wyjątki. Jeśli używamy niezbyt oczywistych implementacji lub ,,sztuczek programistycznych’’ warto wspomnieć w komentarzu, co się w danej chwili dzieje. Wyjątkiem są też komentarze informujące o tym, co trzeba jeszcze zrobić lub o potrzebie poprawienia jakiejś części kodu.

    +
    +
    +

    8.1.7 Obiekt a struktura danych

    +

    W kontekście pisania czystego i wydajnego kodu, należy wziąć pod uwagę rozróżnienie pomiędzy klasami a strukturami danych. Te pierwsze zawierają atrybuty i funkcje, a instancje klasy nazywamy obiektem. Zastosowanie klas pozwala na stworzenie interfejsu definującego pewne dane. Struktury danych służą natomiast do reprezentacji danych dowolnego typu a nie ich opisu.

    +
    +
    +
    +

    8.2 Styl kodu i narzędzia pomagające w utrzymaniu czystego kodu

    +

    Dobry styl kodowania jest porównywany do prawidłowego stosowania interpunkcji. Jest możliwe nie stosowanie się do jej zasad, jednak przestrzeganie ich pozwala, aby w zapisie panował ład i porządek. +W R dominują dwa style, które pomagają utrzymać dobry układ kodu. Jednym jest tidyverse style, a\(~\)drugim, wywodzącym się z poprzedniego, Google style. Istnieją przewodniki, które ułatwiają stosowanie się do zasad panujących w tych stylach. Style ustosunkowują się m.in. do stawiania spacji po przecinkach, przed operatorami matematycznymi oraz po nich, a także podkreślników w nazwach.
    +Dodatkowo można zainstalować pakiety, które będą pomagać w utrzymaniu schludnego kodu: cleanr, stylerr, lintr.

    + +
    +
    +
    + +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + diff --git a/docs/eksploracyjna-analiza-danych.html b/docs/eksploracyjna-analiza-danych.html new file mode 100644 index 0000000..a4a159e --- /dev/null +++ b/docs/eksploracyjna-analiza-danych.html @@ -0,0 +1,465 @@ + + + + + + + Chapter 4 Eksploracyjna analiza danych | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
    + + +
    +
    + +
    +
    +

    Chapter 4 Eksploracyjna analiza danych

    +

    Badanie eksploracyjne danych (ang. exploratory data analysis) dotyczy opisu, wizualizacji i badania zebranych danych bez potrzeby zakładania z góry hipotez badawczych. Badania ekploracyjne obejmują również wstępne sprawdzenie danych w celu skontrolowania założeń modeli statystycznych lub występowania błędów w danych (np. braków odpowiedzi).

    +
    +

    4.1 Dane tabelaryczne

    +

    Dane tabelaryczne to dane, które mają postać tabeli. Tabela to struktura danych, która składa się z wierszy i kolumn. Każdy wiersz odpowiada pewnej obserwacji, której cechy zostały zapisane w kolejnych kolumnach.

    +
    +
    +

    4.2 Typy zmiennych

    +

    Zmienne, które opisują kolejne obserwacje możemy podzielić na:

    +
      +
    • zmienne jakościowe (niemierzalne) +
        +
      • porządkowe - np. klasyfikacja wzrostu (niski, średni, wysoki)
      • +
      • nominalne - np. kolor oczu, płeć, grupa krwi
      • +
    • +
    • zmienne ilościowe (mierzalne) +
        +
      • dyskretne - np. liczba dzieci, liczba gospodarstw domowych, wiek (w rozumieniu ilości skończonych lat)
      • +
      • ciągłe - np. wzrost, masa, wiek (w rozumieniu ilości dni między datą urodzin a datą badania)
      • +
      • proporcjonalne - np. masa, długość, temperatura wyrażona w Kelwinach lub stopniach Rankine’a (przyjmujemy istnienie zera i możemy twierdzić, że jedno ciało jest dwukrotnie gorętsze od drugiego)
      • +
      • interwałowe - np. temperatura wyrażona w stopniach Celsjusza lub Fahrenheita (możemy twierdzić, że coś jest o 20 °C cieplejsze od czegoś innego, ale nie możemy stwierdzić ilokrotnie cieplejsze jest ciało o temperaturze 40 °C od ciała o temperaturze –10 °C), data kalendarzowa (możemy mówić o stałej różnicy pomiędzy kolejnymi dniami)
      • +
    • +
    +
    +
    +

    4.3 Miary

    +

    Zapoznając się z danymi chcielibyśmy sprawdzić wokół jakiej wartości są skupione oraz jak bardzo są zmienne wartości danej cechy.

    +

    Miary lokacji (miary tendencji centralnej) pomagają nam umiejscowić dane na osi. Przykładami takich miar są:

    +
      +
    • średnia - najczęściej arytmetyczna określona jako \(\overline{x} = \frac{1}{n}\sum\limits_{i=1}^n x_i\).
    • +
    • dominanta (moda) - ozn. \(Mo\) - dla zmiennych o rozkładzie dyskretnym, wartość o największym prawdopodobieństwie wystąpienia lub wartość najczęściej występująca w próbie. Dla zmiennej losowej o rozkładzie ciągłym jest to argument, dla którego funkcja gęstości prawdopodobieństwa ma wartość największą.
    • +
    • mediana - ozn. \(Me\) - wartość cechy w szeregu uporządkowanym, powyżej i poniżej której znajduje się jednakowa liczba obserwacji.
    • +
    • kwantyle rzędu \(p\) - wartość cechy w szeregu uporządkowanym, poniżej której znajduje się \(p \cdot 100\%\) liczby obserwacji, a powyżej której znajduje się \((1 - p) \cdot 100\%\) liczby obserwacji.
    • +
    +

    Natomiast miary rozrzutu dostarczają informacji jak bardzo zróżnicowane są obserwacje pod względem badanej cechy. Przykładami takich miar są:

    +
      +
    • wariancja - stopień rozrzutu badanej cechy wokół wartości oczekiwanej. Im większa wariancja, tym rozrzut zmiennej jest większy. Nieobciążony estymator wariancji wyraża się wzorem: \(s^2 = \frac{1}{n}\sum\limits_{i=1}^n\left(x_i - \overline{x}\right)^2\)
    • +
    • odchylenie standardowe - mówi nam o przeciętnym odchyleniu wartości zmiennej losowej od jej wartości oczekiwanej. Im odchylenie standardowe jest większe, tym większe zróżnicowanie wartości badanej cechy. Odchylenie standardowe z próby obliczamy jako pierwiastek z wariancji z próby, tzn. \(s = \sqrt{s^2}\).
    • +
    • rozstęp międzykwartylowy - różnica między trzecim a pierwszym kwartylem. Ponieważ pomiędzy tymi kwartylami znajduje się z definicji 50% wszystkich obserwacji (położonych centralnie w rozkładzie), dlatego im większa szerokość tego rozstępu, tym większe zróżnicowanie cechy.
    • +
    +

    Wyróżniamy także miary asymetrii. Miary asymetrii mówią nam, czy większa część populacji klasuje się powyżej, czy poniżej przeciętnego poziomu badanej cechy. Asymetrię rozkładu można zbadać porównując średnią, dominantę i medianę.

    +
      +
    • W przypadku rozkładu symetrycznego wszystkie te parametry są równe.
    • +
    • Jeśli zachodzi nierówność \(Mo < Me < \mathbb{E} X\), to mamy do czynienia z prawostronną asymetrycznością rozkładu. Tzn. dużo małych wartości i bardzo mało dużych.
    • +
    • Jeśli zachodzi nierówność \(\mathbb{E} X < Me < Mo\), to mamy do czynienia z lewostronną asymetrycznością rozkładu. Tzn. mało małych i bardzo dużo dużych.
    • +
    +
    +
    +

    4.4 R - podsumowanie kolumn

    +

    Podstawowymi funkcjami, które pomagają nam zapoznać się z danymi są funkcje:

    +
      +
    • \(\texttt{head}\) - zwraca pierwszą część wektora, macierzy, tabeli lub ramki danych. Domyślnie 6 pierwszych elementów.
    • +
    • \(\texttt{nrow}\) - zwraca liczbę wierszy macierzy, tabeli lub ramki danych.
    • +
    • \(\texttt{ncol}\) - zwraca liczbę kolumn macierzy, tabeli lub ramki danych.
    • +
    +

    Natomiast podstawowymi funkcjami, które podsumowują kolejne kolumny są funkcje:

    +
      +
    • \(\texttt{str}\) - zwraca strukturę danego obiektu. Wyświetla np. klasę obiektu, liczbę wierszy i kolumn, a także nazwę danej kolumny, typ wartości w niej zawartych, jak i kilka początkowych wartości.

    • +
    • \(\texttt{summary}\) - zwraca podsumowanie każdej kolumny. Dla zmiennych ciagłych wyznacza wartości tj.:

      +
        +
      • wartość najmniejsza i największa
      • +
      • średnia i mediana
      • +
      • 1 (0.25) i 3 (0.75) kwartyl
      • +
      • liczba wartości brakujących (NA)
      • +
      +

      Natomiast w przypadku zmiennych dyskretnych wyznacza liczbę obserwacji, które przyjmują daną wartość zmiennej.

    • +
    • \(\texttt{glimpse}\) - funkcja z pakietu \(\texttt{tidyverse}\) podobna do \(\texttt{str}\), ale stara się pokazać jak najwięcej danych. Wyświetla np. liczbę wierszy i kolumn, a także nazwę danej kolumny, typ wartości w niej zawartych oraz jak najwięcej wartości z tej kolumny.

    • +
    + +
    +
    +
    + +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + diff --git a/docs/img/app.R b/docs/img/app.R new file mode 100644 index 0000000..0db40a0 --- /dev/null +++ b/docs/img/app.R @@ -0,0 +1,72 @@ +library(shiny) +library(ggplot2) + +ui <- fluidPage( + titlePanel("Przykładowe ciągłe rozkłady prawdopodobieństwa"), + tabsetPanel( + #generujemy panel dla rozkładu normalnego + tabPanel(title = "Rozkład normalny", + tabsetPanel( + tabPanel( + title = "Wykres", + numericInput(inputId = "normal_n", + label = "Podaj wielkość próby", + value = 1000), + plotOutput("normal_plot") + ), + tabPanel( + title = "Dane", + tableOutput("normal_data") + ) + ) + ), + #generujemy panel dla rozkładu wykładniczego + tabPanel(title = "Rozkład wykładniczy", + tabsetPanel( + tabPanel( + title = "wykres", + numericInput(inputId = "exp_n", + label = "Podaj wielkość próby", + value = 1000), + plotOutput("exp_plot") + ), + tabPanel( + title = "Dane", + tableOutput("exp_data") + ) + ) + ) + ) +) + +server <- function(input, output, session) { + #generujemy dane + normal_data <- reactive({ + set.seed(17) + data.frame(id = 1:input[["normal_n"]], + sample = rnorm(input[["normal_n"]])) + }) + exp_data <- reactive({ + set.seed(17) + data.frame(id = 1:input[["exp_n"]], + sample = rnorm(input[["exp_n"]])) + }) + #generujemy tabele + output[["normal_data"]] <- renderTable({ + normal_data() + }) + output[["exp_data"]] <- renderTable({ + exp_data() + }) + #generuemy wykresy + output[["normal_plot"]] <- renderPlot({ + ggplot(normal_data(), aes(x = sample)) + + geom_density() + }) + output[["exp_plot"]] <- renderPlot({ + ggplot(exp_data(), aes(x = sample)) + + geom_density() + + xlim(0, 5) + }) +} +shinyApp(ui, server) diff --git a/docs/img/app_screen1.PNG b/docs/img/app_screen1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..acc50a34e48b214468e57723821122ccc1f3ec21 GIT binary patch literal 28364 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 literal 0 HcmV?d00001 diff --git a/docs/img/csv_example.gif b/docs/img/csv_example.gif new file mode 100644 index 0000000000000000000000000000000000000000..f53273e5ea2511d67533723664be76499775d955 GIT binary patch literal 7681 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%0D?fK_x%EM=v3ex-c>h76RF98eR* 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

    e=6`F>VVGa*xM>gzo{7_+gk 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 literal 0 HcmV?d00001 diff --git a/docs/img/json_example.jpeg b/docs/img/json_example.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5bcb72e7adbd685abb201b53435ade731baaed32 GIT binary patch literal 7658 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 literal 0 HcmV?d00001 diff --git a/docs/img/libreoffice_example.png b/docs/img/libreoffice_example.png new file mode 100644 index 0000000000000000000000000000000000000000..0fef9330a3fb317ad734ff32b73f549907639336 GIT binary patch literal 94668 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/img/xml_example.gif b/docs/img/xml_example.gif new file mode 100644 index 0000000000000000000000000000000000000000..405cf639c34c3907743199b16368e09165604e83 GIT binary patch literal 8916 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/index.Rmd b/docs/index.Rmd new file mode 100644 index 0000000..1677ef3 --- /dev/null +++ b/docs/index.Rmd @@ -0,0 +1,36 @@ +--- +title: "Notatki z laboratoriów ,,Programowanie i analiza danych w R''" +subtitle: "Instytut Matematyczny, Uniwersytet Wrocławski" +author: "Mateusz Staniak" +date: "`r Sys.Date()`" +site: bookdown::bookdown_site +documentclass: book +bibliography: [book.bib, packages.bib] +# url: your book url like https://bookdown.org/yihui/bookdown +# cover-image: path to the social sharing image like images/cover.jpg +description: | + Notatki z laboratoriów Programowanie i analiza danych w R. +link-citations: yes +github-repo: rstudio/bookdown-demo +--- + +# Wstęp + + +Autorzy poszczególnych rozdziałów: + + - _Podstawy języka R_: Michał Dylewicz, Marcela Kamchen, Anna Krasoń, Katarzyna Kulon, Arkadiusz Soból (z wyjątkiem podrozdziału _Funkcje_). + - _Wczytywanie danych_: Marta Kałużna, Sebastian Jachimek, Joanna Grunwald, Wojciech Wojnar. + - _Eksploracyjna analiza danych_: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. [Także podrozdział _Funkcje_ pierwszego rozdziału.] + - _Podstawy kontroli wersji z Gitem_: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. + - _Przetwarzanie danych tabelarycznych_: Weronika Domaszewska, Ewelina Grzmocińska, Gracjan Hrynczyszyn, Dominik Jaźwiecki, Michał Ociepa. + - _Czyste dane_: Kacper Ambroży, Dominika Szewc, Radosław Szudra, Helena Wołoch. + - _Wizualizacja danych z pakietem ggplot2_: Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski + - _Czysty i wydajny kod w R_: Paulina Bannert, Natalia Bercz, Piotr Mrozik, Dariusz Sudół, Monika Wyźnikiewicz + - _Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika_: Stanisław Banaszek, Mateusz Drobina, Dominik Mika, Adrian Płoszczyca, Jakub Sobkowiak + - _Interaktywna wizualizacja danych z pakietem shiny: strona serwerowa_: Wojciech Leszkowicz, Małgorzata Stawińska, Tomasz Szmyd, Maciej Tadej. + +Dodatkowe rozdziały: + - _Podstawy kontroli wersji przy pomocy Gita_: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. + - _Programowanie obiektowe w R: klasy S3_: Agata Cieślik. + - _Moduły w aplikacjach shiny_: Krystyna Grzesiak. diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..63fadfb --- /dev/null +++ b/docs/index.html @@ -0,0 +1,420 @@ + + + + + + + Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    + +
    + +
    + +
    +
    + + +
    +
    + +
    + +
    +

    Chapter 1 Wstęp

    +

    Autorzy poszczególnych rozdziałów:

    +
      +
    • Podstawy języka R: Michał Dylewicz, Marcela Kamchen, Anna Krasoń, Katarzyna Kulon, Arkadiusz Soból (z wyjątkiem podrozdziału Funkcje).
    • +
    • Wczytywanie danych: Marta Kałużna, Sebastian Jachimek, Joanna Grunwald, Wojciech Wojnar.
    • +
    • Eksploracyjna analiza danych: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. [Także podrozdział Funkcje pierwszego rozdziału.]
    • +
    • Podstawy kontroli wersji z Gitem: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela.
    • +
    • Przetwarzanie danych tabelarycznych: Weronika Domaszewska, Ewelina Grzmocińska, Gracjan Hrynczyszyn, Dominik Jaźwiecki, Michał Ociepa.
    • +
    • Czyste dane: Kacper Ambroży, Dominika Szewc, Radosław Szudra, Helena Wołoch.
    • +
    • Wizualizacja danych z pakietem ggplot2: Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski
    • +
    • Czysty i wydajny kod w R: Paulina Bannert, Natalia Bercz, Piotr Mrozik, Dariusz Sudół, Monika Wyźnikiewicz
    • +
    • Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika: Stanisław Banaszek, Mateusz Drobina, Dominik Mika, Adrian Płoszczyca, Jakub Sobkowiak
    • +
    • Interaktywna wizualizacja danych z pakietem shiny: strona serwerowa: Wojciech Leszkowicz, Małgorzata Stawińska, Tomasz Szmyd, Maciej Tadej.
    • +
    +

    Dodatkowe rozdziały: +- Podstawy kontroli wersji przy pomocy Gita: Magdalena Mazur, Agata Rogowska, Zuzanna Różak, Aleksandra Siepiela. +- Programowanie obiektowe w R: klasy S3: Agata Cieślik. +- Moduły w aplikacjach shiny: Krystyna Grzesiak.

    + +
    +
    + +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + diff --git "a/docs/interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-u\305\274ytkownika.html" "b/docs/interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-u\305\274ytkownika.html" new file mode 100644 index 0000000..8e55869 --- /dev/null +++ "b/docs/interaktywna-wizualizacja-danych-z-pakietem-shiny-interfejs-u\305\274ytkownika.html" @@ -0,0 +1,571 @@ + + + + + + + Chapter 9 Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
    + + +
    +
    + +
    +
    +

    Chapter 9 Interaktywna wizualizacja danych z pakietem shiny: interfejs użytkownika

    +
    +

    9.1 Wstęp

    +

    Shiny jest pakietem R pozwalającym na tworzenie interaktywnych aplikacji webowych w łatwy i przystępny sposób. Aplikacja w shiny zbudowana jest z dwóch następujcych elementów:

    +
      +
    • ui - user interface, czyli obiekt, w którym zawarty jest wygląd aplikacji,

    • +
    • server - funkcja organizująca działanie aplikacji.

    • +
    +

    Do uruchomienia aplikacji służy funkcja shinyApp(ui, server). Stworzenie dobrej i czytelnej aplikacji może znacznie ułatwić analizowanie danych.

    +

    W tej notatce zajmiemy się omówieniem elementów oraz podstawowych schematów budowy UI.

    +
    library(shiny)
    +library(shinyWidgets)
    +library(shinydashboard)
    +
    +
    +

    9.2 Tworzenie UI

    +

    Do budowania podstawowego interfejsu w shiny będziemy korzystać z funkcji fluidPage, w której tworzymy cały UI. Wszystkie informacje o rodzajach wprowadznych danych, strukturze wyświetlanych danych oraz szeroko rozumianej estetyce aplikacji będą zawarte wewnątrz tej funkcji.

    +
    ui <- fluidPage(
    + # coś
    +)
    +
    +
    +

    9.3 Układ strony

    +

    Tym co jest bardzo ważne w UI jest oczywiście wygląd, a dokładniej mówiąc przejrzystość i czytelność, dlatego chcielibyśmy uporządkować wyświetlane elementy tak, aby umożliwić użytkownikowi intuicyjne korzystanie z aplikacji. Pakiet shiny oferuje wiele narzędzi pozwalających na zorganizowanie układu interfejsu zgodnie z naszymi oczekiwaniami.

    +

    Przydadzą nam się do tego następujące funkcje:

    +
      +
    • titlePanel - funkcja tworząca panel tytułowy, w której podajemy tytuł aplikacji,

    • +
    • sidebarLayout - funkcja organizująca wygląd strony jako mniejszy panel boczny po lewej stronie oraz większy panel po prawej stronie,

    • +
    • sidebarPanel - funkcja, którą możemy umieścić w poprzedniej funkcji, aby uporządkować panel, w którym będziemy np. wprowadzać dane,

    • +
    • mainPanel - funkcja, w której umieszczamy treści, które chcemy, aby znalazły się w panelu głównym,

    • +
    • tabsetPanel - funkcja umożliwiająca organizowanie paska zakładek. Aby utworzyć zakładki w jej ciele używamy funkcji tabPanel, w której umieszczamy dowolne treści, np. wykresy lub tabele.

    • +
    +

    Oprócz tego możemy bardziej modyfikować wygląd aplikacji dzięki funkcjom fluidRow i column pozwalającym na uporządkowanie obiektów odpowiednio w wierszach oraz kolumnach.

    +
    +
    +

    9.4 Elementy wejścia i wyjścia

    +

    Układ strony należy oczywiście podporządkować temu jaką funkcję ma pełnić aplikacja, a także temu jaki rodzaj interakcji ma mieć z nią docelowo użytkownik. Interakcje użytkownika z aplikacją można intuicyjnie podzielić na to co zostaje do aplikacji wprowadzone (input) oraz to co ostatecznie w związku z tym aplikacja zwraca (output). Każdy input i output jest w kodzie identyfikowany dzięki nadanej mu przez nas nazwie. Wewnątrz fluidPage możemy zawrzeć różne rodzaje inputów i outputów w zależności od rodzaju wprowadzanych/wyświetlanych danych.

    +
    +

    9.4.0.1 Przykładowe elementy wejścia

    +
      +
    • textInput - funkcja tworząca pole, w którym użytkownik może wprowadzić dowolny tekst,
    • +
    +
    ui <- fluidPage(
    +  # Okienko do wpisywania tekstu
    +  textInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji")
    +)
    +
      +
    • numericInput - funkcja tworząca pole, w którym użytkownik może wprowadzić wartość liczbową,
    • +
    +
    ui <- fluidPage(
    +  # Okienko do wpisywania liczb
    +  numericInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji",
    +              # Wartość domyślna
    +              value = 10)
    +)
    +
      +
    • selectInput - funkcja tworząca listę, z której użytkownik może dokonać wyboru - domyślnie parametr multiple umożliwia wybór jednej pozycji z listy,
    • +
    +
    ui <- fluidPage(
    +  # Możliwość wybrania z listy
    +   selectInput("nazwa_inputu_3", "Tekst wyświetlany w aplikacji", 
    +               # Lista możliwości do wyboru
    +               choices = c("Wybór_1", "Wybór_2"))
    +)
    +
      +
    • sliderInput - funkcja tworząca suwak umożliwiający użytkownikowi wybór zakresu interesujących go wartości,
    • +
    +
    ui <- fluidPage(
    +  # Suwak do wyboru wartości
    +  sliderInput("nazwa_inputu_4", "Tekst wyświetlany w aplikacji",
    +              # Wartość domyślna
    +              value = 1,
    +              # Wartość minimalna
    +              min = 0,
    +              # Wartość maksymalna
    +              max = 10)
    +)
    +
      +
    • dateRangeInput - funkcja tworząca pole wyboru zakresu interesujących dat.
    • +
    +
    ui <- fluidPage(
    +  # Pole wyboru zakresu dat
    +  dateRangeInput("nazwa_inputu_5", "Tekst wyświetlany w aplikacji",
    +                 # Data początkowa
    +                 start = "2001-01-01",
    +                 # Data końcowa
    +                 end   = "2010-12-31")
    +)
    +
    +
    +

    9.4.0.2 Przykładowe elementy wyjścia

    +

    Używanie funkcji wyświetlających outputy jest bardzo proste, ponieważ w UI decydujemy jedynie gdzie i jak wyswietlić output, który jest obiektem utworzonym wewnątrz funkcji server na podstawie wprowadzonego przez użytkownika inputu.

    +
      +
    • textOutput - funkcja wyświetlająca tekst,
    • +
    +
    ui <- fluidPage(
    +  # Wyświetla tekst, który stworzyliśmy w serwerze pod daną nazwą
    +  textOutput("nazwa_outputu_1")
    +)
    +
      +
    • tableOutput - podstawowa funkcja wyświetlająca tabelę,
    • +
    +
    ui <- fluidPage(
    +  # Wyświetla tabelę stworzoną w serwerze pod daną nazwą
    +  tableOutput("nazwa_outputu_2")
    +)
    +
      +
    • DTOutput - funkcja wyświetlająca interaktywną ramkę danych z użyciem pakietu data.table,
    • +
    +
    ui <- fluidPage(
    +  # Interaktywna ramka danych z użyciem data.table
    +  DT::DTOutput("nazwa_outputu_3")
    +)
    +
      +
    • plotOutput - funkcja wyświetlająca wykres.
    • +
    +
    ui <- fluidPage(
    +  # Wyświetla wykres stworzony w serwerze
    +  plotOutput("nazwa_outputu_4",
    +             # Szerokość wykresu
    +             width = "100%", 
    +             # Wysokość wykresu
    +             height = "400px")
    +)
    +
    +
    +
    +

    9.5 Przykład użycia

    +

    Oczywiście powyższe kody były jedynie fragmentami większej całości. Poniżej możemy zobaczyć przykładowy kod obrazujący strukturę budowy interfejsu. Rzeczą, o której należy pamiętać jest oddzielanie funkcji przecinkami.

    +
    ui <- fluidPage( 
    +  # Tytuł
    +  titlePanel("Tytuł"),
    +  
    +  # To co będzie wyświetlone z boku interfejsu
    +  sidebarLayout(
    +    
    +    # Panel boczny
    +    sidebarPanel(
    +      
    +      # Pierwszy input - wybór
    +      selectInput("nazwa_inputu_1", "Tekst wyświetlany w aplikacji", 
    +                  choices = c("Wybór_1", "Wybór_2")),
    +      # Drugi input - suwak
    +      sliderInput("nazwa_inputu_2", "Tekst wyświetlany w aplikacji",
    +                  value = 1, min = 0, max = 10) 
    +    ),
    +  
    +  # Główny panel
    +  mainPanel( 
    +    
    +    # Tworzymy zakładki
    +    tabsetPanel( 
    +      
    +      # Pierwsza zakładka - wykres
    +      tabPanel("Tytuł wykresu", plotOutput("nazwa_outputu_1")),
    +      # Druga zakładka - ramka danych
    +      tabPanel("Tytuł ramki", DT::DTOutput("nazwa_outputu_2"))
    +      )
    +    )
    +  )
    +)
    +

    Dodatkowo warto zdawać sobie sprawę, że po wprowadzeniu danych przez użytkownika outputy aktualizują się automatycznie, dlatego często przydatne jest programowanie reaktywne z funkcją observeEvent oraz użycie actionButton, który pozwala na wykonanie danego działania dopiero po kliknięciu odpowiedniego przycisku przez użytkownika.

    +
    +
    +

    9.6 Wygląd aplikacji

    +

    Ostatecznie chcielibyśmy, aby aplikacja wyglądała bardziej estetycznie. Możemy do tego użyć kilku narzędzi. Po pierwsze możemy zmienić motyw naszej aplikacji.

    +

    Z pomocą przychodzi nam funkcja shinythemes::themeSelector(), którą musimy umieścić w naszym UI. Wtedy w naszej aplikacji pojawia się pole z możliwością wyboru motywu.

    +

    Gdy już wybierzemy ulubiony motyw zamieniamy poprzednią funkcję w UI na theme = shinythemes::shinytheme('NASZ_MOTYW') i gotowe!

    +

    Poza tym Shiny umożliwia całkowitą customizację wyglądu aplikacji przy użyciu HTML, CSS oraz JavaScript.

    +

    Ostatnim narzędziem, o którym warto pamiętać, jest shinyWidgetsGallery(). Jest to bardzo użyteczna aplikacja stworzona w bibliotece shinyWidgets, dzięki której możemy między innymi zobaczyć w praktyce działanie różnego typu inputów oraz kod umożliwiający użycie ich w aplikacji.

    +
    +

    9.6.1 Uwaga

    +

    W tej notatce omówiliśmy podstawowe elementy pozwalające na zbudowanie interfejsu w shiny ale chcielibyśmy też dodać, że w poszukiwaniu bardziej zaawansowanych rozwiązań warto odwiedzić stronę https://shiny.rstudio.com/, gdzie można znaleźć dokumentację pakietu shiny, wiele przykładów oraz nieomówionych tu funkcji.

    + +
    +
    +
    +
    + +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + diff --git a/docs/interaktywna-wizualizacja-danych-z-pakietem-shiny-strona-serwerowa.html b/docs/interaktywna-wizualizacja-danych-z-pakietem-shiny-strona-serwerowa.html new file mode 100644 index 0000000..8e5947c --- /dev/null +++ b/docs/interaktywna-wizualizacja-danych-z-pakietem-shiny-strona-serwerowa.html @@ -0,0 +1,420 @@ + + + + + + + Chapter 10 Interaktywna wizualizacja danych z pakietem shiny: strona serwerowa | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
    + + +
    +
    + +
    +
    +

    Chapter 10 Interaktywna wizualizacja danych z pakietem shiny: strona serwerowa

    +
    +

    10.1 Wstęp

    +

    Shiny to biblioteka w R pozwalająca na budowanie interaktywnych aplikacji w prosty i szybki sposób. Aplikacja Shiny składa się z dwóch części, opisywanych w dwóch osobnych plikach: interfejs użytkownika (UI), czyli jak aplikacja będzie wyglądać u użytkownika oraz sposób przetwarzania danych (serwer). W tej pracy zajmiemy się stroną serwerową Shiny.

    +
    +
    +

    10.2 Serwer Shiny

    +

    Aplikacje Shiny zazwyczaj budujemy w sytuacjach, w których mamy dane, chcemy obliczyć pewne rzeczy i narysować odpowiednie wykresy. Użytkownik widzi efekt końcowy, czyli to jak zaprogramowaliśmy gdzie ma się wyświetlać wynik, natomiast w części serwerowej opisujemy jak ten wynik ma być obliczony. Jest to więc część zależna od pliku UI.

    +

    Musimy więc w kodzie serwera zamieścić obiekty opisane w UI. Zauważmy, że tworzymy kod serwera jako funkcję od dwóch parametrów: input, output. W środku serwera definiujemy zależności pomiędzy inputami i outputami.

    +

    Jedną z zalet Shiny jest interaktywność. Dzięki temu użytkownik może na bieżąco zmieniać parametry i generować nowe wykresy. Jednak generowanie kodu na nowo przy każdej zmianie danych nie zawsze jest pożądane. Ważnym pojęciem przy pisaniu strony serwerowej jest reaktywność (żródło infografiki: Shiny Cheat Sheet).

    +
    + +

    reaktywnosc

    +
    +

    Jeśli zmienna jest reaktywna, to znaczy że jakakolwiek jej zmiana powoduje ponowne uruchomienie funkcji z nią powiązanych. Do budowania reaktywnych wyrażeń używamy funkcji reactive(). Taka zmienna jest liczona tylko raz i wyrażenia z nią związane używają tej wartości aż do momentu aktualizacji wybranego przez użytkownika. Z pojęciem reaktywności wiąże się kilka ważnych funkcji:

    +
      +
    • reactiveValues(...), które tworzy listą reaktywnych zmiennych,
    • +
    • isolate(expr) - zapobiega zależności od reaktywnych zmiennych,
    • +
    • render*() - funkcje tworzące obiekty do wyświetlenia, które zmieniają się wraz z reaktywnymi zmiennymi,
    • +
    • observeEvent(...) - gdy nie chcemy aby model od razu się zaktualizował przy zmianie danych, a przy jakiejś określonej akcji,
    • +
    • reactive() - tworzy reaktywne wyrażenia
    • +
    • eventReactive - tworzy reaktywne wyrażenia, które nie zależą od wszystkich reaktywnych zmiennych, a zależą jedynie od akcji wymienionych w pierwszym argumencie.
    • +
    + +
    +
    +
    + +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + diff --git "a/docs/katarzyna-frankiewicz-maciej-grabias-jakub-micha\305\202owski.html" "b/docs/katarzyna-frankiewicz-maciej-grabias-jakub-micha\305\202owski.html" new file mode 100644 index 0000000..032dfa0 --- /dev/null +++ "b/docs/katarzyna-frankiewicz-maciej-grabias-jakub-micha\305\202owski.html" @@ -0,0 +1,553 @@ + + + + + + + Chapter 7 Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski | Notatki z laboratoriów ,,Programowanie i analiza danych w R’’ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
    + + +
    +
    + +
    +
    +

    Chapter 7 Katarzyna Frankiewicz, Maciej Grabias, Jakub Michałowski

    +
    +

    7.1 Wprowadzenie

    +

    Jednym z ważnych elementów przekazywania ciekawych informacji oraz ich analizy jest przedstawienie graficzne interesujących nas danych. W R istnieje kilka sposobów na wizualizację danych. Jednym z nich jest korzytanie z narzędzi oferowanych przez pakiet ggplot2. Bibiloteka ggplot2 oprócz zwykłych funkcji plotowania, implementuje także gramatykę grafiki, co pozwala na wykonanie prawie każdego rodzaju (statystycznej) wizualizacji danych.

    +
    +

    7.1.1 Gramatyka grafiki

    +

    Powyżej wspomnieliśmy o gramatyce grafiki. Dla dokładniejszego uporządkowania wiedzy przypomnijmy, że gramatyka grafiki daje nam możliwość zadawania odpowiednich parametórw dla wszystkich linii, słów, strzałek, itp., które połączone tworzą wykres. Dodatkowo możemy m.in. zmieniać układ współrzędnych, czy korygować położenie każdego obiektu znajdującego się na wykresie. Możliwości jakie oferuje nam gramatyka grafiki będą przedstawione dokładniej w dalszej części notatki.

    +
    +
    +
    +

    7.2 Podstawy tworzenia wykresów w ggplot2

    +

    Na początku, aby móc tworzyć wizualizacje, musimy załadować pakiet oraz bibilotekę ggplot2. Warto zwrócić uwagę, że ggplot2 posiada również szereg wbudowanych zestawów danych. Aby pokazać możliwości jakie oferuje nam ggplot, przeprowadzimy symulację danych mpg dostępnych w R.

    +
    library(ggplot2)
    +head(mpg)
    +
    ## # A tibble: 6 × 11
    +##   manufacturer model displ  year   cyl trans      drv     cty   hwy fl    class  
    +##   <chr>        <chr> <dbl> <int> <int> <chr>      <chr> <int> <int> <chr> <chr>  
    +## 1 audi         a4      1.8  1999     4 auto(l5)   f        18    29 p     compact
    +## 2 audi         a4      1.8  1999     4 manual(m5) f        21    29 p     compact
    +## 3 audi         a4      2    2008     4 manual(m6) f        20    31 p     compact
    +## 4 audi         a4      2    2008     4 auto(av)   f        21    30 p     compact
    +## 5 audi         a4      2.8  1999     6 auto(l5)   f        16    26 p     compact
    +## 6 audi         a4      2.8  1999     6 manual(m5) f        18    26 p     compact
    +

    Składnia wykresów w ggplot polega na warstwowym budowaniu wykresów.

    +
      +
    1. Zaczynamy od doboru danych, jakie chcielibyśmy zwizualizaować.
    2. +
    3. Określamy sposób mapowania zmiennych do aspektów wizualnych.
    4. +
    5. Definiujemy styl wykresu.
    6. +
    7. Dodajemy dodatkowe warstwy personalizujące wykres, tzn. dodajemy tytuł, etykiety, itp. (opcjonalnie)
    8. +
    +

    Uwaga!

    +

    Do dodawania nowych warstw do wykresu używamy symbolu “+” .

    +
    # Budujemy podstawę wykresu, określając z jakich danych będziemy korzytsać
    +ggplot(mpg)
    +

    +
    # Mapujemy dane ( na osiach pojawiły się odpowiednie podziałki)
    +ggplot(mpg , aes( x = displ, y = hwy))
    +

    +
    # Określamy styl wykresu, dzięki czemu dostemy wykres odpwiednich zależności
    +ggplot(mpg , aes( x = displ, y = hwy))+
    +  geom_point()
    +

    +
    # Personalizujemy wykres poprzez dodanie tytułu oraz określenie motywu wykresu
    +ggplot(mpg , aes( x = displ, y = hwy))+
    +  geom_point()+
    +  ggtitle("disp vs hwy")+
    +  theme_bw()
    +

    +
    +
    +

    7.3 Mapowanie

    +

    Mapowanie danych jest estetyką, która mówi ggplot’owi, jakie zmienne powinny znajdować się na osi x oraz y. Dodatkowo możemy wpływać na cechy wizualne danych, takie jak kolor ( color = ), kształt ( shape = ), czy przezroczystość ( alpha = ). Wszystkie estetyki dla podziałki wykresu są określone w wywołaniu funkcji aes().

    +

    Uwaga!

    +

    Każda warstwa geom może mieć swoją własną specyfikację aes. Możemy zdecydować, czy na wykresie geom_point punkty mają być zaznaczone jako koła, czy kwadraty.

    +
    # Punkty na wykresie będą kwadratami
    +ggplot(mpg, aes(x = displ, y = hwy)) +
    +  geom_point(shape = 0)+
    +  ggtitle("displ vs hwy")+
    +  theme( axis.title = element_text(size = 1))+
    +  theme_bw()
    +

    +
    # Punkty na wykresie to czerwone kropki
    +ggplot(mpg, aes(x = displ, y = hwy)) +
    +  geom_point(color = "red")+
    +  ggtitle("displ vs hwy")+
    +  theme_bw()
    +

    +
    +
    +

    7.4 Geometria wykresu

    +

    Za pomocą ggplot2 możemy stworzyć prawie każdy rodzaj wykresu. W tym celu musimy zadać typ wykresu jaki nas interesuje. Ggplot2 daje możliwość stworzenia wykresu:

    +
      +
    • punktowego ( geom_point)
    • +
    • liniowego ( geom_line)
    • +
    • słupkowego ( geom_bar)
    • +
    • skrzypcowego ( geom_violin)
    • +
    • histogramu ( geom_histogram)
    • +
    • boxplota ( geom_boxplot)
    • +
    +

    oraz wielu innych, które powstają m.in. przez zastosowanie funcji: geom_area, geom_density, geom_dotplot, geom_qq, geom_smooth.

    +

    Uwaga!

    +
      +
    • Wykresy słupkowe i histogramy grupują dane, a następnie prezentują liczbę elementów znajdujących się w poszczególnych grupach
    • +
    • Na wykresach liniowych model jest dopasowywany do danych, a nastęonie wykreślane są przewidywania wyznaczone przez model
    • +
    • Wykresy pudełkowe obliczają kompleksowe podsumowanie rozkładu wartości
    • +
    +

    Poniżej przedstawione są dwa przykładowe typy wykresów. Pierwszy narysowany przy użyciu funkcji geom_smooth, która służy do rysowania wygładzonych linii, np. dla prostych trendów. Drugi wykres powstał przy zastosowaniu funkcji geom_histogram. +

    +

    W pakiecie ggplot2 bardzo prosto możemy łączyć ze sobą różne geometrie na jednym wykresie. Wystarczy wstawić znak “+” pomiędzy odpowiednimi funkcjami.

    +
    ggplot(mpg , aes( x = displ, y = hwy))+
    +  geom_point()+
    +  geom_smooth()+
    +  ggtitle("Multiple geomteries")+
    +  theme_bw()
    +

    +
    +
    +

    7.5 Funkcje pomagające poprawić czytelność wykresu

    +
    +

    7.5.1 Systemy współrzędnych

    +

    Domyślnym systemem współrzędnych dla ggplot2 jest kartezjański układ współrzędnych. W zależności od danych na jakich działamy, może się okazać, że pokazanie danych w innym układzie współrzędnych, wpłynie na lepszy odbiór informacji z wykresu.

    +

    Funkcjami, które odpowiadają za przekształcenie układu współrzędnych są m.in.

    +
      +
    • coord_flip która zamienia osie x i y
    • +
    • coord_polar wykres jest pokazany we współrzędnych polarnych
    • +
    • coord_fixed nadal jesteśmy w kartezjańskim układzie współrzędnych, ale możemy zmienić proporcję między jednostkami na osi x i y
    • +
    +
    +
    +

    7.5.2 Dopasowanie położenia

    +

    Każda geometria w ggplot2 ma ustawione domyślne położenie różnych elementów na wykresie względem siebie. Różne opcje ustawienia położenia są dobrze widoczne na wykresach słupkowych. Zacznijmy od stworzenia zwykłego wykresu słupkowego, bez żadnych dodatkowych funkcji.

    +

    +

    Jeżeli teraz do mapowania dodamy opcję fill = dvr, to każdy prostokąt będzie reprezentował kombinację wartości class oraz dvr.

    +

    +

    Takie przedstawienie danych nie dla każdego może być czytelne, dlatego możemy skorzystać z opcji position, która przyjmuje m.in. argumenty: “dodge” i “fill”.

    +

    +
    +
    +

    7.5.3 Zarządzanie osiami współrzędnych

    +

    Jedną z możliwości jaką oferuje nam pakiet ggplot2 jest prosta zmiana skali na osiach wykresu. Podstawowymi funkcjami, które to umożliwiają są:

    +
      +
    • scale_x_log10 (zamiast x możemy podać także y) wtedy skala x-ów będzie zlogarytmowana
    • +
    • scale_x_reverse powoduje odwrotny kierunek na osi x
    • +
    • scale_x_sqrt() skala x-ów będzie spierwiastkowana
    • +
    • scale_fill_manual pozwala nam ręcznie wprowadzić oczekiwane przez nas wartości, m.in. możemy zmienić nazwy obiektów na skali, czy podać zakres wartości do uwzględnienia w mapowaniu
    • +
    • xlim(5,40) powoduje ograniczenie podziałki na osi x od 5 do 40 (analogicznie z ylim)
    • +
    +

    W ggplot2 z łatwością także dodamy etykiety tekstowe oraz adnotacje. Do wykresu możemy dodać tytuł oraz nazwy osi korzystając m.in. z funkcji labs().

    +
    ggplot(mpg, aes(x = displ, y = hwy, color = class)) +
    +  geom_point() +
    +  labs(title = "Fuel Efficiency by Engine Power",
    +       x = "Engine power",
    +       y = "Fuel Efficiency",
    +       color = "Car Type")
    +

    +
    +
    +

    7.5.4 Motywy

    +

    Theme to dobry sposób na dostosowanie odpowiedniego tytułu, etykiet, czcionek, tła, legendy, czy lini siatki na wykresie. Możemy skorzystać z jednego z dostępnych motywów, takich jak theme_bw(), czy theme_minimal(). Istnieje możliwość zastosowania wielu dostępnych opcji tak, aby odpowiednie elementy wykresu wyglądały tak, jak chcemy. Podstawowymi funkcjami, jakie warto znać są m.in. legend.position, dzięki której możemy ustalić pozycję legendy wykresu, axis.text, która umożliwia nam ustawienie czcionki na wykresie oraz ustalenie jej wielkości czy koloru. Przydatną funkcją pochodzącą z rodziny theme jest ‘theme(axis.text.x = element_text(angle = 90))’, która obraca nazwy znajdujące się na osi x, dzięki, czemu stają się one czytelniejsze.

    +
    +
    +
    +

    7.6 Panele

    +

    Ostatnim z podstawowych funkcji jakie oferuje pakiet ggplot2 jest facets.

    +

    Panele to sposoby grupowania wykresu danych w wiele różnych części ze względu na zadaną zmienną. Możemy korzystać z funkcji:

    +
      +
    • facet_wrap(), która ustawia panele w prostokątnym układzie
    • +
    • facet_grid(), która ustawia panele w kolumny lub w wiersze (zależnie jaką opcję wybierzemy)
    • +
    +
    ggplot(mpg, aes(x = displ, y = hwy)) +
    +  geom_point() +
    +  facet_grid(~ class)
    +

    +

    Uwaga!

    +

    Aby zadać względem, której zmiennej chcemy grupować, w funkcji ‘facet_’ po znaku “~”, podajemy nazwę tej zmiennej.

    +

    Kiedy korzystamy z funkcji tworzącej panele, automatycznie wszytskie wykresy będą pokazane w układzie współrzędnych dopasowanym do wszytkich okienek. Istnieje jednak możliwość dopasowania układu współrzędnych do każdego panelu osobno. W tym celu możemy wykorzystać funcję ‘scale = “free”’.

    + +
    +
    +
    + +
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + diff --git a/docs/libs/anchor-sections-1.1.0/anchor-sections-hash.css b/docs/libs/anchor-sections-1.1.0/anchor-sections-hash.css new file mode 100644 index 0000000..b563ec9 --- /dev/null +++ b/docs/libs/anchor-sections-1.1.0/anchor-sections-hash.css @@ -0,0 +1,2 @@ +/* Styles for section anchors */ +a.anchor-section::before {content: '#';font-size: 80%;} diff --git a/docs/libs/anchor-sections-1.1.0/anchor-sections-icon.css b/docs/libs/anchor-sections-1.1.0/anchor-sections-icon.css new file mode 100644 index 0000000..a24ab75 --- /dev/null +++ b/docs/libs/anchor-sections-1.1.0/anchor-sections-icon.css @@ -0,0 +1,8 @@ +/* Styles for section anchors content */ +/* From https://icons.getbootstrap.com/icons/link-45deg/ + Licence: https://github.com/twbs/icons/blob/main/LICENSE.md */ + +a.anchor-section:before { + display: inline-block; + content: url("data:image/svg+xml,"); +} diff --git a/docs/libs/anchor-sections-1.1.0/anchor-sections-symbol.css b/docs/libs/anchor-sections-1.1.0/anchor-sections-symbol.css new file mode 100644 index 0000000..952f956 --- /dev/null +++ b/docs/libs/anchor-sections-1.1.0/anchor-sections-symbol.css @@ -0,0 +1,6 @@ +/* Styles for section anchors content */ +/* Link symbol : https://codepoints.net/U+1F517 + with variation selector https://graphemica.com/FE0E */ +a.anchor-section::before{content: '\01F517\00FE0E';font-size: 20px;} +/* deactivate underline for link symbol */ +a.anchor-section:hover {text-decoration: none;} diff --git a/docs/libs/anchor-sections-1.1.0/anchor-sections.css b/docs/libs/anchor-sections-1.1.0/anchor-sections.css new file mode 100644 index 0000000..041905f --- /dev/null +++ b/docs/libs/anchor-sections-1.1.0/anchor-sections.css @@ -0,0 +1,4 @@ +/* Styles for section anchors */ +a.anchor-section {margin-left: 10px; visibility: hidden; color: inherit;} +.hasAnchor:hover a.anchor-section {visibility: visible;} +ul > li > .anchor-section {display: none;} diff --git a/docs/libs/anchor-sections-1.1.0/anchor-sections.js b/docs/libs/anchor-sections-1.1.0/anchor-sections.js new file mode 100644 index 0000000..fee005d --- /dev/null +++ b/docs/libs/anchor-sections-1.1.0/anchor-sections.js @@ -0,0 +1,11 @@ +document.addEventListener('DOMContentLoaded', function () { + // If section divs is used, we need to put the anchor in the child header + const headers = document.querySelectorAll("div.hasAnchor.section[class*='level'] > :first-child") + + headers.forEach(function (x) { + // Add to the header node + if (!x.classList.contains('hasAnchor')) x.classList.add('hasAnchor') + // Remove from the section or div created by Pandoc + x.parentElement.classList.remove('hasAnchor') + }) +}) diff --git a/docs/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf b/docs/libs/gitbook-2.6.7/css/fontawesome/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0m tbody > tr > td { + vertical-align: top; +} +.book .book-body .page-wrapper .page-inner section.normal table tr.header { + border-top-width: 2px; +} +.book .book-body .page-wrapper .page-inner section.normal table tr:last-child td { + border-bottom-width: 2px; +} +.book .book-body .page-wrapper .page-inner section.normal table td, .book .book-body .page-wrapper .page-inner section.normal table th { + border-left: none; + border-right: none; +} +.book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr, .book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr > td { + border-top: none; +} +.book .book-body .page-wrapper .page-inner section.normal table.kable_wrapper > tbody > tr:last-child > td { + border-bottom: none; +} + +div.theorem, div.lemma, div.corollary, div.proposition, div.conjecture { + font-style: italic; +} +span.theorem, span.lemma, span.corollary, span.proposition, span.conjecture { + font-style: normal; +} +div.proof>*:last-child:after { + content: "\25a2"; + float: right; +} +.header-section-number { + padding-right: .5em; +} +#header .multi-author { + margin: 0.5em 0 -0.5em 0; +} +#header .date { + margin-top: 1.5em; +} diff --git a/docs/libs/gitbook-2.6.7/css/plugin-clipboard.css b/docs/libs/gitbook-2.6.7/css/plugin-clipboard.css new file mode 100644 index 0000000..6844a70 --- /dev/null +++ b/docs/libs/gitbook-2.6.7/css/plugin-clipboard.css @@ -0,0 +1,18 @@ +div.sourceCode { + position: relative; +} + +.copy-to-clipboard-button { + position: absolute; + right: 0; + top: 0; + visibility: hidden; +} + +.copy-to-clipboard-button:focus { + outline: 0; +} + +div.sourceCode:hover > .copy-to-clipboard-button { + visibility: visible; +} diff --git a/docs/libs/gitbook-2.6.7/css/plugin-fontsettings.css b/docs/libs/gitbook-2.6.7/css/plugin-fontsettings.css new file mode 100644 index 0000000..3fa6f35 --- /dev/null +++ b/docs/libs/gitbook-2.6.7/css/plugin-fontsettings.css @@ -0,0 +1,303 @@ +/* + * Theme 1 + */ +.color-theme-1 .dropdown-menu { + background-color: #111111; + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #111111; +} +.color-theme-1 .dropdown-menu .buttons { + border-color: #7e888b; +} +.color-theme-1 .dropdown-menu .button { + color: #afa790; +} +.color-theme-1 .dropdown-menu .button:hover { + color: #73553c; +} +/* + * Theme 2 + */ +.color-theme-2 .dropdown-menu { + background-color: #2d3143; + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner { + border-bottom: 9px solid #2d3143; +} +.color-theme-2 .dropdown-menu .buttons { + border-color: #272a3a; +} +.color-theme-2 .dropdown-menu .button { + color: #62677f; +} +.color-theme-2 .dropdown-menu .button:hover { + color: #f4f4f5; +} +.book .book-header .font-settings .font-enlarge { + line-height: 30px; + font-size: 1.4em; +} +.book .book-header .font-settings .font-reduce { + line-height: 30px; + font-size: 1em; +} + +/* sidebar transition background */ +div.book.color-theme-1 { + background: #f3eacb; +} +.book.color-theme-1 .book-body { + color: #704214; + background: #f3eacb; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section { + background: #f3eacb; +} + +/* sidebar transition background */ +div.book.color-theme-2 { + background: #1c1f2b; +} + +.book.color-theme-2 .book-body { + color: #bdcadb; + background: #1c1f2b; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section { + background: #1c1f2b; +} +.book.font-size-0 .book-body .page-inner section { + font-size: 1.2rem; +} +.book.font-size-1 .book-body .page-inner section { + font-size: 1.4rem; +} +.book.font-size-2 .book-body .page-inner section { + font-size: 1.6rem; +} +.book.font-size-3 .book-body .page-inner section { + font-size: 2.2rem; +} +.book.font-size-4 .book-body .page-inner section { + font-size: 4rem; +} +.book.font-family-0 { + font-family: Georgia, serif; +} +.book.font-family-1 { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal { + color: #704214; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 { + color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: #c4b29f; + opacity: 0.9; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + background: #fdf6e3; + color: #657b83; + border-color: #f8df9c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: inherit; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #f5d06c; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr { + color: inherit; + background-color: #fdf6e3; + border-color: #444444; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #fbeecb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal { + color: #bdcadb; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a { + color: #3eb1d0; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #fffffa; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 { + color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr { + background-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote { + border-color: #373b4e; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + color: #9dbed8; + background: #2d3143; + border-color: #2d3143; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight { + background-color: #282a39; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td { + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr { + color: #b6c2d2; + background-color: #2d3143; + border-color: #3b3f54; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) { + background-color: #35394b; +} +.book.color-theme-1 .book-header { + color: #afa790; + background: transparent; +} +.book.color-theme-1 .book-header .btn { + color: #afa790; +} +.book.color-theme-1 .book-header .btn:hover { + color: #73553c; + background: none; +} +.book.color-theme-1 .book-header h1 { + color: #704214; +} +.book.color-theme-2 .book-header { + color: #7e888b; + background: transparent; +} +.book.color-theme-2 .book-header .btn { + color: #3b3f54; +} +.book.color-theme-2 .book-header .btn:hover { + color: #fffff5; + background: none; +} +.book.color-theme-2 .book-header h1 { + color: #bdcadb; +} +.book.color-theme-1 .book-body .navigation { + color: #afa790; +} +.book.color-theme-1 .book-body .navigation:hover { + color: #73553c; +} +.book.color-theme-2 .book-body .navigation { + color: #383f52; +} +.book.color-theme-2 .book-body .navigation:hover { + color: #fffff5; +} +/* + * Theme 1 + */ +.book.color-theme-1 .book-summary { + color: #afa790; + background: #111111; + border-right: 1px solid rgba(0, 0, 0, 0.07); +} +.book.color-theme-1 .book-summary .book-search { + background: transparent; +} +.book.color-theme-1 .book-summary .book-search input, +.book.color-theme-1 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-1 .book-summary ul.summary li.divider { + background: #7e888b; + box-shadow: none; +} +.book.color-theme-1 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-1 .book-summary ul.summary li.done > a { + color: #877f6a; +} +.book.color-theme-1 .book-summary ul.summary li a, +.book.color-theme-1 .book-summary ul.summary li span { + color: #877f6a; + background: transparent; + font-weight: normal; +} +.book.color-theme-1 .book-summary ul.summary li.active > a, +.book.color-theme-1 .book-summary ul.summary li a:hover { + color: #704214; + background: transparent; + font-weight: normal; +} +/* + * Theme 2 + */ +.book.color-theme-2 .book-summary { + color: #bcc1d2; + background: #2d3143; + border-right: none; +} +.book.color-theme-2 .book-summary .book-search { + background: transparent; +} +.book.color-theme-2 .book-summary .book-search input, +.book.color-theme-2 .book-summary .book-search input:focus { + border: 1px solid transparent; +} +.book.color-theme-2 .book-summary ul.summary li.divider { + background: #272a3a; + box-shadow: none; +} +.book.color-theme-2 .book-summary ul.summary li i.fa-check { + color: #33cc33; +} +.book.color-theme-2 .book-summary ul.summary li.done > a { + color: #62687f; +} +.book.color-theme-2 .book-summary ul.summary li a, +.book.color-theme-2 .book-summary ul.summary li span { + color: #c1c6d7; + background: transparent; + font-weight: 600; +} +.book.color-theme-2 .book-summary ul.summary li.active > a, +.book.color-theme-2 .book-summary ul.summary li a:hover { + color: #f4f4f5; + background: #252737; + font-weight: 600; +} diff --git a/docs/libs/gitbook-2.6.7/css/plugin-highlight.css b/docs/libs/gitbook-2.6.7/css/plugin-highlight.css new file mode 100644 index 0000000..2aabd3d --- /dev/null +++ b/docs/libs/gitbook-2.6.7/css/plugin-highlight.css @@ -0,0 +1,426 @@ +.book .book-body .page-wrapper .page-inner section.normal pre, +.book .book-body .page-wrapper .page-inner section.normal code { + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #8e908c; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #c82829; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #f5871f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #eab700; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #718c00; +} +.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #3e999f; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #4271ae; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #8959a8; +} +.book .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: white; + color: #4d4d4c; + padding: 0.5em; +} +.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code { + /* + +Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull + +*/ + /* Solarized Green */ + /* Solarized Cyan */ + /* Solarized Blue */ + /* Solarized Yellow */ + /* Solarized Orange */ + /* Solarized Red */ + /* Solarized Violet */ +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + padding: 0.5em; + background: #fdf6e3; + color: #657b83; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc { + color: #93a1a1; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title { + color: #859900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url { + color: #2aa198; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function { + color: #268bd2; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference { + color: #b58900; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header { + color: #cb4b16; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important { + color: #dc322f; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label { + color: #6c71c4; +} +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula { + background: #eee8d5; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code { + /* Tomorrow Night Bright Theme */ + /* Original theme - https://github.com/chriskempson/tomorrow-theme */ + /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ + /* Tomorrow Comment */ + /* Tomorrow Red */ + /* Tomorrow Orange */ + /* Tomorrow Yellow */ + /* Tomorrow Green */ + /* Tomorrow Aqua */ + /* Tomorrow Blue */ + /* Tomorrow Purple */ +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title { + color: #969896; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo { + color: #d54e53; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant { + color: #e78c45; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute { + color: #e7c547; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + color: #b9ca4a; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor { + color: #70c0b1; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title { + color: #7aa6da; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function { + color: #c397d8; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs { + display: block; + background: black; + color: #eaeaea; + padding: 0.5em; +} +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata, +.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata { + opacity: 0.5; +} diff --git a/docs/libs/gitbook-2.6.7/css/plugin-search.css b/docs/libs/gitbook-2.6.7/css/plugin-search.css new file mode 100644 index 0000000..c85e557 --- /dev/null +++ b/docs/libs/gitbook-2.6.7/css/plugin-search.css @@ -0,0 +1,31 @@ +.book .book-summary .book-search { + padding: 6px; + background: transparent; + position: absolute; + top: -50px; + left: 0px; + right: 0px; + transition: top 0.5s ease; +} +.book .book-summary .book-search input, +.book .book-summary .book-search input:focus, +.book .book-summary .book-search input:hover { + width: 100%; + background: transparent; + border: 1px solid #ccc; + box-shadow: none; + outline: none; + line-height: 22px; + padding: 7px 4px; + color: inherit; + box-sizing: border-box; +} +.book.with-search .book-summary .book-search { + top: 0px; +} +.book.with-search .book-summary ul.summary { + top: 50px; +} +.with-search .summary li[data-level] a[href*=".html#"] { + display: none; +} diff --git a/docs/libs/gitbook-2.6.7/css/plugin-table.css b/docs/libs/gitbook-2.6.7/css/plugin-table.css new file mode 100644 index 0000000..7fba1b9 --- /dev/null +++ b/docs/libs/gitbook-2.6.7/css/plugin-table.css @@ -0,0 +1 @@ +.book .book-body .page-wrapper .page-inner section.normal table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}.book .book-body .page-wrapper .page-inner section.normal table td,.book .book-body .page-wrapper .page-inner section.normal table th{padding:6px 13px;border:1px solid #ddd}.book .book-body .page-wrapper .page-inner section.normal table tr{background-color:#fff;border-top:1px solid #ccc}.book .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n){background-color:#f8f8f8}.book .book-body .page-wrapper .page-inner section.normal table th{font-weight:700} diff --git a/docs/libs/gitbook-2.6.7/css/style.css b/docs/libs/gitbook-2.6.7/css/style.css new file mode 100644 index 0000000..cba69b2 --- /dev/null +++ b/docs/libs/gitbook-2.6.7/css/style.css @@ -0,0 +1,13 @@ +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */img,legend{border:0}*{-webkit-font-smoothing:antialiased}sub,sup{position:relative}.book .book-body .page-wrapper .page-inner section.normal hr:after,.book-langs-index .inner .languages:after,.buttons:after,.dropdown-menu .buttons:after{clear:both}body,html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}.hidden,[hidden]{display:none}audio:not([controls]){display:none;height:0}html{font-family:sans-serif}body,figure{margin:0}a:focus{outline:dotted thin}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button{margin-right:10px;}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}/*! + * Preboot v2 + * + * Open sourced under MIT license by @mdo. + * Some variables and mixins from Bootstrap (Apache 2 license). + */.link-inherit,.link-inherit:focus,.link-inherit:hover{color:inherit}/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('./fontawesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} +.book .book-header,.book .book-summary{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.book-langs-index{width:100%;height:100%;padding:40px 0;margin:0;overflow:auto}@media (max-width:600px){.book-langs-index{padding:0}}.book-langs-index .inner{max-width:600px;width:100%;margin:0 auto;padding:30px;background:#fff;border-radius:3px}.book-langs-index .inner h3{margin:0}.book-langs-index .inner .languages{list-style:none;padding:20px 30px;margin-top:20px;border-top:1px solid #eee}.book-langs-index .inner .languages:after,.book-langs-index .inner .languages:before{content:" ";display:table;line-height:0}.book-langs-index .inner .languages li{width:50%;float:left;padding:10px 5px;font-size:16px}@media (max-width:600px){.book-langs-index .inner .languages li{width:100%;max-width:100%}}.book .book-header{overflow:visible;height:50px;padding:0 8px;z-index:2;font-size:.85em;color:#7e888b;background:0 0}.book .book-header .btn{display:block;height:50px;padding:0 15px;border-bottom:none;color:#ccc;text-transform:uppercase;line-height:50px;-webkit-box-shadow:none!important;box-shadow:none!important;position:relative;font-size:14px}.book .book-header .btn:hover{position:relative;text-decoration:none;color:#444;background:0 0}.book .book-header h1{margin:0;font-size:20px;font-weight:200;text-align:center;line-height:50px;opacity:0;padding-left:200px;padding-right:200px;-webkit-transition:opacity .2s ease;-moz-transition:opacity .2s ease;-o-transition:opacity .2s ease;transition:opacity .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book .book-header h1 a,.book .book-header h1 a:hover{color:inherit;text-decoration:none}@media (max-width:1000px){.book .book-header h1{display:none}}.book .book-header h1 i{display:none}.book .book-header:hover h1{opacity:1}.book.is-loading .book-header h1 i{display:inline-block}.book.is-loading .book-header h1 a{display:none}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;z-index:100;display:none;float:left;min-width:160px;padding:0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fafafa;border:1px solid rgba(0,0,0,.07);border-radius:1px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.open{display:block}.dropdown-menu.dropdown-left{left:auto;right:4%}.dropdown-menu.dropdown-left .dropdown-caret{right:14px;left:auto}.dropdown-menu .dropdown-caret{position:absolute;top:-8px;left:14px;width:18px;height:10px;float:left;overflow:hidden}.dropdown-menu .dropdown-caret .caret-inner,.dropdown-menu .dropdown-caret .caret-outer{display:inline-block;top:0;border-left:9px solid transparent;border-right:9px solid transparent;position:absolute}.dropdown-menu .dropdown-caret .caret-outer{border-bottom:9px solid rgba(0,0,0,.1);height:auto;left:0;width:auto;margin-left:-1px}.dropdown-menu .dropdown-caret .caret-inner{margin-top:-1px;top:1px;border-bottom:9px solid #fafafa}.dropdown-menu .buttons{border-bottom:1px solid rgba(0,0,0,.07)}.dropdown-menu .buttons:after,.dropdown-menu .buttons:before{content:" ";display:table;line-height:0}.dropdown-menu .buttons:last-child{border-bottom:none}.dropdown-menu .buttons .button{border:0;background-color:transparent;color:#a6a6a6;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.alert,.dropdown-menu .buttons .button:hover{color:#444}.dropdown-menu .buttons .button:focus,.dropdown-menu .buttons .button:hover{outline:0}.dropdown-menu .buttons .button.size-2{width:50%}.dropdown-menu .buttons .button.size-3{width:33%}.alert{padding:15px;margin-bottom:20px;background:#eee;border-bottom:5px solid #ddd}.alert-success{background:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-info{background:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-danger{background:#f2dede;border-color:#ebccd1;color:#a94442}.alert-warning{background:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.book .book-summary{position:absolute;top:0;left:-300px;bottom:0;z-index:1;width:300px;color:#364149;background:#fafafa;border-right:1px solid rgba(0,0,0,.07);-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book .book-summary ul.summary{position:absolute;top:0;left:0;right:0;bottom:0;overflow-y:auto;list-style:none;margin:0;padding:0;-webkit-transition:top .5s ease;-moz-transition:top .5s ease;-o-transition:top .5s ease;transition:top .5s ease}.book .book-summary ul.summary li{list-style:none}.book .book-summary ul.summary li.divider{height:1px;margin:7px 0;overflow:hidden;background:rgba(0,0,0,.07)}.book .book-summary ul.summary li i.fa-check{display:none;position:absolute;right:9px;top:16px;font-size:9px;color:#3c3}.book .book-summary ul.summary li.done>a{color:#364149;font-weight:400}.book .book-summary ul.summary li.done>a i{display:inline}.book .book-summary ul.summary li a,.book .book-summary ul.summary li span{display:block;padding:10px 15px;border-bottom:none;color:#364149;background:0 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;position:relative}.book .book-summary ul.summary li span{cursor:not-allowed;opacity:.3;filter:alpha(opacity=30)}.book .book-summary ul.summary li a:hover,.book .book-summary ul.summary li.active>a{color:#008cff;background:0 0;text-decoration:none}.book .book-summary ul.summary li ul{padding-left:20px}@media (max-width:600px){.book .book-summary{width:calc(100% - 60px);bottom:0;left:-100%}}.book.with-summary .book-summary{left:0}.book.without-animation .book-summary{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.book{position:relative;width:100%;height:100%}.book .book-body,.book .book-body .body-inner{position:absolute;top:0;left:0;overflow-y:auto;bottom:0;right:0}.book .book-body{color:#000;background:#fff;-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book .book-body .page-wrapper{position:relative;outline:0}.book .book-body .page-wrapper .page-inner{max-width:800px;margin:0 auto;padding:20px 0 40px}.book .book-body .page-wrapper .page-inner section{margin:0;padding:5px 15px;background:#fff;border-radius:2px;line-height:1.7;font-size:1.6rem}.book .book-body .page-wrapper .page-inner .btn-group .btn{border-radius:0;background:#eee;border:0}@media (max-width:1240px){.book .book-body{-webkit-transition:-webkit-transform 250ms ease;-moz-transition:-moz-transform 250ms ease;-o-transition:-o-transform 250ms ease;transition:transform 250ms ease;padding-bottom:20px}.book .book-body .body-inner{position:static;min-height:calc(100% - 50px)}}@media (min-width:600px){.book.with-summary .book-body{left:300px}}@media (max-width:600px){.book.with-summary{overflow:hidden}.book.with-summary .book-body{-webkit-transform:translate(calc(100% - 60px),0);-moz-transform:translate(calc(100% - 60px),0);-ms-transform:translate(calc(100% - 60px),0);-o-transform:translate(calc(100% - 60px),0);transform:translate(calc(100% - 60px),0)}}.book.without-animation .book-body{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.buttons:after,.buttons:before{content:" ";display:table;line-height:0}.button{border:0;background:#eee;color:#666;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.button:hover{color:#444}.button:focus,.button:hover{outline:0}.button.size-2{width:50%}.button.size-3{width:33%}.book .book-body .page-wrapper .page-inner section{display:none}.book .book-body .page-wrapper .page-inner section.normal{display:block;word-wrap:break-word;overflow:hidden;color:#333;line-height:1.7;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}.book .book-body .page-wrapper .page-inner section.normal *{box-sizing:border-box;-webkit-box-sizing:border-box;}.book .book-body .page-wrapper .page-inner section.normal>:first-child{margin-top:0!important}.book .book-body .page-wrapper .page-inner section.normal>:last-child{margin-bottom:0!important}.book .book-body .page-wrapper .page-inner section.normal blockquote,.book .book-body .page-wrapper .page-inner section.normal code,.book .book-body .page-wrapper .page-inner section.normal figure,.book .book-body .page-wrapper .page-inner section.normal img,.book .book-body .page-wrapper .page-inner section.normal pre,.book .book-body .page-wrapper .page-inner section.normal table,.book .book-body .page-wrapper .page-inner section.normal tr{page-break-inside:avoid}.book .book-body .page-wrapper .page-inner section.normal h2,.book .book-body .page-wrapper .page-inner section.normal h3,.book .book-body .page-wrapper .page-inner section.normal h4,.book .book-body .page-wrapper .page-inner section.normal h5,.book .book-body .page-wrapper .page-inner section.normal p{orphans:3;widows:3}.book .book-body .page-wrapper .page-inner section.normal h1,.book .book-body .page-wrapper .page-inner section.normal h2,.book .book-body .page-wrapper .page-inner section.normal h3,.book .book-body .page-wrapper .page-inner section.normal h4,.book .book-body .page-wrapper .page-inner section.normal h5{page-break-after:avoid}.book .book-body .page-wrapper .page-inner section.normal b,.book .book-body .page-wrapper .page-inner section.normal strong{font-weight:700}.book .book-body .page-wrapper .page-inner section.normal em{font-style:italic}.book .book-body .page-wrapper .page-inner section.normal blockquote,.book .book-body .page-wrapper .page-inner section.normal dl,.book .book-body .page-wrapper .page-inner section.normal ol,.book .book-body .page-wrapper .page-inner section.normal p,.book .book-body .page-wrapper .page-inner section.normal table,.book .book-body .page-wrapper .page-inner section.normal ul{margin-top:0;margin-bottom:.85em}.book .book-body .page-wrapper .page-inner section.normal a{color:#4183c4;text-decoration:none;background:0 0}.book .book-body .page-wrapper .page-inner section.normal a:active,.book .book-body .page-wrapper .page-inner section.normal a:focus,.book .book-body .page-wrapper .page-inner section.normal a:hover{outline:0;text-decoration:underline}.book .book-body .page-wrapper .page-inner section.normal img{border:0;max-width:100%}.book .book-body .page-wrapper .page-inner section.normal hr{height:4px;padding:0;margin:1.7em 0;overflow:hidden;background-color:#e7e7e7;border:none}.book .book-body .page-wrapper .page-inner section.normal hr:after,.book .book-body .page-wrapper .page-inner section.normal hr:before{display:table;content:" "}.book .book-body .page-wrapper .page-inner section.normal h1,.book .book-body .page-wrapper .page-inner section.normal h2,.book .book-body .page-wrapper .page-inner section.normal h3,.book .book-body .page-wrapper .page-inner section.normal h4,.book .book-body .page-wrapper .page-inner section.normal h5,.book .book-body .page-wrapper .page-inner section.normal h6{margin-top:1.275em;margin-bottom:.85em;}.book .book-body .page-wrapper .page-inner section.normal h1{font-size:2em}.book .book-body .page-wrapper .page-inner section.normal h2{font-size:1.75em}.book .book-body .page-wrapper .page-inner section.normal h3{font-size:1.5em}.book .book-body .page-wrapper .page-inner section.normal h4{font-size:1.25em}.book .book-body .page-wrapper .page-inner section.normal h5{font-size:1em}.book .book-body .page-wrapper .page-inner section.normal h6{font-size:1em;color:#777}.book .book-body .page-wrapper .page-inner section.normal code,.book .book-body .page-wrapper .page-inner section.normal pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;direction:ltr;border:none;color:inherit}.book .book-body .page-wrapper .page-inner section.normal pre{overflow:auto;word-wrap:normal;margin:0 0 1.275em;padding:.85em 1em;background:#f7f7f7}.book .book-body .page-wrapper .page-inner section.normal pre>code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;font-size:.85em;white-space:pre;background:0 0}.book .book-body .page-wrapper .page-inner section.normal pre>code:after,.book .book-body .page-wrapper .page-inner section.normal pre>code:before{content:normal}.book .book-body .page-wrapper .page-inner section.normal code{padding:.2em;margin:0;font-size:.85em;background-color:#f7f7f7}.book .book-body .page-wrapper .page-inner section.normal code:after,.book .book-body .page-wrapper .page-inner section.normal code:before{letter-spacing:-.2em;content:"\00a0"}.book .book-body .page-wrapper .page-inner section.normal ol,.book .book-body .page-wrapper .page-inner section.normal ul{padding:0 0 0 2em;margin:0 0 .85em}.book .book-body .page-wrapper .page-inner section.normal ol ol,.book .book-body .page-wrapper .page-inner section.normal ol ul,.book .book-body .page-wrapper .page-inner section.normal ul ol,.book .book-body .page-wrapper .page-inner section.normal ul ul{margin-top:0;margin-bottom:0}.book .book-body .page-wrapper .page-inner section.normal ol ol{list-style-type:lower-roman}.book .book-body .page-wrapper .page-inner section.normal blockquote{margin:0 0 .85em;padding:0 15px;opacity:0.75;border-left:4px solid #dcdcdc}.book .book-body .page-wrapper .page-inner section.normal blockquote:first-child{margin-top:0}.book .book-body .page-wrapper .page-inner section.normal blockquote:last-child{margin-bottom:0}.book .book-body .page-wrapper .page-inner section.normal dl{padding:0}.book .book-body .page-wrapper .page-inner section.normal dl dt{padding:0;margin-top:.85em;font-style:italic;font-weight:700}.book .book-body .page-wrapper .page-inner section.normal dl dd{padding:0 .85em;margin-bottom:.85em}.book .book-body .page-wrapper .page-inner section.normal dd{margin-left:0}.book .book-body .page-wrapper .page-inner section.normal .glossary-term{cursor:help;text-decoration:underline}.book .book-body .navigation{position:absolute;top:50px;bottom:0;margin:0;max-width:150px;min-width:90px;display:flex;justify-content:center;align-content:center;flex-direction:column;font-size:40px;color:#ccc;text-align:center;-webkit-transition:all 350ms ease;-moz-transition:all 350ms ease;-o-transition:all 350ms ease;transition:all 350ms ease}.book .book-body .navigation:hover{text-decoration:none;color:#444}.book .book-body .navigation.navigation-next{right:0}.book .book-body .navigation.navigation-prev{left:0}@media (max-width:1240px){.book .book-body .navigation{position:static;top:auto;max-width:50%;width:50%;display:inline-block;float:left}.book .book-body .navigation.navigation-unique{max-width:100%;width:100%}}.book .book-body .page-wrapper .page-inner section.glossary{margin-bottom:40px}.book .book-body .page-wrapper .page-inner section.glossary h2 a,.book .book-body .page-wrapper .page-inner section.glossary h2 a:hover{color:inherit;text-decoration:none}.book .book-body .page-wrapper .page-inner section.glossary .glossary-index{list-style:none;margin:0;padding:0}.book .book-body .page-wrapper .page-inner section.glossary .glossary-index li{display:inline;margin:0 8px;white-space:nowrap}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:auto;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-webkit-touch-callout:none}a{text-decoration:none}body,html{height:100%}html{font-size:62.5%}body{text-rendering:optimizeLegibility;font-smoothing:antialiased;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.2px;text-size-adjust:100%} +.book .book-summary ul.summary li a span {display:inline;padding:initial;overflow:visible;cursor:auto;opacity:1;} +/* show arrow before summary tag as in bootstrap */ +details > summary {display:list-item;cursor:pointer;} diff --git a/docs/libs/gitbook-2.6.7/js/app.min.js b/docs/libs/gitbook-2.6.7/js/app.min.js new file mode 100644 index 0000000..643f1f9 --- /dev/null +++ b/docs/libs/gitbook-2.6.7/js/app.min.js @@ -0,0 +1 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o"'`]/g,reHasEscapedHtml=RegExp(reEscapedHtml.source),reHasUnescapedHtml=RegExp(reUnescapedHtml.source);var reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,reInterpolate=/<%=([\s\S]+?)%>/g;var reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;var reRegExpChars=/^[:!,]|[\\^$.*+?()[\]{}|\/]|(^[0-9a-fA-Fnrtuvx])|([\n\r\u2028\u2029])/g,reHasRegExpChars=RegExp(reRegExpChars.source);var reComboMark=/[\u0300-\u036f\ufe20-\ufe23]/g;var reEscapeChar=/\\(\\)?/g;var reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g;var reFlags=/\w*$/;var reHasHexPrefix=/^0[xX]/;var reIsHostCtor=/^\[object .+?Constructor\]$/;var reIsUint=/^\d+$/;var reLatin1=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g;var reNoMatch=/($^)/;var reUnescapedString=/['\n\r\u2028\u2029\\]/g;var reWords=function(){var upper="[A-Z\\xc0-\\xd6\\xd8-\\xde]",lower="[a-z\\xdf-\\xf6\\xf8-\\xff]+";return RegExp(upper+"+(?="+upper+lower+")|"+upper+"?"+lower+"|"+upper+"+|[0-9]+","g")}();var contextProps=["Array","ArrayBuffer","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Math","Number","Object","RegExp","Set","String","_","clearTimeout","isFinite","parseFloat","parseInt","setTimeout","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap"];var templateCounter=-1;var typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=true;typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=false;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=true;cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=false;var deburredLetters={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"};var htmlEscapes={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"};var htmlUnescapes={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"};var objectTypes={function:true,object:true};var regexpEscapes={0:"x30",1:"x31",2:"x32",3:"x33",4:"x34",5:"x35",6:"x36",7:"x37",8:"x38",9:"x39",A:"x41",B:"x42",C:"x43",D:"x44",E:"x45",F:"x46",a:"x61",b:"x62",c:"x63",d:"x64",e:"x65",f:"x66",n:"x6e",r:"x72",t:"x74",u:"x75",v:"x76",x:"x78"};var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};var freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports;var freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module;var freeGlobal=freeExports&&freeModule&&typeof global=="object"&&global&&global.Object&&global;var freeSelf=objectTypes[typeof self]&&self&&self.Object&&self;var freeWindow=objectTypes[typeof window]&&window&&window.Object&&window;var moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports;var root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this;function baseCompareAscending(value,other){if(value!==other){var valIsNull=value===null,valIsUndef=value===undefined,valIsReflexive=value===value;var othIsNull=other===null,othIsUndef=other===undefined,othIsReflexive=other===other;if(value>other&&!othIsNull||!valIsReflexive||valIsNull&&!othIsUndef&&othIsReflexive||valIsUndef&&othIsReflexive){return 1}if(value-1){}return index}function charsRightIndex(string,chars){var index=string.length;while(index--&&chars.indexOf(string.charAt(index))>-1){}return index}function compareAscending(object,other){return baseCompareAscending(object.criteria,other.criteria)||object.index-other.index}function compareMultiple(object,other,orders){var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;while(++index=ordersLength){return result}var order=orders[index];return result*(order==="asc"||order===true?1:-1)}}return object.index-other.index}function deburrLetter(letter){return deburredLetters[letter]}function escapeHtmlChar(chr){return htmlEscapes[chr]}function escapeRegExpChar(chr,leadingChar,whitespaceChar){if(leadingChar){chr=regexpEscapes[chr]}else if(whitespaceChar){chr=stringEscapes[chr]}return"\\"+chr}function escapeStringChar(chr){return"\\"+stringEscapes[chr]}function indexOfNaN(array,fromIndex,fromRight){var length=array.length,index=fromIndex+(fromRight?0:-1);while(fromRight?index--:++index=9&&charCode<=13)||charCode==32||charCode==160||charCode==5760||charCode==6158||charCode>=8192&&(charCode<=8202||charCode==8232||charCode==8233||charCode==8239||charCode==8287||charCode==12288||charCode==65279)}function replaceHolders(array,placeholder){var index=-1,length=array.length,resIndex=-1,result=[];while(++index>>1;var MAX_SAFE_INTEGER=9007199254740991;var metaMap=WeakMap&&new WeakMap;var realNames={};function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper){return value}if(hasOwnProperty.call(value,"__chain__")&&hasOwnProperty.call(value,"__wrapped__")){return wrapperClone(value)}}return new LodashWrapper(value)}function baseLodash(){}function LodashWrapper(value,chainAll,actions){this.__wrapped__=value;this.__actions__=actions||[];this.__chain__=!!chainAll}var support=lodash.support={};lodash.templateSettings={escape:reEscape,evaluate:reEvaluate,interpolate:reInterpolate,variable:"",imports:{_:lodash}};function LazyWrapper(value){this.__wrapped__=value;this.__actions__=[];this.__dir__=1;this.__filtered__=false;this.__iteratees__=[];this.__takeCount__=POSITIVE_INFINITY;this.__views__=[]}function lazyClone(){var result=new LazyWrapper(this.__wrapped__);result.__actions__=arrayCopy(this.__actions__);result.__dir__=this.__dir__;result.__filtered__=this.__filtered__;result.__iteratees__=arrayCopy(this.__iteratees__);result.__takeCount__=this.__takeCount__;result.__views__=arrayCopy(this.__views__);return result}function lazyReverse(){if(this.__filtered__){var result=new LazyWrapper(this);result.__dir__=-1;result.__filtered__=true}else{result=this.clone();result.__dir__*=-1}return result}function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||arrLength=LARGE_ARRAY_SIZE?createCache(values):null,valuesLength=values.length;if(cache){indexOf=cacheIndexOf;isCommon=false;values=cache}outer:while(++indexlength?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end>>>0;start>>>=0;while(startlength?0:length+start}end=end===undefined||end>length?length:+end||0;if(end<0){end+=length}length=start>end?0:end-start>>>0;start>>>=0;var result=Array(length);while(++index=LARGE_ARRAY_SIZE,seen=isLarge?createCache():null,result=[];if(seen){indexOf=cacheIndexOf;isCommon=false}else{isLarge=false;seen=iteratee?[]:result}outer:while(++index>>1,computed=array[mid];if((retHighest?computed<=value:computed2?sources[length-2]:undefined,guard=length>2?sources[2]:undefined,thisArg=length>1?sources[length-1]:undefined;if(typeof customizer=="function"){customizer=bindCallback(customizer,thisArg,5);length-=2}else{customizer=typeof thisArg=="function"?thisArg:undefined;length-=customizer?1:0}if(guard&&isIterateeCall(sources[0],sources[1],guard)){customizer=length<3?undefined:customizer;length=1}while(++index-1?collection[index]:undefined}return baseFind(collection,predicate,eachFunc)}}function createFindIndex(fromRight){return function(array,predicate,thisArg){if(!(array&&array.length)){return-1}predicate=getCallback(predicate,thisArg,3);return baseFindIndex(array,predicate,fromRight)}}function createFindKey(objectFunc){return function(object,predicate,thisArg){predicate=getCallback(predicate,thisArg,3);return baseFind(object,predicate,objectFunc,true)}}function createFlow(fromRight){return function(){var wrapper,length=arguments.length,index=fromRight?length:-1,leftIndex=0,funcs=Array(length);while(fromRight?index--:++index=LARGE_ARRAY_SIZE){return wrapper.plant(value).value()}var index=0,result=length?funcs[index].apply(this,args):value;while(++index=length||!nativeIsFinite(length)){return""}var padLength=length-strLength;chars=chars==null?" ":chars+"";return repeat(chars,nativeCeil(padLength/chars.length)).slice(0,padLength)}function createPartialWrapper(func,bitmask,thisArg,partials){var isBind=bitmask&BIND_FLAG,Ctor=createCtorWrapper(func);function wrapper(){var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength);while(++leftIndexarrLength)){return false}while(++index-1&&value%1==0&&value-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isStrictComparable(value){return value===value&&!isObject(value)}function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask0){if(++count>=HOT_COUNT){return key}}else{count=0}return baseSetData(key,value)}}();function shimKeys(object){var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length;var allowIndexes=!!length&&isLength(length)&&(isArray(object)||isArguments(object));var index=-1,result=[];while(++index=120?createCache(othIndex&&value):null}var array=arrays[0],index=-1,length=array?array.length:0,seen=caches[0];outer:while(++index-1){splice.call(array,fromIndex,1)}}return array}var pullAt=restParam(function(array,indexes){indexes=baseFlatten(indexes);var result=baseAt(array,indexes);basePullAt(array,indexes.sort(baseCompareAscending));return result});function remove(array,predicate,thisArg){var result=[];if(!(array&&array.length)){return result}var index=-1,indexes=[],length=array.length;predicate=getCallback(predicate,thisArg,3);while(++index2?arrays[length-2]:undefined,thisArg=length>1?arrays[length-1]:undefined;if(length>2&&typeof iteratee=="function"){length-=2}else{iteratee=length>1&&typeof thisArg=="function"?(--length,thisArg):undefined;thisArg=undefined}arrays.length=length;return unzipWith(arrays,iteratee,thisArg)});function chain(value){var result=lodash(value);result.__chain__=true;return result}function tap(value,interceptor,thisArg){interceptor.call(thisArg,value);return value}function thru(value,interceptor,thisArg){return interceptor.call(thisArg,value)}function wrapperChain(){return chain(this)}function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}var wrapperConcat=restParam(function(values){values=baseFlatten(values);return this.thru(function(array){return arrayConcat(isArray(array)?array:[toObject(array)],values)})});function wrapperPlant(value){var result,parent=this;while(parent instanceof baseLodash){var clone=wrapperClone(parent);if(result){previous.__wrapped__=clone}else{result=clone}var previous=clone;parent=parent.__wrapped__}previous.__wrapped__=value;return result}function wrapperReverse(){var value=this.__wrapped__;var interceptor=function(value){return wrapped&&wrapped.__dir__<0?value:value.reverse()};if(value instanceof LazyWrapper){var wrapped=value;if(this.__actions__.length){wrapped=new LazyWrapper(this)}wrapped=wrapped.reverse();wrapped.__actions__.push({func:thru,args:[interceptor],thisArg:undefined});return new LodashWrapper(wrapped,this.__chain__)}return this.thru(interceptor)}function wrapperToString(){return this.value()+""}function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}var at=restParam(function(collection,props){return baseAt(collection,baseFlatten(props))});var countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?++result[key]:result[key]=1});function every(collection,predicate,thisArg){var func=isArray(collection)?arrayEvery:baseEvery;if(thisArg&&isIterateeCall(collection,predicate,thisArg)){predicate=undefined}if(typeof predicate!="function"||thisArg!==undefined){predicate=getCallback(predicate,thisArg,3)}return func(collection,predicate)}function filter(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,predicate)}var find=createFind(baseEach);var findLast=createFind(baseEachRight,true);function findWhere(collection,source){return find(collection,baseMatches(source))}var forEach=createForEach(arrayEach,baseEach);var forEachRight=createForEach(arrayEachRight,baseEachRight);var groupBy=createAggregator(function(result,value,key){if(hasOwnProperty.call(result,key)){result[key].push(value)}else{result[key]=[value]}});function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;if(!isLength(length)){collection=values(collection);length=collection.length}if(typeof fromIndex!="number"||guard&&isIterateeCall(target,fromIndex,guard)){fromIndex=0}else{fromIndex=fromIndex<0?nativeMax(length+fromIndex,0):fromIndex||0}return typeof collection=="string"||!isArray(collection)&&isString(collection)?fromIndex<=length&&collection.indexOf(target,fromIndex)>-1:!!length&&getIndexOf(collection,target,fromIndex)>-1}var indexBy=createAggregator(function(result,value,key){result[key]=value});var invoke=restParam(function(collection,path,args){var index=-1,isFunc=typeof path=="function",isProp=isKey(path),result=isArrayLike(collection)?Array(collection.length):[];baseEach(collection,function(value){var func=isFunc?path:isProp&&value!=null?value[path]:undefined;result[++index]=func?func.apply(value,args):invokePath(value,path,args)});return result});function map(collection,iteratee,thisArg){var func=isArray(collection)?arrayMap:baseMap;iteratee=getCallback(iteratee,thisArg,3);return func(collection,iteratee)}var partition=createAggregator(function(result,value,key){result[key?0:1].push(value)},function(){return[[],[]]});function pluck(collection,path){return map(collection,property(path))}var reduce=createReduce(arrayReduce,baseEach);var reduceRight=createReduce(arrayReduceRight,baseEachRight);function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;predicate=getCallback(predicate,thisArg,3);return func(collection,function(value,index,collection){return!predicate(value,index,collection)})}function sample(collection,n,guard){if(guard?isIterateeCall(collection,n,guard):n==null){collection=toIterable(collection);var length=collection.length;return length>0?collection[baseRandom(0,length-1)]:undefined}var index=-1,result=toArray(collection),length=result.length,lastIndex=length-1;n=nativeMin(n<0?0:+n||0,length);while(++index0){result=func.apply(this,arguments)}if(n<=1){func=undefined}return result}}var bind=restParam(function(func,thisArg,partials){var bitmask=BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,bind.placeholder);bitmask|=PARTIAL_FLAG}return createWrapper(func,bitmask,thisArg,partials,holders)});var bindAll=restParam(function(object,methodNames){methodNames=methodNames.length?baseFlatten(methodNames):functions(object);var index=-1,length=methodNames.length;while(++indexwait){complete(trailingCall,maxTimeoutId)}else{timeoutId=setTimeout(delayed,remaining)}}function maxDelayed(){complete(trailing,timeoutId)}function debounced(){args=arguments;stamp=now();thisArg=this;trailingCall=trailing&&(timeoutId||!leading);if(maxWait===false){var leadingCall=leading&&!timeoutId}else{if(!maxTimeoutId&&!leading){lastCalled=stamp}var remaining=maxWait-(stamp-lastCalled),isCalled=remaining<=0||remaining>maxWait;if(isCalled){if(maxTimeoutId){maxTimeoutId=clearTimeout(maxTimeoutId)}lastCalled=stamp;result=func.apply(thisArg,args)}else if(!maxTimeoutId){maxTimeoutId=setTimeout(maxDelayed,remaining)}}if(isCalled&&timeoutId){timeoutId=clearTimeout(timeoutId)}else if(!timeoutId&&wait!==maxWait){timeoutId=setTimeout(delayed,wait)}if(leadingCall){isCalled=true;result=func.apply(thisArg,args)}if(isCalled&&!timeoutId&&!maxTimeoutId){args=thisArg=undefined}return result}debounced.cancel=cancel;return debounced}var defer=restParam(function(func,args){return baseDelay(func,1,args)});var delay=restParam(function(func,wait,args){return baseDelay(func,wait,args)});var flow=createFlow();var flowRight=createFlow(true);function memoize(func,resolver){if(typeof func!="function"||resolver&&typeof resolver!="function"){throw new TypeError(FUNC_ERROR_TEXT)}var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key)){return cache.get(key)}var result=func.apply(this,args);memoized.cache=cache.set(key,result);return result};memoized.cache=new memoize.Cache;return memoized}var modArgs=restParam(function(func,transforms){transforms=baseFlatten(transforms);if(typeof func!="function"||!arrayEvery(transforms,baseIsFunction)){throw new TypeError(FUNC_ERROR_TEXT)}var length=transforms.length;return restParam(function(args){var index=nativeMin(args.length,length);while(index--){args[index]=transforms[index](args[index])}return func.apply(this,args)})});function negate(predicate){if(typeof predicate!="function"){throw new TypeError(FUNC_ERROR_TEXT)}return function(){return!predicate.apply(this,arguments)}}function once(func){return before(2,func)}var partial=createPartial(PARTIAL_FLAG);var partialRight=createPartial(PARTIAL_RIGHT_FLAG);var rearg=restParam(function(func,indexes){return createWrapper(func,REARG_FLAG,undefined,undefined,undefined,baseFlatten(indexes))});function restParam(func,start){if(typeof func!="function"){throw new TypeError(FUNC_ERROR_TEXT)}start=nativeMax(start===undefined?func.length-1:+start||0,0);return function(){var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);while(++indexother}function gte(value,other){return value>=other}function isArguments(value){return isObjectLike(value)&&isArrayLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")}var isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag};function isBoolean(value){return value===true||value===false||isObjectLike(value)&&objToString.call(value)==boolTag}function isDate(value){return isObjectLike(value)&&objToString.call(value)==dateTag}function isElement(value){return!!value&&value.nodeType===1&&isObjectLike(value)&&!isPlainObject(value)}function isEmpty(value){if(value==null){return true}if(isArrayLike(value)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))){return!value.length}return!keys(value).length}function isEqual(value,other,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;var result=customizer?customizer(value,other):undefined;return result===undefined?baseIsEqual(value,other,customizer):!!result}function isError(value){return isObjectLike(value)&&typeof value.message=="string"&&objToString.call(value)==errorTag}function isFinite(value){return typeof value=="number"&&nativeIsFinite(value)}function isFunction(value){return isObject(value)&&objToString.call(value)==funcTag}function isObject(value){var type=typeof value;return!!value&&(type=="object"||type=="function")}function isMatch(object,source,customizer,thisArg){customizer=typeof customizer=="function"?bindCallback(customizer,thisArg,3):undefined;return baseIsMatch(object,getMatchData(source),customizer)}function isNaN(value){return isNumber(value)&&value!=+value}function isNative(value){if(value==null){return false}if(isFunction(value)){return reIsNative.test(fnToString.call(value))}return isObjectLike(value)&&reIsHostCtor.test(value)}function isNull(value){return value===null}function isNumber(value){return typeof value=="number"||isObjectLike(value)&&objToString.call(value)==numberTag}function isPlainObject(value){var Ctor;if(!(isObjectLike(value)&&objToString.call(value)==objectTag&&!isArguments(value))||!hasOwnProperty.call(value,"constructor")&&(Ctor=value.constructor,typeof Ctor=="function"&&!(Ctor instanceof Ctor))){return false}var result;baseForIn(value,function(subValue,key){result=key});return result===undefined||hasOwnProperty.call(value,result)}function isRegExp(value){return isObject(value)&&objToString.call(value)==regexpTag}function isString(value){return typeof value=="string"||isObjectLike(value)&&objToString.call(value)==stringTag}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}function isUndefined(value){return value===undefined}function lt(value,other){return value0;while(++index=nativeMin(start,end)&&value=0&&string.indexOf(target,position)==position}function escape(string){string=baseToString(string);return string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}function escapeRegExp(string){string=baseToString(string);return string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,escapeRegExpChar):string||"(?:)"}var kebabCase=createCompounder(function(result,word,index){return result+(index?"-":"")+word.toLowerCase()});function pad(string,length,chars){string=baseToString(string);length=+length;var strLength=string.length;if(strLength>=length||!nativeIsFinite(length)){return string}var mid=(length-strLength)/2,leftLength=nativeFloor(mid),rightLength=nativeCeil(mid);chars=createPadding("",rightLength,chars);return chars.slice(0,leftLength)+string+chars}var padLeft=createPadDir();var padRight=createPadDir(true);function parseInt(string,radix,guard){if(guard?isIterateeCall(string,radix,guard):radix==null){radix=0}else if(radix){radix=+radix}string=trim(string);return nativeParseInt(string,radix||(reHasHexPrefix.test(string)?16:10))}function repeat(string,n){var result="";string=baseToString(string);n=+n;if(n<1||!string||!nativeIsFinite(n)){return result}do{if(n%2){result+=string}n=nativeFloor(n/2);string+=string}while(n);return result}var snakeCase=createCompounder(function(result,word,index){return result+(index?"_":"")+word.toLowerCase()});var startCase=createCompounder(function(result,word,index){return result+(index?" ":"")+(word.charAt(0).toUpperCase()+word.slice(1))});function startsWith(string,target,position){string=baseToString(string);position=position==null?0:nativeMin(position<0?0:+position||0,string.length);return string.lastIndexOf(target,position)==position}function template(string,options,otherOptions){var settings=lodash.templateSettings;if(otherOptions&&isIterateeCall(string,options,otherOptions)){options=otherOptions=undefined}string=baseToString(string);options=assignWith(baseAssign({},otherOptions||options),settings,assignOwnDefaults);var imports=assignWith(baseAssign({},options.imports),settings.imports,assignOwnDefaults),importsKeys=keys(imports),importsValues=baseValues(imports,importsKeys);var isEscaping,isEvaluating,index=0,interpolate=options.interpolate||reNoMatch,source="__p += '";var reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g");var sourceURL="//# sourceURL="+("sourceURL"in options?options.sourceURL:"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){interpolateValue||(interpolateValue=esTemplateValue);source+=string.slice(index,offset).replace(reUnescapedString,escapeStringChar);if(escapeValue){isEscaping=true;source+="' +\n__e("+escapeValue+") +\n'"}if(evaluateValue){isEvaluating=true;source+="';\n"+evaluateValue+";\n__p += '"}if(interpolateValue){source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"}index=offset+match.length;return match});source+="';\n";var variable=options.variable;if(!variable){source="with (obj) {\n"+source+"\n}\n"}source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;");source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\n"+"function print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result=attempt(function(){return Function(importsKeys,sourceURL+"return "+source).apply(undefined,importsValues)});result.source=source;if(isError(result)){throw result}return result}function trim(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string),trimmedRightIndex(string)+1)}chars=chars+"";return string.slice(charsLeftIndex(string,chars),charsRightIndex(string,chars)+1)}function trimLeft(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(trimmedLeftIndex(string))}return string.slice(charsLeftIndex(string,chars+""))}function trimRight(string,chars,guard){var value=string;string=baseToString(string);if(!string){return string}if(guard?isIterateeCall(value,chars,guard):chars==null){return string.slice(0,trimmedRightIndex(string)+1)}return string.slice(0,charsRightIndex(string,chars+"")+1)}function trunc(string,options,guard){if(guard&&isIterateeCall(string,options,guard)){options=undefined}var length=DEFAULT_TRUNC_LENGTH,omission=DEFAULT_TRUNC_OMISSION;if(options!=null){if(isObject(options)){var separator="separator"in options?options.separator:separator;length="length"in options?+options.length||0:length;omission="omission"in options?baseToString(options.omission):omission}else{length=+options||0}}string=baseToString(string);if(length>=string.length){return string}var end=length-omission.length;if(end<1){return omission}var result=string.slice(0,end);if(separator==null){return result+omission}if(isRegExp(separator)){if(string.slice(end).search(separator)){var match,newEnd,substring=string.slice(0,end);if(!separator.global){separator=RegExp(separator.source,(reFlags.exec(separator)||"")+"g")}separator.lastIndex=0;while(match=separator.exec(substring)){newEnd=match.index}result=result.slice(0,newEnd==null?end:newEnd)}}else if(string.indexOf(separator,end)!=end){var index=result.lastIndexOf(separator);if(index>-1){result=result.slice(0,index)}}return result+omission}function unescape(string){string=baseToString(string);return string&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string}function words(string,pattern,guard){if(guard&&isIterateeCall(string,pattern,guard)){pattern=undefined}string=baseToString(string);return string.match(pattern||reWords)||[]}var attempt=restParam(function(func,args){try{return func.apply(undefined,args)}catch(e){return isError(e)?e:new Error(e)}});function callback(func,thisArg,guard){if(guard&&isIterateeCall(func,thisArg,guard)){thisArg=undefined}return isObjectLike(func)?matches(func):baseCallback(func,thisArg)}function constant(value){return function(){return value}}function identity(value){return value}function matches(source){return baseMatches(baseClone(source,true))}function matchesProperty(path,srcValue){return baseMatchesProperty(path,baseClone(srcValue,true))}var method=restParam(function(path,args){return function(object){return invokePath(object,path,args)}});var methodOf=restParam(function(object,args){return function(path){return invokePath(object,path,args)}});function mixin(object,source,options){if(options==null){var isObj=isObject(source),props=isObj?keys(source):undefined,methodNames=props&&props.length?baseFunctions(source,props):undefined;if(!(methodNames?methodNames.length:isObj)){methodNames=false;options=source;source=object;object=this}}if(!methodNames){methodNames=baseFunctions(source,keys(source))}var chain=true,index=-1,isFunc=isFunction(object),length=methodNames.length;if(options===false){chain=false}else if(isObject(options)&&"chain"in options){chain=options.chain}while(++index0||end<0)){return new LazyWrapper(result)}if(start<0){result=result.takeRight(-start)}else if(start){result=result.drop(start)}if(end!==undefined){end=+end||0;result=end<0?result.dropRight(-end):result.take(end-start)}return result};LazyWrapper.prototype.takeRightWhile=function(predicate,thisArg){return this.reverse().takeWhile(predicate,thisArg).reverse()};LazyWrapper.prototype.toArray=function(){return this.take(POSITIVE_INFINITY)};baseForOwn(LazyWrapper.prototype,function(func,methodName){var checkIteratee=/^(?:filter|map|reject)|While$/.test(methodName),retUnwrapped=/^(?:first|last)$/.test(methodName),lodashFunc=lodash[retUnwrapped?"take"+(methodName=="last"?"Right":""):methodName];if(!lodashFunc){return}lodash.prototype[methodName]=function(){var args=retUnwrapped?[1]:arguments,chainAll=this.__chain__,value=this.__wrapped__,isHybrid=!!this.__actions__.length,isLazy=value instanceof LazyWrapper,iteratee=args[0],useLazy=isLazy||isArray(value);if(useLazy&&checkIteratee&&typeof iteratee=="function"&&iteratee.length!=1){isLazy=useLazy=false}var interceptor=function(value){return retUnwrapped&&chainAll?lodashFunc(value,1)[0]:lodashFunc.apply(undefined,arrayPush([value],args))};var action={func:thru,args:[interceptor],thisArg:undefined},onlyLazy=isLazy&&!isHybrid;if(retUnwrapped&&!chainAll){if(onlyLazy){value=value.clone();value.__actions__.push(action);return func.call(value)}return lodashFunc.call(undefined,this.value())[0]}if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result=func.apply(value,args);result.__actions__.push(action);return new LodashWrapper(result,chainAll)}return this.thru(interceptor)}});arrayEach(["join","pop","push","replace","shift","sort","splice","split","unshift"],function(methodName){var func=(/^(?:replace|split)$/.test(methodName)?stringProto:arrayProto)[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:join|pop|replace|shift)$/.test(methodName);lodash.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){return func.apply(this.value(),args)}return this[chainName](function(value){return func.apply(value,args)})}});baseForOwn(LazyWrapper.prototype,function(func,methodName){var lodashFunc=lodash[methodName];if(lodashFunc){var key=lodashFunc.name,names=realNames[key]||(realNames[key]=[]);names.push({name:methodName,func:lodashFunc})}});realNames[createHybridWrapper(undefined,BIND_KEY_FLAG).name]=[{name:"wrapper",func:undefined}];LazyWrapper.prototype.clone=lazyClone;LazyWrapper.prototype.reverse=lazyReverse;LazyWrapper.prototype.value=lazyValue;lodash.prototype.chain=wrapperChain;lodash.prototype.commit=wrapperCommit;lodash.prototype.concat=wrapperConcat;lodash.prototype.plant=wrapperPlant;lodash.prototype.reverse=wrapperReverse;lodash.prototype.toString=wrapperToString;lodash.prototype.run=lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=wrapperValue;lodash.prototype.collect=lodash.prototype.map;lodash.prototype.head=lodash.prototype.first;lodash.prototype.select=lodash.prototype.filter;lodash.prototype.tail=lodash.prototype.rest;return lodash}var _=runInContext();if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){root._=_;define(function(){return _})}else if(freeExports&&freeModule){if(moduleExports){(freeModule.exports=_)._=_}else{freeExports._=_}}else{root._=_}}).call(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],3:[function(require,module,exports){(function(window,document,undefined){var _MAP={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"};var _KEYCODE_MAP={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"};var _SHIFT_MAP={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"};var _SPECIAL_ALIASES={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"};var _REVERSE_MAP;for(var i=1;i<20;++i){_MAP[111+i]="f"+i}for(i=0;i<=9;++i){_MAP[i+96]=i}function _addEvent(object,type,callback){if(object.addEventListener){object.addEventListener(type,callback,false);return}object.attachEvent("on"+type,callback)}function _characterFromEvent(e){if(e.type=="keypress"){var character=String.fromCharCode(e.which);if(!e.shiftKey){character=character.toLowerCase()}return character}if(_MAP[e.which]){return _MAP[e.which]}if(_KEYCODE_MAP[e.which]){return _KEYCODE_MAP[e.which]}return String.fromCharCode(e.which).toLowerCase()}function _modifiersMatch(modifiers1,modifiers2){return modifiers1.sort().join(",")===modifiers2.sort().join(",")}function _eventModifiers(e){var modifiers=[];if(e.shiftKey){modifiers.push("shift")}if(e.altKey){modifiers.push("alt")}if(e.ctrlKey){modifiers.push("ctrl")}if(e.metaKey){modifiers.push("meta")}return modifiers}function _preventDefault(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=false}function _stopPropagation(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=true}function _isModifier(key){return key=="shift"||key=="ctrl"||key=="alt"||key=="meta"}function _getReverseMap(){if(!_REVERSE_MAP){_REVERSE_MAP={};for(var key in _MAP){if(key>95&&key<112){continue}if(_MAP.hasOwnProperty(key)){_REVERSE_MAP[_MAP[key]]=key}}}return _REVERSE_MAP}function _pickBestAction(key,modifiers,action){if(!action){action=_getReverseMap()[key]?"keydown":"keypress"}if(action=="keypress"&&modifiers.length){action="keydown"}return action}function _keysFromString(combination){if(combination==="+"){return["+"]}combination=combination.replace(/\+{2}/g,"+plus");return combination.split("+")}function _getKeyInfo(combination,action){var keys;var key;var i;var modifiers=[];keys=_keysFromString(combination);for(i=0;i1){_bindSequence(combination,sequence,callback,action);return}info=_getKeyInfo(combination,action);self._callbacks[info.key]=self._callbacks[info.key]||[];_getMatches(info.key,info.modifiers,{type:info.action},sequenceName,combination,level);self._callbacks[info.key][sequenceName?"unshift":"push"]({callback:callback,modifiers:info.modifiers,action:info.action,seq:sequenceName,level:level,combo:combination})}self._bindMultiple=function(combinations,callback,action){for(var i=0;i-1){return false}if(_belongsTo(element,self.target)){return false}return element.tagName=="INPUT"||element.tagName=="SELECT"||element.tagName=="TEXTAREA"||element.isContentEditable};Mousetrap.prototype.handleKey=function(){var self=this;return self._handleKey.apply(self,arguments)};Mousetrap.init=function(){var documentMousetrap=Mousetrap(document);for(var method in documentMousetrap){if(method.charAt(0)!=="_"){Mousetrap[method]=function(method){return function(){return documentMousetrap[method].apply(documentMousetrap,arguments)}}(method)}}};Mousetrap.init();window.Mousetrap=Mousetrap;if(typeof module!=="undefined"&&module.exports){module.exports=Mousetrap}if(typeof define==="function"&&define.amd){define(function(){return Mousetrap})}})(window,document)},{}],4:[function(require,module,exports){(function(process){function normalizeArray(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;var splitPath=function(filename){return splitPathRe.exec(filename).slice(1)};exports.resolve=function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){continue}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)==="/";path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.isAbsolute=function(path){return path.charAt(0)==="/"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!=="string"){throw new TypeError("Arguments to path.join must be strings")}return p}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i1){for(var i=1;i= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw RangeError(errors[type])}function map(array,fn){var length=array.length;var result=[];while(length--){result[length]=fn(array[length])}return result}function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter=55296&&value<=56319&&counter65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digitfloor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j=n&¤tValuefloor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;jmaxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q0&&len>maxKeys){len=maxKeys}for(var i=0;i=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],8:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var rest=url;rest=rest.trim();var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto;rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes=rest.substr(0,2)==="//";if(slashes&&!(proto&&hostlessProtocol[proto])){rest=rest.substr(2);this.slashes=true}}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){var hostEnd=-1;for(var i=0;i127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){var domainArray=this.hostname.split(".");var newOut=[];for(var i=0;i0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!isNull(result.pathname)||!isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last=="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!isNull(result.pathname)||!isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host};function isString(arg){return typeof arg==="string"}function isObject(arg){return typeof arg==="object"&&arg!==null}function isNull(arg){return arg===null}function isNullOrUndefined(arg){return arg==null}},{punycode:6,querystring:9}],11:[function(require,module,exports){var $=require("jquery");function toggleDropdown(e){var $dropdown=$(e.currentTarget).parent().find(".dropdown-menu");$dropdown.toggleClass("open");e.stopPropagation();e.preventDefault()}function closeDropdown(e){$(".dropdown-menu").removeClass("open")}function init(){$(document).on("click",".toggle-dropdown",toggleDropdown);$(document).on("click",".dropdown-menu",function(e){e.stopPropagation()});$(document).on("click",closeDropdown)}module.exports={init:init}},{jquery:1}],12:[function(require,module,exports){var $=require("jquery");module.exports=$({})},{jquery:1}],13:[function(require,module,exports){var $=require("jquery");var _=require("lodash");var storage=require("./storage");var dropdown=require("./dropdown");var events=require("./events");var state=require("./state");var keyboard=require("./keyboard");var navigation=require("./navigation");var sidebar=require("./sidebar");var toolbar=require("./toolbar");function start(config){sidebar.init();keyboard.init();dropdown.init();navigation.init();toolbar.createButton({index:0,icon:"fa fa-align-justify",label:"Toggle Sidebar",onClick:function(e){e.preventDefault();sidebar.toggle()}});events.trigger("start",config);navigation.notify()}var gitbook={start:start,events:events,state:state,toolbar:toolbar,sidebar:sidebar,storage:storage,keyboard:keyboard};var MODULES={gitbook:gitbook,jquery:$,lodash:_};window.gitbook=gitbook;window.$=$;window.jQuery=$;gitbook.require=function(mods,fn){mods=_.map(mods,function(mod){mod=mod.toLowerCase();if(!MODULES[mod]){throw new Error("GitBook module "+mod+" doesn't exist")}return MODULES[mod]});fn.apply(null,mods)};module.exports={}},{"./dropdown":11,"./events":12,"./keyboard":14,"./navigation":16,"./sidebar":18,"./state":19,"./storage":20,"./toolbar":21,jquery:1,lodash:2}],14:[function(require,module,exports){var Mousetrap=require("mousetrap");var navigation=require("./navigation");var sidebar=require("./sidebar");function bindShortcut(keys,fn){Mousetrap.bind(keys,function(e){fn();return false})}function init(){bindShortcut(["right"],function(e){navigation.goNext()});bindShortcut(["left"],function(e){navigation.goPrev()});bindShortcut(["s"],function(e){sidebar.toggle()})}module.exports={init:init,bind:bindShortcut}},{"./navigation":16,"./sidebar":18,mousetrap:3}],15:[function(require,module,exports){var state=require("./state");function showLoading(p){state.$book.addClass("is-loading");p.always(function(){state.$book.removeClass("is-loading")});return p}module.exports={show:showLoading}},{"./state":19}],16:[function(require,module,exports){var $=require("jquery");var url=require("url");var events=require("./events");var state=require("./state");var loading=require("./loading");var usePushState=typeof history.pushState!=="undefined";function handleNavigation(relativeUrl,push){var uri=url.resolve(window.location.pathname,relativeUrl);notifyPageChange();location.href=relativeUrl;return}function updateNavigationPosition(){var bodyInnerWidth,pageWrapperWidth;bodyInnerWidth=parseInt($(".body-inner").css("width"),10);pageWrapperWidth=parseInt($(".page-wrapper").css("width"),10);$(".navigation-next").css("margin-right",bodyInnerWidth-pageWrapperWidth+"px")}function notifyPageChange(){events.trigger("page.change")}function preparePage(notify){var $bookBody=$(".book-body");var $bookInner=$bookBody.find(".body-inner");var $pageWrapper=$bookInner.find(".page-wrapper");updateNavigationPosition();$bookInner.scrollTop(0);$bookBody.scrollTop(0);if(notify!==false)notifyPageChange()}function isLeftClickEvent(e){return e.button===0}function isModifiedEvent(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function handlePagination(e){if(isModifiedEvent(e)||!isLeftClickEvent(e)){return}e.stopPropagation();e.preventDefault();var url=$(this).attr("href");if(url)handleNavigation(url,true)}function goNext(){var url=$(".navigation-next").attr("href");if(url)handleNavigation(url,true)}function goPrev(){var url=$(".navigation-prev").attr("href");if(url)handleNavigation(url,true)}function init(){$.ajaxSetup({});if(location.protocol!=="file:"){history.replaceState({path:window.location.href},"")}window.onpopstate=function(event){if(event.state===null){return}return handleNavigation(event.state.path,false)};$(document).on("click",".navigation-prev",handlePagination);$(document).on("click",".navigation-next",handlePagination);$(document).on("click",".summary [data-path] a",handlePagination);$(window).resize(updateNavigationPosition);preparePage(false)}module.exports={init:init,goNext:goNext,goPrev:goPrev,notify:notifyPageChange}},{"./events":12,"./loading":15,"./state":19,jquery:1,url:10}],17:[function(require,module,exports){module.exports={isMobile:function(){return document.body.clientWidth<=600}}},{}],18:[function(require,module,exports){var $=require("jquery");var _=require("lodash");var storage=require("./storage");var platform=require("./platform");var state=require("./state");function toggleSidebar(_state,animation){if(state!=null&&isOpen()==_state)return;if(animation==null)animation=true;state.$book.toggleClass("without-animation",!animation);state.$book.toggleClass("with-summary",_state);storage.set("sidebar",isOpen())}function isOpen(){return state.$book.hasClass("with-summary")}function init(){if(platform.isMobile()){toggleSidebar(false,false)}else{toggleSidebar(storage.get("sidebar",true),false)}$(document).on("click",".book-summary li.chapter a",function(e){if(platform.isMobile())toggleSidebar(false,false)})}function filterSummary(paths){var $summary=$(".book-summary");$summary.find("li").each(function(){var path=$(this).data("path");var st=paths==null||_.contains(paths,path);$(this).toggle(st);if(st)$(this).parents("li").show()})}module.exports={init:init,isOpen:isOpen,toggle:toggleSidebar,filter:filterSummary}},{"./platform":17,"./state":19,"./storage":20,jquery:1,lodash:2}],19:[function(require,module,exports){var $=require("jquery");var url=require("url");var path=require("path");var state={};state.update=function(dom){var $book=$(dom.find(".book"));state.$book=$book;state.level=$book.data("level");state.basePath=$book.data("basepath");state.innerLanguage=$book.data("innerlanguage");state.revision=$book.data("revision");state.filepath=$book.data("filepath");state.chapterTitle=$book.data("chapter-title");state.root=url.resolve(location.protocol+"//"+location.host,path.dirname(path.resolve(location.pathname.replace(/\/$/,"/index.html"),state.basePath))).replace(/\/?$/,"/");state.bookRoot=state.innerLanguage?url.resolve(state.root,".."):state.root};state.update($);module.exports=state},{jquery:1,path:4,url:10}],20:[function(require,module,exports){var baseKey="";module.exports={setBaseKey:function(key){baseKey=key},set:function(key,value){key=baseKey+":"+key;try{sessionStorage[key]=JSON.stringify(value)}catch(e){}},get:function(key,def){key=baseKey+":"+key;if(sessionStorage[key]===undefined)return def;try{var v=JSON.parse(sessionStorage[key]);return v==null?def:v}catch(err){return sessionStorage[key]||def}},remove:function(key){key=baseKey+":"+key;sessionStorage.removeItem(key)}}},{}],21:[function(require,module,exports){var $=require("jquery");var _=require("lodash");var events=require("./events");var buttons=[];function insertAt(parent,selector,index,element){var lastIndex=parent.children(selector).length;if(index<0){index=Math.max(0,lastIndex+1+index)}parent.append(element);if(index",{class:"dropdown-menu",html:'

    '});if(_.isString(dropdown)){$menu.append(dropdown)}else{var groups=_.map(dropdown,function(group){if(_.isArray(group))return group;else return[group]});_.each(groups,function(group){var $group=$("
    ",{class:"buttons"});var sizeClass="size-"+group.length;_.each(group,function(btn){btn=_.defaults(btn||{},{text:"",className:"",onClick:defaultOnClick});var $btn=$("'; + var clipboard; + + gitbook.events.bind("page.change", function() { + + if (!ClipboardJS.isSupported()) return; + + // the page.change event is thrown twice: before and after the page changes + if (clipboard) { + // clipboard is already defined but we are on the same page + if (clipboard._prevPage === window.location.pathname) return; + // clipboard is already defined and url path change + // we can deduct that we are before page changes + clipboard.destroy(); // destroy the previous events listeners + clipboard = undefined; // reset the clipboard object + return; + } + + $(copyButton).prependTo("div.sourceCode"); + + clipboard = new ClipboardJS(".copy-to-clipboard-button", { + text: function(trigger) { + return trigger.parentNode.textContent; + } + }); + + clipboard._prevPage = window.location.pathname + + }); + +}); diff --git a/docs/libs/gitbook-2.6.7/js/plugin-fontsettings.js b/docs/libs/gitbook-2.6.7/js/plugin-fontsettings.js new file mode 100644 index 0000000..a70f0fb --- /dev/null +++ b/docs/libs/gitbook-2.6.7/js/plugin-fontsettings.js @@ -0,0 +1,152 @@ +gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) { + var fontState; + + var THEMES = { + "white": 0, + "sepia": 1, + "night": 2 + }; + + var FAMILY = { + "serif": 0, + "sans": 1 + }; + + // Save current font settings + function saveFontSettings() { + gitbook.storage.set("fontState", fontState); + update(); + } + + // Increase font size + function enlargeFontSize(e) { + e.preventDefault(); + if (fontState.size >= 4) return; + + fontState.size++; + saveFontSettings(); + }; + + // Decrease font size + function reduceFontSize(e) { + e.preventDefault(); + if (fontState.size <= 0) return; + + fontState.size--; + saveFontSettings(); + }; + + // Change font family + function changeFontFamily(index, e) { + e.preventDefault(); + + fontState.family = index; + saveFontSettings(); + }; + + // Change type of color + function changeColorTheme(index, e) { + e.preventDefault(); + + var $book = $(".book"); + + if (fontState.theme !== 0) + $book.removeClass("color-theme-"+fontState.theme); + + fontState.theme = index; + if (fontState.theme !== 0) + $book.addClass("color-theme-"+fontState.theme); + + saveFontSettings(); + }; + + function update() { + var $book = gitbook.state.$book; + + $(".font-settings .font-family-list li").removeClass("active"); + $(".font-settings .font-family-list li:nth-child("+(fontState.family+1)+")").addClass("active"); + + $book[0].className = $book[0].className.replace(/\bfont-\S+/g, ''); + $book.addClass("font-size-"+fontState.size); + $book.addClass("font-family-"+fontState.family); + + if(fontState.theme !== 0) { + $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, ''); + $book.addClass("color-theme-"+fontState.theme); + } + }; + + function init(config) { + var $bookBody, $book; + + //Find DOM elements. + $book = gitbook.state.$book; + $bookBody = $book.find(".book-body"); + + // Instantiate font state object + fontState = gitbook.storage.get("fontState", { + size: config.size || 2, + family: FAMILY[config.family || "sans"], + theme: THEMES[config.theme || "white"] + }); + + update(); + }; + + + gitbook.events.bind("start", function(e, config) { + var opts = config.fontsettings; + if (!opts) return; + + // Create buttons in toolbar + gitbook.toolbar.createButton({ + icon: 'fa fa-font', + label: 'Font Settings', + className: 'font-settings', + dropdown: [ + [ + { + text: 'A', + className: 'font-reduce', + onClick: reduceFontSize + }, + { + text: 'A', + className: 'font-enlarge', + onClick: enlargeFontSize + } + ], + [ + { + text: 'Serif', + onClick: _.partial(changeFontFamily, 0) + }, + { + text: 'Sans', + onClick: _.partial(changeFontFamily, 1) + } + ], + [ + { + text: 'White', + onClick: _.partial(changeColorTheme, 0) + }, + { + text: 'Sepia', + onClick: _.partial(changeColorTheme, 1) + }, + { + text: 'Night', + onClick: _.partial(changeColorTheme, 2) + } + ] + ] + }); + + + // Init current settings + init(opts); + }); +}); + + diff --git a/docs/libs/gitbook-2.6.7/js/plugin-search.js b/docs/libs/gitbook-2.6.7/js/plugin-search.js new file mode 100644 index 0000000..747fcce --- /dev/null +++ b/docs/libs/gitbook-2.6.7/js/plugin-search.js @@ -0,0 +1,270 @@ +gitbook.require(["gitbook", "lodash", "jQuery"], function(gitbook, _, $) { + var index = null; + var fuse = null; + var _search = {engine: 'lunr', opts: {}}; + var $searchInput, $searchLabel, $searchForm; + var $highlighted = [], hi, hiOpts = { className: 'search-highlight' }; + var collapse = false, toc_visible = []; + + function init(config) { + // Instantiate search settings + _search = gitbook.storage.get("search", { + engine: config.search.engine || 'lunr', + opts: config.search.options || {}, + }); + }; + + // Save current search settings + function saveSearchSettings() { + gitbook.storage.set("search", _search); + } + + // Use a specific index + function loadIndex(data) { + // [Yihui] In bookdown, I use a character matrix to store the chapter + // content, and the index is dynamically built on the client side. + // Gitbook prebuilds the index data instead: https://github.com/GitbookIO/plugin-search + // We can certainly do that via R packages V8 and jsonlite, but let's + // see how slow it really is before improving it. On the other hand, + // lunr cannot handle non-English text very well, e.g. the default + // tokenizer cannot deal with Chinese text, so we may want to replace + // lunr with a dumb simple text matching approach. + if (_search.engine === 'lunr') { + index = lunr(function () { + this.ref('url'); + this.field('title', { boost: 10 }); + this.field('body'); + }); + data.map(function(item) { + index.add({ + url: item[0], + title: item[1], + body: item[2] + }); + }); + return; + } + fuse = new Fuse(data.map((_data => { + return { + url: _data[0], + title: _data[1], + body: _data[2] + }; + })), Object.assign( + { + includeScore: true, + threshold: 0.1, + ignoreLocation: true, + keys: ["title", "body"] + }, + _search.opts + )); + } + + // Fetch the search index + function fetchIndex() { + return $.getJSON(gitbook.state.basePath+"/search_index.json") + .then(loadIndex); // [Yihui] we need to use this object later + } + + // Search for a term and return results + function search(q) { + let results = []; + switch (_search.engine) { + case 'fuse': + if (!fuse) return; + results = fuse.search(q).map(function(result) { + var parts = result.item.url.split('#'); + return { + path: parts[0], + hash: parts[1] + }; + }); + break; + case 'lunr': + default: + if (!index) return; + results = _.chain(index.search(q)).map(function(result) { + var parts = result.ref.split("#"); + return { + path: parts[0], + hash: parts[1] + }; + }) + .value(); + } + + // [Yihui] Highlight the search keyword on current page + $highlighted = $('.page-inner') + .unhighlight(hiOpts).highlight(q, hiOpts).find('span.search-highlight'); + scrollToHighlighted(0); + + return results; + } + + // [Yihui] Scroll the chapter body to the i-th highlighted string + function scrollToHighlighted(d) { + var n = $highlighted.length; + hi = hi === undefined ? 0 : hi + d; + // navignate to the previous/next page in the search results if reached the top/bottom + var b = hi < 0; + if (d !== 0 && (b || hi >= n)) { + var path = currentPath(), n2 = toc_visible.length; + if (n2 === 0) return; + for (var i = b ? 0 : n2; (b && i < n2) || (!b && i >= 0); i += b ? 1 : -1) { + if (toc_visible.eq(i).data('path') === path) break; + } + i += b ? -1 : 1; + if (i < 0) i = n2 - 1; + if (i >= n2) i = 0; + var lnk = toc_visible.eq(i).find('a[href$=".html"]'); + if (lnk.length) lnk[0].click(); + return; + } + if (n === 0) return; + var $p = $highlighted.eq(hi); + $p[0].scrollIntoView(); + $highlighted.css('background-color', ''); + // an orange background color on the current item and removed later + $p.css('background-color', 'orange'); + setTimeout(function() { + $p.css('background-color', ''); + }, 2000); + } + + function currentPath() { + var href = window.location.pathname; + href = href.substr(href.lastIndexOf('/') + 1); + return href === '' ? 'index.html' : href; + } + + // Create search form + function createForm(value) { + if ($searchForm) $searchForm.remove(); + if ($searchLabel) $searchLabel.remove(); + if ($searchInput) $searchInput.remove(); + + $searchForm = $('
    ', { + 'class': 'book-search', + 'role': 'search' + }); + + $searchLabel = $('