From 8fd305c3598fe9ec8b7dc43835416b00c8f84a2d Mon Sep 17 00:00:00 2001 From: Dante <110073352+DanteDamian@users.noreply.github.com> Date: Wed, 18 Oct 2023 07:01:27 -0500 Subject: [PATCH 1/4] Update PA1_template.Rmd --- PA1_template.Rmd | 117 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 106 insertions(+), 11 deletions(-) diff --git a/PA1_template.Rmd b/PA1_template.Rmd index d5cc677c93d..22fc430ec54 100644 --- a/PA1_template.Rmd +++ b/PA1_template.Rmd @@ -1,25 +1,120 @@ ---- -title: "Reproducible Research: Peer Assessment 1" -output: - html_document: - keep_md: true ---- +RepData peer Assesssment 1 +======================================================== -## Loading and preprocessing the data +Loading the data +---------------- +* Load the data +```{r echo=TRUE} +activity=read.csv("activity.csv") +``` +* Process/transform the data (if necessary) into a format suitable for your analysis +```{r echo=TRUE} +totalSteps<-aggregate(steps~date,data=activity,sum,na.rm=TRUE) +``` +What is mean total number of steps taken per day? +------------------------------------------------- -## What is mean total number of steps taken per day? +* Make a histogram of the total number of steps taken each day +```{r echo=TRUE} +hist(totalSteps$steps) +``` +* Calculate and report the **mean** and **median** total number of steps taken +per day +```{r echo=TRUE} +mean(totalSteps$steps) +median(totalSteps$steps) +``` +* The **mean** total number of steps taken per day is + `r mean(totalSteps$steps)` steps. +* The **median** total number of steps taken per day is + `r median(totalSteps$steps)` steps. + +What is the average daily activity pattern? +------------------------------------------- -## What is the average daily activity pattern? +* Make a time series plot (i.e. type = "l") of the 5-minute interval (x-axis) and the average number of steps taken, averaged across all days (y-axis) +```{r echo=TRUE} +stepsInterval<-aggregate(steps~interval,data=activity,mean,na.rm=TRUE) +plot(steps~interval,data=stepsInterval,type="l") +``` +* Which 5-minute interval, on average across all the days in the dataset, contains the maximum number of steps? +```{r} +stepsInterval[which.max(stepsInterval$steps),]$interval +``` -## Imputing missing values +It is the **`r stepsInterval[which.max(stepsInterval$steps),]$interval`th** interval. +Imputing missing values +----------------------- +* Calculate and report the total number of missing values in the dataset (i.e. the total number of rows with NAs) +```{r echo=TRUE} +sum(is.na(activity$steps)) +``` +Total `r sum(is.na(activity$steps))` rows are missing. -## Are there differences in activity patterns between weekdays and weekends? +* Devise a strategy for filling in all of the missing values in the dataset. The strategy does not need to be sophisticated. For example, you could use the mean/median for that day, or the mean for that 5-minute interval, etc. + +: I used a strategy for filing in all of the missing values with the mean for that 5-minute interval. First of all, I made a function **"interval2steps"** to get the mean steps for particular 5-minute interval. +```{r echo=TRUE} +interval2steps<-function(interval){ + stepsInterval[stepsInterval$interval==interval,]$steps +} +``` + +* Create a new dataset that is equal to the original dataset but with the missing data filled in. + +```{r echo=TRUE} +activityFilled<-activity # Make a new dataset with the original data +count=0 # Count the number of data filled in +for(i in 1:nrow(activityFilled)){ + if(is.na(activityFilled[i,]$steps)){ + activityFilled[i,]$steps<-interval2steps(activityFilled[i,]$interval) + count=count+1 + } +} +cat("Total ",count, "NA values were filled.\n\r") +``` + +* Make a histogram of the total number of steps taken each day and Calculate and report the mean and median total number of steps taken per day. +```{r echo=TRUE} +totalSteps2<-aggregate(steps~date,data=activityFilled,sum) +hist(totalSteps2$steps) +mean(totalSteps2$steps) +median(totalSteps2$steps) +``` +* The **mean** total number of steps taken per day is +`r mean(totalSteps2$steps)` steps. +* The **median** total number of steps taken per day is +`r median(totalSteps2$steps)` steps. + +* Do these values differ from the estimates from the first part of the assignment? What is the impact of imputing missing data on the estimates of the total daily number of steps? + +: The **mean** value is the **same** as the value before imputing missing data because we put the mean value for that particular 5-min interval. The median value shows **a little** difference : but it depends on **where the missing values are**. + +Are there differences in activity patterns between weekdays and weekends? +--------------------------------------------------------------------------- + +* Create a new factor variable in the dataset with two levels – “weekday” and “weekend” indicating whether a given date is a weekday or weekend day. +```{r echo=TRUE} +activityFilled$day=ifelse(as.POSIXlt(as.Date(activityFilled$date))$wday%%6==0, + "weekend","weekday") +# For Sunday and Saturday : weekend, Other days : weekday +activityFilled$day=factor(activityFilled$day,levels=c("weekday","weekend")) +``` + + +* Make a panel plot containing a time series plot (i.e. type = "l") of the 5-minute interval (x-axis) and the average number of steps taken, averaged across all weekday days or weekend days (y-axis). The plot should look something like the following, which was creating using simulated data: +```{r echo=TRUE} +stepsInterval2=aggregate(steps~interval+day,activityFilled,mean) +library(lattice) +xyplot(steps~interval|factor(day),data=stepsInterval2,aspect=1/2,type="l") + +``` From e3f846f33d28e944f1bfdd1c1593a4b8949f66da Mon Sep 17 00:00:00 2001 From: Dante <110073352+DanteDamian@users.noreply.github.com> Date: Wed, 18 Oct 2023 07:09:39 -0500 Subject: [PATCH 2/4] PA1_template.md PA1_template.md --- PA1_template.md | 191 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 PA1_template.md diff --git a/PA1_template.md b/PA1_template.md new file mode 100644 index 00000000000..8be1da447fe --- /dev/null +++ b/PA1_template.md @@ -0,0 +1,191 @@ +RepData peer Assesssment 1 +======================================================== + + +Loading the data +---------------- + +* Load the data + +```r +activity = read.csv("activity.csv") +``` + +* Process/transform the data (if necessary) into a format suitable for your analysis + +```r +totalSteps <- aggregate(steps ~ date, data = activity, sum, na.rm = TRUE) +``` + + +What is mean total number of steps taken per day? +------------------------------------------------- + +* Make a histogram of the total number of steps taken each day + +```r +hist(totalSteps$steps) +``` + + + + +* Calculate and report the **mean** and **median** total number of steps taken +per day + + +```r +mean(totalSteps$steps) +``` + +``` +## [1] 10766 +``` + +```r +median(totalSteps$steps) +``` + +``` +## [1] 10765 +``` + +* The **mean** total number of steps taken per day is + 1.0766 × 104 steps. +* The **median** total number of steps taken per day is + 10765 steps. + +What is the average daily activity pattern? +------------------------------------------- + +* Make a time series plot (i.e. type = "l") of the 5-minute interval (x-axis) and the average number of steps taken, averaged across all days (y-axis) + + +```r +stepsInterval <- aggregate(steps ~ interval, data = activity, mean, na.rm = TRUE) +plot(steps ~ interval, data = stepsInterval, type = "l") +``` + + + + +* Which 5-minute interval, on average across all the days in the dataset, contains the maximum number of steps? + +```r +stepsInterval[which.max(stepsInterval$steps), ]$interval +``` + +``` +## [1] 835 +``` + + +It is the **835th** interval. + +Imputing missing values +----------------------- + +* Calculate and report the total number of missing values in the dataset (i.e. the total number of rows with NAs) + +```r +sum(is.na(activity$steps)) +``` + +``` +## [1] 2304 +``` + +Total 2304 rows are missing. + +* Devise a strategy for filling in all of the missing values in the dataset. The strategy does not need to be sophisticated. For example, you could use the mean/median for that day, or the mean for that 5-minute interval, etc. + +: I used a strategy for filing in all of the missing values with the mean for that 5-minute interval. First of all, I made a function **"interval2steps"** to get the mean steps for particular 5-minute interval. + +```r +interval2steps <- function(interval) { + stepsInterval[stepsInterval$interval == interval, ]$steps +} +``` + + +* Create a new dataset that is equal to the original dataset but with the missing data filled in. + + +```r +activityFilled <- activity # Make a new dataset with the original data +count = 0 # Count the number of data filled in +for (i in 1:nrow(activityFilled)) { + if (is.na(activityFilled[i, ]$steps)) { + activityFilled[i, ]$steps <- interval2steps(activityFilled[i, ]$interval) + count = count + 1 + } +} +cat("Total ", count, "NA values were filled.\n\r") +``` + +``` +## Total 2304 NA values were filled. +## +``` + + +* Make a histogram of the total number of steps taken each day and Calculate and report the mean and median total number of steps taken per day. + +```r +totalSteps2 <- aggregate(steps ~ date, data = activityFilled, sum) +hist(totalSteps2$steps) +``` + + + +```r +mean(totalSteps2$steps) +``` + +``` +## [1] 10766 +``` + +```r +median(totalSteps2$steps) +``` + +``` +## [1] 10766 +``` + +* The **mean** total number of steps taken per day is +1.0766 × 104 steps. +* The **median** total number of steps taken per day is +1.0766 × 104 steps. + +* Do these values differ from the estimates from the first part of the assignment? What is the impact of imputing missing data on the estimates of the total daily number of steps? + +: The **mean** value is the **same** as the value before imputing missing data because we put the mean value for that particular 5-min interval. The median value shows **a little** difference : but it depends on **where the missing values are**. + +Are there differences in activity patterns between weekdays and weekends? +--------------------------------------------------------------------------- + +* Create a new factor variable in the dataset with two levels – “weekday” and “weekend” indicating whether a given date is a weekday or weekend day. + +```r +activityFilled$day = ifelse(as.POSIXlt(as.Date(activityFilled$date))$wday%%6 == + 0, "weekend", "weekday") +# For Sunday and Saturday : weekend, Other days : weekday +activityFilled$day = factor(activityFilled$day, levels = c("weekday", "weekend")) +``` + + + +* Make a panel plot containing a time series plot (i.e. type = "l") of the 5-minute interval (x-axis) and the average number of steps taken, averaged across all weekday days or weekend days (y-axis). The plot should look something like the following, which was creating using simulated data: + +```r +stepsInterval2 = aggregate(steps ~ interval + day, activityFilled, mean) +library(lattice) +xyplot(steps ~ interval | factor(day), data = stepsInterval2, aspect = 1/2, + type = "l") +``` + + + + From 10e02db73de4dbefc19e1ffa1c0789d5b2409a96 Mon Sep 17 00:00:00 2001 From: Dante <110073352+DanteDamian@users.noreply.github.com> Date: Wed, 18 Oct 2023 07:10:50 -0500 Subject: [PATCH 3/4] PA1_template.html PA1_template.html --- PA1_template.html | 362 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 362 insertions(+) create mode 100644 PA1_template.html diff --git a/PA1_template.html b/PA1_template.html new file mode 100644 index 00000000000..68aeb592b04 --- /dev/null +++ b/PA1_template.html @@ -0,0 +1,362 @@ + + + +
+ + + +activity = read.csv("activity.csv")
+
+
+totalSteps <- aggregate(steps ~ date, data = activity, sum, na.rm = TRUE)
+
+
+hist(totalSteps$steps)
+
+
+
mean(totalSteps$steps)
+
+
+## [1] 10766
+
+
+median(totalSteps$steps)
+
+
+## [1] 10765
+
+
+stepsInterval <- aggregate(steps ~ interval, data = activity, mean, na.rm = TRUE)
+plot(steps ~ interval, data = stepsInterval, type = "l")
+
+
+
stepsInterval[which.max(stepsInterval$steps), ]$interval
+
+
+## [1] 835
+
+
+It is the 835th interval.
+ +sum(is.na(activity$steps))
+
+
+## [1] 2304
+
+
+Total 2304 rows are missing.
+ +: I used a strategy for filing in all of the missing values with the mean for that 5-minute interval. First of all, I made a function “interval2steps” to get the mean steps for particular 5-minute interval.
+ +interval2steps <- function(interval) {
+ stepsInterval[stepsInterval$interval == interval, ]$steps
+}
+
+
+activityFilled <- activity # Make a new dataset with the original data
+count = 0 # Count the number of data filled in
+for (i in 1:nrow(activityFilled)) {
+ if (is.na(activityFilled[i, ]$steps)) {
+ activityFilled[i, ]$steps <- interval2steps(activityFilled[i, ]$interval)
+ count = count + 1
+ }
+}
+cat("Total ", count, "NA values were filled.\n\r")
+
+
+## Total 2304 NA values were filled.
+##
+
+
+totalSteps2 <- aggregate(steps ~ date, data = activityFilled, sum)
+hist(totalSteps2$steps)
+
+
+
mean(totalSteps2$steps)
+
+
+## [1] 10766
+
+
+median(totalSteps2$steps)
+
+
+## [1] 10766
+
+
+The median total number of steps taken per day is +1.0766 × 104 steps.
Do these values differ from the estimates from the first part of the assignment? What is the impact of imputing missing data on the estimates of the total daily number of steps?
: The mean value is the same as the value before imputing missing data because we put the mean value for that particular 5-min interval. The median value shows a little difference : but it depends on where the missing values are.
+ +activityFilled$day = ifelse(as.POSIXlt(as.Date(activityFilled$date))$wday%%6 ==
+ 0, "weekend", "weekday")
+# For Sunday and Saturday : weekend, Other days : weekday
+activityFilled$day = factor(activityFilled$day, levels = c("weekday", "weekend"))
+
+
+stepsInterval2 = aggregate(steps ~ interval + day, activityFilled, mean)
+library(lattice)
+xyplot(steps ~ interval | factor(day), data = stepsInterval2, aspect = 1/2,
+ type = "l")
+
+
+
{(3GE9eS*|($xAG5z3*d8C1neDwniSf zugt0KSA~w$+d1@GhWAzbd^A>Mx#gm>srxu89pW8?n0PMs;uM^deoxL%o7LUlfyC8b zpWI6OJ&Dj5nLDDs9*(;YODR`*cE+MU#xJCQK*oqoX6-IIAz5H+E45Du8Ng~njvTbw z+Pd93pMF}3w(k=ucj&F{M9!8~aNpX$0f0@sqY}RlAUry8p)7O~2I!M)1bdEf-Ld&M z^A$OHyH`PDEbJXp{gOiy4Xa~6@3Zd<9ex=9pqyF(fB5(qoX_gV>G$mJi64g_@7=2? zH{C|&J66N5tuP);v8JPzOtx8{GGkM+r6@z|-?o{;9BHhEog+QH*Xr5%H{V>5R@{Z4F_L z-IiItX_fa_dSrj7FBksM3EtDP*8f4~cR+mJMm-;fQ1ksGm>rFM-q^CXm7}zQ1$!%A zzH&piqq4T-RyPg}ywn`!kOMP_Qa_Z6QiF||A3)<4r&79T&QLp=XJlw-(rC(ZGVh@1 z`{~%t 0!E1d|Gob)9t~6Sqv%&v=KtQsgGgbpN(260#4iBk zNaE#pB9TC)z`xfM#O MGakJV_1^@k;G=Pa!I*4dh)gs~FuPLE! zIQs8w&~X31c*AC*%pkv;i>r8BXe9)S$f6Z@djcUi`ObFxs3$CHbTkM9`+eq@t)mk` z@&}CafQNe|$0p)2IZ|i^a*J>~m=_*y2z%DF+7&*y;Mhi2s*u+pOljaGlj8bF+hejo zJt>^Q|GB}Zm#(&@^=o)@&0el4t_12HMcQSFwq-3M5Q3;NQaoSa6NubD+bRucPzwZP z?s>+abNsvMK{%+bCCNe%|92=h#L@A5OIKv3GymIoX5uGgt2*06!>OX`Aa1=46)=f; zIQ-LAX25dNZCCuxVuNd*!YArV)FSzW`jSM7b*sWMzf+mFUGF}-y1zO4^#m)2!5=AO z 4 zXAM&hiw0qYK9G}NV%|c$+{j5a2ez5>KksU3?}jSp|DNu6Er6nEF-H~1@uh8sOn;0S zLZ%+S7~?+^ w;^K z|8tmlSCk#aJO_1FeVND3=h08Dv{$~dtKT35#Tpg}f@^MJ_ZL&qC;NLxc)^AA$Ugju z?V-Wk)yGK#ArHPCv|VC*q7E>Xo0Vt3^*s|r49k)(xBP>;dM4)2Q**oW+7f?N{YhRI zluB_N=@G8?=*s8*gUosGk`If8YK|QEr2aY@SU5~t^0`R4^fzeGdOb65?=x_4`H=2I zK+ZBm$r?|G^5=agt3p W{N9EAsVki<*QbM+ZM08`HwpjwLQ)!YpF-S zR2 A;@Kmo$ek zV*{sJH?e~B9pba*oj3t_; a}qh{wOSZL_#)pI#w~MN =!)oxU3`2w~r@t)k=0 !>$mC*xk6NhPL!TUa*o*My5vRWR|R6Gy!^_^_H4R10aGRM z1KKigv|*LYu=i=BLkV?g-!tu>jM#4V@TSdYpUP*7-cB}S!xR;RQQ@1h33W2(Hb*Cv z8QFt=YH}(^uc!968F}l^XHL8rv6<2H7eyX@Fx381x|MEP8mi+7Y5BD1YoUHh?Qj`_ zO{Cm|xA`gBufu2b IjET2ckB z%Y_SNb29Cl+&qSr(Kv^{)_yx4;4{G`Xc-IP*>S1GTDVgeaa?i;-t)h@!5+HW9QgY6 zbW~h3!+VvR?5x)EPC=}2P`DC#!=O6;l{1kt?KG~VZm>o6;Tg28s&Q#+#P}W6?B#@h z!Ui)zMo1_F_wTZ|Dr$DqIvD|G* #8HI2C?9>%!=hBF-ZP>fw3_gZ=0Ze zO2*`j+`x*vtFg^evu?$8TF%w^_LR{*qTR{t{K3AR+eIyNVF+^7C-mWdh3H=9WfG6! zKJ{hvOh%*e{qb$;M7^w|*Wss!UmA+j?wOr4s37y0JwC~H+_Me-V17G!X+ s?3N1%pbiP;?ne4 zxeFMUwn=`*%-aWFb&&hWPlo#u*1qg_qasw~w)3Vp)OhU^6*h5u()J~5vhDkKL5?tK z1)TkrfY*d~w0=~aEMF1d |hB()cnwQ~N=+^v2$12;!)j(7`oj+tjiE5_m;`%h3ogQvKiOdZ0MF7E!>|L*$N z#lZr8+|Aubz>%owAN79$CMSSK)Zq(9rtcetIC}1`aH1seQS)2>`zx!*B6i<|9G4C9 z)zUdt61iZ%5;z9a#9YlU_U8m_CRlgIzK5W&QP*QL4R$j&i|<*HWE=xY#{Rn58x+s9 zzC7>!55rz5qXpk}U^Dc`Gs(V0tG}4H%` `ZZ4d(CE^+wix)r5Auzpmx$Wj+=_mU@0+9W=~dYP zLHV1!mxr>xs{gDfz5qCo#Oo;6tXZVRhV!mir=pub&A86NFi7P-#kLeCb$=Z9rqRtN z=vb%9Qq@)RqhD7TL8a@KTE%IJQA=Z%Agqx5Ly+TKWgdJqJ;QtV=_OMu`#%t^|1F@r zKMs8Od}qF<$O_Qpc_gBBeYKUzTeswq+EAL6CGD|4Yg+7$0~SZmd-+wMAN2uqjt9 zT|8q@>0B g%{baCbsn@59%jpt* zm0Yt>O5`o;6sUQ0|C_|Wj!jPrUH>FH^zE+EeQ%?pk6sX%ubRq^f%PaJ1xgL!Y`w1$ z7(@`0-ajOEp2t0ugDJwc=KHf1k69FgMyWo4{>7feSOC;6HK3NqcPME&L=|+iOyATu z3t>J;?^~R?I#1#8ZtE8?{x?cAvzkOVRUN}(#a1rY#W0tNehwx47bPlRp%CmQP5YYi zKZS`>I}v~!D)mD^{l99YUjT(*6CKf_|3kRwQaG>ScUc3F|31$+h{}h$t>|1C{|$J{ zC>?Ye!g V~kCyE siFWba2AD+0(o4~|YdK`{ A8! zdaiMs|KCcd^YqUDMbKp`-zgC{`a*ErX13Ii)6IbUxodoG9FZ8{Nql>EBw3#4(Q>8R z&P3;Q!2Q+M#CKWjWPY=-t38w-4)piysisbohkc|O1hrt&St81o*bc`fy1SPV0lIgIbnjqRsJb18J*YZs7LnbhC%j zm`kJMaH&aUI7L{6cBR5By#2)ysytiuAx55T4h|-$OFms{bWcd+)*rxT@MZiPzy&M@ zsPJ1A YCf=uuJ~3BrHQ@OD%R1MmHB}RZgz|H6|=(rtvEH9 z0n@rxxc7@Y!=fv03~RQeO5e~7&W^LUoz=W_5ah^@S0@0{esXl2qo)OF%%Y1 ~#KHdoc6 QI%h>&<<|g)TE<#|0*EeIOH0 z_faxMg+|L?EFIfe&og20YoSY%5Muu|efJ|SU6zT~ %1Tb864d#fcqvF_UT|7ZQ z7J31GlZ-n|Qv*o9X37P{@g>yhiQtenkSTRjc++qReh0@F`jHIs E{&&KQImS|coByT`e4El@6VM`abejZ~ksLw6kWf;hJW0WWEk0iPtq9K52 zF8C4IY)RrukG;Hybr#*{3V5B~=+XmAC+ZMMVjFbmGzv2qoKXcRf=O5lA5NJ6wBOBb z>>*HLF8qPMD%6JE1Uq|ft~1!Us>fgRc3cdL;jI5`G=O;LEJ8_`qSdXj I6qGAazV=wzu>=0_of*Z~{XQ@^6Ocgz#QDJwJ`S7zv?-syKDdBo_r0KO z@t+K)PmVQdw{$NFY *hJ4fdf1;;Lehi718arFKa#LMdt8B4iy6oC z#jSScssZjw+Ru(MzQ|71ei~~aKeVo0F%_R^H83<2U&ezNt`Cl^7UOIQ#*S0Wp=Ora zZahj>+O{?nW%f{}3JIUV{8hj0$|%|Slly@K{RnlomvxU{k@5i-%@EJ6f&Q+_(&cbh z3wnq+O9W>hY4c8XZO2}{H}jzAmyPv45~xl&V(gY7XRB3D0`H ^Y z9*T4HE4b~!p0OP{?bgvtR6*L~LZ|S9ug<<@rY@K!ja0?DI7Z@z({T5g*aKd}OoJBE zmJdmZ;WjaETci9p^(c_nnA11)qG_Cz=@cu!3{j4-*y362m5B3=5j;cXTV3c9nmW8K z%DpY)QHx0wCo7Ig-%Q+G$0ZAhBkcKlAYaZjMx@b<6@mLhd-xhHuSqr`FODsmEr=Ag zOtyFg8g4f`@h^EtE+h`mb;#~@kNSPW@ *cl0f>Xcrl9>)Tr+uoQ2gmG=_blr47KV&Wx9~lK~Mx8dF_3kRAtoU}L8YQNW zhvYUq&2;rx_>$Yq!KiUn>jvkGX|jSB `>FOiiQjh>jG-?_8g>hdmP}qVS!XZL`Weq;9N&= zpK+tXSp- zepd~aKQMQAYd{PI8!_re*IHUEeLBotdpDFV9gaz#t*>7&STd#g=k^sbv;Z@%lE= wBiy`%rYU^mfR%p}&z(;@^#)atwHd-1>yI|L?o*9C89>T4vcH$E!=7s%)49)B zK;w*9%aa3Z+RY+d_@Dr@O=iyjDq-4i=4k{gq8?kjkRr~cNiJu*!bGh|f!RmMk+pg~ zm!)LuHWL{95|!kpz+K*$iGkc7VVu^zt8`{Vs1V>B@cxaZmP_ BP{PSLn2^joYbHCyqR~&3Vjm_oLM8Vx1y2h6HWWeQRJ^eP8 $-cpp@2OR2F6H1J9{Pf(e?s-X!6yZe7 zhNJ!Rm@8Yb{AxwF`EaFRa&@xl@{28rT*POk)o-FLAYf; rd$D&~++_o3q&88sEtWo=5vfE-cZPE%(YFRl=QzT8eq| z2d_x1v57ujy{!lXFWUz9bv~xrX(c==nW*q7?zY0e^{83qXOH`i=2_6|Ct)0(@V{_5 z79owus}xa3p0@>RU)fX=`!{|iSd65J3HV&tB@5YncH174q4!6w{)PK*dXE5=$qzHe z0o>2DKWrC0vtKS=(PAf6`iv$AbXZdQB}TctL=s4aG;L7$sVLBwmdGoTE(0E9WBfwp z=owAdjY`aM-g7}7+%)WO2e)UkLf#ic56tD7q+q2Ymuw1s`0Gc*an;k4o{ifYAOOyi zee64|ILy@ck#z7TiepK7`ZoW|kL|}+X-p`Jf!o=)FP2Wgv=jKZ0ki5;WjXwrghfGV zuF@h;JyTKuMX?oXvhew@ zV5uLSv6aW+*FLI$T4_C66dNtS&*R{f%PtU`p$)dY#2hS%yU>8MXbhH^HF+F-Mlmz} zsEMk)Yql6nB*CPgz6rwU>8p%aL?LKZdg2QL8W9|Eq7uCtfxe&GWjrWqh)W~P82be` zVyVfK^0tA@fc+I~JQuo;@{IM&Oqs(0CpL)_9syU6PAS~_%3}99m&wA3e9Jh@nH|Sa z(EV+b;o*fCm4AE6Y5fQYT0PU?N;49QDP>mSr+H1!pNj_bMB&@7Xhayh4Z5K>)0A=} z5;6>63d7LjOPbLNBkeI)DWeanRkBv9(K+pu-v{Qb+;^v7uA>s#ScJ6S-q7IT;Q ^n>Kwc)s~cRcWt@+liX(Hx+E->8!(D?UO`DLgS@@WU8~}Jx^02jgHQJ z3pS%g#0R_MyCMnX4sSyHXGi4^sn|}2Q`W?CPJ{Vvw%jcr8HM1d<7N=p%`{pTom%gX z+Ecb1NFY*JfOHzi6jPazg^nZF0WB{#>b>PJo3$+V#O4D>hzCw~vjhJ48InC18`<`p zy1?24(J{<7`e73#`l4j!;m*it-qu;2Q|QNVld&wB$F_Pu49_0t^ar1Wp%r&S0m0H> zyPs>dXBCp(0-)Q4%*a>B7aMJ&$mqwNmOivGPCK^XxkM!HxqL?ROY;G3=8zSTSWRUA z`Ib(pmm3}`ey!JPqq}p+<#t7t8N>ZKu4d{*twR>fh Q_UJBm9h12QriaYJ!pxxe+V=pe+WQ>|YpnmQiqWXM$^+*&7t z!?)1O4$S{lfj>67;=`<}yEJ6wE7BWl3j*xz5dabEx^#HOkF`qpG5zA1lV5>g$7hlB zpTL0MV@!eNvh}9Fz}!%uAeyF(Z-#$QSF1KYeR^w-`*((zRl(5IK<>j4Ed}vEzAJHC z)&KBcvMTL35%>LlFP+BC8uZLaz#~0W5Uy1@GUmF3id!=7zBwkDzV4@pLyDbvQE@I& zH}b*)Eo6a|4j`_=u|PUy*pikGqe%^?I`yvPj#DD;M_JO%I?phnzuk{$1iW>Qj=UOU zaQ=N%T6zqoagYDkZ_)I0DHna-b;#(KtAeCTvC_eQOB;Brnye@)5U0K~&L4tL9~>^c z#Y8^h$`tVn2NHa~e>LOpA_NGimwgX38mu7`ry79^-aMx#v95JbvM9`H8PP 1p)XC_vodG7hBg41H?(Rg-bBuszcyb2F@0$5rf{WNkE^dgtA$d*l0pDnYm; z$M_5temFEZAR9LW+pT>}!KX&t=e|j>tV|2k61QHy-4fGbb_fv{M?#)U(2g`;r2!{Y z86(SHG#0hrDlsB~ 5+IH!?gURy4pKq|3k?;*MiS)E|BmXWo9kbPX}e%dp#Psa{f1W>ndC36I4)BoQ~Y z2Iu$JOi}E=XJbKlJ2V49!ZlT9;%f9GaY@F^M>(z)FQlShT`8gvS-@o)w^}e-uZ3y4 zclxq h)}GzWN0+aU0lf0vzT&f0kT&Ro z)*BqbtJS*WOJv0H=sVvg1FBrQUvjN|jtd~Rtk*Uz@z!M{0NuV!!i;;*&-QG*$Kk?u zj#xdSm|@3 o^d=0b_1{NPPF1 zOq0U}%Pu~?*yA8Y`cLo1)Ws*L2_uE>9g^04fgHSaA`8KaO9DIyJyV_I|7DC~YhZjw zaCk(IN-gFQh-L^^v0aZDHyuAB%h=(1X3NI6qp&BGWEro3xTg|64ywi{S=+uf>7c46 z$<`{+J4<|DK@-!#Vq_ZKh N@W<#>;sy#^@u+Pkq6+B45 `ju*Hbn$#CV`&2NW(RZ?Ig*#netb42>Oc((gTNW zh@tD*Gse~CnDpmzG{j>O)>qK=qvs43UbvNALNB^m>cMLLEM!mVd<8Ys6JbWEg68bR z+<}P=?HRSyh|{=_veQ k_|qP7_t$dFG5`^!pTOJwwcqET)a4rMD)J-5Mnj8e zTn7$5+IYjXa;sJzT!~ D4?;?v$N97RwIS_P8V(ud$Zt>DQ zXD?1;bW%)v(_zI8wGL8hn-~W);oK)uKl U?Icbb&p7lp zqzAOci@u&M#Wio#3zxxj@V>L>PBhthaZ9RP8!fp6f+Sk>kX9vCbL-M@{o1XDk3W@( zH>sY=uV9NZ2~qOpy8F=EEu0C(eG%1|n= V`^;Sw-J#3*{mrQ zU>V(ww59&+V503-nFTJYOM<+pkYgA>mPwuHcs^d~@ z7AXTkPC|+#fAg=2*F_fpb~&J1Ui&RLeM42{;lM|>X8`3|yqxuuOl*>9ZFQe2!i;M` zs*jE(6MSef_Od+oSsjsDwsrF@7wNzmJ~EzMOCP@Ml0%h5`AxrSkqT( Lp zE_nH_r0%yujH-`w63Y`JjmyH^gx?`(Od+9<##Px?Thphf^a+i)phM(=?abf(M`9D) ztC0`o^NxNUE=8kFqq}HKSgdm&N1lcyA{uU#ThL!!$w~)Qena(E)=2ow5V-#OjO2%3 z?8xs3wjv&R&CI{22(l^6kHnYLW3U)LkNuLQAF q5IMuq`Xfbb_Lm2Uo4Fjh(%yZaOOyZ+6LmU+mp+Ci=#{ z9=8TuPv@?W#UF53trL*iB!6B3WKi7XT%Mky4nhZw17_Zgea&KA_cPYfQGH{ee{00x zJto@xdM9iom{=w)eu$mtnsyS{!ph?9EeTv!X{Y&?B^wAF1z0kqxu>1a4?f^*%i3Wu z-)S6?OPm=+aX~niA;_Z{ecQvF$q;kb9trm-`*3VINvbEo-?2O^!I+2ZM#ec@k3tyx zM+T`0jZQbcIyj{9C6SjA!jI6 QGo9w!Vf zGTb*vLzVR_IwWU@X^aRbeU_-@L1_J?ywn~I%!b-FUa1o)!F*}jk+UD8hwzp%>yh^@ zT0iOohrMg3xFn-f@Xg=<=#E1@Q)x^QAh*RhJ{psbu^UE6B(7Qx7p!>p-B5&~>VNnJ zU>X{iE{>*nFYhr1g9 2p#Ot91K2NBwl8 zZjjdk2on5@^q?C>N8(d}_;(NT-mVtga*lqgTjMKGx-z+4A}sH^=?$JaMMV|>X^uN% z2cK?`q8L?I9~DGI{KSkqRO#SPg$XgLC$}zH4nk)~3+jn87k>khiFk)4N2FyS&IPqQ zoLHSz$|IMu#12_~BF996Pd}5DzD>o13PaAgPE{;H!df#btaG5|gX~KIu6U*Uijh!7 zcCGj&QXRy3v FS5j3}P;=6|k#Fb;uoMsXmf(UGk0sej9;>W9 zmSKgj?ooDss8VB%7Xu(Qs{3BQ<^GLh^(cBYJ)on6xu{Mjk%0^OPLx1Kzgg$ES`i7l zlM%-L{x!$@4zLxdeK^)alk6CkN%(tXG(#B=jpnUp1b_GG(1}!IUY6RVXTP!Y1TS|H zW7RS#Y+ Edc3iV9t>DOp@zq7nQ`kWYp>F7z^Tt7I@^T;sEftVpegINm#q>tY8 z73y~xwGxOQT2!alQo>y(wTp~)-3OL#H^VdD>tr`h)0Cd-&?z-rVMFGxpnlaYQabFH zy|Ib?3(KTsUWn#JHaK#7(}6|Dl@yT>Xpfnf^T@1&!{k#(3Em83nyimV!l1N}wYn#v zy$C)}7j51PKk#@_-@*#TDZi%crgrTj(;cA<)>Jhdg9G{H=aOGO89l^l7<5DNsD4fB zW}cQGer}mY {K zmUX;lj~>fJyg#1XnvE+zGZ|K+Ho-(b4$|&WXG`YSJ$TZs@}r;yB(eCb;vzWiOA_}> zqaIL@NBMF` {26M5M-nRll}#8T$NP@J}e{_*TzQ-oizG%5jM* uy?xWpw^2?Tr|4{ggp2Og-AZgWB;Uc12kK{Cev*f6!p4 z-Au=owf;|3uGxrt8euEsO&?_Pt-?gVm>XL!wg364hh*Ou@d&P3&tZiq%MRIQ(fzT8 zgV;Q44XH`zH$jT2<7zk%P*x;JCeHSa?yr%h?_F+Uhn(0yuV4`0-=`QrePzHnPCMzR z%@?0M40G3sAwymlpZVxNF_>GukYN1NzgF~>8DDFAMV(oP|6sPUv9{Sk1N
kX$ ziXAVP4TEy8D8ZK!C%X4^!T^R<|M#~o$qJ)Q1^aWdl=B??>G`|in4*d81?C+^(eyJ5 zg^jUSU2jp(T>v4zcPIbN+3uanBdM4jrCN(UHeO(yDXx}PaC_H*-c22I&Xyj!#Y`I8 z$$XhSebbBFgYk+2na4>b>)0#Fb*BwGO0@KsOF3~A5 9!(xKyR_UT0( xoF NtsK5bDd*2irpQ0~aN|CG zQ8seIEI+pH_sBDAGK6q4uOQOR-ky7yCYpCdy*IdTz<(x_<>WA3UN{7El(C7Kz7XQG z{XIMvrHc4drd?*lUWEEj86_deGwX{LfFj`UD%A&T$dT11=Io~I@oGWgjB=@>2j)0? z6xn}3& C$J}=j|RS>Z_R zTW7H%A4fR$hQOto%p=~_fzOPgj^Sa}5E!6TL*&T#F;>6&<6|tUY@}U7|5Med%=1dD zcWPHJH|A2K82X+;@fUq?#)5f&;VNDnE 12M}(i h&}hP%}LCP5;=)T z8iPF{M^e#;SYKtaB>coAQU~_JD|8+e8vvKYz P|?d_>IOUa-N4j<^R1WZaH?ExE&QrVE%`)VRHgMq{?}435o+p-u;q zuW~I|V2V7v_x`P|!A#E`mzyJo+qN=%Hh$#9a$YQ> ecIurHGg|~*?_pAj_Ud!rky{2i%K%RuxUeHH>|k4( z+;zO^BlDZN5i??>IX6`2ftV?VBC{C%Be4eLea6ET2gTQ5Hlty7LHTfj`$q@euK{7W z{)^_ihdAZnBe^5Z4nDc&k=MC&dx=FJwEF6y#!?)fF{EO9&ux|Unl_X`kV6R(?#`k3 z9QQClf_xTAZ>f-rO+dYYs~mzwVE$()`OhLs4>*8&9E6>Z79S7K9Mw4JU0Z2zEto3N zpLy%=pPu^ ~m$W)IjM ebo5(Lvn1xTCn!-xS4BBy7Rpaq*My z7;qzwtnH;C2nLHATIx@oY_m{cP@VR4Rc!Y?gHa@uW& o1N_*4P z^2t4NL8HvRAUa |F6Wj9s8ZN01ORRjyaH_ zUm0IMqfvaK=@*?K{t|7JKX*5s#`HLIm#JTB&FVR}xZVp603goUH-eE%OrHvoLvK4$ zBdDH+y|;uT4^$cRD!uXI1VO|ZBQ6xTfQPoM^ HFvD z1k#{i#yiXciWCepF>Xf8eF#}Q?6!uokZ8~SEoN C9 #^yuczS+Y zNb+&%>A;iGUj KO3BWVm`q_4Ehb#sauTco7NUKtjNg!B+y1Z>`~3Qf6uAy`y27w60?aW}6nq!7j(- zE^4hGv7^H^X{MA4zM!%a zk2JBHugyR3HEoGYWmxd;YY5Gz>5_Nc!c7v9BQ7 $jPzE5ykz8V(gv zRGJ5S!kEIkktF2aVQc&+tlyI}tF|ArL*8+QfX5rE_St!S!K>TnV>_y_?0y^+?=Xrt za&>;itgcom9t`7xela`b#+0N#NejsQSCEAWY1c1bRzGI3s -qa z#*BBdd9-oy6Ym@E;@n!_7B+;Fh3xiHut_G(4hb`2)pL9uo!QWgA>{nf{Yg8@%|0ff zGauHDj9(;BM-4rUi<6~i+cj+;h@;e6g;v{>$QpNUgR^fWK|sf#1@F4$ie~9gLY4Q} z=?avp@TEf(;*kuCMm@P@aG6k|jDc<^)97aS-Zh!*DadRRg*p(i4=*;N1lP6z__S-- zM=zQ`N`r@n!=6zdI^ZzNP1trej0R*GVG^CYY~kWd?(jqH*KbtZQnFCe$HxW2Powht zIz@v>pa;^!26py_(d}TV&y&G@67I2WO@mGAFJQRFda{Ctmk4U3$Bo-8Fx(k_6iPef z&`-buI2N5R8*2Nh%uGG^{JQA6y7JBHfKa YhBDpAHXyxqUvo=5j4O zvIf_p1J5xpC@eDnOE0`;ab1YGShwYKUdDX4UM0oR^MdiO5Wy-%##XA!!y>a2r}P_G znwF?|=s0SBKE;k+2k77f<$vN!lFed$d%B2{2d%cY*%<}{O*Thft2_c6X$!pFbfcys z?S)lXHdF4=ZJ8aXGKhMo?qcCP?lKSV9{e~AC{D`w(W9?jV9K^Otw;xZLyFQ@R=hOK zJzuP-T9m1Y*LJ9#Wt*oj^4NJ`=wbrjo7pd=-Y=HWjz^Xoo*~l|7Bt3GuFByD$G*H< zr)i6 PN=!XM9gD-+X! z-EC~X+P1}BM(p^ie&_=~JGrrZB&nPekM4R!sg=V>u-;H+h1*Y>(i}xM6{bFT7DBm}lq%exJk3+BvgevlbF?+n#!_)<4 z+F8s-8E5IO9xbcf6MN|$8!2rbidDm1FPAI+*f2Y_Mjf iA)OJZofk3pOyT|a_xIp}E}F6)lm z;DJKb#g!`B o zw_d`1u?%=lV+$|1o a;IU<2a=ufeCuYCL$w&;Qcaa7uznZb zO)oL*AXVWSLX
B+aug!N?0=B%$Pa2_yc7u_Ym$~Vonv J{h6E;FqD^CF zFX!k!E+6}=8TF^Q3cn^FrVRU=4vIbN#VRnU63vFqCzzmxLk)e&a`Y*c87;~iBhj~x zgvBT-))rCdjUVqo{rK+2GQHy=1oikgLw8fBcn>Su3 v-abGlE*W6p2lEl0 zm~Zf*?wy};l(OsCBchU{mvQj7CtNE{Jry3XWDd$A4GhOM;wvUYFGH^-Fe+#MQDf1P zjcVO0vUIHnv7v?p(kC_wnikHbW>PfNmq=#p`Sy7e^7l#3Z&OK|nC4AsjE}mBf0uz$ z*8dVxN!%hr_Z5XNbuzzBb>~lGac>DL)4F~Oay^ej>x18!4W{`q2U>{pb5QL$gUJAY zh|wPf#U;iT=4eIg9d9#ATOTLwklWuo=kIl#C^1r_`^GUMzU>4l76(0?|FpI`g}z1| zbE4gJ)0S+~_Bevz4U-PDrr(@*@{)!;!JA<93DySb|M@L|7?xR8P55yLCO*CED(?r1 z8md+qfR_r|3Q_%*?XH23uW|VjpB7;^0Q{=qFAoX6 681J0 <35Ig(QS+AyN1q@vS$W)-R1x5MMmHYKt0+xxHFKjIY{ z_}sL`r#La3f|3cru`_>;jActDrj54t1@3z(BmLXNX9klY9MmXYLP!9TAq)ucHrzPA zlrzetY``Oia?OaTmf*(JJs4ur+=QEj^41@&=bip0?VyrG{ZxUpIiP^SjKF8k4Ds7t zZ}(VSa5GgHHhSqo?z+ogbAFT%E&ivXRKHLbfEemI-R>D+Sy{ v*ZGKy$GeBbW5`-h;3nc?y!@?yp^tVHqu*wlJ FgJSjCwqP)P@VpYMC yIXc=EC~zrUL$W-2=31d@v3CjtC`UGsdcqMzG3=aNNl6Knl^6?=R%GUZbGJLG4o?Zyj-zfY-LBZ=Il z0&OqTZFL~Sj_2u6nRarBbW>||q*LA_2m=32d2dDq>rnIr?RU=*K{lSl-@ ?~7hB$Obz;MvXHX7b@QYly;yoawUMKw{~o%~Y8|&CJ&F z$W*PTZ22&I){O|KB;Cdn!>UHwvaMgLt2o4=U)Aiz!sGUj(7=6Sj%MVwxb5X;aXm dc)Trsm4Ptps;-K^qpI8&J@|zn%buzjzUo|&(&eglN%xS+ zioQ|!>|N4Z@p7+M2~3+Dz!hz&&+ z-LYzWo7
k6U;o#h|~E*qP?CH_zaC zX7xLdad&C|khy75>4erJ{kziuTL@LL4m7zvt|u8{%|CKCHj9Nd{l-H;LYjv$`q`JtC@@YvJ)4b(hr)TOmUmZjTdK`-pK@J}= zPXa{0NP8Qgu9FQTNSQH8c_)^egQZ^U*)iXQy`M%m3^AI=EOqdrj3v&ipm>38Xqu}z z`z-4_ #9k`C9K6uu?d zHOPbM)ckXg`{4SaL`Mng?cv%og#`Z1I=K4GoN_?=lb;Cdk>u@!+G-qq3ATu4XQvNt z>@S8l#Y=dDo_0BHc#bEo$cr#vgAXP8?C om#~(nQbTQZHT(mP+r_`S~PJV>+T^ZvVgSDALEl+{L|7y-oqryueB^pcK zt;h#%$3I;uV|XKzo9P3$f3DWVrVrKJB_q6Bm|bco&&$GW>G*PW@#zs2kJm |lC1=9?X+cPO{$;USPE}HI3mRwBG zy9HL~V*M;?zxAQH;=^T+JB|G8?ehp=m{OqS*`!^~0VG(sCfdKts}JUk?@rspdMX0K zrYbPr7K*mzjT>A^*^NJIn|yKeL-RRyt&72B%A|4qDHG!p93mm2`a^1 u~I^%2O~HKlVX>X1-$?Wb9({S)&8!T)>^A@>ysdmSb GWV|S z?@xuIAz3Q(Okf`FMTwYD+m;i}hJ)^B-xX3hNa~*}SiC|J#?0cX_5b$+E6{+ABv)}6 z`8pHOwoEr76;9L#q{F75W;o1oZv+38n^JT_Rf*1<_8R3&oA&rQmzqKE@O{7V=3-0J z^>O@g@PCGUKk7&R2`D~bDmZNCU#0Rp7Xm%8#J%*Gzzf&%)?HJ#SNy-4R2=kN8bk`! zM|eB(57qBsIyCUg0TxcQifpCH!p45&|3Ug_qUAm|b^XMW?6Q_>AvcmKG(_WDzn Vx%l)_4qvnCGfM)o=vltJZvYV&zzBFL)y}J_O&?(+G`)&g>^u0N8*!-T{ z-?ZP#I9aF>k0WwD3Z1F3nv_%ImvyB@GvZ&F;NiI4yn3L`srm01D8}!J1q$ZOEDiB` zdE2pjhpLY%CCrRqOWtP-s-Oj$;cabky60Yl!*0#=y$U^RuaQIK|J*#$_saw%k2 u^=ppxI z(*C_RW07?)IqU~Q&wFJimoHFD_dbZQp+Y~GfcM3g4M=nva-@ >7XvE}(}A5svE*8%iKWxnG5?{zEZBUu%(}dOM)3XOLQ6g|o+Ux8af#-r^;}o0 zV%}n_=G_VZ71zZI^ GH^cXS(@(&GYcrT)gQ#Cr;m-lE{m)h>VxyBX^BYGTJb2%KFakZkAs=UT+DI$E = z`EVcBp#M5J=K0ybjB&37#+T87SBznTs?ptTneUDKUi}KTzs3mAqsQ?3S1Ep=T`DNI zooiKFygSEeIL?kbgwbOtbjMqGQxRu)HsVbY^>8PK3uMtIGHS;7x3%alX57Z|tzWPc z{JmV%|E{wV QE&EUI~=zsOBo!OZtJQ)*f%Hqk}6f?FAXg=u#h4%9IJ|tNPRV)E+El@{-Q`F zu<`TsAvy?s*3feW-|PiFvyA~_fC0n1OD&x?pO(;q{jr?jRDS7gp(EY|+MsaJ1_!gh z=`JN26Kx5pj_U*ZyoQv?^Vb$L&CX3sm$nVnBHuqNeBmC^hSNJ;npJd{=~WqMmM&04 z3*Qt9vL8lvoGDuBtZI1f-$a|`gz*nE7HCSfzHR-5=Gnr}J#>NV?l}|!05W}mV>7r^ zyW6z-n+^+O;Y?_FpMv*pQ$?rAC%*Z14|8)aN6pyXOB~EHDTD!Cu=}hPu%O)cTh0c< zT;7YXbVm+R@s8)cA$a8FV*64ai`XASAd{s$Oyq9sEnn5H?616wio #dJAW{n{R)@Bc-AV1(j>N^dr!t$YfdZMv0R+1a7=zK=vIJeCJw^lV!3;}Px_Km z`c8s`x0tcsWuSIfwMAEBrop gX{jMYBY&Fu=qCds=M#R#+gPp_W@Zn)TrBd3N z(ajk^v~(+`GOtWZAf}g=l(kW_fL$~V7L{Z1D3*$jG$z*9&^z0m3m;z%-%zA}sLc z-47aE76`G64L$3I_T|BwXnZt}9?sd`_>oph{SkpquIi(i{J!~%@ahMMNcWq65j1g~ zt_N`}76VmfcO%-@8!>l>XE?npB=r{gFB4z(FSIqP`smgu8YsK^-0;_|c9}<_z?@{t zqSErzjBviJr`6hWnjGP}uAZc4R^1^yUoD4at`C&owVIdK2_dbC-%5j-C%m6|D?!s< z+ Qr2I7flYE z;OQ=vE}e9Z>)~U6G4OlI{1c|Lm+I|vY(Pvwr;tK%b+*rIvX6p-vetuAG>5|O4EQ(o z>K}0JFt-!%kri_0DnA5I6sjmwk=M`0zAXB=$Nd2?Z{8WaGRXN_nDA0#Uif#5McJk# zliNPuQR}pW8yUK3nqQ0huJ_p;_nd~T^@VISY=6e&WOhVgUoe%|F7x_wx{Zf0@GY*t zE3v*)te)$Fvt )EVNRA z!V=^5`e=k0`m2GU`|mRzn-?HHz_N+aUwMtC@HMV!@17SD^Bh@WWv IDJ4(Rl6g#-u@KPGaS-HP=dCd0X>^{82!5#q)t@LI>Fy+=!!z40c| zb}VP}#4K70qN9~0z;4q30$J ni ze&;QkDvOaMuzxe4Byy8rHP!rIeufN%EQA5$dSfidY`)&!e6R)J;0}ic_Iow7^v!s( zWGfY$|Bb=!!!W7)`;w@sy&GS9#~d(19A?atQ@4yTbOt})7aRT!{d%$eb9>+_`VpNV zuu1(@WubHd55$S^yiK*pWEXRN@DO`YF ssTrDE-(+oAfO_{$Ia2tC&ZM!eQ_?*jk*@uviJ*TE7a zss9Fk-k_4cY0{Ve-{0B5@BR&h#WE~-=X0-O7p@$BbQd!MbKMF`RO@r37M|nc@b7$7 z+jaT0jOM@`ib7gJpWRhJVro!E`?oBqTHUwB!7V>*$ia7_@WFRBB28+lq~W8KvA?84 zY;xKy_UXz^fg`I2XR^mTfa1SUG+GkVzx$Tno236U`iSs;2B4v!k|5(6=-h`6xxy}J zPu3z9LJ_9lBW9F^TmWrhR+($&uHqNJ4=}sDcKV?h;y5JqbI^9UFJh8}%K^EX3@9sL z@rZ&2?{ru4(SW}^K95;Y=IQZ;bW4q}yWNRZLBS;?fKrHBM^E@sEC4o?FS_mw^-NU_ zfgv@BgHtfNhMizy0^Wx7B>qg32%E;ce`f9LJy8Um1^_H7(08;jS_5pWBc%U{@6ld@ z|0wTcZWC%l0D2+$d;7yv)QWfDctJ=gpiYS|6NAKb=3oVr*tj=VG86@13dCACi?xi< zpI~INT(&QgYl6F~9mv<$>HVSjG)CR<&1|I@5~X{*2^TneUT9TwIz19btBqx>YUA>t z*n(ToKQ}|bf2)!xUy#;dCYWSYBlhQ_OD{E}pod?;T$b61Jj=pF4)OTb?pUbDf#!|{ z)&~`gpA#un>Qgw dt&0oSCT;lybsSEsx2w>MYvVD}wmnk`n84!vE vRL#RofyV&-H>@~ek=cZ#eZMpe&H|FczWGrXl0Z^-5WJ9 zNhcS(9xsYO+gWURt68E;o8@z98QKp^DOUfX8oJW(5sb)CS=q=6>b((^B8Kk_hvE zb4Q0yqY~vAJ=PNicq(1?WA~A>
-E5s*zJ*u`6F}8 zOcsxkYd0!%Xkt6q_&0?Gpd9uymL(MYA$6S>^Jf*K4Sg_>#2hcr+M=H6btr2&U7BG( zwhu(7Z1l&KR@0@-8<=o6kjR*>4`-+XOW5I ZE*Mtwe_6i$l|n!s NQv@)sQ{ q z=&x7&$V`BK{st+@Gw~7CTi0;)S`;utZ55op;E|<4hrWj2qeadg^WWOFXxKI%yuRO! zPk3p@_Z&36(3o^b;MMQo#q>x*QYipzClAv028E1Ba2;k5z&`*?u}qSv5mZ?70X!)> z;l*BT0V2f^YJ))r!NJHpg5OXLc>(kJON;{a!Ee6DJfc7rK{vu|E!0KKooSbPM8Kji zWmbD4eUkc{|G@(B0n4&le^4k$1J0E@ocpLzg9#t%b6Q6=AjeW;l+k|o&&R^Sldkh= zB-=5(U6IhOevOfg==|5^F0Ao5MHpNuFcD(+viMn2V{eGOQS>9hwKgr)SZV&Ro-p1b z3zP*N>2r~P>|!u@mS3F(aHGFMu0y$tk80V*2gEJAcE;f?@T{%U`lp9vj|>QOzJ3^m zl)YiCKE;0C8P8AlOA4Rfi?T9-k^JGFL4`OtA5}H{f`I}#8j5SGRTL&O5+Bae-oY!t zRrs%S33%;C cF!1j%J>@M{-*uJF>#vdw;O(lERtuN$zBtu@$xg&8NN^iAFw^j!1e?> z&}&Dx6SPm2n^B<&CY74qJ4^qsz|;Kau(*8zJ-5=6jG@hS6y=lVKf!4a6Tl28*$Jj) zyz=+P(>vB~bdfQP)mqn8Tf-ko)Vk04{Y1cQ-+nYJrKI`D7SNuP%I$1>-N{dXOSs@> z-u(xcC;grd+$#%~F1`6fu@euPk)`e#Xt#*=K%w&8W ?*6bBXQ65;>&%u%pngPhRz}rvoyLWJV$4Lm@Y%vaCJmT zlI#iN;ezhEfEPe8f;^NK9E-^=DJciqtc`FPpXDNIXbJB%TzstaEqsLytYC~N515!L zu?(}d=l+sVvPf&+VwrsxDwFl_=Mxp4|M;2z@dPw}QnvF&zuhg-N*RXiQi;_CgTcBC zLC?qI&A$$^q(hsdU;=M(?0cN=brdu)SYXID$`+}7(iAGhLL?!PmPQwx|L<8%0a8N{ zMR?ton^6Js?LJ@_DlwI~rZLhx2Fj3fMIoXd<9`;)23H0_&-hHkG?gaC8&cjikSJSB zRt+au`B`=U4BbzOLFOQHE+84~&%Wd_P^)0WE;aejR{>Qbkbhv14+7{Wktj;U-op#l znkmo@aj?6VB+%z_E{6okDhSV1Ic{CVHwUwa8!QTk`hZ}}0VG{SnpfX~$>M er6iqFrk i`!G5Yf4<-ROR1mjI04W1>ozU0r0oYi7NA vYG#Z4AzB^Pu7 z03OAgG#+MqL1JvE9DJeuzGTE{G0YVV^zSdrT28-g8iVR{ZxpFOuK4Fi-QvKcmtLtJ zUFN0P;$JtYMUyoe^Adm%zzFCYp!t2vUVAjjNT!)`5FM(~a$||jg{C@860R5W+=%?& z&=2^&FY%bQv}dRF93$PI`8(sD08cIpJi6K5e8bu~;3eidZ%>T@Oai_PhQBFM Vd3OUpWMjmU_O&6BQI72HFnGb@N+;Gva`p27AG)I*F z>gdleb#m1M9*rdKsD2;b1`muXc+`|Wla&oUgM Z3HY??$6vi$nHiqD=hvYFlpEH zF hq9PXd*?rIav)-@C@0Q2JkkOC8Db97@U)rAU3@@%SOeErnK #Tfs^VuG_#bU(GW=Ci0TcolnK+>Frh=kz(17h0u#|+`hzs^HDF97RT|LXdH}05 zy7Z2RjT9PJ11K?B*q4KWz>Ylye>W{S_|i-rQ;kx##8zx_U*!T;ln$Jo%RVVN9$G&7 zCfj-}=NqBZL;gozii-}KU!V?|;56%Yl+R+&Apn( #;CORj&6mwHG6JVzTe?!51?PJA!}8X(iIjX<|04tGgl%z=QRhtwrF zQ~8hHBdTtRs{A)8?ym~c271P#-nI*ZqvM15RKk6tG@|s+dFiByy?uPle_P@A@_@6} z?jsG1phFmR0Jv`?)N@cS?tdUmhG;a_urvyR#trWVdgETFb%R*$x1FQ-wUi HhoXWP&*x5*Mj5(mAJl#6NUZOds|vkNd~F*MrN|7d?-IQsK$` z3|JTEjSV?`g0`dSUxw sc818=;Sc3 zrm3=7_9Z=9zmiYJFwQt(t$m~NZPFM1 I=bxO#0c>%|{}1=%xWjs0 z=^i6%f7dXwY>gix-Ol6`-&OasenSI(wt;iuavRdqneMv3KR)s^h_o6W_;F={-?$B1 zd?BtRu(XOW-3hQx0W?MJ5o7hcpO1b3ue5B9b_4RQF85|o+E~+GmW`s17CKF7zS?Vw zqMjPxZ@nt*Vkf(InS;8=fMehiuf|)9y6l+FO#~P8wu|=RQM7wmsUnrh;0XmdnTPIs z4eR%v*|aYY_I>Z(-dEP~dmNWVzd{$WivIz+zPMc72MN`E#&UY_i11}EDExl6U1;2s zAKJd(dqS)$3V9rVyhkX8$cbi%I!NNL?DvjlK8(hOFrOEM9Gzmhxmao9>9h*l;X$*P zrOCak^}r?!$NSN*q7(G`i838@vRY#YN0wvRp9ixS!j6-s4TGfB4nz8wV=|H74#VEwE z%s{ANtFQ=4#GAcA4iXj#D?s|-a9EWg(2u4Ni0A|w0z)X LFylH$xw`9hjw6L!bo0#U!O!pzxWCL*gW Ec z89x6z@l$*9m>r4F;6cvtD!G3aPw4afc&pRZcB0}mrvT*>IihfnNl9C8gVoeCP@3N+ zCtpi9ghF^xvkcE?X7wmycKDB7=12 #L%V*l(caH!p+K 8NQ{-&;R zRiPTH(}F(DLygDP;C(Btg0r^!hh`;{54;&@-lS4Fw00Z&ODDat3fJ?j?d^RgwYQgd zGHo2B7#(tbP{T#oYjb$t@3L>p_bmN|ziIN1nt_H(rdS-*LX@&wj>e4-FK-3OM*U>8 zcL^yF$mGFGtL5+ouBb9rhoc56yBikXKj`x(>)ZdAOf{wu#f~@91i^!TNA>}vq|r4G z1JaFPb1awdPl|t-9H+bEMPf(yfP^GkI%GdMvt1;w%a*Dew8GJ?4?bn_7!1a7@c2s| zn=Fj!fMqg0q>Z>N3Ze~Q?-A@p7jx0h >Vf*EML)Q2}cJSoHbE*LKUY)j#y=Eej)>W zVLJqe!mV8HkP21G9T_XEf8Ctx;Kjj>3~;F+?blw!Z4Y>%K?P*onWr;4RJ_jBc^uz6 z1A_k&9lyBLpBnWJq zKfBT3gk*j5dksBuCv?+BTvZcPdgaKh=q{pB k3}nV-kjKSj$$2T?Xc zz*k~9hQr3B8v&NB94TB&o^`S^u7Pa4VpLPRZ5UgL!`*C~1i`Gg@%kqh0eYt(;(3?+ z@BZ32pDBu|4fQ{c>$Jvb45|?!$=2?QJ|JRRKf4*}n=)BvuIC*$o@~DayrX3bfspz0 z3##dKjZdg79!xIrRsm+{XEw?Nr!+lN-_eu@J}>;Hvad#2tcF?m_u%63r_y~K?)3gF zqoq-id6y$YeG=#Prk;*8L#OQTK{En(w2XrQeU-?65-{8ROwu|_GHo!7yp6x4f1qr6 z^>#H|lghb}= u-V|KIQzFc;t z@*a7yC|O_fmQ>?fo1=^kb^m8#n!@5{eRq9~2And=peJEm#g_lb4+Y0xTAG$LD_YxG zB7Zc~eA8@F5b?QPVgut3)5jI2=}lt?vUNw`=|Mgmjk|>N9J&7W_SW^XDH9iyULcy6 z0AUntJDTP6PpkOPh3(%38Nt&%U!!3X#iOU`wQwAaYrdZF!HY%1*kI+AqX%QBrZ5S( zapbm%b4#~%htNS&)t?#`LDo7Di8*fjRMdiO8_-~%`Uku5olOS;RA>92Nvf2z`6JUi z+|Ei&hnS2HFpGEBv#k9o!`iyOlN4bV_XtbOIg`4HWHPx}umE3o( !=R2xyAn=Z0-K+>RFa$@c* zrMclIaEs`SV7GWK(JK8Mk2QF8iI>RBZyojw!=Pl$p}#YHfX^NOR?o6b!fxHi!NeM+ zp4@5Jy^%oJv%Gt3?9*t@j$09F_5%%#i!bcwP^NRaSq8sg3Q|tKUqk*EDEDLjeHL8f zh}RxX )J?ZUk(3M9rau%EM18Kcdo@2dKO>lf*x#w$?5p^QmM? zOqVynAQlql?GDiTcE(YIo1x|wPINPLD4ICPeTfH6eCHM#3dO(Amp>7W4DtI5ZE5yI zGyKxmmnz*eYM417nYtJsm)avE<&&|gYE&~WA ZpsS!&R$2f0Zgv^CJIek^BeF;LB?95q biuTUM=PVVC1kMteu%R@8)1y-Z&OtO#jl^RCX7 z&PY{#noPttgguB9suCO`DcNq!Zu{iPG{qmtlYrP4N>VGFEa=OeDqRJXVfLXLN5+!M z4`S(Ka7SNIQ9KF=QxOw=jEkqNN!W!$eKcIwFQ7KAzAwbNFuCrvq@XqJu)TO!QhFye zAVdtPOlV)O#A_Jxm=-=JDJkceH&$IM8Fa(obR*GapA6Lk%+n*Fg-t9_B4I>8Z+)`2 zYxe}NMw31h$C;4GpXY)?SO$G))4}8LP~5w}@jhIx&eQDUhbH-b4G!-K9RFCbI(lAT z94HMJU1#nkg=ZTcgzEYwcs+HZOLND)+R1ZN3XroGOML>_q%eYJVe7isMp7W^<3`~2 z%jPZy*|;$T28-d-Vbv`vt1Bg~sB+oyX`a>;8LeJDBd!*gx4%%4#ii4zAdPuoU(UR{ zWUn!%1m_Iu lhgZ69KbQKZot@V(tH6Vo8>8sq*hbmk-^m#Rr;UQg#%A5a zp}x{{*Qe6P7J0QJ FG<+abdvlo?coXY)WzJy2~qe*fN*`<^*>-X@?( z&IK)19FA)WI;~y}fFPLT!D#$_`U#}jiCs!u{7(6Z-EkohLiz9}<-H`7pPfQ95GN1m z=aNsbdBL-@u-*V1FJH@1$)z=;SnOa_`Lf#&sPxcBQ%PSd=))s|;gmT>6C(8{VLm3# zA0`Dayxm=TxpC>VDVq5XwxUEouA53AQZ@odNK$rHBk<9M-8g2 =#}p$zO8Vf3*W+U9iX(X7$?;kj>q*HAChl}BnCHRsCEf6P>6Z`c zY!r^W!s|D`!gywCDPz$5+lx5HENdKhK#N~2Xl`)x4JT$zsu~e~Yv6Stb-#bgWm911 zl!%H&(hEA+#2H_K9MtY3uIESa?x>2U9nVY(zf+%(IF4U+MZIPw2`SSdPU={sun}}* zKC!B0vu!*<5-&`cBiWbBrP5#U%G57$wV_RwF2X_qTD#g-AHRw{?-+FDmf3TPjq?kq zB7-Of(q}KmQdHp7Kk23PBig@wVequ3f}Fr5TVwXgtJ(>R@K+G7kF%+vF&|MG@hiv_ zUofWPkYNT+(Yt kO0p z;EUzkqqU)XMD5~`&-DuV0C>xU8F-_CDoDF$TD_ZqqFW2RkAM;sqOnRwLHFvXHtkJN zpWb1)%A`m8%D~SYF~SI1_Rq6>?=X)I3sUL={pDhYgSWKk&_aoAo0G|f_pKA*R&P}g zCf6FH7OO=`U%heDSe^g1`aRw<(vKTe$ eg!+ z8kXPKSi)mQ6e>?s`c10Hf0c!1Z@{80xS!c?TCE7J%p~aVOeZBI^nx8!Q?PXq8$iW| zI@IO@u&;8c*b}@>kNlluJix|hZgsUf5tBB2H%r8~6+n1lbG5#oqme%0PZTS@-(|%b zaAJWnhbCJphnRNnM7Rqt8TydHte>eS?qd)8^r Rif=AcNq$u`ukDx+xa8&;rW$upqjWQWWQ5nDw>OWoxrmdjT+E1esF(|rK&)Pj zycXnaY1CH0^jF90wGObGEKKAARqo5vT}J&Tm&E(Fe9&dGV)-{k&Es@u6J=&Om^Ty^ zGW__t&5%an&m3=jg`RMZCsO2s`=6I+qOfr?-@cv8%u7av)oHG%=fzH!MxKwS6@6Yw zN%|qZzclf7z3(nN4l2tA-NT(Tj+9LD+L0T%K8o@UyZ%eNq?hT=kf>!lpDD;lY5TC+ z?RqB0i!K0FDIoW&+k-m0hZ3+G+ceLgp0*2oeZrJ(4#I4r4OV)URlD_+U#sK}Nk4(= zpVoaV-i+cZ __3zCjK96~$U|(mqz@C9NbyMEhH-dX&xA (W9I^8N|7Vy_)Fg4BF8Gdert9Pm5{**os3qB*iNh{^ZnWS;YJl#TzcjFOw@@ zbbjXfhft(KQA^08(}KzjuqIvo$X)U73cI9ve3svO;%9y5Bk~Br6qL;!dEpzXrT65A z-2T<|&oJ#%?ia__*)Kd$A7i({oi}YbN2z&{{o@qQsD%UkSwFC|LpyMP3)on+?siUN z!+OGEJ(;LJ-(@6gj!N$99#;`K70$_JJ+AatY2>h8As~hXCa6O@-dVmi*qT9G6<74D z }YCK%^0?AuN0l?I1Rp(4Xd RUNNNtW`-QSD%q6>Fk#mK8>jxFQS9(iNsK @7s=54N7p zv7BYVB{XRxPGFvaBtKtd!vFO02zPOgZ5u`NtC78;Kf38Dir!_#hDN}{bFwh<5;JiO z3@3~OP~}ARDKYj?>{OCrR5AKgV$?$@FcW0I=f4PhJMp|e5{j5JIw|`KGuWA!aR%Z~ zW|Lmrd8^QdI_#X?jn+Vhi_=SkKSKiYqxK9+6&$F(Zst=BOm9DyiPVyjrkJlrH;_$q z>B1MB@{`oWK(*Y&6z-UXksJyNV1A--75?$?!7Bm@3QT0`b2fDw!xGANdEr4xLu z^pF+On=>VE1*m6yMT91FPSP$+B*cZc|T+gN9}fRmGCv>-N({tBwthJDwh zIKG{W(e`|qd_{!r()n%TbwcyIJ|g*{n~^IY&>?a<-*~07r2eKg(5Z|19IET8t%J+R z5RE>CA; l|gsc#S_y4*sI9{lggbJZ*BEDeHmU)a+ifE8U#IbDL z4~?1D_69Ns87+zuxZt_b7Y)`?+mlRM50d6Mo?GKQ*cg$FWo{gstjncyi3b)@*hwLb zlU_)ZfVNI>d^YIKO#F4=_fg^NOXi9BtSF=Go{5YoHX&RBZyRx1R9jY-$>V;j3N!+? z-X!?g6hknDK*05Hmn`G6YVROFyk?;X?w|cEvbElY7QSj@ wWQ+`z>EM!L(HXP %9jf; z6%VK7Qk0OmUQfH#bL3Lva;xsJ$^OocW3hF20@ !F%xZ zSLZun*9SpHPi?9~-lTl*D5|q6%>Dhj+3pEzrIY^O$ztmfD)FoW6eM}k#*SaG7-#;D zqfiZqubVO&!c$}0LCJTB{3{K4(_?0D(rQ0w*&F9M<1WW#yk;M91ZFOF0;%#eVF7ToaqjJ*%va!eKHgfQJ5tO_Oaub9#n%{ZIUBiO%(_ zt0N6Yy=R^-hx@~ZY1e}Y&Sn`8T5dZ^V%qJm<=vM} reHR=+YrbBh`Eg-SqDh_}26|fOHWPt#|FAN**Kblh$R0pVWr5JX=$( zW|OJ~&(y|=%1Y*O(D8S=zd|_z;FfCMA6x}57WlRTUTLicDoN?yz0U7uRw>aNF#bxM zX10guCegX$ XeCaj#_njV z8@s2 uuhSUfKcQhH1BgaZ)xZ zDYl|8AaUy+(eM+nE7G%FB Y=7W;|r4ZoX&2yZ Ak8riymqZ!GrK+#jnEGZX!LDTK``5YM)HRbdN#=(O= z=plbYq{t0sRwbtdeG^OC%EZn1!|N3P@7vsT;t!ura2Hs5()jx0-yM-4)iYO#J)A 5U`UV-i)c~5{i0e~ir+n3(^6Fqc(b=p6YrGBHy?(y zR83`-{xqUegE^GH=5|x)I9Q#?k)pd5e=}BgrAr%#U#);@ecp4Bod1%A)cSYxmHL3p znczDr0|S;{EZE2 CsVC`>DFx6B=Sd;oIq!w3Ev&x+#od?pGnt$=xtgD3DxmTnlF2%menr#>`0 zAf+<;bn1MmFT8n(Plv*!`!4kM;14}OGBBe%YS-)*tie=&&7H1=Z4U^?rrt?!@k&$3 zam vEk-in-h_IGp)@fA^?VM1;>LHRf8RRD-;J3d_;0IalaFzIO<( z+REXPn^=TZwgm;+vf9~IrW(eGl3EiEiAOUs6)l?|4fVI;HyxZvNQ94NCB@WJH`F>g z4M)P &q^ls<#!jtK%{_53K3MoR7@r`noe$H z