* Added kable_paper style for a NYT like table
* Let column_spec take conditional formats
* Added html_font option for kable_styling
diff --git a/docs/awesome_table_in_html.Rmd b/docs/awesome_table_in_html.Rmd
index 4658a3c..f8a7c67 100644
--- a/docs/awesome_table_in_html.Rmd
+++ b/docs/awesome_table_in_html.Rmd
@@ -14,6 +14,12 @@
%\VignetteEncoding{UTF-8}
---
+<script>
+$(document).ready(function(){
+ $('[data-toggle="popover"]').popover();
+});
+</script>
+
<img src="kableExtra_sm.png" align="right" alt="logo" width="80" height = "93" style = "border: none; float: right;">
> Please see the package [documentation site](http://haozhu233.github.io/kableExtra/) for how to use this package in LaTeX.
@@ -68,7 +74,13 @@
```
## Alternative themes
-`kableExtra` also offers a few in-house alternative HTML table themes other than the default bootstrap theme. Right now there are 5 of them: `kable_classic`, `kable_classic_2`, `kable_minimal`, `kable_material` and `kable_material_dark`. These functions are alternatives to `kable_styling`, which means that you can specify any additional formatting options in `kable_styling` in these functions too. The only difference is that `bootstrap_options` (as discussed in the next section) is replaced with `lightable_options` at the same location with only two choices `striped` and `hover` available.
+`kableExtra` also offers a few in-house alternative HTML table themes other than the default bootstrap theme. Right now there are 6 of them: `kable_paper`, `kable_classic`, `kable_classic_2`, `kable_minimal`, `kable_material` and `kable_material_dark`. These functions are alternatives to `kable_styling`, which means that you can specify any additional formatting options in `kable_styling` in these functions too. The only difference is that `bootstrap_options` (as discussed in the next section) is replaced with `lightable_options` at the same location with only two choices `striped` and `hover` available.
+
+```{r}
+dt %>%
+ kable() %>%
+ kable_paper("hover")
+```
```{r}
dt %>%
@@ -130,7 +142,7 @@
By default, a bootstrap table takes 100% of the width. It is supposed to use together with its grid system to scale the table properly. However, when you are writing a rmarkdown document, you probably don't want to write your own css/or grid. For some small tables with only few columns, a page wide table looks awful. To make it easier, you can specify whether you want the table to have `full_width` or not in `kable_styling`. By default, `full_width` is set to be `TRUE` for HTML tables (note that for LaTeX, the default is `FALSE` since I don't want to change the "common" looks unless you specified it.)
```{r}
kable(dt) %>%
- kable_styling(bootstrap_options = "striped", full_width = F)
+ kable_paper(bootstrap_options = "striped", full_width = F)
```
## Position
@@ -184,9 +196,23 @@
column_spec(2, width = "30em", background = "yellow")
```
+> **Key Update**: I understand the need of doing conditional formatting and the previous solution `cell_spec` is relatively hard to use. Therefore in kableExtra 1.2, I improved the functionality of `column_spec` so it can take vectorized input for most of its arguments (except `width`, `border_left` and `border_right`). It is really easy right now to format a column based on other values.
+
+```{r}
+mtcars[1:8, 1:8] %>%
+ kable() %>%
+ kable_paper(full_width = F) %>%
+ column_spec(2, color = spec_color(mtcars$mpg[1:8]),
+ link = "https://haozhu233.github.io/kableExtra") %>%
+ column_spec(6, color = "white",
+ background = spec_color(mtcars$drat[1:8], end = 0.7),
+ popover = paste("am:", mtcars$am[1:8]))
+```
+
+You can still use the `spec_***` helper functions to help you define color. See the documentation [below](#visualize-data-with-viridis-color).
## Row spec
-Similar with `column_spec`, you can define specifications for rows. Currently, you can either bold or italiciz an entire row. Note that, similar with other row-related functions in `kableExtra`, for the position of the target row, you don't need to count in header rows or the group labelling rows.
+Similar with `column_spec`, you can define specifications for rows. Currently, you can either bold or italicize an entire row. Note that, similar with other row-related functions in `kableExtra`, for the position of the target row, you don't need to count in header rows or the group labeling rows.
```{r}
kable(dt) %>%
@@ -206,6 +232,9 @@
```
# Cell/Text Specification
+
+>**Key Update: As said before, if you are using kableExtra 1.2+, you are now recommended to used `column_spec` to do conditional formatting**.
+
Function `cell_spec` is introduced in version 0.6.0 of `kableExtra`. Unlike `column_spec` and `row_spec`, **this function is designed to be used before the data.frame gets into the `kable` function**. Comparing with figuring out a list of 2 dimentional index for targeted cells, this design is way easier to learn and use and it fits perfectly well with `dplyr`'s `mutate` and `summarize` functions. With this design, there are two things to be noted:
* Since `cell_spec` generates raw `HTML` or `LaTeX` code, make sure you remember to put `escape = FALSE` in `kable`. At the same time, you have to escape special symbols including `%` manually by yourself
* `cell_spec` needs a way to know whether you want `html` or `latex`. You can specify it locally in function or globally via the `options(knitr.table.format = "latex")` method as suggested at the beginning. If you don't provide anything, this function will output as HTML by default.
@@ -230,7 +259,7 @@
```
## Visualize data with Viridis Color
-This package also comes with a few helper functions, including `spec_color`, `spec_font_size` & `spec_angle`. These functions can rescale continuous variables to certain scales. For example, function `spec_color` would map a continuous variable to any [viridis color palettes](https://CRAN.R-project.org/package=viridisLite). It offers a very visually impactful representation in a tabular format.
+This package also comes with a few helper functions, including `spec_color`, `spec_font_size` & `spec_angle`. These functions can rescale continuous variables to certain scales. For example, function `spec_color` would map a continuous variable to any [viridis color palettes](https://CRAN.R-project.org/package=viridisLite). It offers a very visually impressive representation in a tabular format.
```{r}
iris[1:10, ] %>%
@@ -296,12 +325,6 @@
</script>
```
-<script>
-$(document).ready(function(){
- $('[data-toggle="popover"]').popover();
-});
-</script>
-
```{r}
popover_dt <- data.frame(
position = c("top", "bottom", "right", "left"),
diff --git a/docs/awesome_table_in_html.html b/docs/awesome_table_in_html.html
index 9c39a08..28f5862 100644
--- a/docs/awesome_table_in_html.html
+++ b/docs/awesome_table_in_html.html
@@ -11,7 +11,7 @@
<meta name="author" content="Hao Zhu" />
-<meta name="date" content="2020-08-11" />
+<meta name="date" content="2020-08-18" />
<title>Create Awesome HTML Table with knitr::kable and kableExtra</title>
@@ -1324,6 +1324,14 @@
width: 100%;
margin-bottom: 10px;
}
+.lightable-minimal td {
+margin-left: 5px;
+margin-right: 5px;
+}
+.lightable-minimal th {
+margin-left: 5px;
+margin-right: 5px;
+}
.lightable-minimal thead tr th {
border-bottom: 2px solid black;
empty-cells: hide;
@@ -1343,11 +1351,19 @@
width: 100%;
margin-bottom: 10px;
}
+.lightable-classic td {
+padding-left: 5px;
+padding-right: 5px;
+}
+.lightable-classic th {
+padding-left: 5px;
+padding-right: 5px;
+}
.lightable-classic thead tr:last-child th {
border-bottom: 1px solid #111111;
}
.lightable-classic.lightable-hover tbody tr:hover {
-background-color: #f5f5f5;
+background-color: #F9EEC1;
}
.lightable-classic.lightable-striped tr:nth-child(even) {
background-color: #f5f5f5;
@@ -1358,11 +1374,19 @@
width: 100%;
margin-bottom: 10px;
}
+.lightable-classic-2 td {
+padding-left: 5px;
+padding-right: 5px;
+}
+.lightable-classic-2 th {
+padding-left: 5px;
+padding-right: 5px;
+}
.lightable-classic-2 thead tr:last-child th {
border-bottom: 1px solid #111111;
}
.lightable-classic-2.lightable-hover tbody tr:hover {
-background-color: #f5f5f5;
+background-color: #F9EEC1;
}
.lightable-classic-2.lightable-striped tr:nth-child(even) {
background-color: #f5f5f5;
@@ -1434,6 +1458,32 @@
.lightable-material-dark.lightable-striped thead tr:last-child th {
border-bottom: 1px solid #FFFFFF12;
}
+.lightable-paper {
+width: 100%;
+margin-bottom: 10px;
+}
+.lightable-paper th {
+color: #999;
+vertical-align: bottom;
+border-bottom: 1px solid #00000020;
+line-height: 1.15em;
+padding: 10px 5px;
+}
+.lightable-paper td {
+vertical-align: middle;
+border-bottom: 1px solid #00000010;
+line-height: 1.15em;
+padding: 7px 5px;
+}
+.lightable-paper.lightable-hover tbody tr:hover {
+background-color: #F9EEC1;
+}
+.lightable-paper.lightable-striped tr:nth-child(even) {
+background-color: #00000008;
+}
+.lightable-material-dark.lightable-striped td {
+border: 0;
+}
</style>
<style type="text/css">code{white-space: pre;}</style>
@@ -1664,11 +1714,16 @@
<h1 class="title toc-ignore">Create Awesome HTML Table with knitr::kable and kableExtra</h1>
<h4 class="author">Hao Zhu</h4>
-<h4 class="date">2020-08-11</h4>
+<h4 class="date">2020-08-18</h4>
</div>
+<script>
+$(document).ready(function(){
+ $('[data-toggle="popover"]').popover();
+});
+</script>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEnCAYAAABG253oAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAC4jAAAuIwF4pT92AAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAABAAElEQVR4Aey9Cbh2WVXfee74DfXVyCAzXxWgDMaA4ICoQPk4AyrRior6dOxO96OJsTWJLcqMKMYhinab1k6MT2JUEI2KUxQpHEEo1CAoUkAxDwU11zffe/v/W+/+n7vOfvd5h3u/oqa7n+d997TWf6299nD22efsfVa6A3evscDOzs76ysrKOQp87bXX3n9zc/PlCu6cPn36ex/1qEddT3qmIX7gDixwYIG7uQXUqdf0W6UYdPD3ve99//r973//9TfddNMOP4U/9oEPfOD/fN3rXrdeaFbhuZsX+0D9Awvcuy1Ap3enxhLq6F+u31tuvvnmnQ9/+MM7GgjO8vvIRz6yQ9p73/veaxT/UlsNXg8cTjvw71kWWLlnFeegNFhAnXblmmuuWX/Sk550lrg69mM19f8BTfm/Zn19vTtx4sQ5xVd8lVdwS+Gdo0ePrp87d647e/bsq9fW1p73oAc96O/hf/Ob37zxxCc+EZ4d4gfunmOBgwHgnlOXURL14/4+X1f7yxT/Pv3+1SWXXLLBVb509pjq10VX3jnRrl188cUrujU4o/yf1O+HHv7wh98IbcYmfuDu/haI+8K7fzEOSkDH1W+VTow1NJX/Vnl/pc78r3U1p/PHbIBOPGYt50Ernk0NGv92dXX1r7Q+8L/AUwaI1Ve+8pUH6wNjRrybpR/MAO5mFVarS6dXWt/x1Vmv3N7e/qELL7zws8+cOdNphZ+OT4dddrDfFs/WoUOHNnTr0N12221v2Nra+r7jx4+/Tum+LdjSoADdgbubWuBgALibVpw6PnW35iu+7vOvUPgHdI//DYcPH6bDbpWi7fdqHTjHjh1bO3nyZKc1gl+U7OdrIHgP+GXWwEBwsD5QDH538g4GgLtTbRVd6XTu+Ndff/2FWtT7N5qqf9dFF110Iff5IqPTjk7191hkbi1ifUAybpEOP37kyJEfu//973+b0lf0xGDt6U9/etx+7BH/gO1OsMDBAHAnGH2vIn3vfdVVV8VV+brrrnuOOv5LLr300ituvfVWrs5M9+n4d1S9Mric0yxjQ7cY3Y033vguxZ//sIc97JfkMxtYe9WrXtVZP9IO3F3bAndUQ7lrl/pupp06FvXUT/d1n/+5SvtBXYGfrvvyvd/n75RZ+8rSzSDWB3SrsaEBqNOtwWs1+Hz/5Zdf/kZMK90YhA5uCzDGXdwtXfN38fLco9Sj4+fn+R/60Icepo72InW6f3bBBRfEfb5oKPNy9/nu+BsbE3udjQcELPMvaz9mIiuaDazefvvtnRYf/6OeHrz4wQ9+8PsBOhgIljXnJ59+6Rr/5Kt475SozsMVP6b6Cm/qqv+d8r9Xj/Uu0z04Rol7cvmL1yEdn59W9ensW+9+N4/2utXLL5+k66lBDALLDQSMQOi5Lt066XaDwj/40Ic+9BXCPiud0Y+nFFEWhQ/cXcgCizeeu5DS92RVuM+/3/3ut+IFNb3M82xdWV+mZ/KP5iq7p/t8d/w1TRT0JuDOJz7RnfuTP+m2dL++oin86td9Xbf+lKd0K/e5j4YVjSu6rdjjQBDrA3qjsLvlllverk7/PA0Ev059aSDgtmBbaQePDe9CDfhgALiLVEa5Uvb3+R/84AefoPt77vO/TJ0mXt+VqvHMfymVt9Xf1Mnjqn/iRHfummu67V/7te72v/mbbvv48e5C3QZsv/e93cpjHtOt/ZN/0q195md2K+rAHbMB8y4lcNLJpTf7CLpTp079jvT//oc85CF/DUwZCA7WB5az6R1GfTAA3GGmXRyYTqFOEo/QPvrRj36KXuDh9d1v1731ulb346pZOs4yoBNapvu6qm+/4x3d1u/8Trdz9dXd6gMf2N2kjr91+nR3n0OHum2Fd267rdv5yEe6lSuv7Na/4iu6tU/7NK0saMbAQIBb7raAWwteK15lfUBlYJHh/9YLRT/0gAc84GPA5TITP3B3jgUOBoA7x+4hVZ2AxTvez9+mQ+g+/9vkv0CP9e7Lfb6m/nu/z2eBT5126wMf6LZe+9puW9P9To/uzl12WbeiKf5t6tgSOpkByN+AnpnC9dd3O5oprHFb8EVf1K09+MH01k47hPZ6W7ClRctYH9D+Ajr/SzUb+BmVmQ1IzGgUPFgfiAZxJ/wdDAB3gtFp+FdfffWq7/PLFtwf1NXyMzVl1kX3zFl1mn4P/8IqMmXnqs0V/aabuq0///Pu9K/8Sreq8I6u+rib9TYfHV+X547VOz3Hi/SLxUNjWNEaAfkrH/5wt6PBYvOqq7qNz/u8buWSSyaDAOsDhScYF/grA9yWZgAberW404zgGj0teK6eFvwB7Gw7ftrTnnawPrCALc83ycEAcL4tOgNPHX/wWE8d/9NF/lJ1iq/2Nl3F+226M6CGWXR8puhM9zWAbP31X3dbv/7r3c7//J/dykMfGuk7ftQnTi3JdzdrBqBLcHcptwB0+IIoHSchZgTMEt7//m7l8Y/vNr76q7t1+Z1eM47bAuiWHwh4EhDbjrXlmG3Hv6ZZzgu02/BtCD3Ydjwx/Sfz3/X+yZR5r5TFVc5XfL23f6mu8N+jzvZdenR2SNP9mdt0Rw2WO6vC29de223/7u9227//+113v/t13UUXTa7ayivdOqC00tjdpM7NLCDWAIyj3KBznA7OU4Nbbul2Pvaxbu3Lv7xb12/tkY+cDDgeVBh8lnNxa6Oyr6jsp8T677XX4Icvu+yyeL6ZbbUc7AH1shZYuuaWFXBvp1cnH7weq9d3/1d1/hep8T+E13d1BWSBbLnXd+mg/NQ5mfKzeLf1utd1O7rqxy3Afe/b7TBV55Fe6Zx5AKDSz2jWwJX/ELcMletnASV9Bxp+Wh/gycDas5/daTTrVh/wgMkjQ8tZbiBApXOyRbxWrIHg/Yq/UK8V/zxieRz6dVqHOFgfwBp3nDsYAO4g26oTcXPNCzCxuq8FPrbpcp//OUx/da9PetAspUK+z2eh8A1v6LZf/erJCj4Ldly11SHrTowMDwJUOp2fOLcDtQs6Bpji+hC3BRpYdrSw2D3oQd3G135tt/7kJ3crnmnsYX1AIngvYFuvFa+zEKlB8Q0aFL5PC4WvQ7zKweB4sD6AMe4AN137d4CQexOkGiw27Z/n6z7/ERoEXqhG/c1s0+U4LtMsZRd3SN2z6+X/butv/7bb/q3f6nbe9KZuRZ2xI50rsekEXg8C7sjLDgDoqXuUCTa+OqqOEu66D36wW/3cz+3Wn/nMbv1xj5usQejWIlxjYJlkjP7HuwEcS8a2Yw2WvyD9X6L1gXfDoTADwcH7A6Pm21sGbeHAnScL5HvXd77znRepw3+XGu736C2+o3oEhhSu+jTkxR0dmh8LfPJ33vOe7tzv/V6385rXTO7z9frtCh2fmUHV6WYNACwA4haZAUAX1MaH1+sDlOvjH+/WnvWsbv1Lv7Rb47Vi6BgI8M0DyGIubCSb8Vrx7WL5d1ok/fGy7TieGHgtZTG4A6pZFjgYAGZZZ8G8epuu3uL7el3BfkD78x+hgzk0a97a330+C3G6/97WSzwx3Weq/SmfMun0Co9VYnTa0tFdlEm3jytqJGl24qyBX/OarzCFxwDDY0M6+c5HP9qtaGawxm3BU5/arbIIycDEb/mBAHHxWjGbnjQQXKv487Q+8CsILusD8f4E8QO3dwu0a3/vePcqzhe96EWrz3jGM9Z8+q46/ufR8dmmK5/7fDo+q2zc6y/uuJpzhdVVf0cLhVua5rPAp3O7u5Vyn79Dx0purCLHZgGsAeB4IjDo3AUz0tLgMaBJg0YMAsQZCKT3ufe9r+uuuKI7rNeK1z/rs7qVY8cmswGXqeAv6LE+sOVtx9oL8Ud6f+B5Wh/4C/h5bPia17xmS/UA3YHbgwXG2s0eoO5VLPGs3gt86vgPVYd/vuL/nCuWFrJokPQZOv/izh2O6b4WCrff/vZuS1P9HW3cWXnIQ7ruyJHJYz0hDjqk4mMVWQ8AKAOv07kFqLGgwZlmEisyU+cPGv2FbHQHS7OAbW1aWtFC4erTntZtsD7w2MdOBoh9rA8ghteK2RClGdXPaiDgjcIPhA7pVWriB25xC4y1m8UR7mWU6hR0alald972trdtqlH+K8W/T9P9S7UDDmvsfbqvzhOdSC/fbP/BH3Q7v/3b3ZYGlE73w6tM+/mVDlh32rGKbHViaL0GMDYDoCAtXtKtA0HrYfnMfLb1yHCNhcIbdZq4boHWNAhsfPEXd2u8lMRAwfsDlKMaTMCb4RDFtGdDtmaQ/YT0+8GPfexjP8UMTGFU4KmLjHTgFrWA621R+nstnRrY4PVdvczztVrZf6ka46O1ss9bbXvv+Dxj1xSabbrbutrv8FhPK+Eren2XDkXHV8OedJ5UA+58ThqrzFZHdtrMGQDAnpUQ7AXtSnKaU8Bl+hP3PNwWSO8dPS1Y0UC2ruf6G1/4hZNtx5jLA9oeBgI9Mtxg27HWB/5OtmHb8a+h3sFrxa6kxXzX22LU90IqNWhs1D/W04s8T9D08yVamX4GnVKPrLgq0d6jzS9sIt8TM93XALL9lrd0O7/xG93O3+tjPEz36TzqJFypUSA6auqMyHHns8yxynRnNx3+QjMACJPMXl7qsE6z7Ob7BcxsNP3XRwi71X/0j7p1Xit+whP2ve1Y2m2nbce/qQH5Bbot+JuJ2gePDbHDPOd6m0d3r8xXx+m36b7nPe95gN7Xf64M8S+5F9V0f3/bdOkUugLu/MM/dNua6u/oTT5ermEvfizwMUCoo3mx7nwPAO6oM28BqPUFBwBIaUzGRd/egUGcMrPtmPUBPTLc+Mqv7NY/9VM1vGoGFBMoQBJfDzAe0CAc2441E4s6EeUrdGjKy6+44oqPwpXrcBzl3puznLXvJXZSo+nv8ymyXub5F/JeqGfT9+M+X9NyrvrQLG4/OgE/OoFW+JkW7/zhH3Y7//2/szum6ziNh6m+Or6oendeBgDQUkcmusgMYMKWtRFM1UGda0M0B4AJEP9Rdjr8tt4dYOazrseGm1ofWOVlJgY9BgJkVHImzKP/qNG/Vsy2Yw0ML9Zjw/8HDtUn6mlMOlgfwB7Zud5y2r02rIYSU3muKhhBx3F9hcIv0b3mE/WFHd/n0/GXn+5zlaPza2FsW9t06fjdDTo+T/f50YnKYz0qxJ0KHaY6aurImQ5a3FiFqmwTgvI/hTvInUSCo+LrUUoH7eNiQXYMAOLRdHyIWONwiyO386EPdSt6Z2D9a76m29SxZKta8Iydi6wP1BhDxFZM4nfy14zerPp7vtYHfi9kHbxWPGWzsfYyRXhPTihXiP4+v2zTfbGePz9b9/udHj3xCipXEjr/4q5M4+M1XS3q7Wib7s5v/mb4Xdmm69d385U1DwKDGQCS645UaTNWofUA4Cs1twABW+E4WvNFh6+uzh4EQDLu4BYgBJhqgtzHGBQ1uO5cd1238qQndZsaCDb+8T+ePPLkdWPKu+RAoLrS+LbT8TUj3Q5wbPqvatb2Qr1W/PaJKgfrA5NaGL9gOP8e7+fXd9/1rnfpXIyN71Ghv1v3+Yf1qIl2ymOlyeVqUWu4k9K4Fd5517u6HW3TZcrP1U4tc3KV8wAh3L5DKJwHgHylRnyzQ5JR3KIDALjI1CLHQLZx7IdeLo8SIz5vABD93BmABeCDJ1vx0pO3HW+y9fgRj5jk7XF9QMhxq6a6XFFdsu34xzQY/LtHPepR8bw21z1q3BvdWHu5x9tCHWmwTVfT/X+utBdqm+6Dz8vru5o5sE13R8dxsbofC13q/Nzjx+IfFqZjlc4UHatYPQ8AeQYwYcmUw4GD/LEKrQcOX6nnzgAmQvkPN28AQA40zJgGLg0ipA9LQYJSeBTK+ojOHsBG63qb8BDHkmnbMdubWRwN3Bp7IGgqgqhzmsltaEbAacXv14tELzl+/Pj/ByXtAJ9ZA/69zVW1dM8v/ov0+u5Tn/rU/jguPdZ7Os/z1TiewqP8vX5Nd4eOrU7P+/AcoNG98Y2T/fla7Ov0+i4Nm+m+DR4dYM4AAO3tZW3gAnUOSZi41JnqjmR8k9r3AAA9d+cn1KEYBMCtMcyD3+tZEiNedUDTMO0/KVwOGjlW9O31STr3uAUze4ElXhYEeWzIrdIGA4F2HerDhN02jxMlg+PMl3SYb1uPb2PbsQb5P1GnZ33g9eAwG3j961+//aJ72WvFff0sacy7Hbk6wOA4Ll3xH6lCvEBXhm9Wo9j3Nt0VnudzL/u2t3U7ZZsuHd/bdN0Bs8GjsSdLOm4aOtQNwiTO0V2+HTCWWc1H3LzOy775uOq3TgTKOOaLtNx5xduigx7cWxhE1UHvq63PnmUEVsZQwhhGny6sWDTV2olWY7szn/M58f7AJXqPYIc9Evt7rbjTK9trLOxqjWCw7fjedizZrPYS9XZP+Mv3evq81lFNAf+tyvU9enZ8VG+SUUTuFZe/z6dR0/Hln9Q2XY7d3uSZPqval14aV/x4tIWE0nGywd0hyca58TPNPacrIP4tauj4x5hZSE7csyNXaTFtlt/zTWCG/4XWsox7mzoql8SLCu7ajCuqeQ2c5TnMVZ+yMbM4K905ZBR8BoW+zLXejhtYfshy2RSnYthxeLt2Q57Sl4zu+63f2h3SseWHjx+f2ICBAHp+y7moc93ycVtwu+T+sOz8o5oRaMSZzAjuDduOl7bacja+c6nrY6V01f9GVfSL1PEfVTaV7P31Xaap+m3rfvU2vcRzM6fv6oqyzss8atg69C86JldxroR0YjqLDe4weUxm6SzQEMdxhSbkq7470iVc/eAptPjQ4BsT/hYNA8bNdHz5eREQenBxoafxiesHlp1D+L3eCt/UwIXmYuFykw1OlLXo7bLiZ1fTcHgpgxbHkm3Lpqt6bMimqPt94zd2F3IsmQZb1gb2uz7Aa8VaKPwH6cKxZL+MTir3YJ0o63lPCQ+tfw8ple7j6m26T9FjoJdo2nelrv7n5/VdVqzZpsvru1rlv0n783Vz2V0sG9K56obtjoOJo1MRyB2r6gjuwAwE0NORetzMB07lcqUiN8ujgzGYeCCg48fgU2E4Gno35BkXOh5hWl9mFswAfMuCHUKfhBE8FlD52U5koS/8J9TJT6nuLtWegm3WRfTYcPXRj+42dT7hIW071hdIJrcFkr3sY0PE8OO14vLY97VqJy84fvz4nyv9Hr3tOLcVynq3d2qI/eu7ep6v18u6F6gR/h9s09XCj1d6Y+V34cK68aqz8Kbajr6y03Eiz5/9WbzIs6qrx/UaEDbU2OlQdNSWc6qN7rhpcxwaruqfSGsAdAYcnS27HDN2znfYfOAysKBnPhU44/Q8BGp54o80/OLgjTUA4XLg6H3KGoDzw084LVnQ1Ol5YGGB8b5aC9E72JP1AfZQ6PyBtSuv7A591Vd1mxoQuF3Yz/oAAxbrA8wQJftndOF46fHjxz8cuqW2FeW5B/zt1uDdvDDc5z/taU+LM+NUcZvq/N+lyvy/dI936b7v83Vl1yU9FqN2/sf/6Drd6/OVHbbp8riKH42TjnVY01QuJy3nxm2jR5xOAbac881LKlc93GGmwPJJc0cmHdfim+Ts/lsWPlP30+qkDCjg1vy7XAW71XHRuehufnTzacNN3BZOFqawsZzssjKrYJ3hiO0AlsJxG8YblXrysqFB4NCXfVm3vv9tx7Sjdd0qxteOFX65Nhn9hPyzzC7zUyTreXf1qbO7tVMDoT2rbibPcXWf/2zFX6zK+/Q9b9PFIkwlaWB0fm3T5VCOjuf5utLz+m40/tI5aaSeqvpeHIjauXHb6BGnIY8MAPD7qg+unTtFH3eg+LuUuxm9rJIELmnGhSdodlkiVPP1NFmfwgOG9VV9VEiKUtbidkNOmfh1usuKT16NG/TUk+SxyWhFi3ob2nZ8+Au+oFvT/op9vFYM9Lm07fit2gz2ggc96EF6h5uixPsDd/tjyRq1RPHu+k4VgO6adfbHbj+e+3zdxz0T7dmmq7w4uWep0tDxdRWP1X2mgeX13RW26fJYT1PMfudaAaZxxv254kyD60Zs+U630SNOpyidxfnQQ0PcuO6o5CEvu2FswpvzCQdN4vMAYH0tbx7fQFalNxiBKzk8VRjQhhLDlGFsIrlOc1mNW79hOKBnsGZBkKPT9LjwsNYHNvU1o1Xd/sVtgeu2LuSMuJqQqmBnx9uO9ejwN5T2wnvKtmO3xRkmuOtlqT76+/xrr732/nqO/zxpyTZdXvlUW4mWrsvCEs6dg0akK/vOO98Zz/O7178+DubQjeHksZ7pEjTittS41DDmDgDZ4NF4was6EtDukAwAODqq3aR4jpXOXaK7VLv5hHpZJXlfA0DSpcdWANljHTXEJttNShWpg7863WUdwx3Qg8/grTqMrxlpIFjTI8MjujXYeNSjuhXNFPpPpFVlGCjRjnAvtqqZ5YoeG0qtnZ/S7OClmhFoW2MMyn2bbLPfNVPH2stdUlsZnU4dx3GhYNmm+/2qlAeq43Nl3PtjPTo+jUePmWKbrt7dj+m/nufzNd3+eX5lmWiAang0UIw5dguQG6qNLn0naDMGAHBxd+QMAPysH3G7SLeeJbGnrfT2AAAZg+HAjWEMiKb1sI3wkVvj9rrUONQlHZ6vGWnhdkObjI5o2zGPaXlrk4EgsGo9K5wqirjYdlxeK/6QZiQ/oNnAz0DH+sALX/hCwd59Xiuuaqkq7l0kqspXbdIH+un+V2q6z33+E/01XeUzOEC3mKNB8vN9vhaSdv7iLybv7bNXnf3pOHX+WUZyA/VU3VPqCfPuvxtqxnKaqeo46fNmADVPxjcuvvV0Grjw8mKRXY1FeqRhp+L6EHykF37SQRq7UgetQeT3OCmNYJ1uvcdwa3rDBR/6MbDL52nBivYUHNL5A4f1teM1ffl4H+sDrMfG14752ItmBGw7foFeItJVA3Gx2zAOjLE+d1V/t/bvghrKkOinPjXp+DqV59FaiOE4rq/b1zZdN1we67FN961vnezP/5u/iXfP4/5fVwjcPAO5gdqXrsFX/7mhOjfi1kPEzocv09QzgJ6vCMh8mbdk9571c0LGBQOZNRa0o/JSOc0XGCpT4KV8cPY7AKB/E9c6hpDdv7q8nFbMq9rbeptwTfsKOLb8sNYJVvRSUawPpLrYRZkdUl1rHNV+Cj02LNuOX6kZwfM1I+CFIg8E8WRqNtKdl+u2dudpMCJZhu3vqdimq2/LP1dp31m26TIC89v767tMA9UYdnikx3Fc+qAm23RjgY/FIjXgRYzjhuYZQJ6q56LlTkJ6xFOjc7553CHrGYDlma7F57zs13x5BlBjDPiIoGdxEao6t3PReexKnTGAMk+B7b063XqP4db0BjLfIJ7XB/QGJ186PvqMZ3Sb+o5B7ELkpSvKVpXPGDN8XiteK2tQvEr8E1osfLm3HUuXvi3PwLhTshZp459UxWQspvL945WyTff5Oo7rodzn6w2tMLZoFtedBsyPFXzuC7VNt/ujP5os8lE69ujT6bnXX7Djw5YbmcOtGUBupFY60kYGAGjMk6/UtcyI85ec8VNSBK2f06dwnVH5vZ4lPeJVB7GuobfKRHzKDpQ1uWFsktFMK3zo38Jt8YBWl7enA0/tIDo827UV39Rjwwu07Xid05n291rxlmam6xoIOh1L9j7Z4CW6LfiP6FO/lk7aXcGNtZdPum4soOQXLNTxn6rKYZvuF+xnm+7geb5eFtn6y7/sOh3HFe+Uc59PY+bV0j243MjqDpXh+sanRBs8p0Gb49GRCsAdOQNAhJ8uZPlFdHiRXjohCRGfMQCMXaljAE7ALXnNtCJ7DLfFE3omnXu9a/m6LdjWoL+l14o3dPgItwVHtOtQS/2xPrCPbcdxLJmeEnCa1OvVTp6v/QV/UvRaf/GLX3yX2Xbs9phM88kNyjiDbbof/ehHrzhz5sxLZLznaNp/fl7f1b0f23R5kYfPbK3oTbFVLd7Uz/MXLXk0utTAMGI0UPn1LUBuoDZ2z186UqZBhzwA5IGl54OouMxrfOdlPw9WpFvfsUVL89Z8vbyG7qG37ALNXXYGUArmcuCzPrB66lS3rT0d63qB6AjnD+hrxyt67Xg/rxUjShew2HasNv1fZUv2F7yH9LvKtuNZbQY971CXt+lqge+wFvi+R6v7/0av716olVVkc2ne+32+mDlrrtPXdDt9aafTW2Jbmp7xWG81dWCRLeyi4VS8GNHbYfc7ALhC3EDzDKDujChtOsLmJVy7mneAWxOXeKuskTZvBiD+2g57mQFk+cvMADIfRYl4KZM9pxl3jdtDbg14rVg/Xis+oncINo8fn/BrfSBmi1XZjTfDjzbMtmPdFtyigfFHdFvwI/J14OGdv+14VpuZUab9ZdX3Q5ruP0eIL9BjvU89L8dxUZH6Wm33x3/cdTqcIz5Vff/7x33+Vnn+O9VAFyxS3ZFswHkDgOnc8KJDjF1Fky6DGUA18PRYhd4yEnsEa51J3MsA0MtLncBplu0OVb+xd2cOAJTXehLGOY5t0DnOQ8C+PBbWYiGnFbPtmMeGR/S143Xt9tzn+kD/tWNd3N4huRxb/kuhy5247dj1Fka5o/9UaOT1j/XU8T9H8ZfpMcoXnddtutdc0+38mr4UpSld97CHxci+Uu7zafgosewA0OpE4LghtXCdl40caTS0RucX3GD6T/zuMgBY9xgAFJmyL2VObhibZDTTCt8YbpMHuCRvlCbIqgFgosrkbUK1GW4L1h7zmO7IP/2n3WGdWrzKga7MBlg05qnCck5Mu9uOdbH7Q80Evl8zAi1MofIn/7Ti3DaXK8qS1BROhY3Vtuuvv/6BeoHnRUr733mj6rxu0+XY7Te8oev00kf/Nd3SGCQ/DpegcU410JHyRONJjclkNpwbl18FzrjOq2mjcTYGAOjMYzmDK3WlR01rOea13xq8BrgmrPzATzIH8kb0p6PymzphaAwnyRzgKz3rPYZb8wCX+SLOX3KZJwYW65t0pI7iHEetD+xo2zEbjdZ1AMlRfdbs0D63HdMPpKO+nH5sTW0fdf5fvVD04vvf//56PDUZCNxXktp3SHCszZw3YY1tut+twn2PHuvFNl0ZYu/3+aocrqQ7essrtunqOK7Yplte32UV11daF4gKZyDIHdV59qOB5MbgjOLbaHVDItu4zjMteT1u6Tx9GgE5aM0XCfpDX1zGIV7T1fnQ4HqZk2j/b1z0rbFM1OxISXfozGv58HCZsx0Cq7KleSIv/dXpWT5h8qm77Goe8jJfxDMD+Slu3NC3pSdp3BZwW6nXijm6nENIjmrb8aZml8G/t9eK0YINa+tlfeAGhX9Ytwc/8bjHPe6McFeuvvrqtTv6WLKhNZNh9htUAZgfqUyT96L13v5XKfwSPSP9DO3U0wJ8vGrHAt9yOjD18uu7bNPVoRzxlR0WDbnqU2F0/AKcKxtBt2lax+uvzf3qwTX+Z0UzJmEKyum9NCLvVzfKgMcNrDTijAM9tE4zLmfs4Y5ouknHGuBFzuTP6SkpgjTQ7IhBy/kF5B2lYWeCFG7xRnbqhMbDxw6cX8B6iHFDr4YOSUwfrPVAvnE5v4CzBnyKMbg1vYFG9S4E8BkXTLA5xTjajkEKTYp2O9CQzrZjvUp8WO8PHP38z++3He/xsSGqxLZj7TjkteK/kf7P10dMtHiFSsP3Ykg7n26s3exZhhQePNb7wAc+8HilvUyF+wr5+z+Oi6s+UzK26XKfz+k8fE2X9PL6blY+F5AO+jE97qHzcximp8GZvg5nfvJajY5HadcLd0OddOxEoOCjI1Sdx/JaDRpcTgXGXVqdNJT1qHU0Jj42rx12yCcCtezQ62tm8UwjOXPioy9HjeVTgSOn0mEMp0637uDeKlwGw/vp8S3p0Nb01sZ8fdyB4psPXAZujjEDlwHAeZDm8CBe2lq8VqyvGB3RQHBEXzvmZCj2F7DZaK/HlrPtGFm6RX6NrpHP00dO9X76HffYcFbbQe5STobv7/PV8e+j+Av0+xda3V9jm67ANPOMhY7Fcd14eG+fqxZf02VlnxV+rcz223Rl9Ny5BgKEQSOn4d+oBZxNdVRfSWgEVPSihqgbBff+xmVmEaf3Cg9cO5XZwV1/RK4pjcsx2zTMC9XoMKBxTbcrZRe6D4nPdE7DDvAwE+I2gIEw45qu7gykGwt+h01v+4IbpwKrvqDhtc7a1bzOH6QX3QNXBHR+ZhcMsD1usaH57df2HuAWItsBTM4b5AxD+Mq0NagCJ9fjrgBNd1bjGxDbmnlyC7qhR4YXaH3gcPnaMd8vwGnWa66FfNGzPrCmPsO2Y26Pf1ppL9VCoZ5P0hR2+9hCgHOIltNuBAyF0U2K0sFXtbr/bYp/n+5tHqRCoDQ7a5ab7qsyaIRxZWf6q2nXll7f7Th2W1fwFU57UeUxKGBkyYiOSKOmQ+I7nQZOx6ewTE+pZGjosHEoZuIhnQZjw4ALjnHd0EmHDlwcuPDATyflit3zckVIuPDhrF/GRw6ux2VgkwMTukvUYaFwGUNf8dgXUdBDw+nE1tu4Pr2XODQeULCD9XenQzK2go6fHXTk4Ycc+caFlzxsi+N48BgEFHcd2YboQJlwxjeN9eVU4MBMuNAycIXuCRce7OAF2Wg/JT/0LGFkMrAyUJEOPbM3+MHlbEdclF/hHrfgo2PYWT4LhZxDuKXHzjxpWtFLRJdo2/FRzUqZCWxLTpSxYAbw/D/UYn1gQwMBx5J9UPEf1CDwM0qT+OHt9Xy4cYpJScfzZ+agyNVXX73qhQp1/C9T2svU8T+T+3y9/cQIRv0vJ4dGTydXZWyzTVer+ju/+qvdjrbprjDdl9Fnvb6LsKjw4subVKL8G9SgDomfK7UrlvyWAwNX4zlOnjHosDT6uFKXhkI+jbDXZUYjsKzgCbZJ57iZWwDxxTn7worGZKIRv9cvyy601pcpNR3Ltyx0HNwsXpcDutAXHmGgn+o9Oh+43Ff7ijpBTbiF13Ls95gKRBq4cuhLmblKs25xWblSZztMKIO8t3eJ9d6AJuEyA+A24DINgJRlFLdHmpS911s8lJ22yqPBc9pgtqo9BUee85zuyJOf3G2Wbcd7WR+QLir+TnzNyNuOFX+e3h/4fdRRmIvqvrYdU46lnQTDpwG435//qUr7Ab2++3V6my++sqP8oFkKXIakMbEdd6ts013Re/ts113hvX0qSQ1sVkXNKhCN3GsAdCg6wPlw4H5cHZUBIN+rt9BzmnXNaVkfcG/Q2gI2oYGib01rjMznsOrEwd4nhSun1wDoUHSy7CJWp4mndtDlVPRlDeCMOpW/DERdZTeM7ebU6Vl3cLlP9xqA9a15QMt8Ed8V0YfMBy4Di9cAMq9peiYFmmkuHz42Uj2t6GJwQmtTJz/7s7uH6fsFRz7jM7oV1i6UHvaAbjkXW4pZH2DtXL9Xqu/x/sC1wEhvBoI9bTteWhOEueO/973v1edvuucq/h266h/WVIXbALXTPdznY0A6uEZRztk/oWO3V/U13U1W9tmmq4qKly8wXjF2Vr5VOXU+cSp8XTMAZgGexip5aZflgdufCqyZSzRQN4xU2ZkHgfDVaaTjSGcKDy6ufroQifrLZXQafm7MTrcseFioo/zGzThBZ/3BMgB+KU9OczkCV/XHlPpIWTGPukr8mc/JzbQinzxwmVUwZffTBfPWfl3uGttxfG5vwAT7qOotO9M5rY736clOpIV8ta0tlf+UnlId0aPDzWc9q7vgmc/sDj/ykWE/1gfUT3pbGmueT78Tvj6RePGK+tpJhV+hV+dffvnll99UZPd9cx6W87HtQq68vttv09VjvX8mBV546aWXPrxs0937fT6NRb+dD3+427n66m5bm3ZUsG5Fr+/6a7phsKwphpcR6wLkiqrzYKdzkj6Fl7FnhDM+ZJbhq1LgFt0yzBhfnW6eaEiKGJerVU1r2ebJvvmdlnnhA5c0cGvX5K3o4K05SYO3x8UOlZtOqQaYQl/rUOvbwoG15qvppuLWd46eNZ/JB/LAKnYKO2ggWFW73ua1YoUPf/3Xd8f0MtHG/rcdx9eOy7bj90jWi/XY8BdK+Vdf9apXrVx11VWTK4cVHfHrOpwiE3hZM5tM93Wf/1SlvUxvMT2F6chev6YbV3MZJa76+j7ftnbpbfNYT8Za0em7aB+LKqnhDZSlcY3kjVUW/F4gajX8qcKXhBbeQBdwS2MP3Eq3mt+8dbrlR3rBAxf6ZQaAzD/ALJGwg3Ch8yLggK7IHqRha9LdwBNWpnNHDdwKB7rQzQzFr9MiXvHG7Y/S/IZhzdNjV3w1XR0PfcFNbanHSnrWfM5SX3Aw/IgLCx/saA9lfWBbG9NWjx/vLtBAcFS3B3ztmNuCfTw27Lcd643CP5UC35e3HSs+d32AttB0KgB5ssuk41933XWX67CDl+r3HBYkzsvruyr89t/+bbfNff6b3zxZ4ON5rAYWOirGqxv+lMKuANHWecOqmRSThlRGtL4xwpdp63htoCwHPuLx0U359SaYjAuOeet08uxyoxoMLCaQb5yU1AczvxOzPHijQ8mfavi2Z2EMvpHOkXUw/qwBwDTWyX6d3tI/DwA1fY/T0t2Zxa95kYXO2Q41DazNtJY80uoBAABsqIGA14q3r72201dsumO8SPTpn97xZekYCIIsWxXGuS6u9LxWzPmYuij/V82en3/55ZdfB6fKN3N9oCktb9Pla7o67+y7BcQ23Yv1WA9bsOCwprQmP4KnnI3FaCi3ra/pbusrOzvaprvCV3Y0Gvb3+cpvddRgLH8DwcZODXWQLx6UJg1c/HpgUdJMV+NBnBsFtyxUcoz4BSnnk2SMOr2Qh0eDzM4dKuMaJ9M5HNwVxhBx1w7wZNyZvMm2xst6OA19e9w5ekBnvmAqf7UNoLEd6KgtHlhbfAUyvBYfPOdrAOh1QMeCm+0bSmjWyxuFPN3qbryxO6TTii/U0WSHLr88sve4PkDRGAjia0bqo6wJ/Kj66I9roZAjynTq3eu0leHpPJUbuFyHU8cW6T7/GwTyEvX7R+qKr/55bn/3+Vpo2dFZbNv6ys42j/V0pV/R/RCLXdH5UyPLMwA0blXeQPnc2ArOIL8UO78H0MKErMVX2MPr+SxT8vKtRZ+fmIzZyjNZ5BmzJDJg4dyQjFOyp7x5nQAGMOKKKn/qylfJ7/VNdeO0rIvTckdVL0BcuN2QU8bTW2UIXOE1PzhSIFt8WVpLhx63UT7ztvjIa8qjzMIiDxtn+wbPhHHyWrHoOK2405OYo9/8zd2F2na8oXUvHhnu52vHehK3wSY7LRS+U3q8QLcFv1z0nfracdShiPCl62S6r47/JKW9nG26XNk0tWDkiJkzQAs7rorlPn9HA8i2tuluv/rV3Y6u/tzns/AXj/UEKNkDWCqGNFKd06oI5/XMpQKi8VWY0Hrlf4qvB5gOtOQGlWWBS1iuLkek6W8UA4LiaDS1iwaqxEUGgBZ/RqTMjltf4yK35g/ayobmr+3ndDAI01iyc35OI1yn1zqYpseVPjWPaaLOiRRX09VxyAJXOg/sYIARHGfXugY+dYiOxQ6z7BQ43BboyVS8Vqxtx8e+4Ru6Y3ztuHzNaB/rA9u6VdcDr1Uey/+B9HmuFgqvQabC/W3BSp4a6PXdh2hf/gvViP83Vhi5zy+FHD4jsQXGfIyA47GervLbf/d33ZZe39358z+P7+qt6J3p6Phl2gxp3XHyFZV8nI3ZqkjnTSj1Xyoi/GCeUBi3OTIXGS38AW7Cczq4VHxuSEFWCGZiiqbY2XDhw8NVBM3Rl/hUOYNy8ldj1DLhdZoHFtsh0l1vBTPSJDc78+dUp0EXuMIxrnkzjdPw6/SxMvS4TKEzQAlHWtJ/lKbiBZeLHI+G7WreOt7TJXmk9TqUAWBsBjAoozD6bcd8io7zCb/kS7oLdWtwVANCvAzH+wNydR+JxNl/3KrHsWR6UscTvJ8TOQeV8mZh3BZEPUqhDa3uf6fSnqttupdp6kCD5KrPSLG4wyD8uM+novRppi09y9/WHv14lq+3omKnngyeG1AvQMo6nYpBecdNQ3ysQqCp6c3ngaCfAQi7d+iMc5rjk9Tdf+fvpvS6hL4BsYvr0Cx9gRo0iIJtHuPWA0sh671ZGBChizGJYwdsYtzIS+XuaVOZ+zSxumwBw19x6AHdbncayjUdfsZzel0O0/S40sdp5gmspHvEc2YJj/GBbTu0eFt82K5OD92LvQhTdxnX2EGX9Asc0Xrb8bZuk3fUB49oNnDRl35pd+jhD1eF7fm1YiTlbcefUJzXil+h/nVuRVf9p2sE/Gld8R/rbbrKoOPnOgZk3KG8C8CURi9AbGubbkz3NaqtcJwS3LzMk1xTgAxIuq/UtQHNbt7AdWLynZ+SIjjARWc3cMI4xyex0f9abn2lHmWsMurGQHbGphHh6itqJJa/oLD+Oa2EbYsal7hnFlF/hR6vp032cJrxBnSFF30pU9bXfIWk9+r0iKdy5Hzj1k9ZDFbbMfNCU8fNF7jqXHMfL5qh+LU8kvs02YxwPQOwDj2dsYpvL7YdC2P7/e/vVvUJ+gv0NuGF2na8Xr52HK8VUy+pbsw75qtPq5tvb+lt3Q22HWtG8LdK+5cruvL/9gMf+MCv0Gq/3jntNGcfDN5jeLvpMl7c53PV1+u7W295y6Tj62u6KxzHRbpuA3A2wC5ze5SRYjF60tAIjznntHAzj+lIo8Ln4WbeHJ4lx5XKgDWLboCXGrvTa96Ma5raN01Or3FyHuGYAcjnSh20SZcBb7K/07M9nQYmDl345YG7pgm6oB7+1eXIfIEr8lZ7CLqkfws/Y2Wptb41XR0375SuWT5tQHHa2pQdlJYxc7jHdoCLKY/KtQN2/YlP7C7S+wMXyI9tx/t7f+CMPmp6WH3+t9al6K3s2JPjPj/P3KxG23eBtYLJtD7u89mpx9d09aGNFV57pOOXzg8IDacuMPHcoKDLxqvzyLczlmkcd779nB4Vpwoyj2lafuZr5TsNLDrUIpjmCT0cKX4tz7gV2SA6D8c61dgy8qQu6OCuy4xcpZvfeJk0h9HHtKTncKZbNgwOHSrPLHqMlv595uxA6As/5d2Pa9hrL2Uf8KjvcK7AmvYSbGsj3I3f+73d7Xql+CK9WnxU2469PhCaL64/fXyNPq/B9FYGAL3bs8QaH8bix5VdQre0TXebr+z8+q/H44zu+PHJfX7ZxbaITSn0fsxvo2UMp9XynW6/zl80nmWZB8x5uJG/RINtycnyHN6LD3atbx9vdIpal562El7TVdnN6BhWJm5d/XO+w4tgmbZlA+eN+a1Bd0A7o36X0S0wwdILPiycr2hR8LQeoX9Ux9wf+5Zv6S7StuNDZdvxsl87ps/T95db5GO6z2DB1OSmm7otfU337C//creilxpW2abLKMTURP5YZY0ZHMMMGo4KHsYS1lTewNq7kaAvUWPltF3KvYWMae6MvYiOYw0n4xjb/kzcRkPLWNY3pxkXP7BrDOpwn25M3kzYSo8WRthvD/q1sEKXBWTO1HksEx0r7DHShdLBY1OYfqusp6kf3v4Lv9Cd1Et0F37TN3UXPeUp3brWCjh7YNltx8sNAEz3dWXnPn+L13f1Nd0dbdNd5V4/TfWj8DMqiibWqhTS6ubnThN5MzBrQ2b8jEnYv0xT82eenDeLJ9PlcPCMNIhF8Fo0tsuUnJygcIsXkl6nZNM+DYIqvbZHE7cqY5PGspFxHlwto47PEzGLflZexg26XPYcLoSLYmXcZrj0s7VHParbUV+8+WUv627X584v1vcLjj3+8d2q+mh89rzJPJ24+ACgBrH9znd2W7rP3+ZLO3xo4/LLuxUU4jllajCI8WhdNxyrQHrLKKSRxwyi5gVzbGZh3JZvOcY1TY3vdNMTz2Hnt/wWVvA2GoP5x7AzVg73fA3MGgu+Os38+DPzU13Owsh4Drf0dd6Yv6iMZt03bDEmp5Ue+qbytmj2mjZli0rXutx1vCmXfiEcOj+L76uPfWy3pRfrPv4d39Hdpm8XXKL1gcPql4vOQOYv+qE0z/TV0c/+/M93W3xO+9M+bfJcX2kn9WiP12txUwWoClwXaMpAhQAc9sH7mK2MyyAQvxpsThwM455N+jo9+0A5Pge2LzP769lbTpmCFxkzyg/NLEc+WOxV5zfAncU4J89yweQ0XDoVaZHujjBDb+CNkUXF4KwEnWcdZ/eN0mUmhyt5Gd9h2gKn94zhGqr2zT+VXmSCS1sboxvj69NbusuOPAKscReV0WM7ICzzshAauNQV6br4rujYsNXP/Mzu5C/+Yvfxn/3ZyQxAfXZW+zP0/AHAlBLGqSZxMo86/qqMBjMHbFBYHnfQSGtnxet0x+HJfISNS0dtzQSCl8IbZAE/cKUjxqOj5sczC7CPkhiXxhkdtVTMKIMyWnqD4x+8ERYWuO6opLdcxjNGTss85FN2BiywLUeGnpDhO1wYS06GmQpDAy62DVyFF+GbAqoSMi51N9bOKra5UeO6o+5ZV9uq+ODwc0eNuGnmajVOYBxw6XM4y+K+n1vwVd0WsFjIYLyoW/wWQIjA+v7CV+corNKJI3iqY1mZ0iDAgGdMRSrEhQWPOIWewhXG1AiXKqHGB8OGwUffUVywk7O+9lNWYAxw1QEybosn8zvc1LfPlB2E64HWyS3fOPZrGnTjZxf2VQQ9cfZ7Ctm0D09I+nhftoIJnW0xq96gy7w1PmJME/qWOOlsuyYv2oPkmrfHS7TQ40wziUl20tfvQ6Bvj1sIM98AX7SDeKEnLfDAV5g4uLRTwnbGte90/FZapBecwFWdYBdoA7e0e2YDU30C5hlu4QEgCiPjI+CsRpxbdA/ClZoRn4MgOVeNk1U5VZVGEFNLfISjYEqj8ijAgAYspXFaKzzgUtkcM80prRezZzrzlEIDjyMPXBsFQ7mRMHHkDDxw6fhgc74cz5TjmOkK1xgi73HRFzwqNOTIRwa4lM0DIlepGte8LjO48Lj84GUassFFD3BxXLHRH31xtS5g2cHhMmSbkc/hpeRFgxc2ZxkSB5f6BCUamXxjoGvUIWklbHtHmZTuMwaJw/9xzjKUo954yIx+tl1d1iAsf9Y3cMXj03uJow/fScCPU4HhEY11yfi2behdeJ1GOQOXdP3g47BYwhzqSntDBr+6brAPdBlXSRNa+beqvTJjw4Fre1+gp2ccRx+4SkeXbAfrZtwAcNkU4eBSZlbk0y+ifQiHI9IOTR7pxZ4Gvnq92xICZebfwgMAKDRsNi5sSuB9eCIgd6MqhDP2+dgGxcZgUQgyCScXsZLfv9CRaA5JeQ6phA7DgcmZdRgNA8UPvMRDNFxJs8RodGQonQoHFx/c/F2AWfrCbll+U4KDP3E86gSPQ0DxORabPL4w44ZjXusdsmDGFRz7tof9S4q+NFS1uKnvAgABbW9TEopDfu+SHBpudHSlMWjTAC+S/viWC55tGBjwG0MJlLtPV8B2AZccGiq3QsRpD8aFx+HeV9pAV+IF3zR0dBwDKx0gjltXfEpHpZnHPnoHvnUGqDg6OhhgcjFAXxx12fMRLrZxHYLXyzY+dMVR/8eUzsGoXLzQ1858LiOYOOvr9Gxv89LR+cUFV7gMrHDHDxz9eGkI/Qc6GmDEX3gAyKBhjCKUdArAbiqP0siaFK0tdTRPOFR3NgyzCkbSlhvFaRBT0MAVFkayvg3S3UZpuaWsQVvSLBscDzbgb2jAQt+4ShRwyzVPS2adxmDiASNwsQNERb7rI2O6AeW0wC36kA4u9RU6KT5lX9E6L3jTn2WmpD4IZo+rcNiX3ErfnoEs/bKug7gw4OXdf+x7qlxVjRv2LdhgDnhJkGulqXCBi67Yd1W40PUDe80HfXIRq9L67KIv7Uu7byIZOTj0RQ6OlFq3Oh6E6c+2jT4mrNC/4GTcibTEOCe48AAADoJCURdGPqe/Ysjc+U2L31IIY8xqZORz5aeQ4I4557Rk1Dxcjbj3Y7rExg+2gEZaTZjjoo0Go9G8d6VC+7gC4ICLHej8gVvTOS7ZgalRvOmgE1Z8VEI6MtuifGCG7ZXvcmf+VprzY7spcmnsKgtYzIKwrRtU2BAa1Sd07rg9hgPZp25KuZAPLh2Uuu31AZMfmPyKiw7sCD58+lHuXnbBNu5h6Ua4xy75GcbhoCG/lo3OcvyjA23Ms8zIWOKvLoMx0ZG2kHEnUifgObyouOCRvtjWJy6HvEUBRuiWGgB6DAxbHMcpu8KdmgtI2OnmwQ/jCaeVRz7Gcx5+xiQ/u5xnnpxP2OnGHdOr51PD2daRTbz4xNOPaEil8Zgmy90seds0OIVznmWT1j+/ZWs0zpj4dHwNDGwHjQ6haV6PK1sF/4Qr/sGlsTVdqaOwszr9Dq+T6pQYjl+jk/X3o2IO/ZDNbQFfuGEQKFNMsHNZBrKse6FhmNS75bGHXKdRTvgsW0e+reiQi3ijLYOAIXnot6U3SjkfL14zLzTIRj+dPxc/BjPK1Hc+ykk8YxJGvsqDvVdl6xXtgMu7UcGExwMALDMdetau2LivQ+WHLeUPcFu8CauBnHJ3g9B5YLGc3dy9hZYaAELRqjBcQdTk+0EANWxcqwRfU2HxRp4NaQb59QCR+UOPRJuDrbwBL/pLXk7L/ORFg+K8Np3cevhxj4vXLOMV6AHhMEJHBHMUF3J1vG2djHRKL1Sd4nAU7kO5x2WGQQfUbko63gVf9VXdpvaAr6nDuINT8cs62yLe4dBmkpP6oOoZHcK6qs+nMxPoOxGypdeKOulFV13Vbeq17lU6zCyZVTuwbr2+JYEz7s5oQLtdh76e1WGYIduzHzC4qmvv+5pecb3wK7+yO6Qj4lYZcIujDJQcnx9tDX+eg2Zbg8ppDWi3ytbntGeFrbV5EDCG2xrxMexm+ogNjIstvEbitKX8gp9lR7mUzkV3+RYxLX2pAcAVMRjxUKTRUHraIhPFxxSmAloY0+pOUoyTDTNGS/qALuna0ilodXLrMb1VdUxbL6ODUhHmK5UScYdbwqF3fhU+ohepTup38y/9UlyluOptS+aa9ntfIrmHHvrQCaL5iRmj1qMlu6Tlch8+ruOodQLtzdqteZve5uy4KmoQWFHnZ1BaV/5l+q7dIX2IpR8YZmBH2Vq6KK23K/orfvTyy7tjkn2DDoc58drXxncdoyPS+bWn5JC+sHtf7XLbvO99w2aWn/XvVRGe679PS4Gep8g+pl2pF+ptuev1AttJ7V1hNjA1C0n8iwZ7OTMYrOcitDNgprLc+Wtc4jmNsHWYAlGC1leW/IJPJWAM3ILJX1QhV/odORBgBOtT++RxFWbb5TFdgS/83M+dTIk1haQRu6wuG+TGiHKWzor+phnkw4Bzp9DOru1nP7u7+T/9p0lnFB/vcx/WlZ/PooVTmgeRjBswE4r2f9HF8oNIaQxml1x5ZbelK+4JXRX5xr3fJIvOr6vvVnl8NwAu5Q+8gj3ILxHXt8tPsnnWNKO4j063OafDYs68/e3x9hpHZK/rbMj76au6bGbpZVNu80ao/BXb5aSxcF928WwI+/4aYD6kr/Sc0yEbcSSdZmM9zRiI02eUuSdxoPYX4K1Z9hyvZE2sOI6mdbAVZlQLu4HBkrBBekFzWq0E6c5rCfZA0MobS0OGf2M0c9NpdOrsTEUv0GuVTNe5V2ZhKgYl8ukIxXc4x0lzun3n48cPPCnD1JiZwIY2cGzpU2iHtaHjsDZV0QlCZiXXePgO95jGLn6Thntn3RNzf3+hPlrp+2yOpz6q3WRc+Qeyke/fAjJdzqxbHxYOO9UYBNi5xn15zDx0m3XhF3xBt6Fbkm3SiryW/q20Vvmn6JAtbH1mt7v4C78wbjdiPac0iNwWczi3lzq9jmfaHKYt17Tz4pm/Dve8xNSzVgAAQABJREFUDdyadtH4UgNADWqFaNAtRz6/sfwWD2kxCNCYxwhmpMPT+sFSp2cYGh9XpI3jx+PeO7ZV0vCXcYvSQ6fBZVVXZO71d3SfusmOykX5Z+jkOmmRRBk17edquyF5LLyx5hB7ytOA3uKNtEVoRpjprNiUaf6adpBua5azqk65yWeyZIt5ZY+a2Kt9kC0ZhzS4xy2A1iBsJw8iI2rPTp6jTwyKsxHGc4utrWcm3BduBlJ4XwMA09MY5eY0DA8CuTuR5l+lU0SpMD8CbBmhxTMrrZdd6dqnU5lcIVkp161ATL3nVPCUvAp7Kj8lRJk06Kzy4VMGA05KXlZewiMYA+c8HZS/yko7x05z1dUgFAt+FdZUdB5uYhirV/Rju2o8DdAMqNOMoJY9VteRPkeHMd6oY2Szl4V35TUQ2dZuv2O8YdNUtj6ILkWfFi9pbr/madE5b56feWvcebyz8vc3AAi570CzpCjPBWjROy9DxMgMXzH0aEVkpgXCxoXUuthfgH0myZ5xKOP56PwztRtmZjv0svepgyWM2SHSR2SM8czDdP5CfkN22KGRPobXaqstWsozr0yjWDMGFmQ1nwgVnpYus9L2PQDwqIOC+DdLmGlaxnGe+WNkdqT4kaaCQrtX18LdK1bNtx+9aqxl4nsZHJt2GGtEY+kjSo7ZIafnMDDE67QMv5cyZv6xMLhjV9RRmQvYo2nfMSWWTG/pO8t2s+CXegwIUBZER2Y0ipGuGIXXURcZ+cZowCdv5sgsWb0eC8gTXO8GV74+9TwElriKZGl9OXLiEuHRRjoHY2E7LNDY54g6L9noO8tW8/LG2tvCdqAUDVvUcolblv1g5e88ueYMYI/YS88AcqGQyWg0MEIdH1FswFPRkBe4DYNXpFEpMdouKncOXV2+KXljCei6iL4V/17lYaO9dn5UaF6h6kFsD+WZVa97LWvoO1Ga/6VdLTfr6LazCKj3WsyjjboR0az6yTosgpdp6j43S07ma4WXngFkkLjaq5HUBqYjLDITMJb5MQrh8EtjtKFMY56mj9ycUTAGvHUjz/QKD/irvLtKNHTcQ+es9V/GLjVvHb8z7XZHyF6kU82Ty+xiaVfqdSb2XnBHFFl6BlDjoGgoWytVd8aaMcWNYXPh1xVgmsQ2P4gx0aP6mTEwSx50dwcXWp4nXQclrjHr+B1onKiHefifRH1mqlK38xnEtq/9GaTLZSVb7Bd7qRmAK8odda7WUjQUlNEW4XFhoDU9vtORl8OmIX1hV3TKOPASrwedhTH3QRhyZZ9anxbkvvSj4aaGY/ym3Aad6Vt+E6NFSNqS2GMwTl9KNuLNOMOfsjNtxh1/Ef3n0Cyig9WraSNuXUxU/Jq2ym5G9z0DcCdE+KhyGLApvp04ilORW+Yy2Est+lTy7szoVKPcpzJT01M3qjmNtxa7jO2D13IUcf3VmM144mvm7yHRuk/ZosKKzo9dkm3Mm0mdZr++eGXaZrjgm79Jo0Rw3e+yTmP0s9L3NABkBTmowQd2kE5Dzfm9cNLH8nqi3QBHYPk4rN3U8VDIVnb2M7V14rimOGy00Gaa/YTrhZmlsGjcpfJrPnD5Le1yh8nhAsSpPT7ENNCRsRc5lWLU8Zi+yFmmDWTowM0JYFXxudFUPnjpRLRd2tp+nXVBT3CxwX5xjYluDoPLKUaO71fvPQ0AMfqoUeFzBBRGBChGUhqbfqFgo+HRyMibVQBwblchfSqwC4m8/COd+JizHPzgEy4nqnKsEjIGvNKL9+PZGde/KUbago73IaicAeYM3qCTHjv6ejLvpsdW4CSPhoStsC2/eVepKVHw4+o6IK43Hk/demt3Sm888l0HXoHei6utQ5lshxYeZWDzUZRZbyPyKjJbduc5cLEHB6Pa1bKd3vKDVrLZE8AHbP2mJ/pwkaGtRX2IOezeAsFuxbVk7+Zi8snBMODicl6LN4hcXxV95JU0cGljPhXYefvx9zQAUAgUoWHiIo5PXD8b0X4Qlb/gMF3hnaDs4uSORJgfjv/8cxr+PFfjON7j0bj0mujZ667rtuiU6hwt/Ws5E812U423mzIdClxVJptzTr/3vfEx1dPapYbtbL+MEx1HebWsaeQqJTVacpBL4z+rLbjn3ve+eC12Sx3y1Ac/OBlgip0rlGa01iXra4ZMY9lntBtw68MfjgM6OAfgzEc+EpuAouxmTP483EQ6HqTcGmQ5G2BL8uMAEqW5XdFBc3vodRENekd9ycflMjluHYNWiWAFTwkzbJnGPPh2xjSNffKd54GVuNtDyEk0mZ7wIm7hRUAbiXf0ORX4Zo3cvJDA1fRmNaJbFOaUGQ5xRDFGFpSGzyNgYCjuPE4wDdrSUBmNb+Z9/IJ7TuHR04YLj+ACH4OjD3geKYmTThqHdiKfWUWcCqyZAKe2xOGVSgta6b6lznCLDs647KlPjYWfba4O4FhO8eVFGlgO43OVQg5HY2VHmjFI55Sh2/RptZP6zNraFVd0t/7pn3ZHdPgI+/bZDowtoHdD2pIOYHCGn3FqH1y7yCsYIZsyaifgadnhfZJ1q2Y67M47Iz1ufN3ruiPaM39Em2W8JddlNl7t17KxA2nWF5vjOGFXibH/4JzKdZNkn9MgtC67bmsz0M1//MfxpdsNHUYSsks5jW9csEg7rXrDxdFjEdr9M89uykSfNc02zuhruDdK1jZ7LyS7PhX4E8xMpCeHelpn41HDfdtSmHS7nka82JmDQLm1Ip22wCG02CJOGy51h5ywr3zjRp9I6V50hBaafCpwxo3ThmVPbMwxd3fYqcAUKDqJCkFH55RdHMcTx9HESsPxT+Fw9WkopDqt9wst9BzMyCmq8IObTwVGtjIg2/UnsZI06SDQQRX05CiOUYzLYEUn4iRjKga60BxsxTvtVjupwyNu1WaZY9oWHBtnSB9xk1JPKhsSzhvEFU0jPPgrck7qm++36IvKnPrD1WlVDeemV7+6u1TfgD/E9xaRqZ9nWQxWONt2gLlIRPxs/rlNHXBdZwEc06fdtiXzIh0RtqXOcZO+9bim8wkO6dPu0YlnlLllDZ99i03hH9hB5dvSbcYndBjI6Wuu6dYlg9uQdXXGLc18Pv5bv9Xd9xnP6DY5qUiNOLuMC3Y9sGbaVhjbntVM4/rf/d3urGy+rkNXOHbtmAZ7LMr9NCcOX6K4O5vrzuWs26rTszzz0K508FkMAgwGFwsXF+2SOiBS6tL+FL7pEi3nAHImoo/K92nJfX8DU78YWBAB7wJu4RmAsRDAzxVMOh2XwyupINws4ZFX6II4/ZEHrvlp9Aw27gSJdDRo3kyAvozqHhSmcJXXO4U5P+6W//bfutP65hpX5XVdneKwzJ5oGKASaETIOSx9h0040apxb+nKy5FgJ/WZZ24z4gw8NZRVDQRbmqJ+4ud+rjuqPfKHtF2XwcGn4XKWoe2bEOcHpVMcCaap7wnNbE5r1nFYg9wpzeCoLc4c3Fb5zkmn6yX7gs///G5Th3QwO6BB1a7V+E0DNYus6MngDS33/Gd0EMdtb3pTd+bv/75bpfPLVoGNzdTpT2kW9BHdChwr5xLkI8HAxq5cVZkV9QdtjrQh6O2452faf4sGvLOqS05c8jZvGj7tgA6Fi5mVMEfLhzxsKb+2Cjyk4YNJO3ObBRdHnukiYeRvjMa4UkBAGgglA7vEYF2wiGfdxrAsem8nAqFAclQ0BabSc05WJJEPFc4ZJUyBwDkkw2E6DDmvIA2YqSSqGWwGKowJLmlTeiqdil7RnvnTb3xjd1qNp+OMOqWNOXIY7cFlpM6VUvNwFeYqt8qgAmZpgHSK2KrKbY9mArcJh9sEpn7gM8vK9q1xW/GgR4awWehjYONcPG5raEAMttQbMwG2QbMAyjFlHVt22TJcuTH5rjPaAd+KxLZcCYMe2aypaKZBZ4/On3GVjy3OaZC44T//59AxjmETDfz8aAesqDMIcOVu6kG9VY6Bj6PWKLPPQTQJ1JQdnWPQVphy0IlwgVZh1vWaJeYwuKD4YkA454PfuyTDNPZNQ5xf4KJvGVylcI9rGZl3UhKjTPucCLT0DAABFoZPRVuQ0xFlOsJjzsqaP9P1pw1jIBV6EbzMX4ctI3CVORMPmYzcNDY1IlaOZznu147QkeVz0k/vUuWShkw6/Aq3T+C785MuF9Nf7MmVSnk0OK544YS9jAtZZgBTnZ/pMDLBpXFCwy+uJOii8q5wLh/hlu7GS747heuegTtwrS+YnHXQKK9h4qosm8TsoMi2/sblews0Vt8bm7f3K30jXbI5b8Hl7mkVMC4D4WqxsTt/0IFHGQqu9Wlh2AY5j8H1qPiRcz6ccRiwfLL1+cBdegAIoxTJGMWjqA1qHxIbzcoHG0bFpQpr0fVpdSWYXxAD3ACd/9fjjpEWfI7K2tRhlUd0mOU6B0mqE2WdMzt68MAHP+tkWT2tGjf326fe8Y7u9F/+ZTx1YFU+Oj5yafxya5omr+mqyIlBxqXip/B64OmAadEHfK6EXGW5ynOFpdGahk4VnVCNdkMLgWtcrUWTnWnnpdEewOaDHuF05eapylmdDMwpQIFb1T335KRzOhCyW7dbxs23nr0uCY806wruOZUX2fHdvEYdQhsduNQ7dRyDDPEKt5dXApbTTBev+8YYXeYzjX3n1XHSSeM3s61BuIBbfgCoQFHCitS+lbfv/ICwwY2H4UvYdPZNEn6qlKBPOE36AfMCEeHtqJNe+DVfEweDcoLNIs5XgbiaJh2neIXP6bwntOp+0y//8qTMDALqKJzXd1hfeF3TlNVlKd2oj0/hNRKwi/l7m2r6vaGB5bQe/53T/TadjA+lMKAjm/vuwzpBNzpg4TdvLSI6SOHt8xSPgQRfvxgAoJHb0IxmQ4uOp3Qffk6HruZBgE6KzMOPeES3rjWPXqbrFQx0zLi9UAWKjPALT2CUdI4g25LsEzp38Zwef2bZGaYPg2HMktjr1BPtBlzvTsm0gxmFCbJfyclZo+HC4/odpVswY/kBoFKaAvNrKeQ0G2WMLnRNFb4QvQuY9DFfnqVYB5PP9NUptnWVvEAr0hwgSceIl0esG8xJXsbqZZdE5Doth8mmYRzT7ILbhZt+4Re6VTVSjug+pA64zkq4OoV5+waWdDCe/SJy4Jk/EqUzcRr/4csv706xMMfzcGYCmh0wC2HgWVdHRDYO+gFGpLbTTB9+kRWzmsTDQHpE5Tsh2Vt6CYnBLgY90hn0dJvAWsSYi7kR2GWWNKBLdWKdo7wiwue4NWTc/ra3xYtHcUtggMRLkvmdPeafTzpj2bfMOu70lr8Mbeb3BSan7SmMAmNK0FD54WbRBQENXT/TZT/yF/mjUsvPV47wka90MHEZO65eWqCjMx570pOCjsWyuHedkE/+i34xyDTCdO4Y+Ytfh4mjA53/Aj1h2NRsgNuNNV2lOKyz74AVtnEz3pgOfbr1NlYpz4ZW+YMGG6jTrSPbnb/Q9tNg8y7hW0frEWWW7DgEVY84favD+kpM+935Z8iI9lPn1+VL+dYBn4FlTTMcZMX3CKCj7LSR/biKfwqtyh+ImpU3IBxGQoZ43XaHucvHlh8AasVt9CJ7lmKYfWL63c43pjIVZ1rTGDuM4MRlfOlu3Kh8yuIfDUX3qut6KWdNC0dxdaJsdXmXkTdCG41TVzLeMTikqS9f5VnTSzF0mCgjcuc422KUrKV3KY8Px4yOqDRk584wZt9l07NulIird7z3oKs+9uUxaNi6pWtmboUbPC39SAvZomeQ8y1Apo36QL+GnFlprbweAlsvUI89/QKBXl6F26cvgFGTLD8AgIDx61+FjFJjilEh/HBjdLlB+koSDMWw5rNvrKCZ8QduUy9wdVVepZFoenpHdPysVpRPC2U+FTgaZiYYCefyjpDM1l3lZ8ofU3Cm/yo3YepjFnbTZoWn1qNJ60Yr2X7NOvSoFhtrLMdn6Waa2h/oUcrNjC5sT/stbtDWcroJGv6AR/m7aD3oRE6DN7ct89k3eR2P9KJbLds8e/GXXwOopLgjV8l9lIKM0bjRQZwLTLpHZfJ650aUKsl55rfv9Fp2NHhn3gX8fkGt0sV62ye7LlvFIoK5FAMWsOGwP8hMkTHUsfSsc4LZV3CA2SjnmC4Dobn9OCwC2kTwN3Az/0IyzCDMgc5OT/4YXis9p+W+kdOXrX9UWWoGMBBWCuLHM6lcU0H4WrwQYqTaUNAGLgQtR+W1ftCSbqewZYevOLixoFTyIB3TzTDn3c86NsBTCQb6N0gnSTTcOY23xUu5kTWr/GN5s9Kxce24ao1duaapa+6JjkHXwp4mn1mmTA5mU99MVMKul7FyZBZoWriup1zmHM4Yg3Aq9yLyB7wzIvueAfB8OkYkKzijceeC2pjWrY6DawffbsypDT/x9LlOK/p5BmBdsk/Y8Z5/kQAyhD+qY8nvoWyrPmE3YIyF9ZiBtYvaDiHLcuxnylYa+WPp5IGZr1CkjTlwZmFlvkEbyxnLhGWrWl6v7wJ2rHktupmuOl/q6mqwhl/j574xRb5AOTLP0jqijH8AMcoNRiQUWECJulBZKePmNMu0n/OmwnQ4fg2HrgPZI3QN1vGkUt6FcCvdai3r8tXxXokF7dzTVwFwJ68dVRmKjsosedMcuykt3kH72CVdKhT11mhXyKtdK62nqTCgjSt1agez+OuytGgjTXKmZgCVbHRq8fe6OlDxGbfmjXgqh9ln+UsPABkMgb6i5vQIo3SleE0Dv391Xj3KuaPYN5/9mn8qXgwDvzFag0SfNwVQJWRDLxKGPdNVcGPRgb4QLWDXMayc3irnPFuSP8/VuHWHmcc/lj9lBxG29GmljWE6PXSe0VZ7u8ygMVaWPzYTyjTmsz8rzzRjuOQvwm8c/H0NAADEyExgzC3YYFE8K58bjhtV7SPSaeav/Vot59fpfXysk46l94wpkGkdtm+yErc+8R5CTSNa5wfbAg3Q8LP8AeYswpQHzyIu6IqeuQ4z717kM/BlHXLY2K005435NU8dz3x1Xh3PtIQH5W/UXc1fx6cwwCy4LVro4wIRgfl/7Abc9wBgMaMK9QSiaBjB2fajgI7M8On47vy1n9mM19Kvz3PHk9+iiyu3dTctQnJ4ILSJkimGYXCE73IMM0s5Lb/OXCLu8tYss7Qd46kxHI8yjNlFRLNkGWPKL2W3fVoYrbQpnCoBHmOSNRNjAfvX/LOu1JUqzWiNB9Es+7bom8AlcU+7AWvAXEgrkI1a0/eDwIxGEjwl35ikzcJ1nv1arnGyvqZ1Xs0ziGd9x8JmyPlOa/iWHzZp8XhQoPG18huYraSx8iHfefYzfyst54+Gpe+eeWvQBTpezdKMJ5xat74eGoymtW+SOu70pp9kO7/mr+NBl/ia+QaT7/xZZUnkfXCpGYCF9NwKcAAEO9Zwzsd3ODJafxQuFbAmCdwq37hzsWuwFGdPuQ9rMM6yRktwfXDurVBPuRuwfHfufsqYbMOBFdZ3l3PxUC+jYuFwDWyBa9G00iqIZhRdwa4dKXVqHa95cvtA0xYuPDNxki2n8JWAvtihheG0vl4KgNMzXp2GvrYvdOT7R3yeq/Ggp52yAFjra/3Ib/HBO+aWGgBaIJzZRyONx4EVwUIFdgXhF0dBOAiD8+DqxUDTGNu+08d8MI2LAVv6skOOwyviNVVfce2PAZd0BkGvzs4hjWx0oYHHibzI4NwB26IAQIOu/IK+pC/q7Vo0cUgWuwBP6q3HE3odN3YE4ieSJl/KHwuCQZ1xzNYYXthWNDHoyY+4+KZkVu2Bzu/TkcbkT6UnDOQhK28movGDy2EueWY4wMkYg4zxCFgMLLRhD2Jj9hhFacg1Ln1uzGU5YzQ5fekBwB3Ovg036wpo2iy4GVahjRMFodJIaxIPEy1jnm8DBW42ssIcXHFW22U5v65/ZXQo5vzEkEvZVJFsz+WwDnbIZecyW1/ynJbpWmHboM6LMtM4OQ6Mk3IY8NQJ2TMf+iwho4ld7InO1sE6I5tdeJwJEEeB65VgNiJxVoDbUI9ZcIibn3DGJY7L+ZOU6X9okHGOwZ3OU14HNi95bmdOq32jOt1x/JwW4Rl2yHwOZ/4WnvO5wBC2vkFrW5U80xp7nr/wi0AYn1GNBsOpwLdwKrDSGPFvVvqtMiznn/lUYCsZDVgGZiR0GldfCmOfdPIZjQenAgv7NuVxastF2jhDJQ14UulynmnwSUfvwEVfhbmiMjpzhNfFxlXajsLndEz3LW99a3eZzsbjirHIqcCUcTKZlo2EQzzOmJNPOCot+9KBM/due/vbuxNvfnOcVXdKe/Q5s469CHQM9IPPswrsDNYFvDsvftsyfKVbjoLhepmJloZ/u678t6iMJ1V/nEwUuBqEHijZ69IprpLiCdsZLPlNXNkRfaOBiheaWyQHn6PM4qRadfgt0Zz60Ieinknblj7E13TgCjsFY/eleKIs6K0wsxRmV9QjNuY0Xxyn4vjqhRzC5Pd2URgeHHsOzkqfk5LF6cqrsiXtlbJDQbv7BEe1KRynAksvHOVBh7qtBq5wqIeQoDBp2MynApMH7g3ChZ+jzDjfEh2htZ7w0D7xQ17BQj7OtHwLwDMgZtycNkwe9gUXeZwKvCZ/GbfwAAAsZtmRMARynDaOU3bzqcAUzKecqpRBk/1IUTpYhOmE4eRzcCe4pPhUYM4/w0WVFNrMQ8EzvmUHjejBQic6OmEGAvT34ZIY3i6mw9oOfNtv/3a3oR1yF2qrLp3G21dNl/3AVwKVEmUXnm2V6SKMruDJnbzuuu5mTuLVrCN0EP/pd797ciCIDsbw0WVx2Kjo4xw48ecTcdw4kIfbLckkzv+ARvyrGmiO6iyAHXV2GsyF2ia7LZuckew17ddfVXrYVLSBh33Q236BRib5ls3xV9CcocOKnrMRadDoGzhKP8Xsiq3PZRBbYwaimcgpyT7KLkwNSGFr5OGE5yPRGLTpsHE2IrhFXug2od5tdyUenugo3ynZe1uzLMsGB8dZg9iYCxdSwaU+sJvbRrQp0mGQH+WRjwtNS5g86g2d0ZVOy3HgOHBpH5PaV0Lh4fGv8d12+/0hygMfPk4E5gBXBpXbVZ4L0V/p4IWeChOHdhm38AAAKNAoxGkvnP2GQBxX6EMqNBUerqWE0yrfmPj8DimfQvDjCGgaPg2q6Uiv8Pq4GcAquBiKkZ/KGOAaAx4arCqNgzpO61CQo495TLfOVt3SYAybffC57wWfwYXG03RqFEx5T+p0mhNXXx2zqTgBF17hs/5wSrOC9Qc8IGTSWGm82ILOgn090zB+HXe6fTRh1sa0myPBdtT5D6ujcSgItqIetxXnIx0ndWDGBsdycY7ejPIaO2SXsmIDys/e+1gT4gKBvsjWtP8MH+XgRJ6SbgxsvaVTgm4XzSbl1uDHbsHswGVmwuyKmQL2jStpJsrholPwaIDh4yPn1PnhDSc8nxJN2+IwFg6LxYHt2qNM4ZCvQN+5FHf6JBCZEaTNhr5FB/cT6i4woKr5Uxz5gV7SkAkffYxbKHTFoS90fR0oH7m9zkE1/2+pAQBFonG7MPLp+CjpxpkVyOExVcDEZZ8rMR2J0W1guKCs/kTbdNKJBmhjR4NRnKk5A8AoLjwYWlPxE3/4h90JnWUfJ/jSQEZkUU4WZqgArixgT5W96LOjhsgnsTh8k8ZPIw0dwYZXHeiMjs46I3kcVskpu2AxQFAG446UujdF5Ftf+XHQCDoU/eLKrPS+3kjXdPX0tddOOmAuL3z8cGCCN4n1NuGqxYUBfblFdEelLpHNzDG2PMOfneKkc2bhKZ3bHwOPaHFQ8iPG9JdZQAyUio+5aJ/OFH2UW2UJ3CQbXNuTzpQ7/gDDWA2/KklQBC5lUiwGV1IVH6MNpvJX0+Q4YfSir/liG4NDkRUyFF7WLTUA9OAI4idluGeisIguTWSXrJHWZ84IgMVpw1R8C3cG626WjVF868aXVAaG2+XYDcGjRrimK1LcE6txduoc0QmMu0sdOh5WOjK4YuPQe8rJXiuaTdD5o1OoYwSmCcGg8WtazlSYK/cR8eAIhx//Q3yXrZcpnD5c6OPKK6yYDShtcCpwAEs2HUG/qFvKiWzi6tAcZ04cHDpzHO8NDWF+KgtXegbYDa7y8lcoH3maYYSO0LecyobsmGUhq1HWDfFyFSRvCiXh5s5LPbPOEfQFM4padIAWfcGd5abkibiVBobLyUzgghm4Tf5UjqxPppU1JydxF+zZmmeUdnhvA0DBwoBM8Rj5xxTJyo/RtFQLbBWSAtstw2+e2ncDoXE0HZVQGv2Wpsxc/TmlNxonefDZB8Bh2QFMZgF9mgUUmuh8mmpv8y0+Dv5U48xHVIEdMwJ1AvLydLnWt6k9coob5CudqzvYcRUWTQwn1l3x4Ez82IBFuS1Nn3d0S9CVD3rs6Lt+q0pfYwYjfTnaLG4ttIi4Ipp4wqDybUj/NX8HIONaQftFh1idVxrlZuaDPrkMMZMgTTJz+i7MpOw5j/LGmY6S4XK7/ns+BbCF21kr37T2d63slOSXskb7VZjZZk1fx+Gu0+p4khCzNvQdlBUMyZvFlzEc3tcAECAqIA7BWaFIrP6s3Dy6YGtUtPkz7EJYiaHuSClrEqTxcbWTu+iqq+Igy7gn5ko2w1m3WfpEo9BV8qQWw27V7cW27se51YhBQPh0Ak4I2tS5ecikE/a42JnGVeydVTFN5OcMwqKPgUdlOqt77bN8mNMDdsHq+aGnESmfjnxGPBt8LkzrIOgV+us+/rSeXJz9oz+Kaf6W9N/8lm/pNlhA1IImZTmncp15wxu6c3/2Z3HMOJ23aRfKg0gNInyyK84HZBGytjVlEG3uqMGY/wqWk0Cm3JTjtMrcn0ZsguKjF7+grzAq0ogObNUiKGljA9UoS5KdZeSwea2z4+En/kH6nMhSA0BLmWgwEmIjIm9eJ8s48DWdCsR95Wh+YcpYNU6Ll4Y0qh8NjUU3NcL7POc53VHO61Mj4jfLIccULZmZl0WuQzp7/8jx493HdSx4fKWXzqXOxhWT02tjml1koi9uTGdyZ8l0PivsfOKMgSXu8ymreCfoSJg4bM5HWU9r8Dn6bd/WHf7UTxWR6qLow6nFmw9/eHfrQx7S3a6PbV76Td/UbSrsWxZQDtGZL7+8u03lPK0nHYd06OhKbUPKVewN/xFhchvAjLLlot6UMWWHYp8WD3bhcSsfHj2pbxCe4kvMLAQmnpYNjFXbxumjfsZVGJ1jRT8xtDBbaYllKmidKV/wJrlTxHMSZl/WGswWnrPqBhgFX1CpFl5gq3Hs1xk7+zQ6u5xOmCvPtq5wF+tY8KO6onH1iC/9aCoZ97wjfqwTjOTVfNz7g0unuPSZz5x0AvEy9T2kTkPnj+Ox6QjYsPGzffFb+aSZps+XDPTcVKfc0AwjptzJFhQfG/Bs/qRW7De++qu7I49+dJQ/PqpRyhe3EtLtgs/6rO4+3/7tMVuJz53xVCHRYMsLnv70budzPqc7q0d/sbaAEBx6l87PB1CO6DuIxKPcVZmmykE+tvGvonfZXe7AlMgjGmTiw6Cs0eRyF/6wZSg3+cMWtWul9TTgyM2k6YmrQOGt+VtYTtttxRXWktGlBwDjo0gok43pzOK78qx0lT2IGi/Tnq9CDgQpYlmDdDq/FvvWddU/qqtwdHyVLRblKOOcX1yZ5tAYA9otXfEPqyMeesITum1NzdfVMXkGT4PtsVDQmGN6DwoxUraC4/rgAyFd9TguYGSDM3xJR+U/omm/78tjSl70wB4xG1CjjbP83aGUbl2DRuWIU4+f/OTutG57+it7aux0YgYk1lcCExnJ5baQkns5g7QSqXmwZWBrdhGy9tNRWwIbaaFDqjeT1LqRXg88pm35Lf4WndMWod/zANALkUHnCoJmEboCCl6mn4tvZRbwR7FoKKxi60oRz+alb3TEBTAXJYlyiTimhcKn4fMlXh4L8nVg3LALQCy6BW03WrZApt8IXZ0uFtr0pIEZQXTako9ep7VIuaOXcuKtQGjhSS5kOE38dX5PWmQx2JxVJ2fAy7KiXDzpYd2AMi7rGjyzUGhP3A5wC5A7HTw1Xx1HtVZar3JLF6XVcnr6EpiFOSvPOEHTkE0+tTasOXMN/X0PANEAVNkoM1fpYpTcuYfq7MbcsIy5EP4u+2ho1DA0WBq0puJx1R8x7ChwI8M6288kpFFG5EWn1BXKZYauxZP5c3gZWvhCLvIyiMLUC6/MnuM+GXtUNkDOwEEzy8GvmcFZdXSeKLT4Y7ZQYYyVp5dW6VWxD6Ihs+gZ9cpMpfBbnx5XnE7LIK20Pj/pMqCjbhexTwGCd8DfC5gEcl6vb5JdkS8cXWoAyEpYQrxQkxSZVxDzUQmzBoKxPOO3/B57RmAMdwbLQlm2TdZrIcZE1OJ1WiKLoNPx9+KwA3WHCyzXh66SJ/QYL95naHSWhWUJjw53Ri8+8SYenyFjoKvdMvoHbdF5EZwee4QnBoJSbvB6+hp8ybj1zPatIbD/mBvPmXBgxXk0Y9h1+lIDAMwI9o94vH7YGOkyDXSjrlRAdMxklLhKNXBHcZRhmWM+vIE7C6TKMxbJDrd851fsC0XrsmcmRvt+xFfYsjPNXsLYId5ZgNl211Waz5Pd+sY3drfq0dm6Om0M8MsKAE/4yPiEXi/ubrxx8hpukTNWhrF0i892cBo+fLVrpWWasDkJRc+cl8MzcWw3MZjOPri9fTNgonVyz9PIg6bPL/Ki0ybZxhnQ5sQZ4aUHgIyFYvUMIOcThsa/Oq8Vd2eYh9vinZdmfT2CWq9ZvjGhuSNc4KaOUcuodavz9xrHvi0bb2q6zkaed+jx3Sl9JZn9CH4EuKgs6pAXga7XZ9A/+spXdhfwiE+DC27MjmPplkk++tZuOmVcBrzQZx50DTvUwBXdVHbRpcbr6Wbg9gNuTzwJZL2c1achT4MKrtbXNPahIZzjpLXcvgYAABnlF3WLKhW4/KnQHhDCX1TQDLplZwAzoM57Vm3JRSpwL0qAG7JKIzYGjWFd0/RLtCHolPZAXPNLvxSLd8sMAqz2b2iB8RN65v7WH/ux2G14WIMI23/dgC1vGR9992ufsCd6pHIHbqMNB+0yCop2wCPMVt8Y0NQ8Y/Ksb/GzHYxn3xAtezkv+/seADwaoYB/WUArbLpa6Uxr3Jw2NSDIIAwMy7jzNZAsI3MZ2to2ji+DMUbrwbS3Y02oRsurq0fUiR+srdC3/pf/0r3lVa+KR6I+PKRmyXFmCpu68t+gNx3f8hM/0V2sq/6luqXgPf5WZ8i8o2Hqt9Rzrukczrxj6UEDTiZWmPiybQh9alengEkbnnIpLefmsHkiLdGT7jrMg4Dp9+LvewBoXVFRvFWgloKmrelbuC1+0myUgU/6GMNdLH3MBqi56Eg+q0iBXzUkY5vPtuK+ld1mF4n++FOe0t3wkz/ZvUkzAd6LiB1+6uQt11/51fnf+LKXdRfrvv9T9PiPwSR2Hgq3drPKHbRJ59werGsLr07r4wVrWgtRVLqN4QdWwbHuPX4jUA96tM9F3UxK6dvKb6XNk7fvAaA1GlooCi2jlOmX4bGsKR9j6zcYFFwBrfSUNoX1SUo4L+WudI1G53JXeY5muTRan5dwsfiOf/EXdzf81E91b/6VX4l39lu3A3Hl17T/Br1u++Yf/dHuUr1P8QDdRhxV51/XYNJaDMsyrcfAr3Wu4wPixdtZlpvDhmulOW+srdc8EZ8zqGSeHO5lOVBwoPEA4ouC+SLP9Ev6Sw0AfWdKQjhiq31N2CWyglZ4N2c8xIkq2kwazvzj1IvnBG6jMYVupFcVtyiybbMofYuudXXiwIrRA1FaICVtnj5gcroMbvJfGOX1g4AWAy8RzRVf8iXdjRoE/pK9C7y0pHQvDPZXfp2486Yf+qHumBYO76fOf4Hqb6N6t8ESanlO7/2iVx9XgDaGvi3eVlrmbeU7LXClK85pmXdeuOZxnOk/ba13qUym6fOqQJ8PT+KDjHoFt6epeJeNLjUA9OBSAkVwPlutNcr39CkAl38peRCkI9yqV0kpKI3RhTVf9geMcyLgcnZdHCzR6uik5Uqbg5ez6VDNe75M1AiHHYsuLqfJ0Jfj0dGX8CJuXscHA6yTwsQWhGts9MDu7JPniUAMApoJMAj4diBOK9I9/iZXfk373/Tyl3eX6cp/H+1x4IRjn1jTwhb8rivtqE+o48oAg85fnzYMT20z0gYu4xHWDx5+tFnaGOf4zXUJxzLt17zYjvawCO4YRo2J3uDSxugbOOyyMH9wTP/tbQAoODQ2V7AHhGkR4yko719NlRWzjJqGuPlbfoseIzbxVBbej+fYqn6jDGl3kIvKU+Pb0qu3se2XzTQNeU1dGzot0vHDRip/vAIsefFmXMKyDZ2ErWJRUIMAtwNXaBC45T/8h7gdYCZwWK8vf1ynF73pR36ku0x4DyrTfg7ZoHPBn11tzdhEpcGip2qUP/PPw8u0ERZeyCy47LPw68+Wie/wFL8T5ujVk/WBSUlpw2HTxJ9tkMM9ax/Yzd0NTTLdN+p0sy7jL7UdmNGHKR+j5q1MBVXBXJ04AfZWhTnGi0MQoaOyYoBwIyhp5MGX/ahYpTNqcuorcc6VY1sqByByuopPGzbvVGNo4EKLDjyBDlz56I7OnDZL/sU85xYNjWBb76Wf0rPrUxoEDutKxs63OKkmWbQvk3iogH4arTgO++DoBKa1Hxn6Y/rMEVUcP37b3/1dt61Tgk5pDz2nAkOrv9APROyEwxboGIdZKs32jcwZf5aND9Ip/U5qge5WTdV5L/561SMO+0ZnqOoGG+FiYVAd6OFXXtm9+xWv6P5a+h/XjsC/+umf7i6SvY5owY9z/Uz/cd79lwM3GmyNK/twSvAZ8a7pSUG0GdGjIxLtx6nARXdoqEfy4lRgYUKLxZGBn3nDlkrDnqSflixedV7TrOVW+b6loK3lU4FpbxM2tVUF6raKfFz4wlZl9HXtGSb54N4g+0LHCVe0CVzoVdujxOt6jfoTD3bgAFMcuDfKvpSXGVqcOyg9ODORPoSb/Edw5t9SAwDK8eNARTo6RqVCqIy43yuiJsXELuVqKz+cfPJID19hGkzkQqNfnKIqnwqi0fEjn59p7UNP5YYr/DWudeAUVcLoi/4YDk5wweHQijW24qoj3qyDLA4/61mTeJluhQxILa+EdZBVYDApA4t4aCS6wE6+K4VBhfvoG//qr7pzGnA4BBS5HKTBjjWuUhwxhl6nJB+9sYMbskQMw5Ew/RflEy8ubC6MTTUcDgU5RPnVIGmYNDJ3XKht3/DFTyMJLNFyzNcjrryyu0EHmvy9Tk++n84HuI82NG2q8W2oTdBI6VjUI7jMIOwGuErE3mf1mvCmBr71chz6LvXEntG4RcugDa5PRzYW2H17Uzj4RYczFk8vzmqX4xmOIJdM0ql/HLdYUPu49TjUM3JUZukObW6z1Em0OfKQU8oXG7wURj/qigvNCeVjXxy41id4RJtxQ07Boq5w0flLGDtwgaXzgxunI2dc8PSzDPyJFUAad8sNAOBICI91WN0lHN8DUJjjkBkpQ6jSs4tYSXPhej8R0nnWaWTy+R4AIyaDi3GN6goP1lqW5SRc+KgYDMThnWO4bAbiKnzy9a/vrhf9ZU97WjTMeqqcoKPDU5a4qivDV35oWhVApXJ23g06MecWvW23Xo7a4his0zotGLep47Y21Wg5au1cKQ/HQtsOQTTjz3JtLxosacg9qyn7pk4f5jVfrhjZvoY0n33qmTBn6jJzWRPfBRqo0IdGyUnOdH7KHmshCXcyH5ogG6/3Rc9gd0KD4BFtw+bgjmgX2LMog0zqjXMUmF0dkhzynF/Idj3phIt/wvoxyzgh23Jrx8BLGnozOFEG5irYAR7qx86DfdSvErMfNOLHweEygYu+OP5pd9gPXCOTHjymI7/Qoxv0A1952BbcM/oxG2CNhTj626Ff2M8JC/hLDQAWFY1Y4BgIxSgQingKVssdGFVKznI21Cxc6zELp5aCbmDbkKP6yriruqrdrivc6Xe+szvyGZ/RbXD+HQ0nuawDsriSMDCBn/MSi4ykq5ga40lN+8/oHflVfRAjHJWIXeRzMu7Zj32s46AMrlacs0/6ScnPdhzglkhTLrjC4HaDGYaf56+qM7BTb9QOFoBuxdG4GKQ5UFTHfvaNlo6EDcCiUbJ4GAOB0kgfc1EedNCs5HbZgwM7mAlg612pmEbblFUGrqonGQCSThk7eFIegwvHgXMUGjxRhyUfWnQEmzpDd9J6fROdZWSdxtLczqizwIWwYEXQjMnvcU0nP9IcB0I/dMS5jTlufvtBtODfsFUvyASZDcUXT6LyF+TNlTdrtJp12vAiolrGII2pU9a3RUdHXVWn5yMWt2iamytwTHbc+6sxefQfoyOdI8dWy5V/gC1+GikLg+d0n45zJZ9UXtDi42gMTiMaifpzmn3SzaOrhvfDx5VJWfAVRCgnrsVbsigf9HkWZn6wwOX0H0+fgy01ZOK5DVAOz7A4t++sDmJtOXfQEy5LIoqyC2eAW/JDD+o8lcm2wud2kFknzuUI20bK7D/j1FTowZT/WEPXmraPJxu5PH1eCZCO/bmt6HWtiVIc+nl0ex4ALIeKcaMgzUaZJzhoU6FppJmnxrW8/frRSCpZLcyg435RgwEHdjAozHKLGDvKyHkDWoTKLmxmW9Bo1HiiESoNPcIupPOzUzj4clrKi2DJCzphRkcrcnqZmR9MZhz8Rsrbkhm2QqD4ua2AhtvEKAP4yKaTlfKEbv6zfHwNHCG76GgSfDBddzk9wuASMBZh0hSPRVzSC2bQkV8ccbe1SEqyM20Om7fpm18+uHkNpIURaeZpAk7K7izosx1amKZNrcVJU/7SAwACMzAja45bQlaslW+63pcRlubpmRcP/P/snQm8ZklV2G+/1/1639fp6Zl5PTAwMMoi4kKiDpi4RI0xronRaNRE4hpiXJBlWMQYo0nUuEQxoBIVcIW4xACjoiiMIILszAzMvvTe/bbe8v+fd8/t+u6791te9xBA6vf7vrq36tSpU1XnnDq13mFWR2CxMWBWP+Ah08z4ZSAvtax7ib6cUgiG4XeeQKti8T3vqS4yKbXGIYDCVjjv3/OSEC/w9H7AtTVzJN6yjopknY8NLPleYNx/3o+AKoxaAuItBQYM3u2ncvJy0rg8s4W1wdcKL1/z23RJbww/yPuCeSvgKYyFb91Zbm9FWlvfhizPNPkBaz0IZ2fThNcZZ92XdAijMrPMlj3azzxbzpCGVuukdpeeCjoyEr+Mz+ABOsirzK0TPhMWfsCNoKOht0i32seJFYAZZWGikWyYVmHbxCS84WWltOHK96zMJu2IPMq0w57FO7QCEfQLLJHNcBvuri/4gmo9M/TxSakO5hmWT2ecdcVk1hLm/TFu1J174xurKZbAsrc1zhtyvR7b+/TssXNZp4vxO/PoCjRfhOEc5VpgEjAsGs10e3nLVcev59iuqxBRXnvwlrMtsv2adqlhMs5eT9fQW5f5LGX2e4hOxDWWCHlnO29gEnA9w6JQPEVdd+Gts1zmwzq/DNNP2sRtnS4ytPDbgJFXgbuBFUcRnumbeB8KV8ZncDss8m7hTdgBv6C/jWMArnjJcnTCF/iKJL2Pq1IAiS0IKCouw4f5JdHJTJ3wbbwUrEwbaWqYoXjayNt4y3iFgp5/hksx93/N11TrXJ+GYWWiUS5pG0kL+Xsj8H5u3X0QITvzhjdUU7z7kcwZbsfdgBDqFM4Q0LpBVbKX4xQ6VxemsC7m+P6gu/VSEVq+DdwDuMH7CVUK5mn+HRmWYeVzKBFprNsp6K1p1+LwKnTzdrIv8ANrehXTpsc+Nuok8w4GL/KOfEq8pqtxF2DxOEATIfb8GymXebvnIsuc6azVxG9Ymb58TviusIjroqdus3aa5r2dpvXewLXosgxlXNKm3xdewpTPK9V8GTvBsxlPmnmm6Us3kuWtMH6pbXv9cctRC509v8J/nmWz6J1tyFE/8xgFYzzOmXgZcxfXZk/T2/tRUDfDrFcALU9rWBCJrsCfykwTez2KJpQa9NgjO/u+XjrINxQPefW1iWRkuw2QVJdtICxfqFfzdplv5pprlndaopA0+9dhYdnzBz0qn3FcS1AySRfNlse83WsQZSTPaKdMVPhl+vI5QbrCjCuVUQNT10fznkjSb5WhF078mab22+9NdAtnEz7k4fIVQCtTiSt/Q/IeiOpK01vQgZRjvEBjr3LIOBjS8aKmv2a/TBOm6jDGbmfdqot2dL6LV8FTIFxm9Ou4a+ulxugFJ8kzkY7hR2+HkPu1Y3vE7HHXIRxBk/SPyHvsNinrIoWBsHXML3g/YJZzxnkQ4qP9a39UUbpo6AoLPInTvM2Luh9wJZ0DEeO9lMKfKYIW8HbR1BvWoiPh0k/cXX4fTF94iaNVG2XUeM9hUtUN3JVCIsYhpExbwmf6MqyEnfS516qwDPT405jjMQa2QYaUqzPfCeAtj0IXH6vABM+VgV76OjMcM9CyJIPha32YX1zTBQ2hDDK+B6X0+hvHdZUh+IQ8rNv88pF0jJN3mWevwJVA9XPSmyZzzKuQf865NHUCfMKatHyuUXWHtepsIB280K6HJr5IF2HFe1/+SUfbT5zRwbUjx3ifSAF0EeukT1ejtPM2bflrx7ffA28rsExfPgvm+zhuGK32SjJlsww3DsISptWQZVTns0xifuZrz9ShQLKcnelHBUpPB00hjKTNCbth8wtj51/nFYzYkWeDxzL6S5i6zMYPc5E+0xSAfelWhJu2ruOIq3H5XPLEinTGF/nlY1dYxumLM+u3DB/1XOItnzOdYSW9Ed5RLwk/yp9oEjA0WmamT+PFHoC6EUdlVsaXhWtrSuEmwZu40i/z8bnEL/OX7wOwlsNyZRkHIke8rKIOBjD25NlL60Di4qUHTwERj1EP0NxXZwINixvAV+SZyqWMH4bHOH9Dy1njb8P04V0RbnqFX8dzuQQqvdkLrkgneCQa/IuwoszGlnDxXOBt4rvStMIypxJfOyzruAsmYfXb9VXG5XOWPd8n8yHeHXArNNJkWKLyLExZoHEti3GyStz64nWqqQwr8y2fx8HdwNiQPY3ZwLQekgaD+/ItYVrJB1/HzD/xZT10MUnCDGbQ89Yqs7yQ/DAKj/GjXOCrgcopwq60o/LLvf1lWvG71FqGJU29Ye0yZwL8Jg0waQE0YW24IXgK0HgscZR1MinPtfFOZAGURCSi6KlbBekyZRN+lJ95tLVcF6OOwtUVL94uXOabeXelGxkG3lGuD39fuPiGYm3X+xAC2nlkz5fh+vk8BM2lqJ68xTvAoJdSDDyZ19CyES+e0gk/GHIpti88IGwbcAVMjdPnzD957RK2/nzaAlfmWz6Lq9kL4UurLO33Mm35bNK2a+ht42wDjvF+eRYAGURP3c5Iwi6TuDZeK6X9a2c7zvs4zDkOnhUwRZmzAYfRmzAr8LQCEsdAcJHXQHjrJdN25WU9ZA/VSjb8dUTeo+o3aRqaCXm0hX8Y3q7yDeCX5nSFok5a2vVQQGeq8FfQVMR2pWnjTfA2bPlePvfBB96yTAm4Cn8iC0D8JYFqULVRatIV+ZdEFhW/Aq4jICyLjvAyqKSlDM/nLroa7ZlAq/T78s7w9FeJfmWysi5Xxg6EjJt31sW48MOU+igco+KbAlDOsWFJNAlsk0frIevB4D58w4S/ha55Df5rtVvgb4Vlgq68u8K6+DpxTOpPrADKDLIwo7YCR5qy0GMog6jwYcqlJKTnuavyDLMC23FlpRrXju/JoglO+BJPE7naB+ss621EnWX+42SVsPr5PDRd0tADNApHX3wZHs89+ZRwJQl94SVM1F8H3q60XWHiGib8vWlMN0BI/d6ipQ1TJumMa6Uv4X0u0/g8ih8vewhQ3gpcZt4mbODdQrR/AwDLV22Nja+Vdtirt8rk/voSzrzyV4Z/RJ876kRzr5z8atMzCc0lrEeQ4jx8G2H5nvSUYa1ncZZOWpPeMr8SZsWz+XS4Mn3gLeC6U7SQFPAZozCXacXbNwlommHCnzhLP3Hry2vp4ql4N/xS7OBzpin9hNX3VqB8L2Haz6OEX/iJFECTaVGQvL1XZMaXP8PGduKsfxLujapehjEwkTI2sm7AwMsOvLi8gx61KU+Cm7897YjeNsFLv0+xlDC9z0V9Joy0SW95K3BJr8/le6br8ktYnzV5vWF3zg1IXWXNtuhCVoeVOA0KvPhe2iHusV2WPf06ofh0idf6XQB3hsVD31+b/qKMuech8BIuvd5q1eXawt+GSRrb4b4rpN4+1bie8hnfhacrTFiPW+etwL6Xri9NCdN+nkgBNImpOJmz+flehzUwPEhQ/srwYc/iVBEk7nwelmbcuKCxoDPyKhLH2XEbTUYDblLX0DxuQsrpluDIyzwLJglcdb0Guprucesz4fRLF3jNxzrOuijyLWko05XPbZzGJb0lXNdzbj82Lnpjy60r6rvEn3j1V+3q8pV5B14Qtv3Mo0v4S7rK5yZN/VDizLg+fxiedpqsg0nwt3G03yeaA9BU0iQ9h4Y/zdlxe2eHAGrQvGvPm3yEiZ4bv2xYCbdijUuY9A233whtLF4Yw/y8ZdXbVbzUM2H1B3oumacOK2GSBlnMy0B14vU3Txm8rKG5bZj3817BxSWV5z2bnvvVTVTj9zFc8a6mNz7pv2Dvx7vXYo1ywi5w/ddFynaW04B+mlv6dd77pkvzNG8F9u46XdRl7UdA608sJUxgBfc8P6/0PuMZfWAewt/CCcjdnA+InZCWpZU2US9TtvzWhpFe60D6xWs7CuPlm9HLEO59ANbtEluuve/Q5/jQCAeUQjjrvM0h8WtNWBNRv+Cw9/PZerB922WMd+IzXFwkCO8cPOvPLcHyq20nrdbxUWgRr7ft2Ham8L3Nq/KdaRoHTITVvvwqf5lWq+Uo+SXevMqLgIZnknfEIVz4IM/yp6+1pkXsu3R7K7DO+hWvOLUOkn8icoy/iSwAgSXQCvJqrWgEwrwI0YrLG3yzYYQ1TaQzbZ3eQhunE1bnuwIp3s00rs/ehCpe76ATKvHqJ970A3cJI84arzBeWpqNm/R6fVWDlwqchhGXvBb8nnuWzwNQobrcQCKsLt99lhZpzfy9CUcRbWAFwuV7vIBXJvSM/MLb3x7nD7wOyxNxXg4qfmm0/OK3vuMePt9B4C/zS7zpB/463ucMT3g//z3NvQDTMJA3OW/y3gEuKdHqUSgTLtsu2ynbLOKhJ2ioy21c0Au+KD/v8oK/hlbT8FsyL8rp1mfjznJPoeWNrdA1veaR6WRu68E6Nr3PgZdn4XSdfh0fcfVz5CV8jUdek27xysu+R1vybv6GBy34Wf7ML+JrXBFWw0qfeLLsDV7CxRW/GlY6op5rP+q6jsvyC6+TTvHKs0Evzwp/w3ukM1w606ksRrmJLIAgGIw2ssxjZo7VLawFVfuYqcTrLpFy6TnDorDLYM2/6SykMGpSC61Fkb1gk7ZJcekh8TUwdUXEO8/iFb+atMEL06eGVYM6BLiIQBzlHsCZf/Ev4vy8pwIjrs6qwV+/ZwPYS0mD7znObMMmLQr/eXrhh//oj6qLCL73A3oJycLdd1cbZ2fj5tr10gNOLSx969geoqtRA6/58+t10GX5prhvcA0KbkYawLeFQ0HnCPPK7I1cRqKL3lifNLqs2/olvIbRahgFVQaUB+z5Bug1b+IXEfYlyuhlp6FwOJHoBagLnIrcwHHkGHqRtnTe2Wf+hsatwODxeQCqlWaAtjpvLS2tu8i7pi8Ehl7VHlv+sH6bHtR0dT7yjfklHWU9J0yGpeD7tYW4bbjm5wYv4brAt/wo4uWntuk9d3wAAEAASURBVJ/x0JWKyuvRtYqi8wK+5AnpSzpMWj4nqrY/kQLIxFFRZgBhaepaQPtLMx1onDoMb6QznXjEEXfK4ctMiW+cAvVlIl7xSK94wlzCH8Bpz8S1VEvcHnMfn8be/UVfFJdkxCkyGG+YU/DDATeAs0xkHaFQ5riX/ygXgcy/5S3VFEdx45YchhxLCKZn8tcfPBin5OyRs1dWGLN+RZl1UqLvfbbs5LvEhZveyrOG5+iBYaa4ww8m9cYcaYsbkBDQ7JF7cXbQII2BF9/noNEyY14r/Asf+tAyOuJUqvEjb6/sdjjgx1is60YgMg/x8pMn/JaB/DeOCz4F7wLlXuDzZZ4HyJRJm21l20U91Eiz/UrYfC7zbcIKemwjw81betuCb/omnS+1a4c17zXuwMuz4fJw8EL9LgppbtIYgPM9yxIBHX+TKYCaGPEk4vyizLDMSsIyXQctEZTx8SEPQsq05XM7faZrh+d7xg+9bZiK1TydYjx8jp7qfr6A4+1A3gnoGfZgWGE6XDKljLrCWW+E27N6J+ASV3+Hud+6E9DrsPxQhsOBKYYjeYOv+Pw+wLDyr8izDDBf5hi8Gy/u5YMx48MjtUAExQjiImVe8kpylOBq7wRMhvdLUdaXCu288w2M+8uTlmVZwjpAAS2hGB2GeSdj21m/pgm8Rha8WMIm3vBpy8gbayvqsgC0zMJoYUzX+WXLJY4Eb79nePgddEhrzFuBu42zC1c7rHkvcCcelVXexG3+WY5Mk/4AjUNeVtb0EOBAnkTpQ4wNrimVBA5JHlFtAvvSXS5eM8vKSZp8H4mXsniR5Ro+E+ZviV7LSzzDPDUuy59I9Qk/Txr96KWAybz1G4fAVZi9Xn4ZKw6mKZ3p6slHvx9gXvZMgde8J3GkHahrzP9SqFNhiTue8T2nbzkjb/Mt3ACuIrz9GMM18o6hkJHipdyBm3DL1IUr7gigPs46RyBcy9lu/hSsMr4NOfBundV5N+Vt4RU+ecKogfQd710whukibdKOb545jGriA/LSXzu/JibxNAH1A+HSmxZnmb58bifre59IAYikXUjZckLWHKClTXTimkSpDCAsXtq4fc8euh1XJFt+rAXAIcEaPlYxyuXEYOLvhbdhxV0L/wo6jFdotDhwU77jRuINKP6AT5xZlxFV40mwxJewIVSZtz2iwlM7YbJ8GdblCye9jUIpger8m/zKOJ6bNHW5W9HLk4LgCLprXMIkleINOtsJDS/gy+ighbiYCygj6uc+WhvQNt7y3TZsAJdpK157H5OmXoACb9KXfjtNmX87Lt8nVgCZMH21kRn5k5BkrIyf1M/CpFZu8E6KqAe+YbSe+BXBCmurN1wBQ4ATVJa9r/xZrq60nWE1M+WEnD1Zn+tj8C54YaVRX5qyJ2lgM9/ab8J7HgbKRRrbLfC24AfghsX15Bv0Ggft6Uqc5XNXfIaln3VmuuS1Ekf5nGn0u8IjrE037+JtLKESSf3cxtWJp5VOmKiLoh5aIBO9rl4B1I2RzZGFyYqVij5hGIvCuoAN3o5EmXdHVH/QFaq4dgZlWZPmNsxq3ku8ZfqynsvwrueGnppJ45166OrVG9guREVYCVfS0m6TEq5I3jyOir8EeAny0tNybPvd0K6wxNWmNxRiRg5J2+Cs67FJ0n6vI9p4G/iOPAJ3D55M1+Rf8HATlkCFb1y7PYroeJxIAQzLrI3Y96aiZbYugMsMG4ce80241dCQaSW1xNUmPeHSb8dfifemPsdENgBfME2TvAgbl+4BOBh24B3E5Xv53ORZPwyLG4AdVyiKRMNwD9QJadqw7fdE2xveok+44BPq1ry6eK6Nq/2eeZZ+F0xXWJlmnOeJFIAIy0y7CteZaQej9PVsZXrzGjuPMmHxXNLrc76nX4COfByWxrjLpbWLgGTYYXm30zWwCngyaPoF8KS4G7zgyLQFuuZRuBK2iRgSXsI0z10015GrwV/SbPpsr8SVfpM/DwNhLXoG4grYdngvvoGI/lRdMV1h0dYtGsssup4nVgAlkk4iSoAhz9kY2Qjl2M5khjdxQ/BMGvVI4JSGK4E362TSMgnftEUyQCn8bYQFTJOuDVPjzHIl3BWhsSOvgaCkbyDw0kvScilk+WloeB/Oup760rbzyPeA78MJUBe+dljzPiGepKHtN/jaEUPeJ1cALWJzsSimqOq46N19tnJHuIboAq+pcmJmNIYRGbSiZeBxrI9WspGvk+IdV5ACrqzHul6j3rKO0y+pNKzlmhDwObkY7yXuGr6B4z2fh9GbMCb3uXzPMP2xXItucckD+vJaFz+08wOscRHXgVMA4yzXijqu44RpXI2jyasHp/CZZ4m3SdcgrB9aeMroMk0+6+fkYgkbz0NwrYCtAyZXACXDkGGzXJeZy1wir+G6GqyPmAw3faYrGS/CyvwzwQS+wp+4J0g2ErQTL3WSDTcSQQ9AqaxKhgpzL9NYJ1n/GVb4K2gAtsRbgK6gt6z/Ei6f27jbdduOz3SdflGGMl08225FfKYv4TJMP8LHgR/FD20c7ffMq868oafA24TVMHp99BUgzWM7fbvtoo066Gq3RYOweJhIAUiImZWIm546mTAJqd9jI4RhvuOiEevnCOj5C7zCF7DDKi3gMh99N4Cwnh2f2ao36ZhVClFZhh4SJgoWr/R5ECjoLFOzCSccO9OyHsroYc9BrwDisC7EUTrL2uG6Qy8BWr/h6vptwzf5Xkoy8NSGz0jDMy79jOv1k5YaoJ0ucFq/wrX5oQ/pGDhNKs7k4XhPfK30CZvR6Ze0ls8gDtzlRqCBNB34B+LzpfCjHngv62FUOxXJOx8nUgCJoSyogtQpTFnA0qfxViiERNryHVJ04m3B5WtTEeYnk2DinmP/9xSfoprauDFM3oZWYLIMkYfwdboGTyKe0E+8kUycKKELHLaRnvgScKGMulA36bMcALlr8AJbed0+7Ke7/aZel2vSdkW2wqLcdViZbkX5kw73IdTCF/D1RqYW2ngVd4mzC6YJE3+PK2Oadqphy7gyeYQPwSlsmVa8fRuBBvB24CzxlM+Rjroq67jEFbw2END/knjTF7LsFPtTLpezl4Y6Yf/ukmGYizjHZTkPIJEloQXY8qOVmBVZP8tw8avTZnpx5vMKPEMCTHOeQy1nEZL1n/d51QVO2i1x3l3FYz55sjBRCN/kn7Rl5AR+4miSWC6ExiOoU3xvcOqmm6olng3LOoi8zd+f8Jk46cC/AN3SX/nJcD6hvcDBGe8PSNgSRyYfxzdd1nHkbf6ZL3G5fXcNyjO26bqvnm8nenLQMwWxU9Edg3Wakp7kh6F0mK7Ir12OxJc44hBQbUm14xoYHwqc8WqQD7Urnw3yXQtAv4lr42i9Zzp9XZNu+XX5nzSNlVWHRx4duAaSFS+JN/2IqvH24RqALXD1Pa7KAiiRZU9dMk9JxCgNFL2KleKv6GHKdOIr38v8B57B4XFeT9ld89KXVof/8T+ujr///dXffuu3xgm4tWwznXLH3kCiK/MyoJWlA+FQ4Nfw6evH/8iPxDHUtz/3udXin/95fCo7TPm6vE3ZrYN0WReELSF0j/2Zn6l28Anvd/63/1ad+PmfrzaiUPzE96SuyCGGY+W7uOLAjlYLwn6Wujv3gQ9UFScWp5/85Graz2yjEFQAc3/yJ9ValNJaPvsd25qhN3ENrd+yjDXxmS7LMvAuvIJPWbV8LnpYqGMoVfJfJx4CB/DWQNLatF2LtoBvhZmsxFM+1yjDs8Mp66EP10Ca4iXxpt9EgTd67Q66GpgxHzhpevGyFYAElgVt510WoBOuLEg+F8wU6QnvGkul4CReYTxWusiXdnfCsLqNMOhZT/PddVe1VvO5NsEzTZve1b4HA5K/TppVAGfe9KbqMEK/AQHSbf57f686jgDPfOmXVmtk4iyvkeVzvqvM3vWuaiN3E+x63OOiV77x3/7b6q2e2rvttvis9oo5AdO2XNkGmU8KTNZDHEKCfk/knQX31M03V1u+/uurHZ/yKdXW666rNlKGtR6Qsm1Qoqeozw+iZJco4zq/bFwMCQbyK2lpl5G4ErZ8jmS2OxaTJ/rOe0aAewPOU3aVzhoVubQIOAJvgATClX+mL9suIcbBu4LeOnGmHYjvoDHz0i9hy+cSJp+lt1FaGVj7o9KW4GxfXzORAjBjM5Bp0tek1q3YUx6hg39t4pL5BqGW38QbU2e1UHU1MrUQjd/gpac4S8913iO8XHShm6P3PP7ud1d7UAJxHJcwD6w47msavi5D4DNRvvtc559ljrg2TbzHhSCJl3evujqL6b8TwU03bxgv0YAZ2PKbshgO85+mB97/1KeG8Ev/eo4qr330o6uTr3zlsiXRSp+vA3gMhLYMsyxhptf0cjtI3EWw+M53Vpuxlq5+0YuqPU96UrWJ4ZM3FHW5DVxfNv0d31G9GSWw9bM/e/mwTo3X8g3wA++lG3yDtDKyeFb4vQrtHDQ86ad/utqKBfI3HNE+/vKXVxto4665kC5cXWGZjXHBawWNAV+8l7Bdz11hiXes+YVEgF/SWj4niHXrHRkzyYNG1LR2wWe6Pj+sib7IznAyC8Eh0gy9+02CGm3cmag70PTlr4SKW4Frc31owcqKgGHOcox2ih5rpj7BdwYFMM+1WzFmhU7vgvOmXd0AXvHUFdnQUYRFmcv4+lkcCpQ3GHlTS1QoDOvVV2uf9rRqM0KkM/0xJiUvevNN7cqy53MTR95aM5zgr7Yx9tc5Ln83pvcd/+t/VWsRUC/aSJfp0zfcPJtfDWi8bSWt0qySOfMXf1FNY53cCO6nMFyZ/YIvqLYcODAg/GdRXme4teg4l2vM4etOMsRZpKzi1MnsizXeUJjWUV1PyxC85kPtt98Houn151FKW774i6vdDKVmMP/3fNZnVXPep6BiGgN3H/5oTzLzhh15LV3At/AaV+IpnwfS1XCWXZlobgXuwNdOl+/pd+VhnMfDxZv0C9f8huSTeNv+RBaAic3MAraX8yJMgMtwgRsmEpdORg28+E1j53P6y4AR7xDgLFdbbaGHnOHcve7kAw8EjmmYaQ334CXOsAACgj9x6RJnvveFWdE1jALvL+hMH+ZcpOfe+rVfW63nOLFuAcvkOPcKbOW2H8fMlnWYs+ddQMA2/fN/Xu0yDe44l3X8H24pOoRlEZdYqMigo40rmaMLf9Jq3EUFjPsO9v/Yj1WP+aqvqtbWdWZ6Lyx9mLq8m3mAuxiGPMjvhHcjoNh2oGD3zc6G+b/rkz4phlVl+cXtu3klbfqGpcvwfC/9jFNNe5XXLoYh6e7nzkbFVWtoGL7EkelKP+Kot5Lm6MBs1w4hKnGVzyXOfA6cNW7Dcu/CqHTCJkz6hpUucRuWfOxzH7xxo9xECkBTyWOvZ9XytTCpQU/ZU1FoL2vw4k0JsvFtwLKRfDau9IVJRhG/2th48Tqb7x1+mpPe5BNpgUkfsGVXNNo8PdTBw4etoYg7xbt5nACXF2FqgnuravTWwGxFCGR4oRta6nfz0QVzkKYNY7wWkOFLpLE/lm7znkdQgg7CdKcQ5pO/8ivVDlYmztdlNF2UBb/Juw47TR0fYXy965/8k2qjE1+4h7kybC2KZItjYPI9T32b3tlmcZUu8Za+8Xlbr2b1POPpjQwvPgslk6a+7es1ZOdo019/znOq27kaTRtmE8phy7XXVtsYWl1485urowxB9nzGZ1RrUXDOq5zgZxnsoaTnCHWts93SDI56pm6EK8sujemSXmHOcYvQKRTMjsOHI1pr7m/+4A+qGayBbeCPGxPIK/GmX+JPvCHY5J0wWj9xKzDp5bujWDjmnRfHmi5ho36lG7jgBeKyvpP2hPV25MSrf5x6FMY7M+P2XvHW6Rt8NV7p1iXOqKM6bh565S3jtC4G8Fou672u+0DCX9KY713+RApAhFaADerlhz57oaIFU/gVZF1mHPARwBNEKxhqRNPle1x4UYeLN2/qtZDi9TLEwFOnKdManpWpHxWAX5rdJ7lqaiPMqz2wFmZU+KTV21vDSY8P4G9oWY5pyrEcHVCN5ZOaPeoBAK9KV1GJ1/kAf9vqSzYdx771t3+72oDwzGiJqACADYx1fZh3ls3wGesXf9fhw8vhPB+5445Ke8I6mgZHuJr+Zeou1YdxGbYMuPwvXp0MO8UwaYFJvyMMTXZgZbzvbW+rrsW62MpVZTPQei3j7M0I/d4nPrGaQhhzNmANwwNXN9bS9mvBY7ltJ90i75ZdGiMP4nT+50SuzyVt5XPCTtFWS9C183M/t9rmSgPuASyQM7/xG9Xepz892qpJV9dl4Pe5rpNIVP8ZF/C1HzzLs/yrtWM76lJZ+RztkX6dThyZrzynG8ALnLdCKfzWQ9aLdZTpIpHpDOOXLp/0k68BiGh5VliVhgor8Qa9NZ42vgZHZtDhj60AAlmdkcTIyDp7aCvPa7clLCvFOEnPQmVB0m8qui6g4bKQ11brvLdfvGpkC50a1rgVlSZdhHst1xqWypy80p2ll5jnjr0Nhw9Xm6FZBSBeKy9uG7ZSmQBTe160x0paInX3X5O3aaErbhsmnfMKXta41Zl76mSannUTqw66h5kx/8C/+3fVo5/xjGot+csM6RJf2/cacKcxd8/OJmh1gj0A3k1kzdtLp7uE7VJ9l2HC5bvtZP7OL8w4PMHE/oPv/M7qXiylT/6Wb6luolfXPQTNRxC2q6jPzfSOwcAF3SpwaY4f8InXdrKnsn7t0Ww7nf9JcdKSfptnAjf8tfS3f1sd+r7vq9az9Ki7h8ncbfg7WI1YS3uZt2nFM4C/prPEn8/hQ5M9svTIv1q08pmupNf3xO9ztpHP6QbwEijPite5EOthkwqf98Sb6fQND/xFOTI+8VoXOjsWZUacWq95e7ZKJtuiUXKG4Rocy6+d/9kmnZHtQEnJn8LuL5nZ5zRhynQBT5yMkT8JTjxtP/AQHwoC34rrqrwyD/HpHDKsoSdbV49lF9hA48aZdSxhaR1YWUnvBQRVIZj/rd+qFv/mb5Y3CgWWMf/qPJM+K9IKN49F792n99zITLluAdPVocZ68hSuXeaudzcynac3TiWyxE7AM1gz62+8MZbAAnHH3wAuaLTOS2cbWccy8zSMtNHJPuYrdkDbzV/xFQ2oFssUk6ebUBIqHOvNPjJ+PvPLMpso8YI42s48/CU9wrRdbxw4VOYOqXZhaei0ou6VHi9SpS0zbfoB1PobiLMe8gec7SZ9ury9t03vcmyADPwN4K1jMiz5wXfrKN8FS5g6SbxneIaVftl2Wb+GiTfrN3k/Yc0jXfmcYW1/bAugT5t4Q2kydRt533sQVld+wpTa1fi4FZiCtgvWR0csGbFevJYZ8/X1CoAWwDnHzfTEYbKDb6tjVvy5t761WvP4x1cHf/M3www+ytKSisIK7csjaQ0fHAkrjdmDxLo1imc9s/3r6qXIRb/6AwNr3cT6/wCi+gUcTYOh7c9RlikmMzew7KdbAMc8E2BbEIAcftQpL6XLAH16Ijf1WBa3EMdmHZ7jHd8eUEvI/QrrmZx80o//eLWJdXbdPcyyv/e7v7u6HvN7irR+JSkuMa2tjrCWbD/CY4NOpFpmcC2XZqeiMB2uO7QAhDYFfi2m/i6GIDqXc+dQAHtZ/XAC1A7iguUalUfGQ1eWIeqDtNKRQ4HIpPgLGk1rO9dtbXQX7Q0s8Vm/Wskqfd917XT5nv4y1KX/5PsMSTwKv9ZVvme8fh+uEqb9PLYC6EMuoQpUxqdvRl1EtgnI93aB1ZyhWKz8wrXx+x4QwLlVda3j19pknKcnXoOJu5axuJNcFzFl5+jtz9GT7nzhC6tHsdFlOzPaMtFtrBbMM7Hl+nLvDjvyiNttyTM2FIEzYOseSTwqAG8S3kqeOas+zxeArOhQcsDoynJEQPlnWRhzrz18uJrB3NUpABfAu7amtze9+OnN3a13DpO5osxrP/mT4xxCOcyxR1FJ+EGSTSyzzX7apxkSdfG217ym2kY9bkH5TLsJhwnN8yjS8wwLzNdtzbGsCu510OOmHIXEuAvWM713CFvWD3G6Xpoj1qyBEA/+yf/zf6oZ9iRstsfHPUjZH/y936t2s59jEQU77RwE1ovWQPwUCgTO7x+EgJtnjS+GeYSfpY0vUI6p2dlqWuuMMJ281u6ADF+jJUl7hvLET8UhjemiTObTdoQ15WnFJXT6rejldO3A+t00fel6kgwNHlsB9GFRE1+qjkGoNqF9cIOplt8C1krsiEw8Kh5dVrRCsw6mzfGxpvhFGvwcw4I5tgdXjG+3Mc49+IVfWO17whOWmZT09iSnYXSXxYJpxCnidDIIQmU+S/SW5+mJHWooUDNOkMkoMKLUmO4cDLqBeYhkqjmUkKZz0m3PGQIifssoI8rI6SjXOXp8LZJphQgn01eY6loFSWOCpx/1AJ1+2GQNPefO7//++NDGsT/902qRtf71bh9maCFdMVEGHadY+z/wP/9ntVnrB3cPebz/e76nugbrZYnhUUX51rOrcuuXfVm1FeW4CctmI2VzTf7O1762euA//sdqA0OVsASg9RzKwg06rgZMOVYHb2zYqdsqMrE+rWvLVpc/5mGAcVh2EQUu7QdYMVlLeXQO6576n/9ztZN8Q5FD55nf//1q5pprov7PM4dx9q/+qlpHG09pydCmoRDAOU/5K5TFpptvrjZ8+ZdXcyxpLsIPM7OzIdQx3CSPaHPoUYEq5Iv1VmgnJBV+cU9rXaLgjG/gg8LWH/HJD2VMpMm8yoj6OdqwFd7kU+fZ8FGmKeATfxE09HEiBSDydgbRU9eFHZpTR1rh24VJHJlPV3zGNYJgo0HDWWbJN9FD5IceTsKMLkZtYmPLHpa0dmM+OjPvhpp0DhPe+LKXVQ/89/9eHXzGM+LrOMkQASNuhMEv55xDoez8N/+m2g0jbGT762l6xLtIN4XlEff9qwSAdx5gfb10J44llEsoABkexnevwnmGIJZjDcOTdU95SjBxfCHIRuanNTOjMoP5Age9rS6W62DGtgvGQUjmmTjbwv6Dx3/bt1Wb69nzRZb53vWLv1gd+dEfrTaR1xqFjDw0s8/C0Fd/5mcGOoXwzVhBuxCU67/ma6rdCPY2engnVRX4VGiZ9yHq9c5nPatah1KSzrMI4VosiZv+/b8PgXnnD/1QNc/KwgZwqCyb9CoXP8KqUgb3Opb64gwCdTNPz/8YevpHoaTTWbbrUF7XAZfOrxjdyVmP97HVeg0W1g6WSw/+1/9a3fGKV1QLnLeYQQG6KWzxHe+orv5P/6m69h/8g2qrwzKU0hx8cdtLXlLNkdc6wqz3aHPbGuXjF5qW/vqvqz3gPsAux80ojznK9v7/8T+qJXjMTiaHVEnPCh9cyoYmezrbW5f+8tul/y7hvxRLOunDlen7nst0w57HVgCXijGIrmnUweCx38oCZKLMK/0MH+YHQ6OZNyCYKgPdtZi+19x+e7UToXcjUOlc+rmTnuBPfvZnq9NsMz0MgygYmnwNTeDxcNEcJvGm7/qu6sZv/uZqt5NwtQLZDVNOwwzvQXFsJr29YE42rq9XABSqJYcmzKZ7pFcG3wyuvQjJOoTPz4Q9/Gu/Vk1hnq5DYOPAC/m6/30NgpJ5qURUW731jQAugGMKhn0CPbhbhtOtp0d8AgrhNhTYGfLahMBqti+hwDb9y39Z7XJYgXPi8dO/8iurnWzx3VikTzz6WkuplO5iTL4Azq3WB/mf4QzBYxha7aSsuichZH/J2YVFvnQ0Y69sz0mZTv/u71abscQej0CdgeYPsvXYsbhlnSfdBk17nHVnW3aV2XmJ61BU78MqOcX+iiegxK9CwW+kA/hLhPciQn4BfE+kvg/l8AactrsTiSq4N7MBaju80ZynQPjP8F3Ijd/wDdUns8X5KqzELKv0eKbjLz7/86tph1TyWC2QxnW5ku7kqfTb8CncK8INIJ8yXcpFhulnWDv9qPexFUAfosw8iUm41RJkenHlTzyJexhOK1AjOsfMMs9uzMO2czvrHfQKf8Us94cwKffCmNdiam6CscPctmF1+BdkaoT/AL3njfSi05r66WROGGwTDLQIQ63XRCRN0qHQ6dxC65HgcyiiczDoYzBHD8CQ8ZHKGtcJmOodz3tetcjQYkZT3LwRGjfZ5AYdPyYaVgRpyjqpUQSzz9HbPhFllsL/IBt9ZPgD9IbmJ9O/5Rd+IWjVzJ2nHq579rNjstL60sw+qDnfcosMrY7QY68jzV7247uX4jY25LwN4T6EwgnzX5rpze8B5w1YBirCbcA+kSHCW9i96KfP7eUV/n3/5b9Un/RN39RM1j6EIjnKJOTGT//0agrh+kvq+8lYWtcxSaugnaSHv5v6c2+C8wubsUaump2t7mI+5yHKPIXQh9kO3buYBJ5h8vAYyuVzGfbsRtnZJimM1qe7Mt//Z39WXTh8OOrH4l4E9ymE/wA8Yd6lBReCDh1ujz4HPodnMc/UowCCd4E33+TdyMO/Didcl4vQFg7hAn9XgojsxtUHftkKoA9xm4xhwtuHI8pTRLZxFlGXBK8wvY13R9spTMEj9LQfoId6N418nLGtI97Hwih+23AjDO0GGc21oBPf3uMUY9xZVgluYPybzu2xf+Oe+X/4D6vtCKuHji5gmsaYnbxlfOnMsbvvx2DUXUw4PgVTNM3yxKfvROSNP/AD1VvZjuvklNaKOMIsrgH9rn3StqIe7P3ZNLPp27+92uc4H3cCBfLTLOstYLJ+LwK2yzGwQwKGAH57cBql5RRYLrOlpWHaeQTkKD3z/Qx77mIi8R561HuYJ9jI0OepCO7DjI0/hGBfz1mH9VpWMin1PMOW3Xexbr//7//96nHEqSj2cRjqBoZJ7/hH/6jaiGVwA3V6A88qOd1plOP9KI0ZhwkouQ0oq/f+1E9ViyjQWSwD3bvZefijKBXtCodXm1G6j2Ysv0i5NmOpzDHsOeMcCU4BX4fifyJ7GErhfz+w91Ee2/idr351dY4djoew3GLYheI7CV9cp+LBIsq68KzDX/IF5ydSnn3k6fDBuZWz0useCtq27Va0TQ3QGz6h8PflJ/62whlH5sZWAH0FaBPU996VfhwC+/ANhCuwNIbNsb5eew+tz7s94G+8+MXVO37yJ6ured+OyXgIc30LAj5D3Azp3CCEERtMGZVIT3eSnv/w7/xOdQPjzHTvgRFfzcz0e+h1rmb8qgLYCKPO0FMtYmpu4Dk+J05PmPMQ9p6b6NU+5wd/cHlG2waH3ruZxFLIHo2ZuYmhgOPtLTD1PIy5GUtBp9CnC3M4X0pf4YPpXd04fMstzdLje9hGvPiXf1kdcCmPsuq0RuZRhn5X3slAJ/hiXZ24JeLeQZrbmUi7F0V59Nd/PerTLThbUR7X0zs7yfpOFMBmBOGxWE1btHqIz97VXYE7PvVTqz9kCLL3Va+q9mAB6G7AwjnGfQZXsznqEAoo28atzb+H5bPmD/+wOuB+f/CtpSxudnos8xKJV4Xj9qT9KAHnEpag4wz1ZFu6LGotfYg2eTQ06p7khCVtoBPH6xn2/M4/+2eV9ptrKntRNnsR/rXktwalfZI5h8MouE/B9E93O4eQfg2l/DoU1n/iS86hAFD2W8hTZbG5LlvC63fx+NDwyxD+zrxa+IQZJWNjK4AGUSsTtb8MvRpXFqILwzgFyHwVEBVAaGb81OKaal/BBOAWTP8pBGIbJpz76e257KUVjWS06Mlo5NOve121D1O6FP7bYNLfhQH3IZxPhQl2aKrjNJuvooe4g3P+FwmP5UGYMmev9T+XGe1czpL5X8dE1eu+7uuqu0n/zQja59DzS69LasfYuLSJWfc14HcvgArMXi0OM0WO/FnnwMdMusqPIHvzbZi04Yi/HwaW2T8fxbNDExn3MEtpZ/74j6s9mOTivkjvmfWkmf0KhMKtS3sox6M4HbiRutMycvdinPfnfQ29t2a55yocEkxJH++Wy41F2yn7CXrIV7KP4J9iTh+gTObx6SjOdNb3B1FYr/5X/6rajH/tzTfH/EvsW6AdFdTdjs1xC9B5jN57P+22gzmWafK5IB0oEvNz3mYbtL6XS1Ke9CVfUu1GMHegsKRH9ydYAq9B+B/PKcIttJUKS6W/jrQe1DqDIt+N4nwy7ZHunUwi/go4d6HYn07gjno+R6U++zmfU932ghfEJGruLTFdycvxTv7SkCtVhpUu6SvDfE486XfFm7bhWdNYVn8t1yVTLZDljq8d2PUe6DOj9AEMQmjQy3XiL3/iy0KuLFort5oBI03d24XpD1PrFIAvZgZ8J73MNCatG15kBBk38xAubvFxyQ7T2TF/urf+3/9bvRbhv5HfbtbjH0NPvbeYXzjB8CKdisivCuek42by2l73RtL024x//xhmuwEh/GQS7aqF03SnmWm+AHyso2PJuJwYm12A0/zMNpCptDSc7Z6n94qrxrAgcuORPeRJliu/hPH24xjm6Nwl+XaGMxtcNqP9XIZ0bkIzXefGlcfTqz8OYZzFVD+AItwFTduI9yjSFuC1mmKuhDpcw5jcNfWYNBUfNLmjbj1lvJp6PouZ/VJ6/lN1GySTWs7bMKt/CetjO1bHIejboGCDX1xaGTMI2fa6Xk4yXJnD8tqOYG8kD62XTcBtBI9n4rU6NtCLu6rigSudqxvS4yTv62jLJ4JvH/i3Q9tWyrOJNHYA5x02YIE9+V//62ZZ1uHGLyP8syj1vSi462mrQyifdMddveAleTJ5NuObd/KHiAwe8PuEP4CgrSu+wQvQAM8OYB58SRoHQwfflm3DwbDx3yDWpY4ugsdH0g0p3sBdR2cFlH6mNP8MzzCZ4Nc42/4AM926LQjh01gm8tz7guv4CNSA1gQHXFidZuLoOsaBmvO62+l9/jfj/cciGO7sX48J/SnE5+ywG3TuhqGnMX3trR0XunKQPWuEkU5B+w3oeRfm8ZOZad+AGflkeh7HyjqZ9x6GETMMF2JZit5pibxSQF2GizLCVOI8C63XY2Y/hh69gkGPsHvvbC3Mwn0Bs/H2iOn+DNj7mIPYXu8FcNZ+EQFxvK/byDBkDxbERmbPQ9DJx33tWgDO0Dt29jqwBernWpTpp5HvDkzmRayK2BEIDntEFdU0Qrub+v4irCKHN9E+1IsC8ecMrV6BojmMUF7lvATttA5aZETrzOVBh0C5BfooSuYCVsI68rZuw/oAT9AjTaTzDIYK/Vxdfntq6+hPX/ayOMm4i55fa2gD4TnX496NU298YzX7zGdW21kK1N2LUvs1hhGHscCcHF7D3MdnMq+SR7pV4B+89dZqndYJ+Nu9u/WeLsosT7Vcn6xE29Z83ErSKJsMVy4aVz43gcsP3epnEGjVCiBJiIaTiPZvMJ+J36J3HpEqKg2YoAUmUDMnEzjuPY6gv5yZ6jMIks5Tgp+GWTpNI7ut1Asv7ZHCwehx+SZm8N56Is0tvLc6d8Cusz2YtgvMfD8eptrPUmAKtj3cPGPEXOaSKQYamXfdn9IjfoDx7uO4DuwiwngNpvlncUAohwrvYNixiKXh2r8p3PW3HcHOXY3eZxgOOhdg1E2YtNfQex5EgXw6VsXnMwbeWY9L1yOEjnPD0S5vJO+/YG/AQeDXwcT2IKnAHmLIoTPNYQRzAWGL1Qfyi7kDy0OeFXQ5L7KHibnH/NN/Gjsdr2OsvYCCDUVtPWI1nNUaIs+nM2R6kktmCF3kJw7cddTdY6nfHbSPQrmO8OAhnmMXJYpsC4rIGX/dUfBbcoVcnhB3tnvwHHGGr8X3Fiad+d1Lue5FUe2nPWcos9ZJ8pSKxvmVcywZu3So00J6PZOAqv0DWEBzKOjHe68kKzbJI6dp61PUzwz1HEO9SLn8FzzIY0MbNJQ9tVADfLGcLP4jbV2uIrj3UbyRD2ku102sANpZlr30ADESV/4GIke/9OLtSdrQVVeKjXYVmn2eSZxfYwx+ulYCWgJPZf13ml79jFtlYfzQ1jCFPe60Qkdvq7uPiboTMMFudxJiPl/vcmAxKSjMHGncCOS6dJTXxoGZnJTUKUQfxhx/C3sIZmH+KXqQG5mUehrKIPf5305P8xbGqXsQ0CnShimMZeHlIWlJpKKISUbM44cQFO860G1kjHotjLwFP5nM8j9E7/kqZuvfiMVxmOHLVspqTxqMSQ+2kbJ+AEF1M5TuRgR2LxNfx5wlp0yxogEezfLjjKW3MZfyBNbv0z3A5NyccwmWmR7VzVIXwfk05jWuphdNWj7AnMDx2jw/hDJ9KkuP51Ga0hLCT3pdKAD87fU+AstwDGWnKhAi8fGwXNeE6YwTTw67DLuTOnUC03sM0lowXBf5UL9ag2lpHGFC9i42Lu1jpcMjx7NYS0+p5wUyX29COo8FFKsByWfiC6ytP+LLnjpxtKCW0wLbiaPAbXz8Em+dfxvfpO8TKYCGiDoX30stl/GdREhw+esEuhSY2vpSSP+T49nzNOhmhHMnQqOTrvUw+fWY5qd/7ueqV9Hjuv6r28QE21MRjHWsBpyBUTTZbSBFNs3ogKPX20UPsI7e/5MQlE9mKS9dlvssAmDfFue1jUTgXc6yR9GFKYriuAjcVey5fxrrzzd99Vc3+wA+jBL6HUzpvQjMZpSIk1yRjr/lp3iN8f0aevULCKtLhScZ//8uiu29jFntmTRPdQ1dwFnmNyNshxj3r8d6uUCvdpZ0toOHkrxq7CE2Qr0XptZp6n4maWZRUBdY7lqgHAsI/3l6yms5LPVpKIcwxYE9gfJ5Ez3sOsb7KoBFlkcrJs0+nWHWztnZqE9p+WuWTJ/DONtxfzpXENaxOnEO5Zlboi2rAqMVl9uSHcadQYnNoBBi3oK4FYJEHobJyOtrq8Fh0/301NtoC+8sCMvBtPUPL2hW8SW+DSijffCPy7pPQAF8Jpu1UqGkElYhhrIBb9uVuCMOusw3wus2XZHGcH7CtF2JL+LBJW/ppKHLdeHpgivDtJwmdmVGNpoatgwrn/uIteCdzoLiMrY3fZFYWHsLNXsuebnxxd5+Dab09ZjdH2BW/9Uw+Fc8//nVBvyNCPVTGCe/BSb33Lk3207zO4YpfoKJQK+82oPgfDmTbE5Q5dFeGeZvEbobGKtrNtuLh3Frefg5M7+IUDt80OnvpMf+1Ne/vno05nq5mehdCN5r6Z33oZB2k7fLkkF/XTceZkrnCcc4f4BQWN/boO9+etFXo1zc6rwTC2ARxv9slMvjUHpOCH4tAvpehG2JDUGbeHcI5HbmB1lC86CLZvU+FNwbvvd7qz302gfA6SqKCmqBrbgeQbZMCn2WX3qcZPzfDKXOkv9G8Ltr8Rxj5qey82+bCth6APcfM9T5fVY4PoUJv7fQoz6Zcf9urLItlPUQSu/D9LA7UYoeWCJBTGzaljn/4tLkEopmi/MItG/bBY/Q5lor62++udoKXp0rB6eY39jM/oy4Bh7cAVsj0HxXiZ5AKT5M3Wyl/rfw/tUsBepcWkxnW1+DVePhKJeLYxuwtJBvKo8Sd6azDozv499Mk36TjocyLJ6ln7b1Z7tlvplGmL58EqbPX6nK+iANh5C2s1n8SURJeMJleMaln/ErfCrNygsTun72fahTcGjA0+zuO+bMNE4GdD+9B1c2wUiPQkgeRCB+lR5urt40oiVwI+NwDwqZg2b2FKbqm+jt7EVcftsCTDK/PcZr2WH2SyyFpdm8mXxnED7Hn1oSngS8FiWz9/DhoEMl8YXsl3fTUQq/SuF1COGrWevez+acfdC4kTKkFWFDe8jofphPZtap0NYgCK4KhEKiTq6iB38MY9ytbAI6yU66exHK32JS6yjjcMvv6sOnsZrx9xHwT+HSj8cyzLiJXW4H2Op7BoXkPMA26N+EBfFK0mmNpFOxbWOSbhsCm+U3zr0Lv87w5X4E+gB5OxM/z7BmH8K8G3rCEfaHCNMfIvw3IvTXgWMtcxRvL6yA66mPC3W9yVfWv2W7iJWTS7lnUTRLDAGmUUqh4As+SI6wdz7LxOVmrI88zuycjzccq0icmEzYZeL4J0xO3shk3p/Qnk6ERlsj5Cn8Wm6vR4H9GPNFS7V1tZkhlgeKtDazN16Bu87E8LxvoA4Kz/BI00VXxtUJAs66Qem7k9IzFV4EG+ElTP0cHvDpSrgMa/uTKwAYsRRI75jzWiWzNcP2r8wwCWrDtN9NI15v2Um8kacM0P4JTJgF8Sjvmxiz38mY8y/o0Y6x428Djey672YqzgMmdzEz/QqUwDEYWWdvv0QPJw2uKe9kXHg3s/OvYZ7A3YNLCL3zB7E8xP7921jP9j660zIBbpsKBjP4BCbwIgLlzPph5he0MtTUMlaakDLxB5l8fBkC+BcMJ25ACPYpgIS7AUah9eeGmA0IzTF69zsxZXWaqDMoC8fjCoyTZxvBv5PnQ/S61yNoT0QxbadHeyUCf089uReJW3/naUOpXyBfh0l7Z2erDQjar8Dcv2/9oQjcBecdBIsoNic672K874aaX2AC8AiK5jrLSBtpmiu0XiumZeB5gteyJv/nrPHfxBBrNwK6lbBrEKS/ZUfgQ9Cnc0v2EukH+nXKdB4F6olAnUuBh/kmgsMWVz3y9l7bKl10FNT1GVYPcsnU4ckF6PU7BsEvCZy+9Uwe25mPuB/L8JeZ2HTXo20tXe9nWPhyeEQF5m4Pl/50Wgnb4DGPFbtiVNIRAPxlmDIhvflufDxTX9JUhrfTNrA8uDfCDsFPwu2mDs/SeZ0Cd9sKME0cX5Z/JnBjDwFE69diLsAoazExrUAJ08m0Md6xcC1XhgwjLeP0QwhsJJ778DbZ1Hk6eebJtQfYvffbXm4BwFUIRVzBBRPGFVA08PX0Wvcxs//rTKLtpxynGNvvYfztfnZNa5nanYIfZnz9Uhh5G7Pt8yiCgKMHvon1+yOMpd+J+bif9eOHYNgFJgvdWnsRAZjB7HwXE4Y7NRuxHpxTsIe5i/z+mgnJD/zwD4fJ75r7ZvJygiuF3zJZX5Z7HeXaiRXweiamdiA40zT6Eoy3sWZq60Ul4Dq4aWQIBXAdQ5N7GHe/nJn2m+ilH83uO/ciiFPhvJv18vs8L0C53A3o1W7u6DvImN8Tjm9jsvJNwG5GGWxAsajAvJnX8sssV9Nr76Z+NkL7ephTPpihrPdxVflvUE8nwHU3iuuTUG7bUC5eZWXeFXV3Bt75XecYwH0X7bTROMoRQgr9Ls2pEO6m976KfQ0qTtMKEzh4ttw5QRzl1nJCME9R52+ibZ6Mkn8XbePyo8opcJtH6Qi3rT2/cTU88l7q6X/AMzuwlhZQdkdZ7XBDlJOixyj3X/M+i4Vhp3GcdvRItBZCC2vkYJidUcb5rJPWcOTbJbwZnb5ldm7lHHV/AaH3+vUpOhqPP3uASmswNiKZwHag7jxdeaGeQE08o3yGyB961Y4dO77ixIkTzlq54tLtIGbOWXEa7iTm6wIZyfT2EDKGDaMJ691wFtYKSF+E+axvpdjQpW+4DettrabNO/ZsKH9xN2CdpsRFUDjTehHjPLDeliuODeByDVva1MbCxHcBYPrTrFWf9c45xuVbGR+7ycRKF8Y71xaAOUlvINOupZf3IIj3CqpovJftAYURIXKpcSu9pVtP1xHubbv308tfRKlsRcEsYsIfwSKZ4xCQTHUAhvP8gcznOrt5Wr6yTDKIt77OEe7a9DyrEgrxVhTJtdBhI7XTWF4vUvV+uznoPEbvfT9be51FSCYUxra6xvsKYZj14Hdd3DIrqHGzsXWDopynfrwC3B2AXrLikeDNWiHQrdLKdrEd7e0epF6OsNphr76dSb9thInTslpGL0315mjX9U8iRLtRbjvBGwoQON1Zyw2zH8VCuYnTi3PU63tYediPUvWgVdJpnt6JF3VAGtvDW5TvY13/AkpLJbkP3w1D8qSuqV/gdd4FGPfr4c9Bo1u2T7INegudiGcz5OMp2uAc+T7oZaxMWqqAZ2gPtzhjBy93TvjWq22m752TlsN368U6MEcvSXXOxeeGFp6btMSHYjCtacj7PMpoB/luQejvYGJyH/MlJ6DlIRS8SkiLUstwGrjz0L4dy/Igm9TiOxLgGeLObt++fR0y/+vjKwCJpaKc4T5GL/IgJvY5mHoBk8hLG73yyqqWqbOAfQREocXHryTTBk6z3wZSeFOA46qpIo1pSyceKzDvdeMl1n4Djor3kkZdmJHGURbNOHeUKRTJKMLEfWuE2/jecKOm9WosadHZwGeIP+V8g2YhJqjmpz25E4IK4DyMfIJ6Mt6xmzftWgYF33FzrkuLL+shfcPiskryUICdjVdQ3Jq7nTyauQLCMo2+gpGMpzZfQkisT60Qw91wozBKgz2YilHLyLqTUa1/f9p1Hobyw6TitS6dTEtFbzoQLSvwOo2K2893KVTu14+r4oBx8431F4qCPM+T3wXgVKRaZ1EW8QHjJSLeKnwcYXyQ+Q8V3Q4UtLsQjZcuBVNcefkmj5FO5bUAza4caBlZX8k7wqSzHiyT9WJZl6DBS1y9r9G2VtG4xdiyhuICxunck7T1WnrdrSjiDYSZh3iSfxOv5c/7+swjO0RpUWFZDtOUaa3LC5TZ49/5bK++j3krV0mcq1mP0rkPefOykzu9Xh6lqEW+hnrawl0IBzjpuRcLYRocsVRMHkPc6hSAGicIogHVTich6A7M5E2MkTdjsgUD0gDpLOSkLpiLREdgerW8PX8KdVbaJHgT1sb02fvqvQsv8Uqf4RnveyqTbFzDEsaGzgZO5TBDmN8diNuGqRstiLPkpyVig3v23uU9mctZftWI+Q1zGSu9CuJ2GFQ81s+otDK2tOcd/baLTpwyocyY3wfYKeMTbrl0XWWPCP6Cpg66M6205ZyQu+8CV51YmBK3uPKX+IXRilGYnaew7tZRryqnsMoof4OXuHSmizYhwFDrV1qiruowcZXOvI1X+O0UAi8wTV1ZzhqvNJ2HD6P+oUGlZdp0WX7fE6/0Whfi1QXeFg2Gxx4Kevv1s7PVIvMj57G89rBqtRELxq9LzRHmh26czNYqOMWQ4H1Y4TuxRtYCs4e5lv0cyfb+CZeeYxs59I1wjQJQ0Y3tYjKLCvBs+hpmiXdgktyAuef9bYuMAd0tFmezqdCurZJlRpeqrwxd7n2Nk8ltMhvWyjMsmzB9gka6BhY8iTcFSL+kI2HDL+Iy7wxvBJi6sAGtl1i+q2mWQbQEVJi6ZizrMzDjuCyzuHQ2lIoABPE+7E/mlFZp0k8GzXLoC5M9/jKVlzD21csliMEn4c0j8uQ58xd/Uqsf+RMfjrgVjjjrTZGR2aOswte/pNmUNZZlniDeuBjzJ1LT4LLsGZx+lFkagIuhhBHiwGsoq9813bVWgg7qNNuwC7d4sy6Esw4a5zM9unhi/kxcKDq/wryNFaFr2IdwH8vQB52XYB7FXZmP+g//obqLyextzO04V3WC+IrTmjs4kHQVFoLDA/NzFSrareaXJs8RD5SNUZ6FG9dBfFQAQm7R/HLsFrTQGQrg/MAiE2RuWHGSIo6clhVQ5FFUSxNqk2XDeqNqNkaGNYCrfDBPe37xJdN30dFG34aJihaIukjnTa06YWXGcOkvvw39b+chsGHSm67BmwEdfoOnrncpifaqYX0XJk3/Br6OT68vPONLP2Apq36eH5ApL9XOcp6RZgQ/SGuYygCXNGgF5BAsy1DSEHnV9d2k68nLdIlD4XYDVromLQHxTHyo4Bp3A9eDu8TrzdalU9g127030U+ru7znkuJ6J9XB794UD6Q5l7KVXaNnWIZ0g5cbyPyAyzvZM7KVSdpPZTnVj87GBjgVJS465zKzEc/xDQ1kf/pZz3rWN+7Zs+eGU6dOabtb1qjLEenlqvjl0ssM5shmj2hC2BKTPOfRXlPMgsdBkbonHImzAIjegzysGBtiPKIKBD2PwZg13h6QVQWrUKSxFLY2opK52nF976mohgl/4O1hyBJv5i+d0VPht/EmTJmu63kALvO2rernxDuKtgE8dUa9YeAWb1e8SZvwpKeL8I48pLmNt8HVwhHhQ/Bn+YXzl/UgmnMsla5lLH+ApVT3mUQ8Q4QZlMFGevK7Ob154Oabqw+zN+EqVjPOoCBOsiS7xLDAjU2HWBGaZay/haVt5c5fWJfUyQTOpucYxJ61yPyda+6+++6nQ/RPbtmy5aZ5JiLO4mBiVdf4WKkQC+6apRMW7t5yfsC72i6i8aYoHACxvj0uoWk+DhMocSWRVmY+D8tjXLzDcHTFpanXZqQu2EnCSryms5zhhjBhgqTfpMkAfNvL8EnpXYGrpKNWAMELMmUZV+Tt4wo8PWGZLOnt4ocG15D8Eo9+A+9zXQ+Jt4wr0zTpevKIdDWuhBV3KgCHg9s5Z+Deg1PsOXjgZS+rtnDkeA+TnJ4jWcISuIPblB7FErW0nAbmDEODBe6w2Ev4VS69Mg8QikPBt379je8g5+K5dTgnkxH+d4Lj2wMDEevuuuuu7wLXs1kS3MnygBXjpOugDTMqMyvAQjuBg/NwyHGubp5DEaxhU8cUBXCTS0xUjCDeJT0rLytwVNbjxjsxZuU1475xE46Ac67Cynwk6DXrcovwCFIGGLwPVnpl2jS3++AyfIVgkL7LBV7ihuFtp2y/D8XbGuM2aXvoaeNq4OsIFaw/V2XacWVa+brPZUwDA38Z5kqL34Y4R4e4jZ7dsf27Gbt74/B+hFqz/jQnQGfZWenW7QWGBidZap9h5egItzN7Q9QhZvi3zs4uz9dg7q9C8CWbBa01a1n6q44fP36U9x+65pprfoKwc2ve8IY38AGWpyvs1b333nstx2lfQMQ3bGZp6/Tp0zk54NzM2C4rQkXgOOc0GztOsI65xGThGmY0p9wl59jFSqWyFBwrLLRRnYuN4ju01CFXxmv3qFcGK41dM8jlKIBkpKiXmrBx8TZphxSohBkHbwkfaHuEoISz7f111UMJJ772exfpCRN4AUi8GV7WVVf6DGvg64B8T7zD+EyYPhcxljkBFH46OV18Z4JVnPPsEnX5/DDCf5phgDcX6x5gQu8M82bXsTnMT8d7AYy3GZ9n38d1HGP30+suvefOyGE0BsKVfyG/WPfTyLKxv8g28luuvvrqu3xR9kO6KKA+SntNUM6w4DMI++FNmzbd7GQB69DOD6gEYj4EfyxXLhtauJOsWZ58xSuqc2ye8dhtzIiiIFY4KjFOXuFng6+AWWXAI9ZTwwRW4ih6G0YZwlRl0aRX1+5RGzwlcMdzH5wKwLix8HbQOoC3iG/jHYCr6esKK0nvii/xRnyRZ5m267mNr3wXr4Pidj2IZ6TgJ0x2UuCS56cRYNfiXcZzN+U+NxGxVO7mqkdxh8L7f/VXqyPczryBjWTb2Fm5zh6fcyweqT7IKcT9DAu8kyE+kqLF2rJ6pG2Es0gX+Bo1W1O4L3Ju7g28fz+9/ptNR7m07M8j7yH4hoV75StfOf2VzDQSEZoDRfB1COILGBYcZszAyt55pXX18wMQs8i+6uMcRDn9S78EiZj5zg/gOzTQGkhnw/jWqfVquEvQy71J+Z542r54daMEtZ1u1HuJt2GwOq9RaYfFd+IdkqDJewiMUb14pdn6HUJ75NETr9AYb/22aWm/d5HYB5N4gx968m7ja+Mq3/M58bb5wfA+lzEBU9eVw1pvTHLr7hYmw/14zAfp2a9nS/lxJvK8i9JZ+0UUwVl643m2kO/mJOYpJsyPMu7fy/mKA4zzN7HTs5ngE7e/8Z2knePU4jp6fc3926mv5yH4rxAF9E6/ipWFr/qqr0rLfsDqbrIphwUPPvjglsXFxe8h8llbcWyPNRMRTD4/QKK4OAN/nsMqx9kbP88ebucH/EKO+/HdP2Ch7fk0NzoVAOETuboSrcrSAsiGnAiIW3c2AAAtn0lEQVRXD2OUAjURvhZwSVPSK0ibQTNZCZ9h4/jSa9oGb0+5EleTzwi4rIey3Zq0iazDHwUT9JJ3Q28HjjKoja98H3hu1UPEDSljxjc4gM3LWd0c524+vwFxDXcn+Dm3Lcz6n/C4OeNvl/TOMr/mEeyT8P/DzI+tR1kc4vj1NrbWi9PTfvJ/WX9luYY8a73znZpta5DRk6T/Meb7fuzAgQNxnLSU6RJHr3pBWxjXDAuYJHw0YS+emZn5an6XNT8g4vjWHuMjr1g6zimzsx5P5cCF13S5fyAn68Zt8LJQw55LBTAMbtK41eBtmGhIZilQ1sM48ENQDaRPgXLya2RvL9JRQgGI7Rp48celd1iZyjhNa99H8UOZBvCBMne+U64cAkSPLlCPi3jbIevCjsXJQ/j4EFeuHeEwzjbW7/2C0EmuMtvI6U1vaxLmfZwuneXw2BHOiRz5iZ+oNjPBd4CTjntQAM6VnQeHbhWCH72543w6alfxfhU0z7322ms/KD5obcx939vONhvqQGBHTL038wPPIOyHyPAzzJCz0pc9P+A33E56cIX5gfNMkkxxrjwaEougZCSJzQYeSXhPqWRQ066ionswLgeXgpqASWu+r8ZPvKuldwUNMi+Mm3hDoJKhawKbNK3wLvob2ExLGsNG0dtOV+Ju4or8FTrD+xRAk6ZAVIaVzwVI4BT3MH4q0wobTuHHubHnPNt1d3LXwnXszLuDsby78jz0pQXgOQjvH/SaOc/QOA92lZ+GY+Oc37C4zHE+O6ZnuJ19xmW9N7FS9GzM/VulCzoVfDaPrlG/9bqRZnyNAH656CQgO1/XvB7/M7EIvgX/ucwPXOOpOeYKJpofiIkNtLrbij1ksZuND5vZVnycZZEzLBueQ2u6aaKcHxhoiN4iXYqwiUxTNm7i6IsrYcU0LH0Zn3gzTH9cV6Ztp8nWm2QZphdfMq+Z8Jxw6UfeJUybmOJ9II3o6jjp9bmP3oSrwVd4Ed9Bg+F9advho97LTBVolWHXJKBwgUt67OkdnuJbd/Klx3R3cazbXv9hTuN5etFjud4xsAnedTLQFYH7uZLuIp3cTm6EfjwXsvhREZcIV7l9V5I4dDrNpyW3TrFk/2F6/Rded911Lw16lztsxHS5wzZsmGvz+zDYiFOzJHImCXcj+D9IxLcx9phxfoA4rOHQPiNxJYCNYKXG/gEq9gwTI86KLrJ0OH34cLUGTRnbiomz97ocF3mBoLQsLgdfpk28lD+DBnxbzRj9SdxAT92TcAVO61M69HtciTdp7wFtgruwtcPEZVjZU7dhGoT1w0B8D83j4B3AA+72e5lvxElrB73CZdqoG+oyvm7MkpwC7WfPz3EYZx8Xhkzz7G696/n+wIe5O2A/F8rcy3B2J/cxPMwtSMc4LLeLW6cOcEX7DjYB2S6xrIffxyslneWzcgc9Oc53zPBThL2EXt+1fcvSyGaZbthzN7cOS7Gckema+YE777zzcWikH8IU+TI3rLCj0I0HWD9hNYzAdik6lg1JH2MidiWesgI5dnyW3VDTHDuOeQMnSYa4UQW60nMLMop5emKsrpSGeYaQOXaU9Opyo4p5JHNGRP71CE5Gp59pXWb1ua/na8Pne/qJJ9/TV7Ek3j6YhNVvYEbQH3iByXoocQzgKXG2ger3EOr6ucQbQTX9CmrA6TMU3UIv78z+ve5lAWY7y3ee1PPr0I75XfbbwqUqi0zyeST3Xtb3NYmv5ZzMLmCnmduK67yo91Us6znOv8iyPF8z4x6DpaXfRN6ezXr+e6VZwceLZT3fJ3Gj5GUoLjKeuvXWW6dyIxGXi3wxCuDF7Dh6ImuPOT8gcRPlU+4f8Ks3J9hWfIJLSC6wxBL7B6TKFQMaZ1Jng5sK/TRp0qHw4tWVPd/QBGNGJt4V9Nb5jYOmS8gSbxe9DXwLeV94CabQCLeC3gJoAM+Y5RiGt8RXPhdZNo/iKV3iDYuQOIVTCHnQfSpubz/PTr69HtFlz76fevcz7Ou5Pen9nNS7CXP/KBe+TCH0HtC5nTDT72ff/gFuRVI5THBMtyTNZ1Gdc5yP8FeY+3/N+w/S4/+ekc7s33zzzSPH+cL2uSsiBVTi9Ate8IKLt9xyC3x1cfrDH/7wt8MAP4Ai2O/8AGEqw8kUgYzEz2VDG2WeWdVjXPV0BougYpNEc+y4tX+gr6AZfqUtgAavzMNLl0AlzDB/kC0vQZYWABVyKWLI0wBUTxoVgHBaAAPwHXhHxZdJXA3RtevBUOsnYntoMl2fk15/sWpRA5V0lc9dOOSlLme4eINe+MyLORznu6bvsp47Vv0a8F7MeHv2DV6UevhwNUdnNM9P5ym+01gD9734xdUej+kyn6U14DhfyyCU4WQdjsRqRXMJ8TbX8++nY33JoUOHfpowh9j1Cvnyfp0gYpV/V0QBZN4Q1oxB7r///n2YKs8n7pn12uSo+aFEM+Bnw8X8AMJ+mi2Tx5gbWGCOYMp74zx2rDWgxh6jkh/JMwbm32dS26KNAAyUsOdFhgXfKAWwAm8Po7dzSUHtUwDiHce14UJQSegx23QNzJi0ZTr9TJsKwPsRMizh2u8ZHulH5Jl4VSwKq6danexbZB5qM1en7WO3nl+MOsoV7ttYpj5B+KNYt38Pl8vuYqb/LB3cET75tvEbvqG6mqXAHe1jukU9lHQNedbc57qNbVN0nvbuP83GnhfykZv4CkwpY0NwjB2lJrliDmKdpFhz2223rWMDwoOsRX4bxD+VgvwhJgxKdaOTw25YWB7YjpEzOEOD+kEMlcFWLkY4yGzqHj5AMeUtKPWtuRVLIeF6GlwmkSW9/cXbWkIYe2CXEY33L00NXnAnXvMrf2ITtunF87nHT3q9Gsx75gJvTdIAXtI3eMXV48o04hKn13jpMlUJExFD/hI2QXwXr3XrMdakN3BnGRN4hJ+40xdX3PtX02vyjAv8PfiiXvriCNeyFO9J8WLu2/vH9yGYyfe8vjftPMTytHB7EXaHA4sc1nkIi2AzfHgHF5ye5GDPNWztvZG7C3cS5tDBNf3k257su4KViXPKiLKCzPyBsoO5/x0KvzJFeUA73ux+VwZdYdbtI+IgdsBMYdnwywl7AcOCm874IYlz5yYfFkBpzA/QEHGEEhPsGB+pPMltRBeZfJnyIhIFQougpXlrYqqjNI6XS3hnnb3gMAYap2KsQM3HY+C1d/IiE3uVkXgVCl1JZ4ZF8PJFFF4Oah5eCRb0FjAmX42T3pPUkXSKdyx664z6ypX14KWrCtVOhEi8Kry+NH20l/CJV2WlchGv8YG7DwHhw4Q/kkGXX0daoPynWYreRdtNYU36HYL9bNBxdx/7aav383FQjtFVj2Yjj0vWDyPwJ9jHv96jvKz970MxbPCYLuV2hUBlMaGzOLF91wN4jPM9puv23d8SD+Ww01Tyx+40TTeus34fUVdPVMQM5R133MHlqNNuK/4e9g9sv+xjxzSSAjTPTakPs614zmvJ2FY8TYPE2AtGtHb92ZNSicFEmr2aqAqC9w7KLMalX1ZIhnX5DV4S5GWm3lojLm/yGUhT02EcEctZZJ4ZV/tGRu8MnMKk875BnfTqbDixlL7h6dpxvvuzHnTi9b3Em8zQlTYSFX9tGPEa5k24CmfijevYLTOuTGNpfE9XPhuWsHMIvfgcurnSkpfOxq29bbzEZzsm3vTLtjBswbRMrM1xZP08/iaE/Syn9jaiEPbyfQVNeWk4yZn8OTan7b/55upebrvyK1JbuNDjapb1th4+HG0sr5Fx5J35jemXx3SPk+ZHOW/z44cPH16A3jW33nrrdE6wj4lvYrBs84kTTpLAwgCP3DW7CQ95yIj3f+XsJhaB4x5d3/6R5djWfzQqYc4P2AinaJwjHHZYYj12DcuGceyYnlkGSrNf01cFEIJKWr83XzJHVEjNWJEdaW3cARjjCZdB0jwP/IRrXejyyq1kyHZFJ4O38fpunPh0eZuxjK8Tb7rEke+ln3GqD/P2XSe9Om/DNSzxem110phpSz8S1X8lvoQRr7SrALRUxKdLvJmm7dcoG/rKd2HFG7axCoCftwybj3hj4g6YoKGut2H4Iw44zf0znMW/jt79CGv4btrxe4YPwz8n+RTcBXbszbJd10M5fhfB5buHmIC+SMdyDZ+Gd41fC/Ryj+nS40+7Wob7BX630Ovf4wvlcy7NhrJoj6izTj5i7pZbbpl6/vOfT7stK4J77rnnaWi8l7Cj6XPYzeSxY7snJWhZisakLIYFCJ6KwG/fnWDfwHGPHdOgXlHm2M2NRDKMt+zK9JrqjUldC7SCHk4mGdMp4OJ1CKBi8R58FY4YVmCZBC/pxVsOARJvSdqKPOrIvnBLKF5vrLX8O1SeNb0m7UtXo13hBTzpxWv581bgGAKIr6fMw/Jpx0lvzoXs7hgC9OVREitO4TyRF/gZ729lff5aevN3OaHM5N7hb/qm6m46D7++tJ7JQL8DeLffksTc389dfG7yYfvd5W7fjWO6HNTxPM0b4J8fZHb/TdKq4OOtaj3f9KtxH1EFkARS0Ogeai1XsaPw67EInsf8wKO8uOCyjx0j8N62cowdWadQBM4JeOzYj1ycoHE1TzWlL3tQVQuODHoSBaMAeMGkAnW5FSuTqgUVKBWTF0z20dsWmKznLj/x5odSYs4CwFH0DuTRIdSJV0H1uwnbrYcW3gEcBXHt8PI98WoJaA05ZxHxHTQUKOMxFIMWGfUXws/zeWb03b+/jbH7Zj8bx7LeQwwDHuBDsbOc4PNzYmcZ6/sRkOOM9Q8w2bzv5pvjmO7lXMcFQbF912O6DH0/wLLeCxH8X5ZQ5aF9TDcK8BH4G9XujygJ5RHFt7/97Xx7cef3keGzWALZ7PxAbSksD3rHpQTGCKaBAXVzHLs8wq6sOWZqVQIX62PHA1dIj4t7CJy9qZWpMliNK5k+04tJvLrE2wUXAGP+mb4Lb1fyFXmNIXRpTagM063AU0e0w9vvmV6/xBuCXUa2n1Pg6e39QGwoABTTeYR6PzvzTrGUPM/JvetYTTrFufy9LPc9zCGdzazdH8dqfIjNPbv5oOtBrIOt9ae2nOSLEhXlamfb865VG9dxMbPvtTw/huD/CLzNhoPlzTyP9DjffPrcpVbqg3iEw2nMNX/1V3/F5wY/1VWB6oMf/OBjMI9euH79+q9mGWT18wOMF6nk5W3FaHSPHR9lE9E8ewjWchLLrZlxLdkVKt84CmAYg/eR0VYAfXDDwrvyLQWqK22kGUPg22lLvF35JnwZVz5nfNsXr79SsbRhfHcmXgVxgbH1Osb2e+i9H2L77gEm9hTic4SvZ+OOs/u7Meuv4iOnHt2F36r76Sgucu7kIOP8XSzp+a3CGOeDbxWz+zHZ4jjf4W19TNfZ/Q9Ip8t6T3nKU5wEHKf4JnlE3P93BZClotEGthUzLPDY8YuowKexoSi3FTt00DIe28X8AD2B8wNn2dl1jC/NnmC14DzLPZ4vsHeIjURjY7wEmC1nJcqcOnvqDI+AMf/60pR4x0QVYH34EodCIkynZVGXJWEn8ZNelW/btWlqv7fhfQ8YaW3R24YVTuH3K7peKrONu/YXmNXfxXl7z+R/+NWvrnZwEYf8oJk/x81UwtvD3856/hRbew/w9WfX/mdY9ruM7buOfJpjugxp/4zh7XNnZ2ffIM1XYvuueK6UW9lKVwrzKvHQ0Ap5s+7JtuJn8v4clg0P1teSaVIJMz7tNQM124r5zttRJnu8luwiimGasaBMI0OEQgD5pO6RtgCG9XzjCFK7PAqq6cQb6Xm/HJepS7yJL+P63jO89Ns0BV5oLLcCC9/AoeSdrXcjzzr23/t59Wu5Yuu9jONn+ervu9mbf46x/vW33FKdYDPPltnZUBD3MPbfzefBD/Fl4U1M/F3mdVx8+nCa0+1b3b57D+P8F2Hu/1zQ2doXU5b1/+fz+EL0EaYSRdBsK+aQ0U56lB+EhO+gcmdQBGpZfxPND9iL0JWENeDW4dOs8R7ls0tzLB16CckUs74xLCBuHEUg82UFDuv5AFu1S7zZU4somH6VGDNt1kVXTz0J6sSXacQb9TKGBZBpSj/w2U4tl3jD/HNiD2dvHpC8224X2GA2Te+9hS8PuznHAzsnGO9Ps8HGCb/bn/nMahdf0JUHHvypn6p2cjb/aj60sU1LEByXeR0X+4i2TsGbfN/04k/Q67/k8OHDru1rvTS87PtHk0v+/WiiqaGFipM+OqnlZUMUwU1qVW47/TIZ12PHxF/esWPGhCc4dnyUa8mWuKZ5mqUhL3WYdH5gHAugKdgED5c7BzAgSoVgdSmWccgawNeRIHpqwidVWAr4MBd4gfGrzrZNfFuCwzmm86y+nzDfyW26u9ivf4oxvR+oOUq77mPp7h6+uON39O5lLf80Q4GNfIPv4Dd+YxzTXeuhH/GhTCYd58ODsVbP9t210gE//ibzVs85ePDguy0LYR/xZb1hddgV91GtAJJgKlKVD081+wf+MRr2BawWPMmvGTFH4NeM+ABvwGWy4b6Mwy+/duznl45y7Pg4txFdYLZ4GosgXL0MNxzZ8hyAlaliWo3rY/9JBHUFDsrX5yy7saWg9sEa3o9pMC7xjlsPwo900upQxR/7PNyyq5I+Szutxdw/x3j+aib0Ftgafoa5nQNM7M0RN4NFp7+dcf6dP/7j1RqUxG56/H2M8weO6dpmE7QbZaNZLsY436/sYO6/jTI8n1t5XmNZiFPwL+uYrng+Em513PqRoKwjDyrWsb8Vy+NFP2v2nSiCZ7N/YJ/zA4S5kmDlj18umYtfMz9A7+FtrafZP1DBaNNc7BhzA8wRDHOjBHUMNu9EPwzvCpzjCFOdyzC8ScgK/BmB3xcnXuNGKRbrfGznch6K2ANhm72Yg8m8dZj1D3PB5sk3vjEsgllm9V3Ku4/v6j2GK7b9jNZJtvAeJ36JYcAOlv88prvZpWB6+9gqPqHg18Uuj+k+QNhLEPyfsCzyJJ4d1XBmEfijxI0vKB8lBENGmPxUsuZ/xbXlB9hB+Dzen+nki0coCZa7VBZju2RIVwvcOOSx44cxF+e5iGSamWQ/h+5uwvaxYzOyElOgoGPsPMcBTLwKVKfITCJIRYYl3iK4O48CoIuGMqwPb6LIes73Pj/gLDOK9wL36U2xYWeB5bzH0h4P3Hqr0lbt9e59btqdZsluK8d29zEE4NhcNYNy2Mb1W3cyzl/LkOBqJgHjmC7DgsvcvpvHdCX7p1k6fOH+/ftVAgr/R+04X/r63JXl1r5cHoFwKlzam/kBVgs+lfcXYpJ9ocxzWV8zYkIothWzieQ4DOX+gbNsHMltxV3zAzK+BF2uAiiFSXwpUFe6oRJvr2Ih73QlTcPCjLPuhS8tAMPGdcI223XFx8rMbr6s4yTeGUz9RW7nOUPPv49Z+8328lzE8RArOuuw1DbQu68n7DTHdfcz5r+A0t7GVvBY1sN6WO04H5ouwFexswy++t/M9D+Pcf5bLRNxH/Xj/GF1f6X5alhej0gcDeD8AHK3bHYxLPgqwpwfuNGDFmzAWPWwIL92LNMdYVtxXEvGUMOLSu2BYv9A3eOvZhKwVywKgSkF9UpW4KjJxS7ausLaNEmvcLG8WJSjDVe+N3iF19x3FyiTfUucxd//7GeH8H+Ir+c8mo9o3vkzPxPxG/lu3hxHcx/Fl3e8kddlvbsx/bfefHN1GKtgnUu7TBLG7b0okVDMk1lnkhVf0/XAGuN8J/Yc579K2uExLcxmudqwj0X3Ma8AstLbx47ZTfgs5ge+D0WwjWGBYA4Z1NZjOxo5BN35Ad0c20Yffs1rqtN+7Zh1ZjePhBLQTK2xDvR8dVinN65w1HBX0rKQHssmhye9Pne5vvAuWMNCYYF7XHob/JZTE53NWhsx2/c/4xnRY5/kO5JzHPeeZnh3DUdwPcX38J/9WTXFnnrnBDT776VN5vjtYkPPQWA2IfxBh8u5uHFpCeDlv+AV5pbct3+C9P+Rnv+/3HDDDS7xfUSO6Ra0PKKPHzcKIGuJBmrGYpw2vAYl8DyWDr/Z2Vp2ZeXkzMTzA1aUW0NdKz7JfnHnBxb4rNk03zJYw5jTyyK0CuLWWpn5Crnsqe1RJ3GjKCjxtmHb7+PkG8oSwLAA6noYli7yAK7Jy7V8BHqarbjXMWa/m225O9jN5+m7O1i/38Yk3jzmvgdzXN9f5MOb08zXuM23YiXg6q/7umoHiiOP6UZtTVhn0Bv84Vd2tB45lPbz8M4LWsd0Y+5pWNk+luIm6hE/FgqGtvZaslw2vAuav4XPnv8ywv8iJgk/2xEB2txGDJhxypQ9iELuWvGOJz+52szS0jGWk4567BgTdKr+lHPcRjQO0jFhZORRot8I0QicCVfizLD0R6AYiI40LWU3TPCaPErBF6OCSr3mBOsJlvJOvfKV1Xr28nsR5zR1Gxt1sOQclrmN98MMBzZzTHcfimEfvkt+TvDFdVzimsxpKjjOZxl/rV/ZuZX352Hu/6lo7FS49NbVp48r4bdsH3cKwELRUNGgfu3YdyZs/gTvc9hI9PXEPZ9RwfVeSzbpsePYKALzxteM6PX3ff7nV9vYdXaErxkd9WvHDAXWcaIsviDjtuIr5BScUgk0gjQCfx+c4fmbVFSyp+/LOvCqFOre1/fG1YLvJJ/Wks6xvjv4LtLjeoHLLmb2j7AfYy2z+Nu59PUIyvXsO99Zbf36r6/2onBPMsF3hN2bh1jXP8Dk4Ea/potSX+1XdihPXsflPXwfgD9ewF2WvyJtyT8fj4Jv+XQlXy2HfBz+l8eO/doxFoDHjr+HMd6GPHaslp+o6DIzP1cLZObTHDt+yGPHfAbKj5xOYZbGaoHj0MlN0YaUNNVzrN5EdDwMCNuI+HKyrgN0ICjw1gI7ENHxUg4BynQNbfTO5zHf3czjJ+Gd6NvCV3W8V/8Uqy2HXvKSuE77QXbvXYPQ38/uzN0MBe5Hyc790R9Vu1jvv5ov8mxzoxb16v4AHULaQc3QIDV0HtOdpy3/M/fv/8ior+kOxfgxGDlxrX0MljFIpoEHjh2zWvAY5gduYbLwn/lxRcZ8caMxwGE1jFvOWFqC+eLoKLsST/j1V+YHFrk/LrYVu12VsW30eD1M2ghHkalh9s5eCCJzb8E01awpG6wrXYHi0vi6CEy8eSFI3GDUwiu4ym0SF8oQOr3L0GvB8rLRARwIv0pxO8exTzOP4vbdrVyv5b18eziTfycHdy4yzLqes/gnmfjbg3V1giu7TnBF1wLl38913AfYqq2yuJyv6VKf8ZUdT5lyOS07virH+e+X1o+WY7oD9fYIvpT89Ahm89GDGkYdOHbMROE/QBG8yK8dyxB88XjybcUULxQBpm0eOz7KDjTnB+LYcf1NuEnmB2wYe/0T0KRLgUqxTD8ii7++8ARJvJ1XgiH0o9Inni5feptbgVGqKqxGkSD8mv7z9OIHmK3fgXl/CiFfhxJQwZ1jGOAS4If4ss7jGE4tYCU8zI3Pfjl6Nz3+VawKzOTXdBlqTbpvH1Ik5zybd+JruswJvYl8n8Npvddblo+2Y7rS9JFwf+cUQFYqjDlwDZPHjgl7HseOD7itGKWgiag1MH4dKUD8PIgSzM6xYy+TPEbPpsk7xaSWZm/XsWMFz4xSAOPyTnDlbcNxyy6C0nUpaDstaMIlvvQNDLz4XgqqROQlpnl5pzDi0/rowxsw0KbghoDjz1suIuJSUPwN9vbAeMuus/XxGW2E+QBXaTtZt4ee/Ci9+wdRBjdyAacf33Aiz89oP8ydjkd+9merPdzHdzUHdzZ7TFd6ycM8+ZOEcZ1k8bHpKb+m67LevTx7HVcc03Wc/5Vf+ZXizRWicfF+XMBNVJMfFyVuFaKcH/DYMczx/Qj/v2OicB2KQBnxN9H8QAgFiWR8JwRPcuGk8wOnX/ayatr5AXqyHBaUQpaCapgCpctrwb3FWFdeCy5hoxqwxG/6UlAdr6cC8HbkxGWaVACmKV3iM22jAABQsRinAmjwgnM9w6JzXreFIO/jfL678vyA5jFO6l3F+/sQ8vUMAzzAczfbfP2uw3rG/FcjlFoJzv5fxvZdKzGP6S5B749j8v/I4fqYbtn2ZRn/Lj1nm/9dKvOKsiKw1kOzrZj5gSeiBF7AstCXohBifoD4yz52fIxtxQ8z0eW15dOMeUcdO84hgMRtsxdFOBSySV0qJNOJS7ydQ4AhiMt8S3yZRGWg0nBuge622sk4fYnlug3u00fA59lE5W8zQr2BHv327/u+6kZ6+Xl2Wd7HZ7am2WMxwwrAPgR/L4d9vLVHwb+M7bt8QnLzNO3oMd3fhr7nM87/G+mFfhX6R/T2XfP9aHSfUABFq8AY7fmBL4GBXsj8wJNYOchjxzLP+PWm0NpbOj/g9tZ6bHvUY8cw/9Thw8sU1LPZSY4Cp0DFrcD4Y9/eS17DXOIdNgkYAp5m9phKxzTeoT9HOeYZ+mwj/RaW6fYh1AuY91sR+vdj6u9lD7914M8NPacZBiwBv++bvmn5KzusnoTgY1FMOs5HyGmuC3FM1zv+WOp9G++u57/WOvm7Os4fxg/jM/IwLB9ncTCzY/88djzF/MB3Ygk8h2HBbrcVEx9LSBMVW0FSSFACMvYZjqo+yLHjkz//89Uav2bEenZMEsL45Rg3lwG7dgKGqINzNS6sCdLmFVsNlhpf896HXAVBOdz7ED7C71q+s/M72R9xmn367pNY5Iz+HS9+cXX4lluqDQi8F3o4NPKyjuNveEO15Yu/uDrE7bse9rG3v4xjuudpo7iOizZ6GLK9jusnUQpU+8feMd2+ar/S4Z9QAP01OnDsmG8bXg0jPRvwf+tkUj0/oJxMtmxYC1hMjNFbnqQHfJAtxXNYBNPsMHSysNw/kGb/JIdr+ot0KSYVgEMcNNPEQwuFNTbvODOPUrxAL7+O03j77eGZ7PMSjgWP8SLst3P11k6u4trFxN8R5gPOsp//ApN9h1jn9ys77u5b7TgfAY+dn7SJ13F5OOe/+7GZ2dnZ+ywtbebWcCf4Ruq0S7Xzd+fpEwpgRFvXvUczP1AfO34R8wNfYNL6WjKtdX9juxzbxrFjlsCOIhgPey0ZM+DTtVCoCMg/cMLEY+PuAgw8BQ4VgG5SrEmP+x7cqnsaujcxaecSnkOALQxpjnOXwqHP+7z4wIbXcGtlKOAPcqLSeYGD3/3d1X4O8az1DAUWQ9ZFF91DwmKC1u27wjBE+z2O6T734+WY7pByX9GoSdv/imb+sYSsvVzE/oGvpqd5EbsJb1j1147tefnFsWOEZ4E5gYcQkqMvfWl1kdnztfSi5+1psRTSVJ+kzhqhr4XdtCH2KALGxvHcNbToyiPTxfFaaNvD7Trb2Y3nDbsKsjftHMHsX8Ia2MUBqQ/xNd1P4qs692Dmn2Rrr8OanaznH+ScvkOB5tptlVKhmLryboVJSnNMl2W991HO5zLOf6VwPA8s77bSfuK1VQOfUACtChn1Wi8dhUnp1445PPJdMN0PMD+wvT52PPH9AyGoCKnWgA1ymp1xD7KT8OQv/qIHGeJrx3nsuEtYlvvygvJa4FeED4Asm/2uCHS5FWlRUJ7T3/X0p8elHM7k8yH7aj+9//uYx1hkhn/2W7+1mmdyT4Xg/v4zbPQ5zjHdbV/7tdXBL/3SauvsbCg8x/mWY0KrJgQfWvlk3zZvfjpO+pfQ8//Ex+Mx3a42eSTCulv/kcjp4wgnAmu9NcOC++67b5ZThs/DBP1GL4/w2HEI9WrnBzCvPet+nIMv93Nl+dzLX17NcOLNY8deSxa4U3DbvfuY9VzOLWSSFUKfEfU8wSI9+V4+nuH8hdaKR3U3cfjpHBbBHd/7vdWh5zwnZva9lfcCk39LrJxc7Vd2sAhUbpe5fbfKY7pYLy+lrl+Euf8hSaQ+PrGsl201of8JBTBhhZXgMN4UnzWbzs+aMT/w2cS/mPXnz2LDSWwr5t1JwlXPD5zFpD7y/9o7m9i4qiuOv0nGSUqo4sTYjmM3CWoSJEpBfBSkClWJVNi0lYKQLCFBy6ZlwSIJHyoCLBwghAqEWqnAhk2FhLroggJRpaqbIBZICAkWESBAidUAdsaxISkkIU7c3+963mM89jjzxkPsSe6TxjPv+c2d+85759zz8T/n0M2oZNqx3Y4BEul1D47Cysnk/KwQkeHVAKYxflmwBLucVd93V/M2CqAsxXGnObKGVV9nXsdNNyXDtNPehJNviAy9UzC+q/+35O330HevhwacTeime4Yy8OCgAh5jf7ns9ltebhm3bzxff0DcGqBArgezgfEv6K/44Mn8+gcUBqSRvsnrFyQW3UVOwSH8A22sVNJYs2Aan81FmGlpx2gUa7GbNz/zTLKGJJkzMNkEIURBRFbQybM5gfQlx6Sf0/cgWGDwwPyu2NREFL9g6e0C+51oIadgblN4baGt76IA4GcEYSCDnuX9hzj/fkou/3oq89h/0TRdlui8MX2ndFraSUPU/IM4W++EtltZ9d+S1tJc2kfmz/MEzDw3agAzadLwER7MrBoR/oF2HuAHGOz+ctqxD7W+g1xc60otA6lC64A7jtNthFTZY4BqlhBWW2rasTZ1FX7Ai/AHa21pFCDTAHQKMkaos3/0aEjZXUEJ7m7APEWY/BsRe4Qq1UL6aKf1NYLI1f0kAuFLGL5j166kZ/v2ZNWmTcG+D2G9/Ha+0w0YC2gmbt8Ous+iUT3b0dER6rpV0rjWtcXj9VMgCoD6aVXXmTyg0jTzD6Rpx6iud4hOa0ba8VlW1TE87kfwD5x4443v0o7xDygsam2V/wmCRQblZFd81fsJmqOswLPfSyfdz8nauxyAzhdvv50cIZlpCxrIKGm5CgkbaprJN/b886FQR/fttycdpulyffO080OaLtqTxVpM0x1Mu+nK+OxH+G6tm9vg8SgAGiTcub7GA6vqzwKbdTO6hYd6Lx7s633AedlgYkn5vHMNl/0/tc0DrBigTQnHXIlowQQMWQQ/EFB5CoJq2z4bYepDCAPC+K7uqvpFQnM/ojDHKAz/Y7rnHKb2Pu724Kn/gNV9Pc6/lcT4v0IDmEBDOAmAae2OHaEc13LBQJoOCIdG4LvQ4CzCsWhdBsA877D/MGG9/zhTPsv4ojKjnT9165r6NwqAppJz5mA8wDoBQ/loPhfAD/we5nsMFXddGVacO2zoKs9YGaz4G7D0wxTHHCcch6s8WUqIrlbasTNUiCTY8TJsaLWFuj0BeOcqSm6fpCrvEPn4G6m19/HAQHIlpbdM212OMBi32AnaQDfddNehJdhN17HmAd+tTNP9DCZ3xX/JOVbjLjwWt+ZTIAqA5tN01hErU08xCzoQAg9x4g40gjYEgQLC0GF+/wCDpGnHX1FCe/jVV5PjqOZLyDa0wm5AE8rw6aZmgIZgp6NeYvOW2Lbk1jLs+c8pv9ULfv9TOuqsJSvPcQ3xddBc48Pdu5PleP37qMpjrT41jXnCd2nku6qAnW+a7p+Z3p9g/jGnWUmrdNrx/fuhQBQA3w9dZx1VDYCwYTENG5bTju12/Bu96MKKOSeYDrMOUONgMAtg7GCDA70dJe14+JVXklOkHRdJrdWDXxk21It/CmHRS329Tpj7IzSHSwkvrhTaS4RhDSm8hxEknYB+BCR1sdq3bdiQtHPcMF+w89FAGlD3A4BK+C7mkGbQazD/AIwf0nQvtnJcNW7neT0cBcB5JffUj5WZnGc/62b0KzSCp0houbrhtGOGTv0DZtxZUmuEklr6BwTlLN28ecrhZ8QAYXEGnIJw458A3jlEDH8ctX/LCy8k/8Orb+PNEwiCUQqc9nGse+vWqW66gpAasPOdGq8A30XYCZR6j/2HYfx/8a45k5lJ7sft/FHA1SZu55kCML5OLVV+8QMF0lb34fz6GTkF94EoHFu9enWb0oFpGRKre3NFVggYe7fyznpU/CsIF7aDxpsgyegMiTgBP5BqC4b2ABmtZaVvw7M/YiddIgFDlOlK6LF3DXH99bfdFsbSFDAMmXfVZ/I6OwuUWmvj2o7C/DtHRkZulPkHBwd1ghoxiWCeuu9yc0+MGkBz6dnQaDBBhh8ATYgHL3kEprhH6CuCIYS+PCfP4JwfTg/+AVb7cbz3X5B2bFuzNkJ2JwDpqAVcAtKwj2IcowiCY5gNduDppW5fOxiA+abpMoFCeg18fpHVf09XV9ewE6u8ZvfjtjAUiAJgYeg+41dhCO9Fhh+gm9ENwIn3klvwS5l5vmnHCoLThPtKaAJHqL03SrHSIi21V4HmO0nG3gry+LtJ2unE0acJoIMvmBRoFTk3PY6hyw5CTNzDv5m/Yb13HUfG5y3G8yXGItiiAFgEN6FyCoa/Ojs7C9u2bQvqP4VK+3EQPkG0YEsz046H8PgPUYvvB9jkvfTeW4cZsAK138q7wc7XAglWSOXs5vwc7HwAT8iPlXbT/Qgk5KOYN//wW3r2S6XSZH9/v47AuC0SCkQBsEhuRPU0WCmDbezxctrxTo79kdBZO6EzDysgdJ7VfQ/5vktwCO+5OpeoViyTX4aD0OOu+h5vgPEDxFn4Loz/JQJrL4z/F8aiI0pY9bNrcT9ui4cCdT88i2fKF89MYNhpYcPh4eHLcaTthsHuMu1Y/0CZGgqCujdVe5kc6F34zgSMrwBowMGnKh/SdNVOiGT8jU5Lgz09PYccOIb1AnkX9Z/cBt6ivpoLbHIw16SYgbK3vEjfuoN4z3+Lb+BmvOlvWvYaCK3ML5qwAu0zNyFkdBlXxvfl55zM72+d9reJ6euo3M/+z8nWu1vmR3AVnXM5W2/KGzn3lOJ/F4gCUQNYIMI38rP6B/xeakfjH/gd2sBuQmwbhBUDrsltFuScR2bnWxh1fHxcZrfs9suOUz2/nGPH0xeAAlEALADR5/uTrrCs2sFJODY2tgpt4EH2d8KUK4UVM36wyef7O1XfD8KlDN/9GsHzHKt/TNOtIlKr7UYB0Gp3rDxf/QN8zMKGlC3fzLEnscH7zarDJm/IPzALOcI4mhs2T8UH8XeEzQCmyCeeqzDiLYb1ZiFcKxyKAqAV7tIcc4QB9eNkaccAiW5l/ynTjitgxaFi0RzDzPgXTE7NkMnQTdc6BmgWMU13BpVa/0AUAK1/D8MVwKz6B0LasQdINPoDxwYQBH046fTQ6yh0tT7XPQ92Pip+6KYL4/+X7zzOiv8S7674Chzkw8XZTVcaXEjbuR6GC+laL4prgUEz/wBowstwDD7Khd+LICiCH5C59eAHZ2I1QWBqsxHTNF0Fxl8RBHuI6R/13Mqxq78b91uTAjEM2Jr3reasy0xcMAZPAc1RVu6dnHwdzP86qnzBsB37JuikPgKXcz9PgNUveg7n/hNmv5aw3n0yv2Oxz2lTjseaPx7/0XIUiBpAy92y+icM005T1zELfs2xPWgDV4PR16GnZz/BaVhEMGjnv4/G8MjGjRv3eZxzp5kVHotbpECkQItRQBx+WRjI1MtwFN7PqwRqd9IXEYQjCIddBw4cCNBAz/U7LXaZcboNUCBqAA0QrVW/AmNn/gFgxV0gCp/GOThJ6PAhEHwlr6vynFa9zjjv+inwf2nLEPdYCkRIAAAAAElFTkSuQmCC" align="right" alt="logo" width="80" height="93" style="border: none; float: right;"></p>
<blockquote>
<p>Please see the package <a href="http://haozhu233.github.io/kableExtra/">documentation site</a> for how to use this package in LaTeX.</p>
@@ -1691,8 +1746,13 @@
<h1>Getting Started</h1>
<p>Here we are using the first few columns and rows from dataset <code>mtcars</code></p>
<pre class="r"><code>library(knitr)
-library(kableExtra)
-dt <- mtcars[1:5, 1:6]</code></pre>
+library(kableExtra)</code></pre>
+<pre><code>##
+## Attaching package: 'kableExtra'</code></pre>
+<pre><code>## The following object is masked from 'package:knitr':
+##
+## kable</code></pre>
+<pre class="r"><code>dt <- mtcars[1:5, 1:6]</code></pre>
<p>When you are using <code>kable()</code>, if you don’t specify <code>format</code>, by default it will generate a markdown table and let pandoc handle the conversion from markdown to HTML/PDF. This is the most favorable approach to render most simple tables as it is format independent. If you switch from HTML to pdf, you basically don’t need to change anything in your code. However, markdown doesn’t support complex table. For example, if you want to have a double-row header table, markdown just cannot provide you the functionality you need. As a result, when you have such a need, you should <strong>define <code>format</code> in <code>kable()</code></strong> as either “html” or “latex”. <em>You can also define a global option at the beginning using <code>options(knitr.table.format = "html")</code> so you don’t repeat the step everytime.</em></p>
<p><strong>Starting from <code>kableExtra</code> 0.9.0</strong>, when you load this package (<code>library(kableExtra)</code>), <span style=" font-weight: bold; color: white !important;border-radius: 4px; padding-right: 4px; padding-left: 4px; background-color: #d9230f !important;">it will automatically set up the global option ‘knitr.table.format’ based on your current environment</span>. Unless you are rendering a PDF, <code>kableExtra</code> will try to render a HTML table for you. <strong>You no longer need to manually set either the global option or the <code>format</code> option in each <code>kable()</code> function</strong>. I’m still including the explanation above here in this vignette so you can understand what is going on behind the scene. Note that this is only an global option. You can manually set any format in <code>kable()</code> whenever you want. I just hope you can enjoy a peace of mind in most of your time.</p>
<p>You can disable this behavior by setting <code>options(kableExtra.auto_format = FALSE)</code> before you load <code>kableExtra</code>.</p>
@@ -1999,11 +2059,157 @@
</div>
<div id="alternative-themes" class="section level2">
<h2>Alternative themes</h2>
-<p><code>kableExtra</code> also offers a few in-house alternative HTML table themes other than the default bootstrap theme. Right now there are 5 of them: <code>kable_classic</code>, <code>kable_classic_2</code>, <code>kable_minimal</code>, <code>kable_material</code> and <code>kable_material_dark</code>. These functions are alternatives to <code>kable_styling</code>, which means that you can specify any additional formatting options in <code>kable_styling</code> in these functions too. The only difference is that <code>bootstrap_options</code> (as discussed in the next section) is replaced with <code>lightable_options</code> at the same location with only two choices <code>striped</code> and <code>hover</code> available.</p>
+<p><code>kableExtra</code> also offers a few in-house alternative HTML table themes other than the default bootstrap theme. Right now there are 6 of them: <code>kable_paper</code>, <code>kable_classic</code>, <code>kable_classic_2</code>, <code>kable_minimal</code>, <code>kable_material</code> and <code>kable_material_dark</code>. These functions are alternatives to <code>kable_styling</code>, which means that you can specify any additional formatting options in <code>kable_styling</code> in these functions too. The only difference is that <code>bootstrap_options</code> (as discussed in the next section) is replaced with <code>lightable_options</code> at the same location with only two choices <code>striped</code> and <code>hover</code> available.</p>
+<pre class="r"><code>dt %>%
+ kable() %>%
+ kable_paper("hover")</code></pre>
+<table class=" lightable-paper lightable-hover" style="font-family: "Arial Narrow", arial, helvetica, sans-serif; margin-left: auto; margin-right: auto;">
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+mpg
+</th>
+<th style="text-align:right;">
+cyl
+</th>
+<th style="text-align:right;">
+disp
+</th>
+<th style="text-align:right;">
+hp
+</th>
+<th style="text-align:right;">
+drat
+</th>
+<th style="text-align:right;">
+wt
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+Mazda RX4
+</td>
+<td style="text-align:right;">
+21.0
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+160
+</td>
+<td style="text-align:right;">
+110
+</td>
+<td style="text-align:right;">
+3.90
+</td>
+<td style="text-align:right;">
+2.620
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Mazda RX4 Wag
+</td>
+<td style="text-align:right;">
+21.0
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+160
+</td>
+<td style="text-align:right;">
+110
+</td>
+<td style="text-align:right;">
+3.90
+</td>
+<td style="text-align:right;">
+2.875
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Datsun 710
+</td>
+<td style="text-align:right;">
+22.8
+</td>
+<td style="text-align:right;">
+4
+</td>
+<td style="text-align:right;">
+108
+</td>
+<td style="text-align:right;">
+93
+</td>
+<td style="text-align:right;">
+3.85
+</td>
+<td style="text-align:right;">
+2.320
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Hornet 4 Drive
+</td>
+<td style="text-align:right;">
+21.4
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+258
+</td>
+<td style="text-align:right;">
+110
+</td>
+<td style="text-align:right;">
+3.08
+</td>
+<td style="text-align:right;">
+3.215
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Hornet Sportabout
+</td>
+<td style="text-align:right;">
+18.7
+</td>
+<td style="text-align:right;">
+8
+</td>
+<td style="text-align:right;">
+360
+</td>
+<td style="text-align:right;">
+175
+</td>
+<td style="text-align:right;">
+3.15
+</td>
+<td style="text-align:right;">
+3.440
+</td>
+</tr>
+</tbody>
+</table>
<pre class="r"><code>dt %>%
kable() %>%
kable_classic()</code></pre>
-<table class=" lightable-classic" style="margin-left: auto; margin-right: auto;">
+<table class=" lightable-classic" style="font-family: "Arial Narrow", "Source Sans Pro", sans-serif; margin-left: auto; margin-right: auto;">
<thead>
<tr>
<th style="text-align:left;">
@@ -2149,7 +2355,7 @@
<pre class="r"><code>dt %>%
kable() %>%
kable_classic_2()</code></pre>
-<table class=" lightable-classic-2" style="margin-left: auto; margin-right: auto;">
+<table class=" lightable-classic-2" style="font-family: "Arial Narrow", "Source Sans Pro", sans-serif; margin-left: auto; margin-right: auto;">
<thead>
<tr>
<th style="text-align:left;">
@@ -2295,7 +2501,7 @@
<pre class="r"><code>dt %>%
kable() %>%
kable_minimal()</code></pre>
-<table class=" lightable-minimal" style="margin-left: auto; margin-right: auto;">
+<table class=" lightable-minimal" style="font-family: calibri, cambria, "Source Sans Pro", sans-serif; margin-left: auto; margin-right: auto;">
<thead>
<tr>
<th style="text-align:left;">
@@ -2441,7 +2647,7 @@
<pre class="r"><code>dt %>%
kable() %>%
kable_material(c("striped", "hover"))</code></pre>
-<table class=" lightable-material lightable-striped lightable-hover" style="margin-left: auto; margin-right: auto;">
+<table class=" lightable-material lightable-striped lightable-hover" style="font-family: "Source Sans Pro", helvetica, sans-serif; margin-left: auto; margin-right: auto;">
<thead>
<tr>
<th style="text-align:left;">
@@ -2587,7 +2793,7 @@
<pre class="r"><code>dt %>%
kable() %>%
kable_material_dark()</code></pre>
-<table class=" lightable-material-dark" style="margin-left: auto; margin-right: auto;">
+<table class=" lightable-material-dark" style="font-family: "Source Sans Pro", helvetica, sans-serif; margin-left: auto; margin-right: auto;">
<thead>
<tr>
<th style="text-align:left;">
@@ -3181,8 +3387,8 @@
<h2>Full width?</h2>
<p>By default, a bootstrap table takes 100% of the width. It is supposed to use together with its grid system to scale the table properly. However, when you are writing a rmarkdown document, you probably don’t want to write your own css/or grid. For some small tables with only few columns, a page wide table looks awful. To make it easier, you can specify whether you want the table to have <code>full_width</code> or not in <code>kable_styling</code>. By default, <code>full_width</code> is set to be <code>TRUE</code> for HTML tables (note that for LaTeX, the default is <code>FALSE</code> since I don’t want to change the “common” looks unless you specified it.)</p>
<pre class="r"><code>kable(dt) %>%
- kable_styling(bootstrap_options = "striped", full_width = F)</code></pre>
-<table class="table table-striped" style="width: auto !important; margin-left: auto; margin-right: auto;">
+ kable_paper(bootstrap_options = "striped", full_width = F)</code></pre>
+<table class=" lightable-paper" style="font-family: "Arial Narrow", arial, helvetica, sans-serif; width: auto !important; margin-left: auto; margin-right: auto;">
<thead>
<tr>
<th style="text-align:left;">
@@ -4060,10 +4266,288 @@
</tr>
</tbody>
</table>
+<blockquote>
+<p><strong>Key Update</strong>: I understand the need of doing conditional formatting and the previous solution <code>cell_spec</code> is relatively hard to use. Therefore in kableExtra 1.2, I improved the functionality of <code>column_spec</code> so it can take vectorized input for most of its arguments (except <code>width</code>, <code>border_left</code> and <code>border_right</code>). It is really easy right now to format a column based on other values.</p>
+</blockquote>
+<pre class="r"><code>mtcars[1:8, 1:8] %>%
+ kable() %>%
+ kable_paper(full_width = F) %>%
+ column_spec(2, color = spec_color(mtcars$mpg[1:8]),
+ link = "https://haozhu233.github.io/kableExtra") %>%
+ column_spec(6, color = "white",
+ background = spec_color(mtcars$drat[1:8], end = 0.7),
+ popover = paste("am:", mtcars$am[1:8]))</code></pre>
+<table class=" lightable-paper" style="font-family: "Arial Narrow", arial, helvetica, sans-serif; width: auto !important; margin-left: auto; margin-right: auto;">
+<thead>
+<tr>
+<th style="text-align:left;">
+</th>
+<th style="text-align:right;">
+mpg
+</th>
+<th style="text-align:right;">
+cyl
+</th>
+<th style="text-align:right;">
+disp
+</th>
+<th style="text-align:right;">
+hp
+</th>
+<th style="text-align:right;">
+drat
+</th>
+<th style="text-align:right;">
+wt
+</th>
+<th style="text-align:right;">
+qsec
+</th>
+<th style="text-align:right;">
+vs
+</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td style="text-align:left;">
+Mazda RX4
+</td>
+<td style="text-align:right;color: rgba(52, 182, 121, 1) !important;">
+<a href="https://haozhu233.github.io/kableExtra" style="color: rgba(52, 182, 121, 1) !important;"> 21.0 </a>
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+160.0
+</td>
+<td style="text-align:right;">
+110
+</td>
+<td style="text-align:right;color: white !important;background-color: rgba(67, 191, 113, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 1">
+3.90
+</td>
+<td style="text-align:right;">
+2.620
+</td>
+<td style="text-align:right;">
+16.46
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Mazda RX4 Wag
+</td>
+<td style="text-align:right;color: rgba(52, 182, 121, 1) !important;">
+<a href="https://haozhu233.github.io/kableExtra" style="color: rgba(52, 182, 121, 1) !important;"> 21.0 </a>
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+160.0
+</td>
+<td style="text-align:right;">
+110
+</td>
+<td style="text-align:right;color: white !important;background-color: rgba(67, 191, 113, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 1">
+3.90
+</td>
+<td style="text-align:right;">
+2.875
+</td>
+<td style="text-align:right;">
+17.02
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Datsun 710
+</td>
+<td style="text-align:right;color: rgba(149, 216, 64, 1) !important;">
+<a href="https://haozhu233.github.io/kableExtra" style="color: rgba(149, 216, 64, 1) !important;"> 22.8 </a>
+</td>
+<td style="text-align:right;">
+4
+</td>
+<td style="text-align:right;">
+108.0
+</td>
+<td style="text-align:right;">
+93
+</td>
+<td style="text-align:right;color: white !important;background-color: rgba(55, 184, 120, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 1">
+3.85
+</td>
+<td style="text-align:right;">
+2.320
+</td>
+<td style="text-align:right;">
+18.61
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Hornet 4 Drive
+</td>
+<td style="text-align:right;color: rgba(68, 191, 112, 1) !important;">
+<a href="https://haozhu233.github.io/kableExtra" style="color: rgba(68, 191, 112, 1) !important;"> 21.4 </a>
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+258.0
+</td>
+<td style="text-align:right;">
+110
+</td>
+<td style="text-align:right;color: white !important;background-color: rgba(65, 67, 135, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0">
+3.08
+</td>
+<td style="text-align:right;">
+3.215
+</td>
+<td style="text-align:right;">
+19.44
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Hornet Sportabout
+</td>
+<td style="text-align:right;color: rgba(38, 129, 142, 1) !important;">
+<a href="https://haozhu233.github.io/kableExtra" style="color: rgba(38, 129, 142, 1) !important;"> 18.7 </a>
+</td>
+<td style="text-align:right;">
+8
+</td>
+<td style="text-align:right;">
+360.0
+</td>
+<td style="text-align:right;">
+175
+</td>
+<td style="text-align:right;color: white !important;background-color: rgba(60, 79, 138, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0">
+3.15
+</td>
+<td style="text-align:right;">
+3.440
+</td>
+<td style="text-align:right;">
+17.02
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Valiant
+</td>
+<td style="text-align:right;color: rgba(44, 114, 142, 1) !important;">
+<a href="https://haozhu233.github.io/kableExtra" style="color: rgba(44, 114, 142, 1) !important;"> 18.1 </a>
+</td>
+<td style="text-align:right;">
+6
+</td>
+<td style="text-align:right;">
+225.0
+</td>
+<td style="text-align:right;">
+105
+</td>
+<td style="text-align:right;color: white !important;background-color: rgba(68, 1, 84, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0">
+2.76
+</td>
+<td style="text-align:right;">
+3.460
+</td>
+<td style="text-align:right;">
+20.22
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Duster 360
+</td>
+<td style="text-align:right;color: rgba(68, 1, 84, 1) !important;">
+<a href="https://haozhu233.github.io/kableExtra" style="color: rgba(68, 1, 84, 1) !important;"> 14.3 </a>
+</td>
+<td style="text-align:right;">
+8
+</td>
+<td style="text-align:right;">
+360.0
+</td>
+<td style="text-align:right;">
+245
+</td>
+<td style="text-align:right;color: white !important;background-color: rgba(55, 90, 140, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0">
+3.21
+</td>
+<td style="text-align:right;">
+3.570
+</td>
+<td style="text-align:right;">
+15.84
+</td>
+<td style="text-align:right;">
+0
+</td>
+</tr>
+<tr>
+<td style="text-align:left;">
+Merc 240D
+</td>
+<td style="text-align:right;color: rgba(253, 231, 37, 1) !important;">
+<a href="https://haozhu233.github.io/kableExtra" style="color: rgba(253, 231, 37, 1) !important;"> 24.4 </a>
+</td>
+<td style="text-align:right;">
+4
+</td>
+<td style="text-align:right;">
+146.7
+</td>
+<td style="text-align:right;">
+62
+</td>
+<td style="text-align:right;color: white !important;background-color: rgba(31, 161, 135, 1) !important;" data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="am: 0">
+3.69
+</td>
+<td style="text-align:right;">
+3.190
+</td>
+<td style="text-align:right;">
+20.00
+</td>
+<td style="text-align:right;">
+1
+</td>
+</tr>
+</tbody>
+</table>
+<p>You can still use the <code>spec_***</code> helper functions to help you define color. See the documentation <a href="#visualize-data-with-viridis-color">below</a>.</p>
</div>
<div id="row-spec" class="section level2">
<h2>Row spec</h2>
-<p>Similar with <code>column_spec</code>, you can define specifications for rows. Currently, you can either bold or italiciz an entire row. Note that, similar with other row-related functions in <code>kableExtra</code>, for the position of the target row, you don’t need to count in header rows or the group labelling rows.</p>
+<p>Similar with <code>column_spec</code>, you can define specifications for rows. Currently, you can either bold or italicize an entire row. Note that, similar with other row-related functions in <code>kableExtra</code>, for the position of the target row, you don’t need to count in header rows or the group labeling rows.</p>
<pre class="r"><code>kable(dt) %>%
kable_styling("striped", full_width = F) %>%
column_spec(5:7, bold = T) %>%
@@ -4365,6 +4849,9 @@
</div>
<div id="celltext-specification" class="section level1">
<h1>Cell/Text Specification</h1>
+<blockquote>
+<p><strong>Key Update: As said before, if you are using kableExtra 1.2+, you are now recommended to used <code>column_spec</code> to do conditional formatting</strong>.</p>
+</blockquote>
<p>Function <code>cell_spec</code> is introduced in version 0.6.0 of <code>kableExtra</code>. Unlike <code>column_spec</code> and <code>row_spec</code>, <strong>this function is designed to be used before the data.frame gets into the <code>kable</code> function</strong>. Comparing with figuring out a list of 2 dimentional index for targeted cells, this design is way easier to learn and use and it fits perfectly well with <code>dplyr</code>’s <code>mutate</code> and <code>summarize</code> functions. With this design, there are two things to be noted: * Since <code>cell_spec</code> generates raw <code>HTML</code> or <code>LaTeX</code> code, make sure you remember to put <code>escape = FALSE</code> in <code>kable</code>. At the same time, you have to escape special symbols including <code>%</code> manually by yourself * <code>cell_spec</code> needs a way to know whether you want <code>html</code> or <code>latex</code>. You can specify it locally in function or globally via the <code>options(knitr.table.format = "latex")</code> method as suggested at the beginning. If you don’t provide anything, this function will output as HTML by default.</p>
<p>Currently, <code>cell_spec</code> supports features including bold, italic, monospace, text color, background color, align, font size & rotation angle. More features may be added in the future. Please see function documentations as reference.</p>
<div id="conditional-logic" class="section level2">
@@ -4512,7 +4999,7 @@
</div>
<div id="visualize-data-with-viridis-color" class="section level2">
<h2>Visualize data with Viridis Color</h2>
-<p>This package also comes with a few helper functions, including <code>spec_color</code>, <code>spec_font_size</code> & <code>spec_angle</code>. These functions can rescale continuous variables to certain scales. For example, function <code>spec_color</code> would map a continuous variable to any <a href="https://CRAN.R-project.org/package=viridisLite">viridis color palettes</a>. It offers a very visually impactful representation in a tabular format.</p>
+<p>This package also comes with a few helper functions, including <code>spec_color</code>, <code>spec_font_size</code> & <code>spec_angle</code>. These functions can rescale continuous variables to certain scales. For example, function <code>spec_color</code> would map a continuous variable to any <a href="https://CRAN.R-project.org/package=viridisLite">viridis color palettes</a>. It offers a very visually impressive representation in a tabular format.</p>
<pre class="r"><code>iris[1:10, ] %>%
mutate_if(is.numeric, function(x) {
cell_spec(x, bold = T,
@@ -4739,7 +5226,7 @@
</div>
<div id="tooltip" class="section level2">
<h2>Tooltip</h2>
-<p>It’s very easy to add a tooltip to text via <code>cell_spec</code>. For example, <code>text_spec("tooltip", color = "red", tooltip = "Hello World")</code> will give you something like <span style=" color: red !important;" data-toggle="tooltip" data-placement="right" title="Hello World">Hover over me</span> (you need to wait for a few seconds before your browser renders it).</p>
+<p>It’s very easy to add a tooltip to text via <code>cell_spec</code>. For example, <code>text_spec("tooltip", color = "red", tooltip = "Hello World")</code> will give you something like <span style=" color: red !important;" data-toggle="tooltip" data-container="body" data-placement="right" title="Hello World">Hover over me</span> (you need to wait for a few seconds before your browser renders it).</p>
<p>Note that the original browser-based tooltip is slow. If you want to have a faster response, you may want to initialize bootstrap’s tooltip by putting the following HTML code on the page.</p>
<pre><code><script>
$(document).ready(function(){
@@ -4756,11 +5243,6 @@
$('[data-toggle="popover"]').popover();
});
</script></code></pre>
-<script>
-$(document).ready(function(){
- $('[data-toggle="popover"]').popover();
-});
-</script>
<pre class="r"><code>popover_dt <- data.frame(
position = c("top", "bottom", "right", "left"),
stringsAsFactors = FALSE
@@ -4791,7 +5273,7 @@
top
</td>
<td style="text-align:left;">
-<span style=" " data-toggle="popover" data-trigger="hover" data-placement="top" data-content="top">Message on top</span>
+<span style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="top" data-content="top">Message on top</span>
</td>
</tr>
<tr>
@@ -4799,7 +5281,7 @@
bottom
</td>
<td style="text-align:left;">
-<span style=" " data-toggle="popover" data-trigger="hover" data-placement="bottom" data-content="bottom">Message on bottom</span>
+<span style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="bottom" data-content="bottom">Message on bottom</span>
</td>
</tr>
<tr>
@@ -4807,7 +5289,7 @@
right
</td>
<td style="text-align:left;">
-<span style=" " data-toggle="popover" data-trigger="hover" data-placement="right" data-content="right">Message on right</span>
+<span style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="right">Message on right</span>
</td>
</tr>
<tr>
@@ -4815,7 +5297,7 @@
left
</td>
<td style="text-align:left;">
-<span style=" " data-toggle="popover" data-trigger="hover" data-placement="left" data-content="left">Message on left</span>
+<span style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="left" data-content="left">Message on left</span>
</td>
</tr>
</tbody>
@@ -4823,7 +5305,7 @@
</div>
<div id="links" class="section level2">
<h2>Links</h2>
-<p>You can add links to text via <code>text_spec("Google", link = "https://google.com")</code>: <a href="https://google.com" style=" ">Google</a>. If you want your hover message to be more obvious, it might be a good idea to put a <code>#</code> (go back to the top of the page) or <code>javascript:void(0)</code> (literally do nothing) in the <code>link</code> option. <code>text_spec("Hover on me", link = "javascript:void(0)", popover = "Hello")</code>: <a href="javascript:void(0)" style=" " data-toggle="popover" data-trigger="hover" data-placement="right" data-content="Hello">Hover on me</a></p>
+<p>You can add links to text via <code>text_spec("Google", link = "https://google.com")</code>: <a href="https://google.com" style=" ">Google</a>. If you want your hover message to be more obvious, it might be a good idea to put a <code>#</code> (go back to the top of the page) or <code>javascript:void(0)</code> (literally do nothing) in the <code>link</code> option. <code>text_spec("Hover on me", link = "javascript:void(0)", popover = "Hello")</code>: <a href="javascript:void(0)" style=" " data-toggle="popover" data-container="body" data-trigger="hover" data-placement="right" data-content="Hello">Hover on me</a></p>
</div>
<div id="integration-with-formattable" class="section level2">
<h2>Integration with <code>formattable</code></h2>
@@ -5977,7 +6459,7 @@
2
</td>
<td style="text-align:center;">
-0
+1
</td>
</tr>
<tr>
@@ -5993,7 +6475,7 @@
4
</td>
<td style="text-align:center;">
-0
+1
</td>
</tr>
<tr>
@@ -6028,7 +6510,7 @@
8
</td>
<td style="text-align:center;">
-1
+0
</td>
</tr>
<tr>
@@ -6036,7 +6518,7 @@
9
</td>
<td style="text-align:center;">
-1
+0
</td>
</tr>
<tr>
@@ -6044,7 +6526,7 @@
10
</td>
<td style="text-align:center;">
-0
+1
</td>
</tr>
<tr>
@@ -6058,7 +6540,7 @@
11
</td>
<td style="text-align:center;">
-0
+1
</td>
</tr>
<tr>
@@ -6077,7 +6559,7 @@
13
</td>
<td style="text-align:center;">
-0
+1
</td>
</tr>
<tr>
@@ -6085,7 +6567,7 @@
14
</td>
<td style="text-align:center;">
-0
+1
</td>
</tr>
<tr>
@@ -6478,10 +6960,12 @@
<p>If you need to add footnote marks in table, you need to do it manually (no fancy) using <code>footnote_mark_***()</code>. Remember that similar with <code>cell_spec</code>, you need to tell this function whether you want it to do it in <code>HTML</code> (default) or <code>LaTeX</code>. You can set it for all using the <code>knitr.table.format</code> global option. ALso, if you have ever use <code>footnote_mark_***()</code>, you need to put <code>escape = F</code> in your <code>kable</code> function to avoid escaping of special characters.</p>
<pre class="r"><code>dt_footnote <- dt
names(dt_footnote)[2] <- paste0(names(dt_footnote)[2],
- footnote_marker_symbol(1))
-row.names(dt_footnote)[4] <- paste0(row.names(dt_footnote)[4],
- footnote_marker_alphabet(1))
-kable(dt_footnote, align = "c",
+ footnote_marker_symbol(1))</code></pre>
+<pre><code>## Setting footnote_marker_symbol format as html</code></pre>
+<pre class="r"><code>row.names(dt_footnote)[4] <- paste0(row.names(dt_footnote)[4],
+ footnote_marker_alphabet(1))</code></pre>
+<pre><code>## Setting footnote_marker_alphabet format as html</code></pre>
+<pre class="r"><code>kable(dt_footnote, align = "c",
# Remember this escape = F
escape = F) %>%
kable_styling(full_width = F) %>%
diff --git a/docs/awesome_table_in_pdf.Rmd b/docs/awesome_table_in_pdf.Rmd
index ef3a126..7959839 100644
--- a/docs/awesome_table_in_pdf.Rmd
+++ b/docs/awesome_table_in_pdf.Rmd
@@ -54,7 +54,6 @@
```
```{r}
-library(knitr)
library(kableExtra)
dt <- mtcars[1:5, 1:6]
```
@@ -220,6 +219,26 @@
column_spec(2, width = "30em")
```
+
+> **Key Update**: I understand the need of doing conditional formatting and the previous solution `cell_spec` is relatively hard to use. Therefore in kableExtra 1.2, I improved the functionality of `column_spec` so it can take vectorized input for most of its arguments (except `width`, `border_left` and `border_right`). It is really easy right now to format a column based on other values.
+
+```{r}
+that_cell <- c(rep(F, 7), T)
+mtcars[1:8, 1:8] %>%
+ kable(booktabs = T, linesep = "") %>%
+ kable_paper(full_width = F) %>%
+ column_spec(2, color = spec_color(mtcars$mpg[1:8]),
+ link = "https://haozhu233.github.io/kableExtra") %>%
+ column_spec(6, color = "white",
+ background = spec_color(mtcars$drat[1:8], end = 0.7),
+ popover = paste("am:", mtcars$am[1:8])) %>%
+ column_spec(9, strikeout = that_cell, bold = that_cell,
+ color = c(rep("black", 7), "red"))
+```
+
+You can still use the `spec_***` helper functions to help you define color. See the documentation [below](#visualize-data-with-viridis-color).
+
+
## Row spec
Similar with `column_spec`, you can define specifications for rows. Currently, you can either bold or italicize an entire row. Note that, similar to other row-related functions in `kableExtra`, for the position of the target row, you don't need to count in header rows or the group labeling rows.
@@ -242,6 +261,9 @@
# Cell/Text Specification
+
+>**Key Update: As said before, if you are using kableExtra 1.2+, you are now recommended to used `column_spec` to do conditional formatting**.
+
Function `cell_spec` is introduced in version 0.6.0 of `kableExtra`. Unlike `column_spec` and `row_spec`, **this function is designed to be used before the data.frame gets into the `kable` function**. Comparing with figuring out a list of 2 dimensional indexes for targeted cells, this design is way easier to learn and use, and it fits perfectly well with `dplyr`'s `mutate` and `summarize` functions. With this design, there are two things to be noted:
* Since `cell_spec` generates raw `HTML` or `LaTeX` code, make sure you remember to put `escape = FALSE` in `kable`. At the same time, you have to escape special symbols including `%` manually by yourself
* `cell_spec` needs a way to know whether you want `html` or `latex`. You can specify it locally in function or globally via the `options(knitr.table.format = "latex")` method as suggested at the beginning. If you don't provide anything, this function will output as HTML by default.
diff --git a/docs/awesome_table_in_pdf.pdf b/docs/awesome_table_in_pdf.pdf
index 196968e..10b350d 100644
--- a/docs/awesome_table_in_pdf.pdf
+++ b/docs/awesome_table_in_pdf.pdf
Binary files differ
diff --git a/docs/awesome_table_in_pdf.toc b/docs/awesome_table_in_pdf.toc
index a985c6b..984d331 100644
--- a/docs/awesome_table_in_pdf.toc
+++ b/docs/awesome_table_in_pdf.toc
@@ -3,7 +3,7 @@
\contentsline {section}{Getting Started}{2}{section*.4}%
\contentsline {subsection}{LaTeX packages used in this package}{3}{section*.5}%
\contentsline {subsection}{Plain LaTeX}{3}{section*.6}%
-\contentsline {subsection}{LaTeX table with booktabs}{3}{section*.7}%
+\contentsline {subsection}{LaTeX table with booktabs}{4}{section*.7}%
\contentsline {section}{Table Styles}{4}{section*.8}%
\contentsline {subsection}{LaTeX options}{4}{section*.9}%
\contentsline {subsubsection}{Striped}{4}{section*.10}%
@@ -16,21 +16,21 @@
\contentsline {section}{Column / Row Specification}{9}{section*.17}%
\contentsline {subsection}{Column spec}{9}{section*.18}%
\contentsline {subsection}{Row spec}{10}{section*.19}%
-\contentsline {subsection}{Header Rows}{10}{section*.20}%
-\contentsline {section}{Cell/Text Specification}{10}{section*.21}%
+\contentsline {subsection}{Header Rows}{11}{section*.20}%
+\contentsline {section}{Cell/Text Specification}{11}{section*.21}%
\contentsline {subsection}{Conditional logic}{11}{section*.22}%
-\contentsline {subsection}{Visualize data with Viridis Color}{11}{section*.23}%
-\contentsline {subsection}{Text Specification}{12}{section*.24}%
-\contentsline {section}{Grouped Columns / Rows}{12}{section*.25}%
-\contentsline {subsection}{Add header rows to group columns}{12}{section*.26}%
-\contentsline {subsection}{Group rows via labeling}{13}{section*.27}%
+\contentsline {subsection}{Visualize data with Viridis Color}{12}{section*.23}%
+\contentsline {subsection}{Text Specification}{13}{section*.24}%
+\contentsline {section}{Grouped Columns / Rows}{13}{section*.25}%
+\contentsline {subsection}{Add header rows to group columns}{13}{section*.26}%
+\contentsline {subsection}{Group rows via labeling}{14}{section*.27}%
\contentsline {subsection}{Row indentation}{15}{section*.28}%
-\contentsline {subsection}{Group rows via multi-row cell}{15}{section*.29}%
-\contentsline {section}{Table Footnote}{18}{section*.30}%
-\contentsline {section}{LaTeX Only Features}{20}{section*.31}%
-\contentsline {subsection}{Linebreak processor}{20}{section*.32}%
-\contentsline {subsection}{Table on a Landscape Page}{21}{section*.33}%
-\contentsline {subsection}{Use LaTeX table in HTML or Word}{23}{section*.34}%
-\contentsline {section}{From other packages}{23}{section*.35}%
-\contentsline {subsection}{\texttt {tables}}{23}{section*.36}%
-\contentsline {subsection}{\texttt {xtable}}{23}{section*.37}%
+\contentsline {subsection}{Group rows via multi-row cell}{16}{section*.29}%
+\contentsline {section}{Table Footnote}{19}{section*.30}%
+\contentsline {section}{LaTeX Only Features}{22}{section*.31}%
+\contentsline {subsection}{Linebreak processor}{22}{section*.32}%
+\contentsline {subsection}{Table on a Landscape Page}{22}{section*.33}%
+\contentsline {subsection}{Use LaTeX table in HTML or Word}{24}{section*.34}%
+\contentsline {section}{From other packages}{24}{section*.35}%
+\contentsline {subsection}{\texttt {tables}}{24}{section*.36}%
+\contentsline {subsection}{\texttt {xtable}}{24}{section*.37}%