xtable/0000755000176000001440000000000012404563514011565 5ustar ripleyusersxtable/inst/0000755000176000001440000000000012404422123012530 5ustar ripleyusersxtable/inst/doc/0000755000176000001440000000000012404422130013273 5ustar ripleyusersxtable/inst/doc/margintable.R0000644000176000001440000000113312404422130015701 0ustar ripleyusers### R code from vignette source 'margintable.Rnw' ################################################### ### code chunk number 1: margintable.Rnw:52-55 ################################################### library(xtable) x <- matrix(rnorm(6), ncol = 2) x.small <- xtable(x, label = 'tabsmall', caption = 'A margin table') ################################################### ### code chunk number 2: margintable.Rnw:58-61 ################################################### print(x.small,floating.environment='margintable', latex.environments = "", table.placement = NULL) xtable/inst/doc/xtableGallery.snw0000644000176000001440000003546312404422130016636 0ustar ripleyusers%\VignetteIndexEntry{xtable Gallery} %\VignetteDepends{xtable} %\VignetteKeywords{LaTeX,HTML,table} %\VignettePackage{xtable} %************************************************************************** % % # $Id:$ % $Revision: $ % $Author: $ % $Date: $ <>= makeme <- function() { # I am a convenience function for debugging and can be ignored setwd("C:/JonathanSwinton/PathwayModeling/src/R/SourcePackages/xtable/inst/doc") Sweave("xtableGallery.RnW",stylepath=FALSE) } makeme() @ \documentclass[letterpaper]{article} \title{ The xtable gallery } \author{Jonathan Swinton \\ with small contributions from others} \usepackage{Sweave} \SweaveOpts{prefix.string=figdir/fig,debug=TRUE,eps=FALSE,echo=TRUE} \usepackage{rotating} \usepackage{longtable} \usepackage{booktabs} \usepackage{tabularx} %\usepackage{hyperref} \begin{document} \maketitle \section{Summary} This document gives a gallery of tables which can be made by using the {\tt xtable} package to create \LaTeX\ output. It doubles as a regression check for the package. <<>>= library(xtable) @ \section{Gallery} \subsection{Data frame} Load example dataset <<>>= data(tli) ## Demonstrate data.frame tli.table <- xtable(tli[1:10,]) digits(tli.table)[c(2,6)] <- 0 @ <>= print(tli.table,floating=FALSE) @ \subsection{Matrix} <<>>= design.matrix <- model.matrix(~ sex*grade, data=tli[1:10,]) design.table <- xtable(design.matrix) @ <>= print(design.table,floating=FALSE) @ \subsection{aov} <<>>= fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data=tli) fm1.table <- xtable(fm1) @ <>= print(fm1.table,floating=FALSE) @ \subsection{lm} <<>>= fm2 <- lm(tlimth ~ sex*ethnicty, data=tli) fm2.table <- xtable(fm2) @ <>= print(fm2.table,floating=FALSE) @ \subsubsection{anova object} <>= print(xtable(anova(fm2)),floating=FALSE) @ \subsubsection{Another anova object} <<>>= fm2b <- lm(tlimth ~ ethnicty, data=tli) @ <>= print(xtable(anova(fm2b,fm2)),floating=FALSE) @ \subsection{glm} <<>>= ## Demonstrate glm fm3 <- glm(disadvg ~ ethnicty*grade, data=tli, family=binomial()) fm3.table <- xtable(fm3) @ <>= print(fm3.table,floating=FALSE) @ \subsubsection{anova object} @ <>= print(xtable(anova(fm3)),floating=FALSE) @ \subsection{More aov} <<>>= ## Demonstrate aov ## Taken from help(aov) in R 1.1.1 ## From Venables and Ripley (1997) p.210. N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0) P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0) K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0) yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5,55.0, 62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0) npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P), K=factor(K), yield=yield) npk.aov <- aov(yield ~ block + N*P*K, npk) op <- options(contrasts=c("contr.helmert", "contr.treatment")) npk.aovE <- aov(yield ~ N*P*K + Error(block), npk) options(op) #summary(npk.aov) @ <>= print(xtable(npk.aov),floating=FALSE) @ \subsubsection{anova object} <>= print(xtable(anova(npk.aov)),floating=FALSE) @ \subsubsection{Another anova object} <>= print(xtable(summary(npk.aov)),floating=FALSE) @ <<>>= #summary(npk.aovE) @ <>= print(xtable(npk.aovE),floating=FALSE) @ <>= print(xtable(summary(npk.aovE)),floating=FALSE) @ \subsection{More lm} <<>>= ## Demonstrate lm ## Taken from help(lm) in R 1.1.1 ## Annette Dobson (1990) "An Introduction to Generalized Linear Models". ## Page 9: Plant Weight Data. ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2,10,20, labels=c("Ctl","Trt")) weight <- c(ctl, trt) lm.D9 <- lm(weight ~ group) @ <>= print(xtable(lm.D9),floating=FALSE) @ <>= print(xtable(anova(lm.D9)),floating=FALSE) @ \subsection{More glm} <<>>= ## Demonstrate glm ## Taken from help(glm) in R 1.1.1 ## Annette Dobson (1990) "An Introduction to Generalized Linear Models". ## Page 93: Randomized Controlled Trial : counts <- c(18,17,15,20,10,20,25,13,12) outcome <- gl(3,1,9) treatment <- gl(3,3) d.AD <- data.frame(treatment, outcome, counts) glm.D93 <- glm(counts ~ outcome + treatment, family=poisson()) @ <>= print(xtable(glm.D93,align="r|llrc"),floating=FALSE) @ \subsection{prcomp} <>= if(require(stats,quietly=TRUE)) { ## Demonstrate prcomp ## Taken from help(prcomp) in mva package of R 1.1.1 data(USArrests) pr1 <- prcomp(USArrests) } @ <>= if(require(stats,quietly=TRUE)) { print(xtable(pr1),floating=FALSE) } @ @ <>= print(xtable(summary(pr1)),floating=FALSE) @ <<>>= # ## Demonstrate princomp # ## Taken from help(princomp) in mva package of R 1.1.1 # pr2 <- princomp(USArrests) # print(xtable(pr2)) @ \subsection{Time series} <<>>= temp.ts <- ts(cumsum(1+round(rnorm(100), 0)), start = c(1954, 7), frequency=12) temp.table <- xtable(temp.ts,digits=0) caption(temp.table) <- "Time series example" @ <>= print(temp.table,floating=FALSE) @ <>= if (FALSE) { for(i in c("latex","html")) { outFileName <- paste("xtable.",ifelse(i=="latex","tex",i),sep="") print(xtable(lm.D9),type=i,file=outFileName,append=TRUE,latex.environments=NULL) print(xtable(lm.D9),type=i,file=outFileName,append=TRUE,latex.environments="") print(xtable(lm.D9),type=i,file=outFileName,append=TRUE,latex.environments="center") print(xtable(anova(glm.D93,test="Chisq")),type=i,file=outFileName,append=TRUE) print(xtable(anova(glm.D93)),hline.after=c(1),size="small",type=i,file=outFileName,append=TRUE) # print(xtable(pr2),type=i,file=outFileName,append=TRUE) } } @ \section{Sanitization} <<>>= insane <- data.frame(Name=c("Ampersand","Greater than","Less than","Underscore","Per cent","Dollar","Backslash","Hash", "Caret", "Tilde","Left brace","Right brace"), Character = I(c("&",">", "<", "_", "%", "$", "\\", "#", "^", "~","{","}"))) colnames(insane)[2] <- paste(insane[,2],collapse="") @ <>= print( xtable(insane)) @ Sometimes you might want to have your own sanitization function <<>>= wanttex <- xtable(data.frame( label=paste("Value_is $10^{-",1:3,"}$",sep=""))) @ <>= print(wanttex,sanitize.text.function=function(str)gsub("_","\\_",str,fixed=TRUE)) @ \subsection{Markup in tables} Markup can be kept in tables, including column and row names, by using a custom sanitize.text.function: <<>>= mat <- round(matrix(c(0.9, 0.89, 200, 0.045, 2.0), c(1, 5)), 4) rownames(mat) <- "$y_{t-1}$" colnames(mat) <- c("$R^2$", "$\\bar{R}^2$", "F-stat", "S.E.E", "DW") mat <- xtable(mat) @ <>= print(mat, sanitize.text.function = function(x){x}) @ % By David Dahl to demonstrate contribution from David Whitting, 2007-10-09. You can also have sanitize functions that are specific to column or row names. In the table below, the row name is not sanitized but column names and table elements are: <<>>= money <- matrix(c("$1,000","$900","$100"),ncol=3,dimnames=list("$\\alpha$",c("Income (US$)","Expenses (US$)","Profit (US$)"))) @ <>= print(xtable(money),sanitize.rownames.function=function(x) {x}) @ \section{Format examples} \subsection{Adding a centering environment } <>= print(xtable(lm.D9,caption="\\tt latex.environments=NULL"),latex.environments=NULL) print(xtable(lm.D9,caption="\\tt latex.environments=\"\""),latex.environments="") print(xtable(lm.D9,caption="\\tt latex.environments=\"center\""),latex.environments="center") @ \subsection{Column alignment} <<>>= tli.table <- xtable(tli[1:10,]) @ <<>>= align(tli.table) <- rep("r",6) @ <>= print(tli.table,floating=FALSE) @ \subsubsection{Single string and column lines} <<>>= align(tli.table) <- "|rrl|l|lr|" @ <>= print(tli.table,floating=FALSE) @ \subsubsection{Fixed width columns} <<>>= align(tli.table) <- "|rr|lp{3cm}l|r|" @ <>= print(tli.table,floating=FALSE) @ \subsection{Significant digits} Specify with a single argument <<>>= digits(tli.table) <- 3 @ <>= print(tli.table,floating=FALSE,) @ or one for each column, counting the row names <<>>= digits(tli.table) <- 1:(ncol(tli)+1) @ <>= print(tli.table,floating=FALSE,) @ or as a full matrix <<>>= digits(tli.table) <- matrix( 0:4, nrow = 10, ncol = ncol(tli)+1 ) @ <>= print(tli.table,floating=FALSE,) @ \subsection{Suppress row names} <>= print((tli.table),include.rownames=FALSE,floating=FALSE) @ If you want a vertical line on the left, you need to change the align attribute. <<>>= align(tli.table) <- "|r|r|lp{3cm}l|r|" @ <>= print((tli.table),include.rownames=FALSE,floating=FALSE) @ Revert the alignment to what is was before. <<>>= align(tli.table) <- "|rr|lp{3cm}l|r|" @ \subsection{Suppress column names} <>= print((tli.table),include.colnames=FALSE,floating=FALSE) @ \\ Note the doubled header lines which can be suppressed with, eg, <>= print(tli.table,include.colnames=FALSE,floating=FALSE,hline.after=c(0,nrow(tli.table))) @ \subsection{Suppress row and column names} <>= print((tli.table),include.colnames=FALSE,include.rownames=FALSE,floating=FALSE) @ \subsection{Rotate row and column names} The {\tt rotate.rownames } and {\tt rotate.colnames} arguments can be used to rotate the row and/or column names. <>= print((tli.table),rotate.rownames=TRUE,rotate.colnames=TRUE) @ \subsection{Horizontal lines} \subsubsection{Line locations} Use the {\tt hline.after} argument to specify the position of the horizontal lines. <>= print(xtable(anova(glm.D93)),hline.after=c(1),floating=FALSE) @ \subsubsection{Line styles} The \LaTeX package {\tt booktabs} can be used to specify different line style tags for top, middle, and bottom lines. Specifying {\tt booktabs = TRUE} will lead to separate tags being generated for the three line types. Insert \verb|\usepackage{booktabs}| in your \LaTeX preamble and define the {\tt toprule}, {\tt midrule}, and {\tt bottomrule} tags to specify the line styles. By default, when no value is given for \texttt{hline.after}, a \texttt{toprule} will be drawn above the table, a \texttt{midrule} after the table headings and a \texttt{bottomrule} below the table. The width of the top and bottom rules can be set by supplying a value to \verb+\heavyrulewidth+. The width of the midrules can be set by supplying a value to \verb+\lightrulewidth+. The following tables have \verb+\heavyrulewidth = 2pt+ and \verb+\lightrulewidth = 0.5pt+, to ensure the difference in weight is noticeable. There is no support for \verb+\cmidrule+ or \verb+\specialrule+ although they are part of the \texttt{booktabs} package. \heavyrulewidth = 2pt \lightrulewidth = 0.5pt <>= print(tli.table, booktabs=TRUE, floating = FALSE) @ \vspace{12pt} If \texttt{hline.after} includes $-1$, a \texttt{toprule} will be drawn above the table. If \texttt{hline.after} includes the number of rows in the table, a \texttt{bottomrule} will be drawn below the table. For any other values specified in \texttt{hline.after}, a \texttt{midrule} will be drawn after that line of the table. The next table has more than one \texttt{midrule}. <<>>= bktbs <- xtable(matrix(1:10, ncol = 2)) hlines <- c(-1,0,1,nrow(bktbs)) @ This command produces the required table. <>= print(bktbs, booktabs = TRUE, hline.after = hlines, floating = FALSE) @ \subsection{Table-level \LaTeX} <>= print(xtable(anova(glm.D93)),size="small",floating=FALSE) @ \subsection{Long tables} Remember to insert \verb|\usepackage{longtable}| in your \LaTeX preamble. <>= ## Demonstration of longtable support. x <- matrix(rnorm(1000), ncol = 10) x.big <- xtable(x,label='tabbig', caption='Example of longtable spanning several pages') @ <>= print(x.big,tabular.environment='longtable',floating=FALSE) @ %% %% The column name alignment is off in the following example. %% It needs some revision before exposing it. - CR, 7/2/2012 %% % %\subsubsection{Long tables with the header on each page} % %The {\tt add.to.row} argument can be used to display the header %for a long table on each page, and to add a "continued" footer %on all pages except the last page. % %<>= %library(xtable) %x<-matrix(rnorm(1000), ncol = 10) %addtorow<-list() %addtorow$pos<-list() %addtorow$pos[[1]]<-c(0) %addtorow$command<-c(paste( % "\\hline \n", % " \\endhead \n", % " \\hline \n", % " {\\footnotesize Continued on next page} \n", % " \\endfoot \n", % " \\endlastfoot \n",sep="")) %x.big2 <- xtable(x, label = "tabbig2", % caption = "Example of longtable with the header on each page") %print(x.big2, tabular.environment = "longtable", floating = FALSE, %include.rownames=FALSE, add.to.row=addtorow, hline.after=c(-1) ) %@ \subsection{Sideways tables} Remember to insert \verb|\usepackage{rotating}| in your LaTeX preamble. Sideways tables can't be forced in place with the `H' specifier, but you can use the \verb|\clearpage| command to get them fairly nearby. <<>>= x <- x[1:30,] x.small <- xtable(x,label='tabsmall',caption='A sideways table') @ <>= print(x.small,floating.environment='sidewaystable') @ \clearpage \subsection{Rescaled tables} Specify a {\tt scalebox} value to rescale the table. <<>>= x <- x[1:20,] x.rescale <- xtable(x,label='tabrescaled',caption='A rescaled table') @ <>= print(x.rescale, scalebox=0.7) @ \subsection{Table Width} The {\tt tabularx} tabular environment provides more alignment options, and has a {\tt width} argument to specify the table width. Remember to insert \verb|\usepackage{tabularx}| in your \LaTeX preamble. <<>>= df.width <- data.frame( "label 1 with much more text than is needed" = c("item 1", "A"), "label 2 is also very long" = c("item 2","B"), "label 3" = c("item 3","C"), "label 4" = c("item 4 but again with too much text","D"), check.names = FALSE) x.width <- xtable(df.width, caption="Using the 'tabularx' environment") align(x.width) <- "|l|X|X|l|X|" @ <>= print(x.width, tabular.environment="tabularx", width="\\textwidth") @ \section{Suppressing Printing} By default the {\tt print} method will print the LaTeX or HTML to standard output and also return the character strings invisibly. The printing to standard output can be suppressed by specifying {\tt print.results = FALSE}. <<>>= x.out <- print(tli.table, print.results = FALSE) @ Formatted output can also be captured without printing with the {\tt toLatex} method. This function returns an object of class {\tt "Latex"}. <<>>= x.ltx <- toLatex(tli.table) class(x.ltx) x.ltx @ \section{Acknowledgements} Most of the examples in this gallery are taken from the {\tt xtable} documentation. \section{R Session information} <>= toLatex(sessionInfo()) @ \end{document} xtable/inst/doc/margintable.pdf0000644000176000001440000026071012404422130016261 0ustar ripleyusers%PDF-1.5 % 1 0 obj << /S /GoTo /D (section*.1) >> endobj 4 0 obj (\376\377\000T\000h\000e\000\040\000E\000x\000a\000m\000p\000l\000e) endobj 5 0 obj << /S /GoTo /D [6 0 R /Fit] >> endobj 8 0 obj << /Length 2086 /Filter /FlateDecode >> stream xYێ6}߯u)Ҡ)^Pd H󠵵^#E_pf(QnmY rPJ]D_]|yyQQ)LeuR(F.ZS#jmRǘ_wx+)Y {ه:;B t1p3ù \m` $0!ŽKr5YtؐlkYi!2RIuj}IgxZTW(gMZ؎YO-ƩTF(T5յmOߡh>WhކX|<m>=ySF6G?9@2oy@91qo8'i#aH?~J/gH6g ղ é`ו C-A~K3G$vt|ǯH{ϛehT*d9IC{ոC,5VyzdgB)˜,1]Al%̳q dm*"Hć.ADJ[7n( C1}E)TRgT qnow ,C`:7 RpfuLU=iři{W ͤ3|wy<Jn4 LB@ΌPj$ ߀KypK=}!K̓z>|2Es-"{#:KJ5 "z)cŦ^ Bײw:*pz_e`wR$٧vYgՓŴ3QovH"I&r( {,ɢ$EShw(zr$`D.~W2YAK(T f%l { JJ`9kCxmǭ-ȕ*EqmY4eن&Iav@ac;ul;/GEߴ,f614y˺} {]3seL@vA7oUr endstream endobj 6 0 obj << /Type /Page /Contents 8 0 R /Resources 7 0 R /MediaBox [0 0 612 792] /Parent 19 0 R >> endobj 9 0 obj << /D [6 0 R /XYZ 71 762.843 null] >> endobj 12 0 obj << /D [6 0 R /XYZ 72 720 null] >> endobj 2 0 obj << /D [6 0 R /XYZ 72 720 null] >> endobj 7 0 obj << /Font << /F52 10 0 R /F8 11 0 R /F55 13 0 R /F60 14 0 R /F65 15 0 R /F67 16 0 R /F37 17 0 R /F68 18 0 R >> /ProcSet [ /PDF /Text ] >> endobj 20 0 obj [354.2 295.1 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 295.1 295.1 295.1 826.4 501.7 501.7 826.4 795.8 752.1 767.4 811.1 722.6 693.1 833.5 795.8 382.6 545.5 825.4 663.6 972.9 795.8 826.4 722.6 826.4 781.6 590.3 767.4 795.8 795.8 1091 795.8 795.8 649.3 295.1 531.3 295.1 531.3 295.1 295.1 531.3 590.3 472.2 590.3 472.2 324.7 531.3 590.3 295.1 324.7 560.8 295.1 885.4 590.3 531.3 590.3 560.8 414.1 419.1 413.2] endobj 21 0 obj << /Length 119 /Filter /FlateDecode >> stream x313T0P02Q02W06U05RH1*24PA#STr.'~PKW4K)YKE!P EoB@ a'W $o&| endstream endobj 17 0 obj << /Type /Font /Subtype /Type3 /Name /F37 /FontMatrix [0.01204 0 0 0.01204 0 0] /FontBBox [ 24 27 35 52 ] /Resources << /ProcSet [ /PDF /ImageB ] >> /FirstChar 39 /LastChar 39 /Widths 22 0 R /Encoding 23 0 R /CharProcs 24 0 R >> endobj 22 0 obj [43.59 ] endobj 23 0 obj << /Type /Encoding /Differences [39/a39] >> endobj 24 0 obj << /a39 21 0 R >> endobj 25 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 26 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 27 0 obj [843.3] endobj 28 0 obj [663.4 638.4 756.7 726.9 376.9 513.4 751.9 613.4 876.9 726.9 750 663.4 750 713.4 550 700 726.9 726.9 976.9 726.9 726.9 600 300 500 300 500 300 300 500 450 450 500 450 300 450 500 300 300 450 250 800 550 500 500 450 412.5 400 325 525 450 650 450] endobj 29 0 obj [555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500 1000 500 500 500] endobj 30 0 obj [613.3 580 591.1 624.4 557.8 535.6 641.1 613.3 302.2 424.4 635.6 513.3 746.7 613.3 635.6 557.8 635.6 602.2 457.8 591.1 613.3 613.3 835.6 613.3] endobj 31 0 obj << /Length1 1581 /Length2 8376 /Length3 0 /Length 9404 /Filter /FlateDecode >> stream xڍT]6L(= - 10twI( tHtt#J}kֺ\{_{a{)m (aNn.@V]VGx@ &&](I DEu690⁩TܼnnA MPk:@0\v^XX‚NP# N;Z:p+(_)Xg à w`x@vm+b U4@6.&Ov P+! f q`w77jXBl0d0ClpzL@ ~Y=s-uuT AW tJ ~𫊇]_`ktXAFzp??=o_u j7ÀTȟc9W~i?*@=!ϡ+?U: Ny@A>_PD5^|眴 _~#O'\PoD5H)t:[df"AVjdTڈ&~-ӧr֝C6^Fkdҫ]$yT /Pwo3#E0+gX*K[. WoDL{$Y_BV2k\HޤhZIlLiD*ǃ;va Ɓ;;^g9e1BE["ʫxOBE Xb`GyJ ;jx^ ([:zeGʇ?Y;ɰw)5E_d5c;TZ "<0!>R){S;u d3)=FZ:#ÎP<Ή((̛ &?3"KcUmDffa:%,wB(2J$or K\6 }='#|u*gKA5GwTmwGxcҖ`2xJ>GGS,6|B^)Y)nnUiޡCvF6WO7 ζluzKY մsSZZGf各x0!P>(pSjE7'-]|M|:@+#ī79o.,9@g|G s˲^Ls<Z_d5C-cL_{"ʏ±D߶b HdJF# uk͜[IAQ9_ Ɩ+OH v [D`ᑩ= >͕$[.uħ4H? |zT44vB|@")^=zz3-H(C|VkL`hL_> v;W竜Ntx޻["\EdRެno?b}r"AF)"1FtpʺKZL,zhv^l[oqHpXkr7!#=_j@ ) I /idٱOc{gs YPY:ߏ(颇s/ƻ[2 OqdQB (3`F^GJJ>,Oxl'BTY70>@6x(g?|مެK,zEyw{õC4ڥ~@q\畈~4+W*k]DK%詅|ߩಞ&vλ Irlj'-$ 90%8o9YTDUɬhJf12ja6b[*p~s'#ؘ@m֠9^yA2oNЂ!.@e,~iAD1W;Tq ̝.G}D{[UMrjN#"\|h6zYqZdH6&ckW"; ctW؃gw62fzlj&;[,O4˗,o"gXD 蕞<(7p7#S}R>HfkN`' 㹼AώDQ}W%23i_ZUMmfVl0qa!C\YI=z]-}^ad{ԇt5Y%h|zz0C"W -a%FҌNAy;ƴ-70Dl&CBb]1DMD )1@ .ymM1˸0~ޞV7tNhLEaY4UdFLuM;7?6o|\#Ͼ Qfm"]/ó̀X,ko,TR/ؾSQn+1[f3.y\}dL>剞]ӵ.'u}; ewNlBe!C6X^u 6ZR+O~jFWzx ppɍh]83hHDhH?iߌJa[Z "~I+4Lp*~Jfʮ^nْ^hIUrVtV6fsy,S/7Hen2@xD+J4< KX[.XK 2?:]Zg.FFo!{OeR>{t[^1^d'Q'0g\2O˳»ݪ3>^ǵbV3 \:ɖI]~%O:瘋@鲞RjydEY@jݶ|w_W۩g ?nWW9 œv`СWy2<#S)\ 5"h1 2ZtGqy%SxC?n^MaruGN1Ѫ!U!t_)1 W<7*l:[n$Ĩ&QmTAz&# \m5O*agR/4M3mK16Үj."z`PDJemdd]d$lS<Ԁnzǧ4BǮm9ƪFz7_6^mPdQh3<尹~F1h&=^rLH.6 h_*/o!l<l[^{efϭ5-컝K"dza"=S%jNUo"Lw @=C\0D-u˫c4.#N}%}1XQ)˔t$R3,Xwв'κ79j@^8.eٻ^/Q;Ġ }.mgUԘe;[[7)~OP>>^Beʳ-=tR딭ڵU ͗$q2C򁎩Ha 0u8JnMfOۇpOLge1a)<'#6!KˡA}t!'imG?yp^_֨T-H !0 (/mƌ[>w2I߼iom'm(1]ձf"Y^iD+i:႔st[#?=xǰj=7]LQi>|,Iǽilyg:{y*plO3OgnHİb'))\~曀Ta7\ k*n[y>=4F =z9WwdߞZ,t~Y&coûPY~9#EVsmwlTnmd VB%wʳIyrdO TJ*%K"{rxv "KV&]q\_ȋ*G~sw>rXk#ؒQi맃a 7i}"Z|l=H6o$P<0RϧBӛLa__Ne\rSK\P:6n߳Z=Bݹut])Kl|:|c]+j,ح|_#0Nq(>d?96+-BgtW森3X. ڞiqC<5ʡ;Az!O6LG4zCYUᝓ7u!1hxadg:gi#csm;b)vL$o̳#[[Yb舉eQ܎%ޮbF6xgcP O %;ᭊhg?$_{'_^L,z#SPmQ[% in\s$n0MTLC}7}(BLeD[نi*[D?dk (yd3.>Oxx4CSB/{RXOM:_+HO&tq:ڰXK~UԌJ~χF̢x`uN!bڗ+V̈́$ўNeY*g\):s%ƑtX8Q(d$"yݡkR SFf>#aoxǓH:;נ"p{7p-,GηTq fׅhӟ"]`}:/Wғ[/d!Jw{_a/Pv>,25sĩ\HMg8=;ei#$B5XC֪F϶o6 KxbFWy.-~[M ]egi&XG&Zx3]zߏ$RGOo]R?gh#@ .1%xm9B'n_FHIY^//&WWȰb>[Hey~F !_+Gٌ4p3 L^oڪ/\^cjĐL8895Ϟuф^`ZX~>Rn[5t$Yڧ5SnB!&gN-b2ǁFq'34ӿ@Ķ5Z>9O)>X<$]#YEĚt/5fxde/вQ#ϨeX+3i(@c:!;;\{ƫђT~qD'x #q!asH,A{~cKzFc#=\<r1>zq5{$MBc巤$.~3lMJY0HMrӃxYuB-R,FIUgx(U9ord%El,4=PMIaH3L'>~L]$NF38;>Br X4WލQ[xgsJwKE<.=kZSYV^,d"{{}}zq>m+W@TSJ¶`\oOyѽL/\SHp@jF(9(~:h:BbGOsmM\,}NIIv|~,zp+Hz FrÎ E uA;@;KݩXwӋiDRԐG.4׉pS1Xy9 E Vfƒ+ "])Iϸ/M>@Vݚ]/fL' #Oбc y *]zʾ P9z{PhJ21gbjcf݉2tr?2h{tT0r#zj<oꙟrJ[sV1溯,2TʼnxA9$nv<^h )s -f]"A'Ljd&5G +ʲ^+6i#Fk/ޏC&c\d.{1Tn҆l'`"%Ahgx v[Q4A98]&e]0[J,$NY2t=qX{?<۰dO*w+mj u@!y%+ARbShztR(Q~^GK ?NVs]7rϜ=?;DzXׄ9jc_B-CoGO\Co=}sS.SIt:8œvŽr߱Q/EO5N ji,0WA|C1}ٺΩ>(b^@U}!!'3B Ujɴ>Gi*mZLDE,H=lsovY.bHDf--'3Rp{!Źn{CNə:1?PKm*ŵdN޺RqZmLӿf ~D6Ye M̤w$Q Ga9Ȼ|bãc7mKK2q1čLd+2^ײ)dz 3'Ü,^`XVyѯ/,Dԗx&W3Fb_6#CgOFL҂qyܨt;/RsoJ uYe3W%JjѹtB)E928Oel)# 4Byݖ 酼D+3_t`^ SeQ!T`ܯxRR]X^{pr3PV-5JZ5M o_Wp|}EhgA@gɯ}CDZkyæJoҘ7 s6dʥy*+{ٝ{mnJ^Q1ƲqGﲔ=_(J!Mݝ=\qRM1&?Ёt?U(gw҉f|QThBѯ>e@zG| MeWEY٧2E"i85'i ? s#yK~xD5 endstream endobj 32 0 obj << /Type /FontDescriptor /FontName /SYATFJ+CMCSC10 /Flags 4 /FontBBox [14 -250 1077 750] /Ascent 514 /CapHeight 683 /Descent 0 /ItalicAngle 0 /StemV 72 /XHeight 431 /CharSet (/a/b/e/g/i/l/m/n/p/r/t/x) /FontFile 31 0 R >> endobj 33 0 obj << /Length1 2028 /Length2 16322 /Length3 0 /Length 17560 /Filter /FlateDecode >> stream xڌp[ ǶmfǶ5mM2I25q&N&/fWS]\7uc=$ʪ "f&@I{WFf^'f33#33+-b8 =? ĜƮ2qc;{- `ef3/@ uQ98z9[YX~#ڔE;@lejlP0v}d45:Z]'5#/ = tv" P4#@_rUsWcg C`ke wp7:>TeJ@ˀXY`ne (I3z24uq7v7560Is1urtuat"_a>,ao&`gwu|V@ӏ{16>Vf0ssdRrrʈCGftp033sN%_ռ+Y0qtpY?~|\݁Wg7?XXfV=ܟbG<`'2scwԕE?iuvf+3!x0--U6Q/W>f3z̦_,osWt[MGmlgeoQvsX je\?Cer)[ZkӅV@e.GcLm>.^~7u0kX98^p@ 5z=&F{=?3_0%0Iq1$ V`8LI0)A?A&?O뿈#3>bDXUW&?#q51b0?YCqpNQSK/GˏŇGcAqT$xCqT?8~?Ș >89|ߓꃓ?T#??~qHZ~76usv{>?  4[Yt0 n |`؟LaYqr{BBS|'ee}WVx礭 :=Y0~4C jNA6m=NnHʅR_*&U8_*gbc) LrpH\ah.=o~&Ʋl=.xoTߢMPb//{!ҧ30fY}ohpXfFKnh0t&U¬0Fwm`unti[~}#j[<79m3܇?i XxJXFfAVNje0PWݿp@_>33pCNs^4_*voϣ.z釼p*]^ZIeSdI}.،Rk6χT2]n`1Wx'p,_H /ՎE{Y?1kԨw$pF3L5 ܙUU`;h<^xDT -)0E)CJ$~waքLMԝĮ%YSMiwŃRFdEaH?wEYd>PmK kc5B6FE8aX(C!6.]r2VGLm"%n`͖uLԛyT릺H*AC0pttB CpTP\A)_B񾘜k#D*P׸qV%׫ J%. vKެTH~fUbJ. <+vnn&ݒ0`#h]*ԫOl$ To"Hu+bS >\P pdAӽ' 7LHK)WuA*SSi3FsX+|a2;.Z7,/7Cja별pnRO '!utp{*,xYEFhkssc9f{Tjvi!Z|7%rko?`Wbw'2i/Z9|`ǼEXu \=ù0ss$eOQՖc\5FG-5.c)#*GDF%G>x0@CaslN6<-eco\ILIa*"ʽXxp> ؠ6# 9$DZ%Fm+NnEӁ0<=maR'9n8[j[ھUٚ ֣ʅԅz?_UX'U<;N%e%$B,{$>蚢bE\o\8JgwEh).ry7de ^Jr'ʓJq""8KMT+S !Ar7\L&+XY7X\~18Ao钅<6P8/k|϶ WGEˬ&)t׊sE %Di ^^'.DQ2&Az[T@j"sun77ҧAKﱦ 8|OQt`Q\4MIGi[7fO UԙR}2o2G>ČrFgQb5b,Ofd 6rs|Em$coJAU?&ՠlvF|BEw-oG0 8.TI,qPܙA L"acWY9Չu2ڭ!BU1y/'U*CD`*5QiKSҏ/I[nu{d33,R0 )WP._C)cT׹$eTvL ٰLP}nJT]-rN.wY:YTGEx Yfeەh=5Wk%r>Xj~͸sVpY,xTaәp5͊>r[k6Y&Όa֌ @ۆ|^"w. ٓ;ۉ|wt0IZ!#6a vzAtmmfᢜnF0wW75E)֊l}86|j۫=awxD^oV!N(_7KZE$ܸ vpk8+$p0\^Way`5ɰĩ9$̏G-Q)[ƺʞa5_֤1PIDsܼ<#҅z`I83P|td}iva?fASUPv{2Ye59>'e䓝W-U3nرufy'QOƶ='_ sx9 0.:jʟöV H6RO)5 G+Uȡ'\ek:aFW 1SQ گ v+캊(B2#ڧF AnbY`$5b OˉFl^r% 8&Uyl.fVťB0hsmY5DYjosM ,b$F2/? ~y-V^%Yk1甸44[$="JKP2OSegMUXbK}5LCSgsT|F -oGIlձŪ .P̐|Or dTf^{|.WȴD9K@teBF?P@v3׎j4.oYͰePP֖X#⁈%ЇLؚƃ{Ni(Dut \O;`\^+aVj;GZGY L1ٓ2ji*ܕ1VLL:ۃpHj4T ׈xyu^a䚒y^BPx[܏m+5{.TE*j! <]sK`s|tE;dhƩV u28J5*1K PUWŽ}W589M "QǶM P -edkFK>kFl`FT2 $M/s>)PuSGA˖'J6F9-YO5n^ש7_L8I^7rzOk@]ixרk JADŽoNPXnGۃ R?Cròu(ܗ{Aw pzQ*~c:ÐMzbc ']^O2j$՝*pĎjRu_cb+AvQk͐q:)7C,gdWy؉Km ,5~Pt%\\7F?~. D> olOTg+S}e-ZؑA~rBH`TNoZx3R)c@3mrE0\Rؕ2uN_{q nM3ZO^`O`wBZ ҙYKי}N@ti.S i\.cOL C#]Kmxd~'Udπx}C_)Ւ8-KEewzVvM wUz rvEH mM6U`ӽQOM3N|;TPIl3 )EzC,jm ;P˘!GjP Wa{ ZfVޑ²5 ўBgRػOoZ{Ls(ڨ9+XzQRd\TZ~ !|28!8<_lOq`DiywtQ>O8bb JkԳ5VWDh&lBg͠~\O6NAf@ۜGpnÂiI>zEr*t(E>kĽBjg˒؇ЪZ} 4ۚPA]m-k_h T!g=^#u[%0@k~6{]u}[v={{a-oM<*%)Gz~';a 6&PC+5׬G곌 s=|5'm>RvU>N#ɍ^AS{iiw̚n3i$M8 N\+~We:isW4(ФUh^`Y/vx :(լe9E6[o+Q 5*N#/wnk,C(ޙ7 Y~z9b_P린_46_TBt7x WׄL(`;EU9xBV,f8R;30Zn%x@U?`F$`(8 h{Sb;Ɉ1E1X@9^#OFe˱N1.mh+GO֊TJQ b ?a`]Vî#:chCPH\GJvnihx>hluǬc& s򤺏w?NUe3jN5GOeQJůJf?kIҎD jkZ(\': TZ5u[ '6SҢd&spR|qDi-ė@ZTw&',u(a X\8]` Y"Fo !Jg! M[F,S.ݑ tj~vNU+?~6}Ѱ>׺j "iP L6pIQv.}L}T_Im@{"5/1} ,1D^]|gxH{֬I}d %=jv:Sp8'r2Pw\hJE`G6^3nkOO.{SAg R'N6wzJį -fTT|l\3oٛ?U)Ghm.)|OX*ÁF$`RRkv &E}V|X]X<1M!u\'->?0wC@1l tX31P;WR0<)v K,Rek.k2TX]wzBi ^<]L\侾B=7Ipfj P߬?Tak j!}ZB6L(GƓ BoJV]O|Bo,㡀Ep:>k?U>t}j,O nϭv5mkbxcJBvdiyKf`K. 7=gdu5YpYWo]pq4eImWi5>֒E~ީam!‘KߵG="a/ U:1SMwizρh慪 RrHsė*]G.n@B׏3XJpQQhL~Td!0z3]d؃$v"9 ak,̈:LUsdYꝫ2*sG'?4^}?{ =BvYu^34 z(TEv?D6GzE+&26wD$x/z澟=}M P2_X0EW5/hPKѓq{͚d[ GIT<VAX4s:@\<5$0 ŞtRdыt; ̉>Qm3CʭY3z'1!#!qFHc0ykSw4ElIZu|lj ǽ$J.]h4q T6݄,KB w4_bY",*ΰpM3L_:s1-L7_K~KVH*b;0)d6 _()Hm&U0&&/9mvyX*%3үS̎_S,u=.h-MN A!b ~gF'0ʹ'SZ;ՃLʲ{H:370R` ×AV]oQ \]}+Hڢh׫ 箴Y5kS+J3ŀ4@X/i'h|}<-m׻˧5 EphŹ0HpOyN伣;U^ j>Xb ϊ. `4gxGfeϣoK`;Ò)*-TYD}hwXstaÐcMg*<9T8֧IY*Gޢ͌ #$&(ӝA:x.tj1HS ]sgIcA̾EÑ2/SEL2Ks<gMMJU<5c5ȗ|*rH|ȳ$#.u|K71K(}\շBIBu(>uJF4{-{O1ؙD6Vm^E}j5.dmf/'cIsYf4I3s$ڇ!>6Md}D]'"~_UM=il]CfJI{J=5jɋlw~=HVSė8K3x%>Dx bCQ}v/Ը o+r*zIP uepzz,kwCl 彼}ŧ34rk.)A^H 1qb`")zM$2rF\l'(JRNdpFu5v}Z2!&=> heC6k=+Aņ%eiGqAZKhkQ Ip KxAY0R~Xn yL58g;QN#J6&;ɼ>*̵n4ϙG4e/!MS`,15'ƝDQLoޖQ! VۯGj%LeoZf5]0IHGk\jX ֚[p.A_b( /Jт{:!Q s0ErƏ5 Ĺ_a+qÕU+ߡޠUSb0T2m `:իATXG|Zː1]:ؒyWx\]R*=Ixkk{s\\8-,Y^x7ՇS|2@,B9vw>1mfax_hS!G'kz"aURA T(ůk&K;ױR1m0D^L *S'{)Y>SʨXs~@ 5zlەs@oOE֡s1Ε3=LǪ=P?Cb Ua4|aHE F6D\ˉՂ7kwybʣyHBF )n2r0nhKxh0=nUDd+}$.t,/F#W[F2)ڐ}KdoaQz o^CFanLQ0 O|o<hѡ{$kv(0J]7 En=DV=mIʗQOOqYy6J>V[[Ƞ~t.0vJofobtl qW U)>qcOGtYV:f,;hZdZ?D-Լǘ5D^(زIfJ 0J0 /v92``䀈^IybOg˃/KH.8`яnd1*?qw_DMqRcg 7'tdH KBa= f{JU׵5xvGLhv(|adQ"ZѠU3 1a@&/(_{kuw VOHT2J#T^4\KݹzdMWNuN0 Uz((e,cj7!ZdyaMP9~xWG&Jj>5<63R-]ob,s#QĿJsҀ0i ɵʦ`'5÷εbF"Z9d12I:K&+C<&!PcR i?mTƎϧ s;MN8r+-o=Ϣ[7ս2'SSE\W͡4= 'Q-i"[!)-O$!ܛIԠ9~>>rbk e^uAq ydM*GvjURT2cn0ϴ7dE&{XT$2 5KŦV:*M _{ =lAuZD`LFWRC?Z>BzC>v<>ww>ԨRWn<˦A Jox&\|{Rȟp'냯Cvaѩg@b :^43I'nqN~ޅ :=4oo.\}[i}P wP}m [hoiYC•Ѹ<IU݉7~\hDéxv_Z7X)׺fi>|Q0N&ft_`t!|Y>0AWJE"V6ol`k]e\ 8To~3oSoN˭r|`u@ *~z'"}¹l%}M YdC0o!e6^ LRRT=O{ݏ:يHhfvz:7a_j*;;plM:I>{65ָB f-!T?[*AT3n|ӉLyqbK  RbБ%ʥoFL-I!J;.LB9ºq3 *(v;y~"ma&5&؉_6T o;dqϱ SfgF`GEtU{\2:#ož8usFGS+a6kSzՐl9M<%Y~ T?= e]~wNi?ϛ%z}F"41XMk d2D8[8N qHz糂5mwMsoCIc?TWUSXC|"Ԭ弿.0*[Gj耤)bi]gskfw bF/>W; K]1aC:/jY)b_+^pc,t–=Ⱦ<{]bT[ 8"SfeL'isEqYU STD3d9=\ [ &<=31x6UԺCӟ|^^?I7ȓ;[(bZ.~3c՞ mm~ y7"W1+S] ʞt6,ptő͘UӶC3Q3J/cii!x [$LB/=> pc/T"zcWxo<;_ 8r0~FZe I> endobj 35 0 obj << /Length1 1377 /Length2 6029 /Length3 0 /Length 6965 /Filter /FlateDecode >> stream xڍVTS]I (]"E:$TA*-@5RJW@wD)ҫRU@:/޺k3{fgf Ca%'#LE@@=ci $.xxLV9 G!eA08*sC!>@8,% b _(,P wQH7GbpYZ@pC!H C2B!@+)+*'Ax.B@?8h }aN_r0a@!q>H' 4x8 j`tF"#CP #]p@]WBN!(\<8~TW2BpT E=1"p_ E.Y 餂B `H7ThwD!H'_|i{$wXxxF~ .&B Zb= %ߗVÜ  W pp$  Apu}Jq pjH(̉IJ!h4$+ }vw-%p3hE@~S(i^!釋hu$aEtVRC6AvBGk)ۏ_MlBGI*0RC|DjjII<gy_^ >j4kWM<{,Ԑ|gdB'=mw|oš-]̌EbMYaL[]ai$qCG=W}>N Fi&>Y #w.r-SG2yX6G&ygVM^\ZxbU-G4a>H߽846Io=-jiZUir~,M+Wq·ak9اf%m\9V(bYj_g5b;UC,-) j}"C 6x슛EZXݳ7m`vn`&Bf/bryk?\1}-2PgRcuA$ݗ _&JBßԗmk򭖿A7/HzOU:J[7%G"wo}I8f*M#u|km'U5YJSWyv>TFZ-SL꯶>ZB8i<=jL99  {ۣ} p  aOΦ7 $Ƭߋ*tB.J}I$Sr{H 3*rv5V䗕!;v:~T+EAsֽE9ڭj)$!Ǝ٩`m7ےP-yZD &fv<-48KEiMsu\)mefCm fè\8w4fm{%e= $9G![NdY#li} ^b6Ka]r#2j  b0Bϝʂ1LVv_@F7/eAXf]μa$3nX/q ;e|LVxHЄEcE<c.s4nڔDrSu9=I MxXxJ~/$[Z7?Qդ)D'zQat_Iky K VVV7J9̬ʧBO - cs}F8H5{fmF / x3O|{0K2ڦ?c. ioMKwU`FhәFwcl9w-O*s6C~p cG׊XNe f~|D2dI0٘uY%{W.sgr{ TZqWZe""^i<@PQVJ/>iT:٫{\"%)8;Go[nڕ Y+!*_.ȩOee`NS( me#f*Kͻ5-r Ŀx"8 Z̜k?05M)4Wo F[ariqq@Co(dL.ްWuoe_Գꝧ!s=t<[җy`YVN F-8cޅv«&s׺8q1Y{?rt4GngV f`RO l@򽀔fjB?5ORA3-[k뙠T˚6by͑q_YZ2RdS7N*?"%JQ/gTJU>|(i`G@g!?6*hFTTtϫ2"?3 H{dn JXd-V9~@C*԰ʛ٭%16cvNhJ@}PHO/ a(T6\2D~0',킐`l8df@Xŏ ZMF;akSA [_QP1\,j}"A%[r3 -=xˎw0Gm>*!X]y$WPb<{KwyS5A+^XĬ`8lv %5{]qLw7*.%j?B]l/R=Tޢ)oƻرDL!۱'idȎvY~k?kJP}u= !Wr@1 ^qɗ7Ҿxj"\LMM}Qﻦzx\k` vgy K?闑4ګR$W沩c@=4ؾ5HTq~qč2MÉеpW!>گT2{:vҺ|5[57n1n]!'}Ped=EHKGoWj}RjO̝PejܑE:]k0ǯT 4|.` $whė׃c޹g-Qtm2ryZ+T&4:+"C Xfh#>gZ7`j/$V:$* xJ=?;4`T5z_ &.jvD.Pqm³N%*wmi9ҐIsEh$Z]1Qf 6}Nz5{R Ve$ćf'F eb!ު ߈[ Ԋw^"Jv;?[;mIcl3E|sh;D>#ѷ,|JLb8?{i;>f6UIv.2|]Qas@A+T5Xɻ@f(#bHux.66:EQ۷*?cĬ4h47ƒ ju(g~|λd1MM5e E͈&t80a8pV~qw[}D7v٪|[,AZM^L`Ҩox>gjGϷw@\}%{ռ=W w]{aZ{3/;H/LKXHtwBZD"y۽ L?=h=)rџ:'C-dvǰk ~@ p*zFW>B45|MB{2uV}Pd8λxQ8=:6\97|_·ȩ#a]8n*mk^`A|ܷ(v6u)&|tnsIe1یh*%}N>xZ]nFMkW0$յ\o4j9{D.av7n ؗl QM)5kޣRvސR H-FR) |:2oopv]tj@rf110ѿcV 0v v+Kz րN:1ט#%F2 V .BԮR&{ wTk[a BGetsx@ TmI.YLgx(*/u|ewo >G? K/D(#]Ye !JJ8V ANE- U\=UHJ؉zz]qrvvf Dތ&!o 8p/#Gt$D9( c~:C"kуW m֓hw=[X%U?pw[@s>a$Yv(*r2?SV3%!ALLykAiκ1nų3miEA l2w3w.@HLMn'̝UU#_wQfQ.sŷrOV,eDw/Z ܹbs+w&pf 4%oͷ%+U\+t> endobj 37 0 obj << /Length1 1748 /Length2 9863 /Length3 0 /Length 10983 /Filter /FlateDecode >> stream xڍP-4hw'];IpwwKp=3sUUWg:{m9]PS(0 mm̬|9e++;3++5O-:ֆ_vX'jvH;[ G[>1@ mkrDsw075s#Έf9 @ *F '{gdl`l`jdP9\@ƀ? A1#QTTؚ88`lc rH@6:4 3o2l`ddkmg`nnc 01eܜ68X9ڂ \ ̭ 7 + bh`nhnC?`E189"\uwmulbnclcg;5s{g_`?:S@nFf,ہ~{{L@&   %$ `ln0 VLw0wh`I<[ƶ6Vn.GQ߄6}`db0qܬnQ-O _3A׺y[t6+'y(|ĝ~[0VS9[^GПK,26w_x3mL.XOV6 E[G?l]3?%N6Wsl\w$p'^Nc0:C`z[? `C[-rX x,K` 4@IJqKkbbWXcN oL_"VD +XNp6 < % ;w0ȿ(KdW99s)Ou4p#~JA 7҂E}`]0+ބ,Tz&%v4$7I=;btBϞ?CZZ┧ZO Ln'E$aRzRn씦εwASǾspk/_ ^SگA~*aR/3̚'sb"Exu>w}33J.ǀ}^䩹}?VEHEI@ }56M0Yѳha,e}|:huH'|pKzG*"rE2޺"#bUzMw#Bw=^ߥtCj#~Rb_VJcS[#ct8{'쓑 _H>_p$%Y_eӈ GI:,y)vB%)6UW \_}U饤W5+DwJ&SqObrg܈߱y/x^22dZ>rA;J7+pxU*֜to}+@ފϛ쵆}W)TZBcqG*2Z#Vg9ɤ#%h݄{wίx8Qr*`W o )wԠdCopޕF@JNq%N|4sf 9T!e,0:b vnsS_0\H;zwP0Qcq$U @M 2kqڹzTo CSz+iضQ:zj:7__KiapK+|*?> AGur?i&?̆")[N<-F/dR ힶbh<) E8' (h.VǘdP^"xv'tq2Ńɿt`!6ɛҩ@oBaNZۄ N?oTJth\LjۢB۠*V/hjY1:sĮS%6a o}{T ⰷݺ%Zߢhزʙ Ng)(\@u>o#IyfO4u+$ļ QG{[;Zjx,:<fWDRm[g*lx)ImK%Ξ`fZFL(9?iɻ\s r'|.ee`d2dwm{ 坵x@<1ULT2>[FjS)kƱ4>nN!f|1jA{S΁*֕3T}*47 йXlʲJd_G[Vۡ#\sLͣu^[3^}8.r @.D!N\PHI{*5ʷmJPNBW}CD6< wDRo@5|bb~Aצx(ˇ7AS :p~H8cwӕp3}r rIA9n-a3>d:z8SB҉#Yl W?1JcuK-gK_BRVYYkq#x#"&d!n]hFO1G2?5`4b(s5"Ȩ(HppocJvSo 3⇰6'ëD,(z #]PC˜&#Hx&FIjcD!ܽU#Rhl=ꅋ^\iiwo brt7^ַLL?3Mo>>EWslҠg C=~Yޠ0^8 R)H˼R=cqQKKW=aʷ9|>ϼoI?e 0Y m}!߃uB;RjuLHE< v47i_otۀuEv.QA)8}}+WnT_NLvk *\/pC<:)iA"룫݈l-z΢; {CX6:l|ل%%1gjC:kJHt !u&*$IM  s䗔q!N?%?WѻU)`1HP]vTc<)$5T+O2Σ:#/e\PO:~26:Ƽ*䗊|"v& b -1̝i3LU>k:ӊt|W o3UP"&Z_YKQ)l2nmR~YF8rӼ'.ٚ% uNf,oHGR"ϻ*ioi:!ԙ0~nGi \ ǐ"E/2 S&/SO'FMG @]#ϭ FBhW`}H{ou9[=w$Uk? /}h< CymPDl4 q/,-gGCZz(E Q;3=4 cFzghit6բ-ܫ7Ĵ~ٷS{oW@ikX|I$=l_+R1$A7.I?g !ecª>P8[Pr֭z -r nL@*y, u~kQ&0bm[Eᰞ@ޥ0d5C͹1+u(lz~a m~'.aVQ7X蒲f )Hx1Z8[~o{~m|t!;u66m&7 n" ֎}eJWv"+Z@(,,?Q=$tX䜞icouDuҦ~+Zb켐{ҺjG三}S)d0pEW=j]4K$\pȪĺ)qV#oՎ[NO,F՛} V&k{ay7-ME#1{ *nLY<4=5(3wͼ=y*K)<]Dc9tY:&\kE{[ )XCG (N~ZR썷f >`76wgl,Ofe2P[!Ū r >{1c̞ogE':ԎwC-bM`,=>>-sLF8P){3@{w0| üu5}EQ+.%A$lUOenJؘș|AȿZsm:b OV.j(Ym˴wGĚ۫؜ ÜG]\s}RqiLnBP+#13Zlma$1"Kɩ  Ñw6ޛY9gVm8_ÖWyˆ8g.jީ6Tւ>1WR;#yh^zVzG8fbh%rIiFP,]#򫸉B4([;kgmUR+.Ueh^aP wK%079'B IRM⻅nJ]({a~%DP RžĀI,Q&'Lf|@v,zL,*C#EuC_I68)dVɾpd]Fꊜf8\kƘI ن,'GnQ2BԛKǦ )+r^,ϵh#{')p*^I״Z7 4~\dx8<}khvo7?pۨxfp:5Z'%k6HފqP͎+a3#*V2bB#pJs뗧ꢗea-3x%eߒyW)JYcbY ".߿6Rx'D_Z՘|=1ə m+ZWQ歟{Ώ;\je'36bzd²H#AWOk~q?zl9\r4_hS9wgp/[Ǒ6^|i"s_'j/bmtw~b(X w cl{mCӈRGTPqYZ:'4 -QnO&RYD6Vxp4ՒܡFC>k)TJ-nSvj9, ۧJ7@VEDƗg9O@kKxѭ3RqXcſqְ2 orJ0&|U"U.`am537EϿAC2X}BKUJ~&%æiiAb"=Ɓ@͋k+Brph|Z!w/^c=$>H__ :|ٛ!Zĉl37 %bxJÕpQ=6r=!QR[MN#BmrKH=$OT>Q>>q Ijuo@5;8m܋pKVYwRێ6_([#^Q0y?%rm},-^QLjG9SqImӛwbOyŅ}tsE-DP2谽6/8JkÊKŭ %.y-V:)ꊧg^ mK/d:_x' &eiaA&0KrLmjw]u8!QН_VCr! h.^I.OchQ2vZpy sЋ:_#j6?1n#=O̼N#}FS80l&UhWCu_8W,rjOAгoK#i  Ԟm1g䵝8ccKB%sLO{Vv2G|f;S,.D2 U /5Fx3XHEBK%Rؕ,ݯ˝ )+HT"5q?4ZFRR8# _45*kH" ?!oPE~X$ޘ?Bso*kR$#o>' sCz[]Y|d^%?#C#ړ\K|cCW~yb"( T˦  O}qjv$rSiܠ.41GNb6KM X-k7YX'Q4*TqjDEm .O,fr`y :Y&cCjȾ 6 ~k8} kbUrlӏs]ٹ9T%:H|w[ٰJr!f6e@pu dF0A!p<mj tXB2{v\_vO^px !b=ؐ< *z{=b} ݀n$=C K/.lޱh B?W5֠[Ƨ馫͈TmjO6q&TcecimodqҚsS/*ffR>n~o+=@faBp?I](D( ji#x3SvW h٬i`#P?Ѷ6=Im[>!vػ*) l{sDwc=#ӻg#KӟV#j@S4W܊j$~Lw9ǾSkXJQg=0WqU 7=]}cVOK'XU֥7bީ@A%yox3>ڶxEMWG|/]a P84DϵwQJ[ht*Wҫe͓l5VLAE>o3}]ѕ&SU{ U{)kJh~j' @6*W] -wq7}hW-u,p60,ϟ63Kvel::ʗGNP }v'+NXp86 { #F;9l|'a 'zTo 9~,E"-BW 5pb;6/a:x~p<+rѦI 3Hã7{@1 vM3@n".vO?.UVĻ^sXN\T.q)Ö6/YӸs6A=՛Am8&2_?&P R4L6B ]Uʕlr @=?5JڭY*c5MB* }11 I&zDž-^1kA\l@FQqVf.œ d1a16ZFQltrS%G;ͻw{>^:| l&Erv%2ɇUΏl !qKhȇ@v`3;>3]M>4̉+ 2uI Pfg[-Az՛]ΛEOg^}I>Dt"{)1Kv"r.)硤.Ы nhV/_~ "f'Վ+"V?¼swbZ@DB>>ZלZsl϶%eBZ@*!C/wy_^C&Lf ZxL{NCV\{~S$E[9vYTjN'<5iŜLp2?=uR`hnX1n\`#LPߜuPtYP2 {nv'V~ݺʖȬ׻,%:* =.o xhÅI &. Za˳哣=rkU oiI%x!vdX})[׺(w(~RD҄IR;d5ٱbQ oϼ&JF1a{F|[2}yyg%,nT*]&Gb;Uf?y~Z%P*TgW )$POS]>UG w2RMfKE9#/@@p=:+@rn1MJi53~ n2GPZfM_?<*ajk\kTʢL|d5fo>Bdhߪg.H)BVczWA1/B%x E'< r1&;Ȭ1|w9r$T, <\ǾKW}6~zuZdh ݽTmZK\OK9ʸph*Slv'pr,?řs=O:w\܁+SͦEb%KymD|A\?ՋFĪ^0Jv3g+R'w`֛ r|]2$yRa|5szL:K.-eEY{N ɌgZJ\ ]KQI1oK\4 1֭YT`#E# &mi1(bfrzR2Hս$F=yAkEM;IE(QZ+i͔#(# ~],`$;cWAk(͸i*K`jВx IdwgAvP(OOEegX ޵"o J/̓/mONph~Iǭޢdn^ڜ-"~5bߍkNv,Ӆa/&E<|s\i Ҁ&FFVz(|wt :4$JDN90,}^*Æ@%Z_6Mw= &c͊_s"݌=L$3$l*Eܝcd oq4A̓cdt! endstream endobj 38 0 obj << /Type /FontDescriptor /FontName /HEVEWD+CMR8 /Flags 4 /FontBBox [-36 -250 1070 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 76 /XHeight 431 /CharSet (/A/T/a/b/colon/e/eight/five/g/hyphen/i/l/m/n/nine/one/period/r/seven/six/t/three/two/zero) /FontFile 37 0 R >> endobj 39 0 obj << /Length1 1946 /Length2 10648 /Length3 0 /Length 11858 /Filter /FlateDecode >> stream xڍeT\-@cq -[7 ,Xwwwys=9}ߏ7z=fZ@.Xe!Pv.0@JESYK y8@n -[=Aj qGl٤͡0 fp s n PD0@P(B R'/[k(,L.!!`[KsG9hinЄXڂ^K(IÃb-^].`wUs?q`0ll]҄XA=] rs]Me?do_斖'sG/[Gk=&AXWY 9ǿ;ttur2qIAPWIۺ-a;9B<}`+[GV@nNڎn`Y05 ;6hy9rr6xqXZ~0|\Ͽ0 [K(lmgul [O!6\?Oư9A:hNEIeu-) s<<~.?. t۾vx0ffP `# B${5ɺ`/0wl7(L$*To.?Vlo& Gk ql*k B-m,#XjsPhid\a fq~+`b7 &Y)pr8B÷+ pJ6 S$cji 8-A06l9@ 6NA>i2?I`x9?Q0 ?)0{caU;0qk19!dq`= ?Z c' ?&XNn홳 YkW`VAXB`NW؝ '+l~8 W07vL _l=3SK75!-U<]ڗOnԼkv9m* U(d<$[9P  GsԾT:Fc=vG~ܑ?)g" ?6vVC*+GW۞b" :TFo z^?vèhYlr["LZslA_, 6}kӪ [~'ƭ3e?:zQ H[gR h5c' )7V{61{LG ~aFQKwRӺ#;M dO&_'z8}Z:[`6LdD5q3%s<_Qm)B?Y-C&sϤ5ƙIae^a#*c\zc_Gx$E$G&rnO48xDu]Z\{GX6t=H`jAL-`߼c|a9mHhDZx N4Q'/g<8}e+rFаq8HQ7>*4JBΒOSH9eO_]|;c2O\RQƠ)x)2 q5%MqIB0V# j{Guγqn*w!xߴ/8'8H59@imm8#A0veogn<|G-ּN" .]5g(>| prߓ n5Tq>d#ef 8ĕ1}Ak bV1}o2͒gq݄ZKkawЯz|+4(Mk/ +5!</_%muyN2ݷT^g~V|[&fyuRݒg)G mpUÕRauSO?VJE0;|יQ > <<9a(i[}Y4_|;#FzGF%K ,d&Gj$koЋgO_MĨ5?S oiVW%yk,꛴oZ} K8^TQGzZwχ7<ؕlȂx 뎯n2X4a5^cN˞ |Ƴ^;,-bgU,★W+sRMl?+3meT'#:~ 5 {vBvttP՝X;JT#qa(zZ5OP;-C&Plp<QbaP`Yl]ˉ^wV(iw졶1gbIKҢBl24+JQ^P o'rQCFʽ ""SnjCtrUyNhSv>wlnXjw_ˤsW8_Y~MWjC(2#u-<3Gi /"~WbY1-mou|fBDK?}H}lO~sy47!.k)Pi+bo 4)Š9{CS#gF)MI q#qr4س.ů/D>v4~`EΞɉ\0 $}sU˚zsZCR Q<ޚ[GC'! h1U}}1-MH4sзKa=S(]SLߢuP?6hgJA;*Kھֳ Qo_pZ?Z\B7Ebbu*- S& |E3RAXRVNi O^'MA q8QGiςfix B5(|ezj ^Ryw{ BDB{9]iѕr=-g|Y6A-'<lt'Nuw~t[y+!HAEh} 2W`_uDܤewEFGb V珪#Yw;>_)P2SiXȰ)`!q:ek݆=QGM#,h?pQh$y>$%"RBNr~9E#P)"L/XX9izgf`b_@A@<&YG:@z@h k K|Y,1v> &LE\|@\搠c]X|5k}#Dek=lorMCQ:O'b_+D zZ00/xfkO\9he5,lxw=j07Outˆer;gH1l4ifѐQ>yH5̐e m9~Av!h,-9L+_r:b JGE9^k"kIv$mvv<*u"ѥHZz@zI  *- j~C\FDl`3$d]pO/'z'afWI* y2/[ Y#19Vy&ǟwtw.*6A͇ ?adoPQ?f0b?Q|>._*_\b nIWwmNP_#yҐ/!^7,oF_*(d9-<|j}GׂO$ŕdJX pSlCA$$i2o$i.J~gg3x 'ayWg-hi^ܯ+sG>)F#r@aL>\m{d)X1|FNwlTw]HF4.nEfzИ1WAjtD*ph7}x+AyiĎwߍypbrVYn~g:fri~p/Z'P+g9'tCղX5l1xP5D7'm]iwǫi =8Ϙx MB":1(4 gl#vY9$X>`}ijLS>?;1xisZe 6VJYuJ sTYkP ILHۃՆ Yec9r.ucөoN 3l seJJ|J_gʫeX+1[bO{e0s34$;o2tn5Ǹn/Tڶ¥C[[/H'_<2;j(>L0Mz 12Egdըjm~s|Fvd~ b$/h0gHb͛r?#ɽ$ڨ?aJ#\l̊8z,޲[ŸވFǽ7:y!";δQIY(m<,O*kͧθE+(5cEx$ 3!:Fw7{\3u #VZ!2kjRͩ6 מ[tbQDD՛9M>s+yJي{]!#Èʖ8=YaQ?7`ϐњ6.bׯl[8ݪ;CFu4m-J^x-o6z Vn꥔lv>XncG'<)k]t=sݓeS 3&k;ӵQ8ns"߯`}Ðǩ䧓&jQo7 xa?V;2c'OTNgixob>3R?m 5 ^pa<`?H?p=;@ 8>ȹE,jmo%b_9'lGI݉ W5C0?3 %R{@8S^‰+^yCp;@jdGan1UxhEp*=YDg>gDDeV)6>3 W)QW( -p 1c7h:O|j=lho鵩QUx~MC?s"#q'` e ]7s]5 aqc'SZ,ω-r* )͇jfMVۇΚ0Eh, 饅֢*CեpN.Qי_[F4"̯{^^-<ݮ_6G`EZsgL\EcmWh4Fqv8 E[l&/-Qu>z}hbO*C?_zhrM;#0Xql)VIdMsZrijaoVg ֳu=ɋŋr瓕֞IX}F<^Kbq$,¶X(0Q`1! ~3ek,Šuxn+r*MsZVHE3e$Ա9/%gPaSbٝk+:ՎjI&nN+UՎR;fjGDĠ鞞%W˄}HVa ;YRB *V9xZThQ{wL1g.sI^$Jri8Ez{$wDuE8_[;)/ %c(d괜z#-31%:Y9I?O~9`ֱrD HL28_HY>t 7 u5Vgrtz`zկM\Ʀ$)r4FEEW.f!M ?Y|T/I>7ԫLhxC焈T{ja8i] _H~TܙA0A[~ :9ED@*pI`ɍZ \p89Ya:j稻 %fmq"sH`>ѲJ0?i>0 1u]ӥǥ|I$Tztnu"^1&fE`zpTL윔KxxLJL6P{D6S*s"l9f!#%5<딴pCDni 58c%H&q{_$Bl4y?t5=< ]xKXY!!yIvcicosM!^uwO;WOrM7 #O-]B %`[a( D>ML {UH%63.AxwUȫ;t;F3M}Fc-CT3+cڸ!Ԙ(ug}|AOj~_LT?%Tb)]3jsf#wnm584Tz_cc8G]&@<Ⱦ=-B:5;ꢪ_ *Z-~pӏn3ٗJ#Ҟ IP^̒+^/^®Qj{0.SE!ԷZo>Ȝy\w{w;\?&yt4+ E6܊+mxj{w=,?㯡|ZUbgI4A"+ ?:v.[8fu)6Ҵ`ȐC9^-U9FQմ3uF:>XJTAqڞCB̙3i@ơTM]cutwf[ e*Fs ' q ]COnvTeyUyT@HD{Z,$zu墣uSb z,HFrF/6|mS^ĜmoYĻ 0 J~w`5j>]/aJs\c%]2͓`=fcEY^TfWGhV}aX!K[H D|-Dh-Xû$4|O5vcqQIrty>Ew2&.oDh?mՌ'?jxN#Td3|@Th1wT@)I#tFrUs{ su0dC/Wo+ /Ix4~ 6߬%DsBɺeK'9I{扫يaq/Wu_\Da{tl_Cco0n[G-&4$܋9Q4|3%2|Fv5ؿVj򖱲TÆÊn}U`N`M`N Bh'>En3#4kbʙԣrApǏĻ UWoY$F\ 1w<4d9*^ gj\>|z$^m" @EI~O{6H.@z@;SgW#pQ Ȃ*%lf;3i endstream endobj 40 0 obj << /Type /FontDescriptor /FontName /JMBLMP+CMSLTT10 /Flags 4 /FontBBox [-20 -233 617 696] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle -9 /StemV 69 /XHeight 431 /CharSet (/A/L/N/U/a/b/c/comma/e/equal/f/g/greater/hyphen/i/l/less/m/n/o/p/parenleft/parenright/period/plus/quotedbl/r/s/six/t/two/v/x/y) /FontFile 39 0 R >> endobj 41 0 obj << /Length1 1516 /Length2 7761 /Length3 0 /Length 8773 /Filter /FlateDecode >> stream xڍv4]6E/QLnNtDL0[DD!ѻ %w?oZ3{k{hpJ[, 0+'P |\@ /#.AE!pY`P#(#$ x@0Q;PAp,FY _+Vt#beYځ;ZY8t`V׿J۹:rs{xxpY8¹`.@ (-RbAt`6.`bSܠ`}wHVss<\<3W!wl `*+j h[[@,,nPX3 C~qU~ֲ0GG0k}r{qyP/E͉[ qvܻق]@ PWv=5rrsq9li 6,;-,5` @~aߟ ` ¬aP࿏[@*<>|N^ $;^M ȟSD q{qS, +azX Phu)?W;[8BD~6`o>V[C; ri9y!p'Zje:(Xwݏ?!d< fky..^X{ |xg[n.(>p`su"n_ߖ0?[oKDms/NnX0auǼW+?&/+7y{ٿ/0l53  yQJ0/?nQ V m Dj͋^RdR-\'-7]*G+]Wq,A'-!,AmX.ė[+ '%>aÄsùmN'ܮ +ҫJCv`-nX'rƢ)hڢt8rWe W"buƤQާ$_n oΊ=̯Ujx13P-i:$ymۯ/>ҡU> °zUF,61ZˀIOΓIT'K_s9F'dK7DXk"v0["3@nk t8CU;FR^57ԡ'JBH_ieaƼB8K$h?2[[]9rkY9MP M#>'Xw!Eݹ94e-[NqIj%_bOkV+~$yKp;:Z 0k<J( qȐ5 +Xַ1H,T䦜ꊉ51$|mf:TWP(ÎX N:JXJ %^Q6*rO\E+Rz8iW6)[S#죵FBno_,J΃Rw>|CMaO``hكjsg~%!t1q+9;G 0/696߆r5/oL#c@J5^n,Kae|ڜNlJ-%56cj+h4kP;lT\0OnL:MvrHt|Bg%b>\3~҉!zn D'=QIGRG_G ǟTic#\P*.XA$Am2mҿMTARu8k =.% V5HX7fT}RC#ɏvsuA(*>& 쫗I S7m  YV{`l`wIbʌsCmk10+2>wo p@U Rfr̋Lg,7IjVtU6(ci~&\ubLη/Ey>e+w~8da-vӮ$1T[<#uKA(!d{Jg[8a:cJ/@|$8IT# 2n뾴z`It5!ٖiO9fϣ'}FfL288BL }'Ev]c4|r>'tPhoi/, EI ]SB c`"g+ic[laR%$ѣ)S[<2Tbou&-)C<* c39 G"8BQS'HPpnuv7%`oB\s& wt*xS>_L΢Sю z’NkivhOz;B_o?`%)S^׸Lsz˩.t4的gۼ}Qbl!8SK򰛅lMF)37TE^vJ?;q9^W$0XU(cmP{]]ZyP˔Ja䕠31~-5ωtܮ%.C¿Q`M yQ/wH $}_QӺeĕ)Da)E& 'nW{g/񣙆HTa̳n?O^.1=Q>/~I"_mFȄɸv)+qL8 $CX~Ju0/ޫ}Y+:잖hA8%/WRtp(up0 GG;LƏE{}t<@f_ȴP/z0<14?O͏mhqM~V(jțG;P(Bk.NBG~zr+WI.F߸79އtӣAA+urR{e-< XZKͫR7S6q{u&vЗzmZپeKZ륃06FUH"5 =ӳby9r/Aڽe ۇ% TLg{NFFM">&l\bMeBq Šu#ۯhxP l\ֳ6 P!sCر:sイWVұ%VCmpie GQ_n% 6J t8hW" bd;{ >:CZIRM~R'|uB<?-=dٵ=#fpХ^ٞNWQFrX:3zÝp^W|ie5s*rUǜ H2]ۈ8$fǬV}PK͹7ˈS6m붥@2*QPT>b[@YVgX/ ^ՀEĆ)u N48Spv1^iφud̕">[¡o_ ">$J|a-s6 tMn+C֣=ل K |'=E&FCkپx 5|e83wKC #`{wMXAZ:GߍEi8Ju]$Jt^(LS:#-y|w 97rz=?fC%5!oк=s leBFeq:b?m.HL,amsE˙YVo#J|8kivy?5-%հ{_k.^Nzk} >nTN ~,]\ H^Q}'jO>q{O]'ͼ^C<%ji& :rΘ b~y]O}ְۍd"CL&VOnpՏkǘRJѯ=eЎT!ػa#|CMKάWM5?޽\em-y]阵\"F g@{*@<\7 aܞcϰcV9TY3pL9>AaJc7t wG<2៻+Wwd4X>ߐ9NW$QԀS/#RQ !zjB V2ݶpMW>ꈃ#Ҕ 1Wk6 }oH/x-Hn5?˨ҷ4Ͻэы.wmȗT䯨m@#\+EsŠìcP(tDVg;:Lsf5UhAXf1U ֚ ٝO#/YD|% ~a dl]<)梮#/cvI=u^ɗi~rALȃOWyb=z4n{08$[ܾ/\DڹG[*id2LuL3 ?*}CGN,OO:+kg_'x?7-}:8 -+"4Bq*ķmY~b ZOsHm&Z ea=Ǒk@:^뵹}ʹ,Wя6f;1hhnFf=X+°Pk|tڞ36fc0yS'XO1i@Q(#|G\矄eEqi?Ie_ab9.*{5"S.W7ܖMxS{w+U^7z'Ӥ }+YdyOc8gc΁S!3c ƔV|5HkFKgdw-.a9645nd2_05g3&l: x<*D5? !J3d7JSaz`.>cV~F745᫼KZkxKY$+d >Kɸ T睶kedk yw}e,f_)>) ,!O'Z==Ewm{?S_-gh1Sν#R#^ h%جf' āD;}W`DACz;!C-yWP2UI;Cx*-,ЬoD)9= *8uQT;W^+3ڸL5Ǥu|m\]Zk$EAwP@mчMƞ q2W 9?rNbewqi&|7PJ2@Lޏ2U,q- LiM>>毄UaBHbԉ!/l|O~~V_@g<ZWE{{7hWus-ѡ y Vg jA8So(dKoP_^ %qiz#j%oL`c/]ଡ଼=bD^M<ݞJhp36.Semtx=(L8]‡Ozo ? c ]U'>lcSV8g{WlYDž-Οa{'?)l s`\i,}dX$PUY464^bSvO<#vK!NM?;ۑѝhylj9+SCI (&vDqK%5W 6mpO'(qqSKTe)7i}jWCPi7&#݌\-C޳WVyq%9al?s-;m797 ?վVmSM~A3 g}$7Hj T:gttPIx'3.^3E2kbD q_zڶ;pWH-Jeuc͛MGt7xm-d?6sExІ/';:+R ,-Ϥq%lZQl[>e03>a~ᓬcwOZ405=!)Fx)Nx9eOwVSu"lOYHjn:74(4XNmq3?EcGӽroX ٰ?4R%./Ǥ-hNB WÂ</M35S"ט)t5n+]gO#S=~ 5\B>U~ V9ς)JaBZ|BAIN9YFǔ M?Ա-olLb"v|^.sȫ˖A\AwixI6 f$QA$6bX' m6}Ĕkveq+=jMmwv$TF{72rѐt4OdaȻy|S;`~Ic>ɭVR|Xm^F:0JJNCZ,ZmadH 3ĥNxX]Pn"*T\#L,>_Cw-cN3C Ʊ !y1xޟyS8e&;Y> endobj 43 0 obj << /Length1 1962 /Length2 12228 /Length3 0 /Length 13435 /Filter /FlateDecode >> stream xڍP-k . 44Np  hpw `;3_^Q- J2e5F3= `aagbaaCTۂ#G9X9BāWC{-`ca3@feP`:؃\(=,,y@cJ `f br2`KkFS-@ 4`#3;΅=- l P@fߔ@;_Ԙ(V.*@gU`ke wyuq79^dJ ?4`+g#`ne (I3= oCë? he 4y5t @RD|e?Sg+G o̿üYLdvA]3 ?7 3WGf {+'W_6"d 0 r?kǫ|5@ SSڐ_"{{Zihi26oD>`J\ >yÇ&=<%N!-M L#1 <9h@@vR8)ar/] [SٯC~,aш,5ɚCf$F:@ʞ|!MG=a⭻{7^E@Akl[0Eѻ0zSp3 -X?h'w>=y,|[e^1 ߶:@^=5cGZ7RyJͅ}Cሷf nq0:'r'k'FwvpךDş|qy| 3J(j{'Og==:$\ѐ >c`|jNGm3@&XXer;#Nipe>}=^RO/ 0:Țƒ2Z$z|Uvg~_qu%]H9WEe s#x%9܎*1,sz:)>e끧fGRV3,#M2閉(GRCQB3>b\ƖhL(96LJ+o(˜3K),l'l,8<~I¤%Ugrx6%yTsš iZF g%ͯ4TJa /0!+0'SlGku3~Msg(ۉ h.x'f⑆1f7TGCVvCz[]}\`pQ*E ưݕmzAAcZ"-}pg~RF1ܰx:V0! 6YTem:[%?cN@|K'FFۙE~)p.Ŧ&̥%x>oCzx/d {C6XZ>X8^d\QqIŌ;N*XK_L2DxI0@{[aA |4^!\zL<̎ğ9X7 i7bLjM4A2֖9̧JHTD!4oNx:=v$8<8I"r[#?1\}.2۱65YwbHa(%Uo#**Iwr'iYPHzmp4g ݏ#k+H'hYz)MoS. BL >X?3 gVhVX;ݲ D4a.m82trOH/F}dUE)v%aj6b%wdȺʞr{%hyE2^8d>@q xxZ& Ss  tY@kM@EA ~ҡ-n^%pO93 eG4"'qXƵ8ICfɄ>!R/^M_u)B>,C/)Ll bEB pozW;n`jRbcmڌ;y 7+`|P]=T#\} vr5 R80n' YUH.=Fud1Ӟ: O4UG˔E 'EnSUI Ap\YP21̃oR[Y"M Q,^\MZ{V;\O_9j@u=\uWC 4j#,LIUfxQ.Gd :.ZT!;?>~lfH&J 5͞z\Y[CU~`Δ-bʃT{'Lo w%ew OeEHZ'HS6h"0iIz/~mxwvZ/lՏhQo:n켊Eu@&sz Gb!UX ͞Y1mAOtߛE>HΏȿT $e*m<3-L>K'!0!u($bJ,pt,z_˃a0q9cˡ):wh,&4?hsG$ -hXNA KwLyGu_z6sT2mlT)78f"3+#‚50qۛjԗxCU)(K"I:Xg Ͼ{j1=gˌi27H֣#Ь*6n!iCQ {wDc(w}P,is Z:؟_;S;VnkO(kFіJKނ/Ѽ?b~3{'+ϊ'P?$MޟaR4ҍFkils}G_̏N*I@ 3$ሂ#xyi5܁c;Qc6Dr0|9l?N% Uu)lpdL2{xy29@5'#ݜ^8u[UK˛Ĥˬ @ KnMOq/] T(RY/$Aŧ9;TipZ4w!SfJ#!NZQaUk\)HH<wyea8c,"ɓv3TY(S?VT῕ '~eeS\uDų7w&3)*IڬuSN4?.9C@<F CdBR#DTz2uro+j#7gMU0xsRM tjlB?-pTp9"G0|IYueN<α4/Lpg4;5'nJd*lRCin.**DEqAOZROuMxP'|gQꮶRZ»]m5.4sPYw';dF \/z:0m""("l7c"m\Ј̚F+YǮibuNBY2hIڢ遭w8l(W"7D,oؿu B3n\\չ_!]P * c;Y^"Ğ|ܘ+58M<圷VE%=,ƻ` \u)uGSQ`BʰίC0@ngc{K^'T|4Ws2y7IʧM_̖Do쏙; kl__Fq\~%["XB *1 Cy\L]ƿ#4vR MXE.΃go!jeIт_R#I.|DCYd׉${Ϗ2(Q/DYk'R,*YZ,Pŗ-[E1^{+׊5ZJ=É3ć>QD740;y9%f j(c>ɹbVH hHk)/c ƞRDž#Bk)^xDG:bm!PI&]#ܐBԄYtJ*~v^*aɡ n5#}jq`}_TONzT]4Q.ӈ9,*=?ktؐKffKSau{xށ1+}Quq|X3.ܦ iRW=qIPzs!Į>T&_̐;"tɘP܇AyЛ{3 c,dOPĔa|7,sn.K*]&:] `"vєMwMR,LwRU5D)Ӂ C:70h?R=N#1rv-l $xӲƎpE;GllVQDf>]~M35jV3TXT$:ƲFU[$EsNG<(dL?' ;:ndt&*M2d5B -'v$~u"V @Y Ҡz>Q߿_6=uTZ~4#czM㟶0›Rus坕6S.arNMLMBiG%52+ϝD[Qgqx0HbxABW &~kRJ@]ӉG( 8Vs!>~0ݥu/0UW" gjgz]t,Ne=ѷ#p`RQiڃy9Lzje"Ԁӈ:NzRl2qJ4|Bp ۏ^8 G,XZ8Lr6eUkGemo@-s&ZZKc(-yV,YpCYuz4Xjf gj sXՠc4I#9#uaW c/K}Bү=OroV/F"p!i0zo݆JGf9KQ<ŀV}r %$,UZnVr#JJM.NyJ2 H:>"Z=Dǯl?HCY!J0fD'RYڒ)}0إu){"CzV̮Y&ۑOJkcMsEܷ nN Q"7}j%3NӚ2}p[HdK)mR贵½z쒺![7,8LO*OTSWLYT]F 6/Tʛ-.`dҏA!qOeӸxʼn 8z2zhҹ.tJ‘Zs|8䡳n^||NѰdu;,f:;v JuT)f{QFzGUFh(GJPsSW!px%E|t; /g!, bO-.Ѿ^劐gՍD7<=ryaJDmCwxk/[Ls= g%O)s Nje:5+QlJ4=dos? H. 󫁠'qBTO֘(N(*g9!okM0 y14Q9˽lci}S[0|G庛 ZJhػU6 2}.UCc}}Kiۃ 9e1e}ӗڒ-62)qҦ>nn=Nކ8y0*w\8w\5>X:+1Jvss~EKZ~2 iYHH!zz2!?I:cvS,0N9QqS?̛)S-'&2W.>MGTjֆr\~ !`"9ʊߥSzNgNv啕:~C=tdUbwƮh6n]2jma!K`C{Æ }(Nd+M$O=o2TK(%.jMUKE ECe=IA*f$\]+_W<[ QPdPVR&0;xĘqQNu>S"}Z%ybӺX0E ͎| Q0F60&_W*wB8E]'09w8 .ne.[XKM4HzɔNϤ ZӓSu-YgZ2qdh#g+S Y&XI#ba;uÑg..WBo=0\]7m ҲfDcM>6܍,]k$S>j"uGTՐK  D$CIVAa{}\ ssѴbB([N·+n j-=vR׉*Ӽ(@3x# `,w])}m/R"} y7W3+xĀ獱 DȨd'fSvtФ dMuvQH"KBlv'Ψ$j J$ T P <~sdi֘:Ⱥ$am\`o,oiP-vCbv/Sa1e >X։W-Bd="РBȌT9 c 彌 7PX< !:a75 E+V (vkA[ӻX!{fg-ѳ*ts dk]Ig5 պM3mspu?DFЅ%];!k8 :/3[ 1 }UKHWZ[w]ˣqf ڳrs-CI&+/4?PIDJ瀮8~F*)EظWQ$02d~YVh="bZFlksc1Jn;D ˵N-)(<:x( zf -.aYq5;Pmu8TBuG, 5m|Ph/S`/z,wF sV5Aŵ,T ]jU }^7.5$F K-"0}(,kfaJLdy FA _(/{mOu,.Nf20IO63N6~iNJ==*ewJQ irPSo1i¼Ӛ]~}=|r.BInJ6+͝S^/ŸJ&(5IHLm;X\s|/r}UdaXnM<'1'`•i`{flS&:cn1LZNҋ;&oa=Wlo} 'Pu+D !WaK9㿘7p( hF?RA4ip{-e5E&$vr z:\O[M=E<0XEI i> g.!`xW` N^ku+/шz+$X4>lԡXݚQ]1]AǨ0}#pɠBY4ZnyBٕzUf `1nzJ.қ|XʅhuEEv$[IRIrۘ&2R'SI/9%tujuvm- )FmA<4UO>ҁ5 yЮ(O7_x$rpƺ?\?.1s0~'Wu9`gf`*īoB~OozuiE5O&3 @- [`PHbJ3"cQg|0kɶ$*ωV-GyhEp @Ηl^qf Kg$o3Bq슺rNvx#OGk0p6޴-&Ѡnx:i[|^@7g͵Kbmd>B!'K[BO0W_(BPYm  $S Qmc6l54a1u;p U1!7AI8Ea] N uؖx"EkW1i!J٤q~x{ <(#8V˛ӇB@wF;w|MYʕN6P:="s|l- uGi2%܀@]UH >l%$l!DR$Luǐht^$u¦SUr DbA*'f7@.:ggc}X-'ךb)bjz"9T|wzzejʝqaɰ0pȆZ9CYŦ_ [є+ea{i7v [_䯰Ɯ)@S}ߠiIGTSnzֿy^kaD|ReK޻懠W}{ڗujIŢ1o'Fi{S@ׅM$7>(niώ*HĶ8*øю\l&bSM(1*ۦAŨ>TEz9n&]10p#MʚFmURETxϞRlFy$9cK,*0yאכyMZۥJ6:0pQ<:>߭-lE>Ornx?gIs(IPW_n3 sMkQ@o@xL^~{-SrPз8d!~|`Z;)U.B4vri|}='9dXARKvfq$vLmz =?|{ oSt[rMQ>(EWFk VB<i `y{qї\${:p`-H.P`G~َ!} &X@N{{[a/ES ʮW!4K+Wjsy3%;P _^vM)!̋w#op :L֙fZ(vS8*BT%[xo0'.o.ki{8L\ϔ@dsa_N. 7zȇڭ5"^&Mbn>?S-[O\~kąU:Xs&^}́PBڍh\a>P%Y(JJYp(iiI\ۼe%Gw+(qs"|}~J^aMRy!w#@F)Ԥ]A!Jp3 +/ƶQ8M'gTqژ:'\1ɆB,v}D0̵#Rlk+aWm} gZKPZkT~ _x %QOL\zǑ:@}Dv,6# 1Qsx0Qy335_Bp?2d 9сp TMNSRߜ ߢ`Ctڮ3?AL endstream endobj 44 0 obj << /Type /FontDescriptor /FontName /IBXSKA+CMTT10 /Flags 4 /FontBBox [-4 -233 537 696] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle 0 /StemV 69 /XHeight 431 /CharSet (/L/N/U/a/at/b/backslash/braceleft/braceright/bracketleft/bracketright/c/d/e/equal/f/g/greater/h/hyphen/i/l/less/m/n/o/p/period/quotedbl/r/s/t/u/v/x) /FontFile 43 0 R >> endobj 10 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SYATFJ+CMCSC10 /FontDescriptor 32 0 R /FirstChar 97 /LastChar 120 /Widths 30 0 R >> endobj 11 0 obj << /Type /Font /Subtype /Type1 /BaseFont /UPBYRX+CMR10 /FontDescriptor 34 0 R /FirstChar 12 /LastChar 127 /Widths 29 0 R >> endobj 14 0 obj << /Type /Font /Subtype /Type1 /BaseFont /CKDUVJ+CMR7 /FontDescriptor 36 0 R /FirstChar 65 /LastChar 65 /Widths 27 0 R >> endobj 18 0 obj << /Type /Font /Subtype /Type1 /BaseFont /HEVEWD+CMR8 /FontDescriptor 38 0 R /FirstChar 45 /LastChar 116 /Widths 20 0 R >> endobj 16 0 obj << /Type /Font /Subtype /Type1 /BaseFont /JMBLMP+CMSLTT10 /FontDescriptor 40 0 R /FirstChar 34 /LastChar 121 /Widths 25 0 R >> endobj 13 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SXNVZL+CMTI12 /FontDescriptor 42 0 R /FirstChar 69 /LastChar 120 /Widths 28 0 R >> endobj 15 0 obj << /Type /Font /Subtype /Type1 /BaseFont /IBXSKA+CMTT10 /FontDescriptor 44 0 R /FirstChar 34 /LastChar 125 /Widths 26 0 R >> endobj 19 0 obj << /Type /Pages /Count 1 /Kids [6 0 R] >> endobj 45 0 obj << /Type /Outlines /First 3 0 R /Last 3 0 R /Count 1 >> endobj 3 0 obj << /Title 4 0 R /A 1 0 R /Parent 45 0 R >> endobj 46 0 obj << /Names [(Doc-Start) 12 0 R (page.1) 9 0 R (section*.1) 2 0 R] /Limits [(Doc-Start) (section*.1)] >> endobj 47 0 obj << /Dests 46 0 R >> endobj 48 0 obj << /Type /Catalog /Pages 19 0 R /Outlines 45 0 R /Names 47 0 R /PageMode/UseOutlines /OpenAction 5 0 R >> endobj 49 0 obj << /Author(\376\377\000D\000a\000v\000i\000d\000\040\000J\000.\000\040\000S\000c\000o\000t\000t)/Title(\376\377\000\040\000A\000\040\000M\000a\000r\000g\000i\000n\000\040\000T\000a\000b\000l\000e\000\040\000E\000x\000a\000m\000p\000l\000e\000\040)/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.14)/Keywords() /CreationDate (D:20140912103813+12'00') /ModDate (D:20140912103813+12'00') /Trapped /False /PTEX.Fullbanner (This is MiKTeX-pdfTeX 2.9.4902 (1.40.14)) >> endobj xref 0 50 0000000000 65535 f 0000000015 00000 n 0000002564 00000 n 0000088575 00000 n 0000000061 00000 n 0000000145 00000 n 0000002356 00000 n 0000002613 00000 n 0000000191 00000 n 0000002461 00000 n 0000087461 00000 n 0000087603 00000 n 0000002514 00000 n 0000088163 00000 n 0000087743 00000 n 0000088304 00000 n 0000088020 00000 n 0000003413 00000 n 0000087881 00000 n 0000088445 00000 n 0000002765 00000 n 0000003214 00000 n 0000003658 00000 n 0000003683 00000 n 0000003743 00000 n 0000003777 00000 n 0000004147 00000 n 0000004533 00000 n 0000004557 00000 n 0000004819 00000 n 0000005456 00000 n 0000005616 00000 n 0000015139 00000 n 0000015376 00000 n 0000033056 00000 n 0000033390 00000 n 0000040474 00000 n 0000040690 00000 n 0000051792 00000 n 0000052095 00000 n 0000064073 00000 n 0000064417 00000 n 0000073309 00000 n 0000073545 00000 n 0000087100 00000 n 0000088503 00000 n 0000088633 00000 n 0000088752 00000 n 0000088788 00000 n 0000088910 00000 n trailer << /Size 50 /Root 48 0 R /Info 49 0 R /ID [ ] >> startxref 89411 %%EOF xtable/inst/doc/xtableGallery.R0000644000176000001440000005062412404422130016224 0ustar ripleyusers### R code from vignette source 'xtableGallery.snw' ################################################### ### code chunk number 1: xtableGallery.snw:14-20 (eval = FALSE) ################################################### ## makeme <- function() { ## # I am a convenience function for debugging and can be ignored ## setwd("C:/JonathanSwinton/PathwayModeling/src/R/SourcePackages/xtable/inst/doc") ## Sweave("xtableGallery.RnW",stylepath=FALSE) ## } ## makeme() ################################################### ### code chunk number 2: xtableGallery.snw:45-46 ################################################### library(xtable) ################################################### ### code chunk number 3: xtableGallery.snw:52-57 ################################################### data(tli) ## Demonstrate data.frame tli.table <- xtable(tli[1:10,]) digits(tli.table)[c(2,6)] <- 0 ################################################### ### code chunk number 4: xtableGallery.snw:59-60 ################################################### print(tli.table,floating=FALSE) ################################################### ### code chunk number 5: xtableGallery.snw:64-66 ################################################### design.matrix <- model.matrix(~ sex*grade, data=tli[1:10,]) design.table <- xtable(design.matrix) ################################################### ### code chunk number 6: xtableGallery.snw:68-69 ################################################### print(design.table,floating=FALSE) ################################################### ### code chunk number 7: xtableGallery.snw:73-75 ################################################### fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data=tli) fm1.table <- xtable(fm1) ################################################### ### code chunk number 8: xtableGallery.snw:77-78 ################################################### print(fm1.table,floating=FALSE) ################################################### ### code chunk number 9: xtableGallery.snw:81-83 ################################################### fm2 <- lm(tlimth ~ sex*ethnicty, data=tli) fm2.table <- xtable(fm2) ################################################### ### code chunk number 10: xtableGallery.snw:85-86 ################################################### print(fm2.table,floating=FALSE) ################################################### ### code chunk number 11: xtableGallery.snw:90-91 ################################################### print(xtable(anova(fm2)),floating=FALSE) ################################################### ### code chunk number 12: xtableGallery.snw:94-95 ################################################### fm2b <- lm(tlimth ~ ethnicty, data=tli) ################################################### ### code chunk number 13: xtableGallery.snw:97-98 ################################################### print(xtable(anova(fm2b,fm2)),floating=FALSE) ################################################### ### code chunk number 14: xtableGallery.snw:104-108 ################################################### ## Demonstrate glm fm3 <- glm(disadvg ~ ethnicty*grade, data=tli, family=binomial()) fm3.table <- xtable(fm3) ################################################### ### code chunk number 15: xtableGallery.snw:110-111 ################################################### print(fm3.table,floating=FALSE) ################################################### ### code chunk number 16: xtableGallery.snw:116-117 ################################################### print(xtable(anova(fm3)),floating=FALSE) ################################################### ### code chunk number 17: xtableGallery.snw:122-137 ################################################### ## Demonstrate aov ## Taken from help(aov) in R 1.1.1 ## From Venables and Ripley (1997) p.210. N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0) P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0) K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0) yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5,55.0, 62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0) npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P), K=factor(K), yield=yield) npk.aov <- aov(yield ~ block + N*P*K, npk) op <- options(contrasts=c("contr.helmert", "contr.treatment")) npk.aovE <- aov(yield ~ N*P*K + Error(block), npk) options(op) #summary(npk.aov) ################################################### ### code chunk number 18: xtableGallery.snw:139-140 ################################################### print(xtable(npk.aov),floating=FALSE) ################################################### ### code chunk number 19: xtableGallery.snw:144-145 ################################################### print(xtable(anova(npk.aov)),floating=FALSE) ################################################### ### code chunk number 20: xtableGallery.snw:149-150 ################################################### print(xtable(summary(npk.aov)),floating=FALSE) ################################################### ### code chunk number 21: xtableGallery.snw:153-154 ################################################### #summary(npk.aovE) ################################################### ### code chunk number 22: xtableGallery.snw:156-157 ################################################### print(xtable(npk.aovE),floating=FALSE) ################################################### ### code chunk number 23: xtableGallery.snw:161-162 ################################################### print(xtable(summary(npk.aovE)),floating=FALSE) ################################################### ### code chunk number 24: xtableGallery.snw:166-176 ################################################### ## Demonstrate lm ## Taken from help(lm) in R 1.1.1 ## Annette Dobson (1990) "An Introduction to Generalized Linear Models". ## Page 9: Plant Weight Data. ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2,10,20, labels=c("Ctl","Trt")) weight <- c(ctl, trt) lm.D9 <- lm(weight ~ group) ################################################### ### code chunk number 25: xtableGallery.snw:178-179 ################################################### print(xtable(lm.D9),floating=FALSE) ################################################### ### code chunk number 26: xtableGallery.snw:183-184 ################################################### print(xtable(anova(lm.D9)),floating=FALSE) ################################################### ### code chunk number 27: xtableGallery.snw:188-198 ################################################### ## Demonstrate glm ## Taken from help(glm) in R 1.1.1 ## Annette Dobson (1990) "An Introduction to Generalized Linear Models". ## Page 93: Randomized Controlled Trial : counts <- c(18,17,15,20,10,20,25,13,12) outcome <- gl(3,1,9) treatment <- gl(3,3) d.AD <- data.frame(treatment, outcome, counts) glm.D93 <- glm(counts ~ outcome + treatment, family=poisson()) ################################################### ### code chunk number 28: xtableGallery.snw:200-201 ################################################### print(xtable(glm.D93,align="r|llrc"),floating=FALSE) ################################################### ### code chunk number 29: prcomp ################################################### if(require(stats,quietly=TRUE)) { ## Demonstrate prcomp ## Taken from help(prcomp) in mva package of R 1.1.1 data(USArrests) pr1 <- prcomp(USArrests) } ################################################### ### code chunk number 30: xtableGallery.snw:213-216 ################################################### if(require(stats,quietly=TRUE)) { print(xtable(pr1),floating=FALSE) } ################################################### ### code chunk number 31: xtableGallery.snw:221-222 ################################################### print(xtable(summary(pr1)),floating=FALSE) ################################################### ### code chunk number 32: xtableGallery.snw:227-231 ################################################### # ## Demonstrate princomp # ## Taken from help(princomp) in mva package of R 1.1.1 # pr2 <- princomp(USArrests) # print(xtable(pr2)) ################################################### ### code chunk number 33: xtableGallery.snw:235-238 ################################################### temp.ts <- ts(cumsum(1+round(rnorm(100), 0)), start = c(1954, 7), frequency=12) temp.table <- xtable(temp.ts,digits=0) caption(temp.table) <- "Time series example" ################################################### ### code chunk number 34: xtableGallery.snw:240-241 ################################################### print(temp.table,floating=FALSE) ################################################### ### code chunk number 35: savetofile ################################################### if (FALSE) { for(i in c("latex","html")) { outFileName <- paste("xtable.",ifelse(i=="latex","tex",i),sep="") print(xtable(lm.D9),type=i,file=outFileName,append=TRUE,latex.environments=NULL) print(xtable(lm.D9),type=i,file=outFileName,append=TRUE,latex.environments="") print(xtable(lm.D9),type=i,file=outFileName,append=TRUE,latex.environments="center") print(xtable(anova(glm.D93,test="Chisq")),type=i,file=outFileName,append=TRUE) print(xtable(anova(glm.D93)),hline.after=c(1),size="small",type=i,file=outFileName,append=TRUE) # print(xtable(pr2),type=i,file=outFileName,append=TRUE) } } ################################################### ### code chunk number 36: xtableGallery.snw:258-261 ################################################### insane <- data.frame(Name=c("Ampersand","Greater than","Less than","Underscore","Per cent","Dollar","Backslash","Hash", "Caret", "Tilde","Left brace","Right brace"), Character = I(c("&",">", "<", "_", "%", "$", "\\", "#", "^", "~","{","}"))) colnames(insane)[2] <- paste(insane[,2],collapse="") ################################################### ### code chunk number 37: pxti ################################################### print( xtable(insane)) ################################################### ### code chunk number 38: xtableGallery.snw:268-269 ################################################### wanttex <- xtable(data.frame( label=paste("Value_is $10^{-",1:3,"}$",sep=""))) ################################################### ### code chunk number 39: xtableGallery.snw:271-272 ################################################### print(wanttex,sanitize.text.function=function(str)gsub("_","\\_",str,fixed=TRUE)) ################################################### ### code chunk number 40: xtableGallery.snw:279-283 ################################################### mat <- round(matrix(c(0.9, 0.89, 200, 0.045, 2.0), c(1, 5)), 4) rownames(mat) <- "$y_{t-1}$" colnames(mat) <- c("$R^2$", "$\\bar{R}^2$", "F-stat", "S.E.E", "DW") mat <- xtable(mat) ################################################### ### code chunk number 41: xtableGallery.snw:285-286 ################################################### print(mat, sanitize.text.function = function(x){x}) ################################################### ### code chunk number 42: xtableGallery.snw:291-292 ################################################### money <- matrix(c("$1,000","$900","$100"),ncol=3,dimnames=list("$\\alpha$",c("Income (US$)","Expenses (US$)","Profit (US$)"))) ################################################### ### code chunk number 43: xtableGallery.snw:294-295 ################################################### print(xtable(money),sanitize.rownames.function=function(x) {x}) ################################################### ### code chunk number 44: xtableGallery.snw:300-303 ################################################### print(xtable(lm.D9,caption="\\tt latex.environments=NULL"),latex.environments=NULL) print(xtable(lm.D9,caption="\\tt latex.environments=\"\""),latex.environments="") print(xtable(lm.D9,caption="\\tt latex.environments=\"center\""),latex.environments="center") ################################################### ### code chunk number 45: xtableGallery.snw:307-308 ################################################### tli.table <- xtable(tli[1:10,]) ################################################### ### code chunk number 46: xtableGallery.snw:310-311 ################################################### align(tli.table) <- rep("r",6) ################################################### ### code chunk number 47: xtableGallery.snw:313-314 ################################################### print(tli.table,floating=FALSE) ################################################### ### code chunk number 48: xtableGallery.snw:317-318 ################################################### align(tli.table) <- "|rrl|l|lr|" ################################################### ### code chunk number 49: xtableGallery.snw:320-321 ################################################### print(tli.table,floating=FALSE) ################################################### ### code chunk number 50: xtableGallery.snw:324-325 ################################################### align(tli.table) <- "|rr|lp{3cm}l|r|" ################################################### ### code chunk number 51: xtableGallery.snw:327-328 ################################################### print(tli.table,floating=FALSE) ################################################### ### code chunk number 52: xtableGallery.snw:335-336 ################################################### digits(tli.table) <- 3 ################################################### ### code chunk number 53: xtableGallery.snw:338-339 ################################################### print(tli.table,floating=FALSE,) ################################################### ### code chunk number 54: xtableGallery.snw:344-345 ################################################### digits(tli.table) <- 1:(ncol(tli)+1) ################################################### ### code chunk number 55: xtableGallery.snw:347-348 ################################################### print(tli.table,floating=FALSE,) ################################################### ### code chunk number 56: xtableGallery.snw:353-354 ################################################### digits(tli.table) <- matrix( 0:4, nrow = 10, ncol = ncol(tli)+1 ) ################################################### ### code chunk number 57: xtableGallery.snw:356-357 ################################################### print(tli.table,floating=FALSE,) ################################################### ### code chunk number 58: xtableGallery.snw:361-362 ################################################### print((tli.table),include.rownames=FALSE,floating=FALSE) ################################################### ### code chunk number 59: xtableGallery.snw:366-367 ################################################### align(tli.table) <- "|r|r|lp{3cm}l|r|" ################################################### ### code chunk number 60: xtableGallery.snw:369-370 ################################################### print((tli.table),include.rownames=FALSE,floating=FALSE) ################################################### ### code chunk number 61: xtableGallery.snw:374-375 ################################################### align(tli.table) <- "|rr|lp{3cm}l|r|" ################################################### ### code chunk number 62: xtableGallery.snw:379-380 ################################################### print((tli.table),include.colnames=FALSE,floating=FALSE) ################################################### ### code chunk number 63: xtableGallery.snw:384-385 ################################################### print(tli.table,include.colnames=FALSE,floating=FALSE,hline.after=c(0,nrow(tli.table))) ################################################### ### code chunk number 64: xtableGallery.snw:389-390 ################################################### print((tli.table),include.colnames=FALSE,include.rownames=FALSE,floating=FALSE) ################################################### ### code chunk number 65: xtableGallery.snw:397-398 ################################################### print((tli.table),rotate.rownames=TRUE,rotate.colnames=TRUE) ################################################### ### code chunk number 66: xtableGallery.snw:407-408 ################################################### print(xtable(anova(glm.D93)),hline.after=c(1),floating=FALSE) ################################################### ### code chunk number 67: xtableGallery.snw:436-437 ################################################### print(tli.table, booktabs=TRUE, floating = FALSE) ################################################### ### code chunk number 68: xtableGallery.snw:449-451 ################################################### bktbs <- xtable(matrix(1:10, ncol = 2)) hlines <- c(-1,0,1,nrow(bktbs)) ################################################### ### code chunk number 69: xtableGallery.snw:454-455 ################################################### print(bktbs, booktabs = TRUE, hline.after = hlines, floating = FALSE) ################################################### ### code chunk number 70: xtableGallery.snw:460-461 ################################################### print(xtable(anova(glm.D93)),size="small",floating=FALSE) ################################################### ### code chunk number 71: longtable ################################################### ## Demonstration of longtable support. x <- matrix(rnorm(1000), ncol = 10) x.big <- xtable(x,label='tabbig', caption='Example of longtable spanning several pages') ################################################### ### code chunk number 72: xtableGallery.snw:475-476 ################################################### print(x.big,tabular.environment='longtable',floating=FALSE) ################################################### ### code chunk number 73: xtableGallery.snw:514-516 ################################################### x <- x[1:30,] x.small <- xtable(x,label='tabsmall',caption='A sideways table') ################################################### ### code chunk number 74: xtableGallery.snw:519-520 ################################################### print(x.small,floating.environment='sidewaystable') ################################################### ### code chunk number 75: xtableGallery.snw:527-529 ################################################### x <- x[1:20,] x.rescale <- xtable(x,label='tabrescaled',caption='A rescaled table') ################################################### ### code chunk number 76: xtableGallery.snw:532-533 ################################################### print(x.rescale, scalebox=0.7) ################################################### ### code chunk number 77: xtableGallery.snw:542-552 ################################################### df.width <- data.frame( "label 1 with much more text than is needed" = c("item 1", "A"), "label 2 is also very long" = c("item 2","B"), "label 3" = c("item 3","C"), "label 4" = c("item 4 but again with too much text","D"), check.names = FALSE) x.width <- xtable(df.width, caption="Using the 'tabularx' environment") align(x.width) <- "|l|X|X|l|X|" ################################################### ### code chunk number 78: xtableGallery.snw:555-557 ################################################### print(x.width, tabular.environment="tabularx", width="\\textwidth") ################################################### ### code chunk number 79: xtableGallery.snw:565-566 ################################################### x.out <- print(tli.table, print.results = FALSE) ################################################### ### code chunk number 80: xtableGallery.snw:573-576 ################################################### x.ltx <- toLatex(tli.table) class(x.ltx) x.ltx ################################################### ### code chunk number 81: xtableGallery.snw:582-583 ################################################### toLatex(sessionInfo()) xtable/inst/doc/margintable.Rnw0000644000176000001440000000405412404422130016253 0ustar ripleyusers%\VignetteIndexEntry{xtable margintable} %\VignetteKeywords{LaTeX, HTML, table, margintable} \documentclass{tufte-handout} \title{ A Margin Table Example } \author{David J. Scott} \usepackage{Sweave} \SweaveOpts{prefix.string=figdir/fig,debug=TRUE,eps=FALSE,echo=TRUE} \usepackage{rotating} \usepackage{longtable} \usepackage{booktabs} \usepackage{tabularx} \usepackage{hyperref} \usepackage{fancyvrb} \fvset{fontsize=\normalsize} \begin{document} \section{The Example} \label{sec:example} This document uses the Tufte handout \LaTeX\ document style. This is specified by the use of the document class as \Verb|\documentclass{tufte-handout}|. The Tufte-\LaTeX\ document classes define a style similar to the style Edward Tufte uses in his books and handouts. Tufte's style is known for its extensive use of sidenotes, tight integration of graphics with text, and well-set typography. One of the most prominent and distinctive features of this style is the extensive use of sidenotes. There is a wide margin to provide ample room for sidenotes and small figures. Any \Verb|\footnote|s will automatically be converted to sidenotes. Here is an example of a margin table, suggested by Felix Sch\"onbrodt \Verb||. I am not sure about its usefullness in practice however. Note that \Verb|latex.environments = ""| avoids the default option of tables being centered, which in this example would lead to the caption not being directly under the table. Most importantly, \Verb|table.placement = NULL| is required to ensure that the default table placement options \Verb|[ht]| being inserted after \Verb|\begin{margintable}|. This is necessary because the margintable environment does not allow placement options like \Verb|[ht]|. <<>>= library(xtable) x <- matrix(rnorm(6), ncol = 2) x.small <- xtable(x, label = 'tabsmall', caption = 'A margin table') @ <>= print(x.small,floating.environment='margintable', latex.environments = "", table.placement = NULL) @ \end{document} xtable/inst/doc/xtableGallery.pdf0000644000176000001440000072365712404422130016611 0ustar ripleyusers%PDF-1.5 % 3 0 obj << /Length 1201 /Filter /FlateDecode >> stream xڥWnF}W 07{iQ;n-Q]RIӿP,nZ33g.K z/ϴ-JZS ƅ2{X:i+6Kv O/ , nXVF=xLBJU^Z͵EQfw 80k2S%Ae|K*0TX3Rm踍UE Jˤd(S|@1C'J/Jy4!&sّjFe>lظ I|obZ K2¢ ^&%p0x3$ƛ r^"z&o%¹$AZZ#M%krRI * ~)%&~X#*N9@Ƃfy{ZjVcsiH~`md{t ]N / s H͔]3*GQd3H/yR[C,r-Q[f=BѦR24_ZSV]RsI9ݹM۲'QlHQ3ԌVaoNoHNN*h {SmMbdYQw֝)f Zéfܴ΢Qj;!)܈i!]!"/)і-CumiRݐ{Iޙޤ e^>QJ9;#xYu[OUevb=ոދQ4u'b4V[qN<\iOOԚ{  7pgkQ`b~CRJyc1-.{N,I)<4)I}1UF\BlJ|e:9cj5.O.~[\psH9rskBu&?O/q*ޞ#f_4]?B{+ޡAcϯNd!thsQgҦkB_]YB >) = YLyՅmϫ؅&Og7UPIJ?M—nBs+BlLd?M [ endstream endobj 2 0 obj << /Type /Page /Contents 3 0 R /Resources 1 0 R /MediaBox [0 0 612 792] /Parent 12 0 R >> endobj 1 0 obj << /Font << /F35 4 0 R /F19 5 0 R /F22 6 0 R /F42 7 0 R /F8 8 0 R /F49 9 0 R /F7 10 0 R /F53 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 15 0 obj << /Length 1347 /Filter /FlateDecode >> stream xڵXKS#7WqZu$UR Y\`Cⱋ !Z{ai$}ix31Xh-Vӳ wr+$[MgQj 5'h?_X]ywEg|mq;v-_rLn7e>oM5H[wC˻eWؿ);įV6ҿ(G܀WVQH9,HRg1{15_}eOOq_*o2Fy B]6`f6QJ]C^nOE`Fw` Fo1 m` &Yp.3!l'&t|n}NBG`q[ n3]*P"S&^4>^ܶx?'Yss}SRn}^fn9 l9/ Q۳1(k˲Y$TJ9i:%$ 2ls:_1>KLjo"mY(m|8V$&V{ԯ.4щXq@.&`{T$uRhCg[mC}rIk(O 6ALT<iy>z~щQc*a"r։+.>0v߅!y"֡&w;i@l{H_g:yvV֍[k<&xUHroE1?+qZ endstream endobj 14 0 obj << /Type /Page /Contents 15 0 R /Resources 13 0 R /MediaBox [0 0 612 792] /Parent 12 0 R >> endobj 13 0 obj << /Font << /F42 7 0 R /F53 11 0 R /F8 8 0 R /F11 16 0 R /F14 17 0 R >> /ProcSet [ /PDF /Text ] >> endobj 20 0 obj << /Length 1526 /Filter /FlateDecode >> stream xXKsGWlU TA)B( [ˆlVX2NaٝQgwvmC3~!5GyZ0NdH^ k'% Gڷ<_ðUÑGjSsE9?/}phDQ/Y^8,CD1:?q/x!TS;|s߁C S xNE#3Kp"X[iIɒ3@L*\b 1q&cCװ*;ἄmvZ ,ln&S^}=OGuzC4s}]Iv]-eY (|%ۦ=(EwWtF,oK{=jR67J>nLHؔ 8R &f ѬDͅg*^!h.$WxxI/.c]ÿG.rv]@@(C)!$ױ v2 Z*\᭏Uם|bƧtm6U_쳎C/ԮEhуZ۶:x:}Uvp,[+W@ h[?#&DJ_/jwwXS-kwZ=)IR7叺}'=ݧfժL{{ r zZ=Ƀ nM&lh[2Ɔh zѬ4m3?-)l\{Oʜ];瀂 PZg d(1QɴM4Ԯ=ZbGym9jrק*A[+| ;펥$tprUEV|o 3ܪәΓ|HfCWQ Ɓ-PF̚;"|؇>:IWUKC-8qӹ+E^ !&CYar2 3/k7Աw@ "woUgn1}/fj\?2_\{b11r728_|r՘=yZyL|pz_b/׆C"W|($ek,vDcH$IuѰW=G;~7'(6d8j8g)At endstream endobj 19 0 obj << /Type /Page /Contents 20 0 R /Resources 18 0 R /MediaBox [0 0 612 792] /Parent 12 0 R >> endobj 18 0 obj << /Font << /F60 21 0 R /F53 11 0 R /F8 8 0 R /F11 16 0 R /F42 7 0 R /F14 17 0 R >> /ProcSet [ /PDF /Text ] >> endobj 24 0 obj << /Length 1284 /Filter /FlateDecode >> stream xXMs7ﯘ,xZ_#TAapp9 `{poOճ~Hi׭'i zDVU 󕳭PVqV7'X;7_'} GVWA\ĒU^h ~c)A}A(P_br%i>ndUFxV.SO05=α\aMZɃ=j EzDfϭ;\vשvꔈ?;`ym31n.T' u<NHm8Np{f9%E~~Jc}/ 89C2/ҩQg\ȁPא d6t_NĹdA~8lW2Y]pqpuoe?b۹˦M*Kvp#=a p4d'Kx4p9P}kó|q=xYG=I30-x{>mpB]]0-Q֜3 S׽"m kso6ui!P ̫i ˗/z9Ky:w^ =T76? 용`uZ?gfɨg2c5$,cvr*9cK ߽AC}Yvc`EkYNP૿E\|W/{k.6UFaJ<%oPRFkMy 5}[WƠ&;:qB[꒻܊քfmp2dH5RqPLj1Iکmp6zuZV WN P7$B. 6"?QJ<%$L6rP: 4V9liL "^V+6aMh`PK$ t^N@E /)>Wc ).&n7爛U#.մVN"I v!W{,̭8Bq):O YmF9Sh ]fc:Q^ĜrW&US3Dw)@ ijp"G, FMEnE Nze]y'$u]0u]Z8vuLB!nK]w߭S:X8mANIoue]m{U6J% _Tt Mzu- endstream endobj 23 0 obj << /Type /Page /Contents 24 0 R /Resources 22 0 R /MediaBox [0 0 612 792] /Parent 12 0 R >> endobj 22 0 obj << /Font << /F42 7 0 R /F53 11 0 R /F8 8 0 R /F11 16 0 R /F60 21 0 R >> /ProcSet [ /PDF /Text ] >> endobj 27 0 obj << /Length 1195 /Filter /FlateDecode >> stream xWmo7~b_${֎J%ڐT)9(B. QA c{v׻\s Eexz IPBW ыB =. ;/G y@ULgŋrDi)cO 6ygTN1}y>-'s8GTrrRC ,y]6.W2? (BRld:d}ӂĐA!*-]c+ڮXZaT 0nuN R #hfD - ĝ֦5~OTi+V:6->"l|Mަjt6BX~PљDBUtQڹr( V͞n .wX#:f䵑6teUSSpYU\7Q"жZ% #CN1ޅBG\ĵgTlk0!bvb" du~֐TNBSWgI +*MVT>Pyx+Y #^2ԺE1-6 A4{fl *=zLa_ZOFxJ++GxE,JU*'Qlbttƒvn:ĬNVieuV6+T eiV`{YdY"+eu)W[G`jz:mw$ڻJ(w `AyC'QBIy䫼o<_n]J:.{:w-)'#sᬕ6ml9_$䈰a'Suelfٯ,ϣS}+,S9l1ifnE-Q|{;].ٿWLƪ]} y.=Nclcm8#f0[bC]'2Y̟eiq0[:l^$F1EKT^;:g+w_C:p;nTSN>]_TևY_j1\υ )8oƒː&oes!2}`x_" Q6|\}dNuTv7V?yġH!bocj?9_O9JBNuVy endstream endobj 26 0 obj << /Type /Page /Contents 27 0 R /Resources 25 0 R /MediaBox [0 0 612 792] /Parent 12 0 R >> endobj 25 0 obj << /Font << /F8 8 0 R /F11 16 0 R /F53 11 0 R /F42 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 30 0 obj << /Length 1593 /Filter /FlateDecode >> stream xX[S7~ϯ8/TZ,Bx<$l6!BK[~{\Nlԕv<3g~#Ns] &1Z…*MS(?wY9vm=U\B7( V^BWpӰu)hc8翚B#N Qikkkh5-8#ԙszU+wh^y0Xy[fx*| g^A{y|0P7R Y 7oi1EgaJ/W_;%BSA/ztVxD=)E![9oA^~*]c\yHIВH- [d#]{ܐW[Ărpnp`(\zzz6= 1v[sg'O8=ΕTvgӴ-y|%4TFNuP_!tE~ĥહ,Ne%v2vWGH~;B)$|=$HgKub$iuG\ R:_Υ+ibQK~jFK^DxO*HlkmsY>- IpoZ" 5!yvߍSt)U0Ud!͸~+Y;CvzORyq=(ͨ/^=H ֞Y-c{| `^OLaԔXa>f./8?۟eyn[qy&;M;xʛ/=HR'Qu[U99Δh|~Z7f3IXf",o>ǻNt<3'~t^w$As9wq8ioCeF'^?wi0癷O`UjvWkd;Q6 G+<ϰ@D*4Gh2M8Xߣp go?lm_ iݴr¯5$.v-d4-pAO S6גvDh;b->:E endstream endobj 29 0 obj << /Type /Page /Contents 30 0 R /Resources 28 0 R /MediaBox [0 0 612 792] /Parent 12 0 R >> endobj 28 0 obj << /Font << /F53 11 0 R /F8 8 0 R /F11 16 0 R /F14 17 0 R /F42 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 33 0 obj << /Length 2094 /Filter /FlateDecode >> stream xڵYoGbDH4VI ʃ&_AzQakTuWgw;UuUwU크Jjx*\c/Du+iR4A:ϫ|{zP&:J `TlhY~r(H'چ1/N<<=x{53I+ek܏ ~Π̮ J:L5L>F1(C󅫀V͌0cr=M&Fll]:dl3d OUWDdp=fPC8*qS !=uYO<`yYQ.\c`nVOlT1=e} xPao,Wa| wn v^CYP&.sW 9\M5c(܇(V٠lƂl6;+McCxbk{z? u 湌wj^<:;8Ӈ'Ô-cE_9 2wuA3tz q,t$$o:ȹgBkNU:Ri9长nThr7P=u>>M"FpG{'E_?&3UhAF: '9!2ԧzMFgLg(Kaƛf/i-#H|;7 H_wM::\Q׊ՂJ{%bKBI3ӎP,zyaoIYa\ F[nUuFjcI/gdcǥvv2&A'D=I { 7ĻS5^$g^%ӊ⛠U_"*BwWk :BOqa0IWc g(dɵԍu[ॳLw99SQ>0{e# og 7[ePA1I4|Dcz/1Ѽ"U^˥?qzgٴPg5OhE|L9Q&oӺ&QՃͬF5/yO*:io^_F#>%:YB&2 (}1zH!䛑#}Uj}22o#D;נ6,vZrE7~TLSb4l?$S&Ϲ|)/3~5Dk= rŌ3e5N!_7E 7=!IԳIzIk/&9W7-F\5 mnDp^wc2-ֈ ϋ<% N]7r£qP1sh/ wqN3;ӼffSxĜ J.^/e!1fdJt= >.6}=ÿ[ endstream endobj 32 0 obj << /Type /Page /Contents 33 0 R /Resources 31 0 R /MediaBox [0 0 612 792] /Parent 34 0 R >> endobj 31 0 obj << /Font << /F8 8 0 R /F53 11 0 R /F42 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 37 0 obj << /Length 1883 /Filter /FlateDecode >> stream xڵX{o7?bEC'q+@Z BQţ{@"r";cuKB@xf<ϟ8LȬ{;/^l2Δw٧@:DaƳΟ;wwsgJɤ6L*1D?^t0J ؃< $ٹPqZMAż3`ܺzWwI)ݠI'RHdARS\׾AR>d`i Z޼ݴJ7r~hYmA <=? ͧ.`ޘOҾ߁x 5Cdr0+4ِ(ZI{8]z(DE!(l97)Ggxc8^U=A !-VpAGmrScH'*ێQ@`ȯd^K{ S-w|ZЖ;[]m[xqN ;2j[X]] N<j)X@х~#USy|vW.l2-JHeGúAFGC;dحpV^rNE|(' 0~B#/v~0{8 i .f{GڒLF0"%Y,2b( @[Zj5D18 攐:Tbz& ./6p\͠o оx<CQ/"w]rca9 z@0󖤄bĥ\L{( YPϑêùk9cBEn";\Q{ܺ .Dձm! 9c_op >$զإPI<\|ӔkOK曔1mDޘ55]\j$ %p w ?|!!֯leL.KJI=x^#+5*#%BgDB,{t-LqW[ұC{!A7g' 5Fd+&F%㨑 zK `ES Jr:ƭToc+cC7vJ:a;=Π ofغI2ɜ%m66~z;!Q8 H]RڞP2aR"eQPV a}1m ֕qZ O*qTh8 W@!ŷOa!.fͥ 7e\.b±^~-m5I1 CB!qe|9(| P$΄L_rVBv?E:L p CzǺ3/NeBPhnwtDoz\Ifk8o6̶4i~ӽf _rDŎ ge葫\R EWp=:4e-7PӀ*cjī>Y-kVAq$qEk +O!7iaw4o#6{-q`CzF b>TwɲG'%5flgƢ.΁`ArypYl\⢈$ۨfM9&]sU% oNGX*8Jy=^ft Ab ~ -ĩ`E0/7p|0F>}:g2*k$Gbx`:oU1eCz:EGé T> endobj 35 0 obj << /Font << /F8 8 0 R /F11 16 0 R /F14 17 0 R /F49 9 0 R /F13 38 0 R /F7 10 0 R /F42 7 0 R /F53 11 0 R /F10 39 0 R >> /ProcSet [ /PDF /Text ] >> endobj 42 0 obj << /Length 1273 /Filter /FlateDecode >> stream xX[OG~X!Rw:=j+JUU\!T60i*ٳf k0J͹|ͬ?W!{RJh;8Ř:_Z?Y&(:-{?z_ERɣ/ P`.*K8(wOPNg~e &ՠ_TPg*g C9}M.xC_ioϩKy'Uogx]g*x_x1rh *a1٨W[n&z0Tڢa Y ʸ:Ӑ ` 2Y(s/uLe6%Pr?'ʱbM;?=\J>/S꺜ӚoEh !A 04"xMkBz#",e^Ø=᠍&gzӠA_:3HÔ\7F wLHUSO뚑 ʉJĞQހʠMN<5e'K Zv -BعM!:!MC6|2 ˊ<sZDHxP;RRg$!Hf~"-=V,*or+;Z"UUim^T*-d!gɆ^螊MlTVLis`RǼμCF\p ~5#NDgQ$&xHz $$HTXh-O+NOH/Jڐ@<-D,r4,(Gd)y-y,C0W 7 4ZDx8sqX<Vu~xRy&O-Q>lyv!(]̑cat]am-ec^~ {^Pْ;wΆI*AM<9L'Niݖ9T/Qc1b8qDcI'ՇxsqbKf͡sZ0H/btҔT@;ם}1.G-6GoMÎ+ Zh˽s> endobj 40 0 obj << /Font << /F8 8 0 R /F11 16 0 R /F14 17 0 R /F49 9 0 R /F53 11 0 R /F42 7 0 R /F60 21 0 R >> /ProcSet [ /PDF /Text ] >> endobj 45 0 obj << /Length 1960 /Filter /FlateDecode >> stream x͚]o6+^@͒6-]uHh{n!W/;H(9x $y|ULk"RZ[^|M5|TQ­HE^qpΑ, TuJICgɺzY.X}y]fd@i}xMK!om?a f-]rTO}ބ3\WTGwKd0%w^Hh jthe81JQ'sMO>{^ pePj݆K-޸N;|e-%cʁⱵvHܷ5(s=iuL {梼좜, Hwy_uqSi%s0aHq(e-kS)hn+_ZΛ4N H&k n$KG᳋%nv9 ߽}J suK`KװoЌ$6oBTSSjHrcU|ֿ`(*Jh.1] kGp02Pee ]m`=`@cs~\=U ;]d&cڨ) 2BR34݅C*<5d| 1cR/܃x$O y}= Ӈ1= vé0YGDiU8f P78_B*x!4w] 7̰ژavd k(SBNC"NvG#KR{+@/ @.)N֑e*Fd"AΗ) R,6PL)*9Lq Efaej0"T^iÓC7ZU|dQ 2Ë́s?3/!K> ҐA=2NVghbKaByu+ArS *2pd,h"yHBW@B$*K@0 ۫>;Lo ?\2%.C&ڛ+Rcf\q7x?MQB̲ ʼn}¯H. ҰauO'99fMAƋq|vjt0>sF]m>8u&ge֦7Pqj~VKf7,Ky5`g, vꐑp_vͮ3T¾v>t0\!O8#iMWBmbN{7}!˝O=9o&?/ bv0!NQc[l.Kĵv^6|cB]_?[,شې/^8+ ۦE' &0!041& "tyQb LcΤ`(^/ZKc$$IѕD3Qh(kvA"GigsK$azR- ]Kor =..apn 3k;x^ȑ^*`qw j9vCp3紆9hh]CxcȑcyP:_R 1[cf y##DpB,9BL#! azR-z}z`qYe˔ Dhk+9K#a--T@3X^2" _ﭽNy"n13Q5E%R]kxcȑc?2Dc8_OK0Փ[cf*">]à DȽqW}cRZxx{Rp"u!7?rdF1 E*ʹ-©!IΎ- \R{ɒe9j wl(+`r0v_c?Wwc.qDtݩ֛Kjn0jѽlM8kʼ G ;:1۹sh1Hɻ̑R, /Rh endstream endobj 44 0 obj << /Type /Page /Contents 45 0 R /Resources 43 0 R /MediaBox [0 0 612 792] /Parent 34 0 R >> endobj 43 0 obj << /Font << /F8 8 0 R /F11 16 0 R /F14 17 0 R /F49 9 0 R /F60 21 0 R /F53 11 0 R /F42 7 0 R >> /ProcSet [ /PDF /Text ] >> endobj 48 0 obj << /Length 1874 /Filter /FlateDecode >> stream x՚[7We* (X Ut7J.~سq df>1!ѶZ\wvu Ⳏl%_v/~;0J$VR%p;#NPǣӣ's8ێiNP%R{={qf鳣T EYp$|c/fynВNCϠ뿷  ˈfrq llmL8ćNuh;D:N*<; 5flљkcI~r0Fٓ/Ưs+f_<}\햄ؒP((QB@>7nb!e٣Tez@Z3CY, < ӡӉO.٥'1sai 6 ZC JfRM4W(%'D"r*F- SKZVknCT&TPCSA8  o#|<==ͮJD7b %3,' ?e54w(rd*2"x^LYg(,hQp%uܵ Gvpnj8j ^X+a[!K% D؄  nʑbCFa`Ǹj AرXP* ޝ r$*oC_=c8[VJ{z <ذX8(a| K ѽ[@ H/nX"X()PNt|U%:&d)aS6js6~Z?}~!֧+sX?7@s:}L//kK_Ʒ% h4} Ix0|W|z(PEeDʟV8[l~Wu L}5lOmّPS{Pކu~T(]L7e鍵)t90|m"yH9Dsm)mZ!C#oD#AmU]o"i_W[S@Y:r?7 C9TaBgR]g@z~nj!ʇl R/df7Dp!LN 1#Tmj8jBRg2{Dc(Gr˫1T 53 wgN TNM1#T(@/Rʢ5[H11nj荔Dz#/,^3C8(cV0C9K&BWQ{z G)3 #Lةq4r*G#~JqtfR=}Sh H0U> F2KxR-9F"ͤi H/nX"X(Jtv됒7%҂R!:눈d!2N endstream endobj 47 0 obj << /Type /Page /Contents 48 0 R /Resources 46 0 R /MediaBox [0 0 612 792] /Parent 34 0 R >> endobj 46 0 obj << /Font << /F8 8 0 R /F53 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 51 0 obj << /Length 1619 /Filter /FlateDecode >> stream xZ[o6}$3EKC7qI%NaIB]{49x9ӣ}+ƈSWGm+ BUG'՛Zղ3e}x\7sad}jo/ыJT85N9DXm3W\คc ǯTѻ^9-@eה髨c '`+8n}s{S}8C8|ߧϕ:;KfHA+v'7WDZU_޼ |D8[ݶM/*,QS4F2ሑLL'dZCs! pJ S_ F%\}]/ЂOLs-{7k7 škYPdh;b4'Ԙ4]0 FUJE'8KX#~.ki_1l:x3@F )I0 ^x]jp4+ EYAW?4s˩|q P X;x[J.Kqw:zcVB&/ D^[[$׊0VcČa^V W&v UcM_Sn?(.%1f$#)A{>^I .n?(.8 j;¥*x9굏YоA{N5oОЕ>^B詂fk1.yArj|]Q;"#n 0c'G|&1±{6;{v'd0f\ɐ[0^IN97p[n8\,.Һ?U/λQnZ.B,-18]Ϝ~lǫcl~&C^׋ř]=dK6g8) ׸Dj(8w95Kk;>ͻ?zvp`.nc@1&uQ?6Nv2k 0(- 6+I4,%&(}HG01Q,fruJ(qZbK@0Sf N33P38 3 Ւ%F|TK"@FBS!78[" \!X>H֕ {; p Kѵ[lHY5\ᥱ"Lue݋IE{S!b[݊{ }1dxYRo^Li,Vm͛=(bf1=Zw1d֛M,bRMbT/3\JGfA\>޵I 1g\ۄ!~V2CfNszcVc qkd-F2W+62 @c9.Oo]g,hn:`kYcvj疮d.W{TۂɘqgQe8ʈ;7s%ibƺ޻XMa~3ys \keccdnB8GaȘ]fCU__l_ks]/1\]u9+x~p|EW̠ aѾ^q=^%cNV rԿ6gf endstream endobj 50 0 obj << /Type /Page /Contents 51 0 R /Resources 49 0 R /MediaBox [0 0 612 792] /Parent 34 0 R >> endobj 49 0 obj << /Font << /F42 7 0 R /F53 11 0 R /F8 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 54 0 obj << /Length 1980 /Filter /FlateDecode >> stream xڽ[[o6}ϯУ , hme[>IH4qP5M[ס#stIP&16Zkkή>~9|P"mK.)FUsrL!hj/B'RR!p9#NP#8faRZiBe8o>l6gV>-.Rd#(f;3Ofscm_9ϙ7 (E ,aTI4p8KgQPz>" GS>46Cp |+883 \,ij:!@k׾^TR*ťy0sKJ()ѭsA ^ ]1E4Rd\Ǘդ\g]X=(w1 !Z{vo>?xϻ7_Kٌ[(+߳?\G{8p w0kyvEZ/>b??R"y:|alho;PF`*v)6(̬cf|TDi0#I c\ӕSLL)20Iha O0YOe.R%'Cf)`((5@ޥ{ \Jť{ Ik*K+_դGj2ɐ#@ƉQ$rt1E7D3)E112B>H"GR=z&s)$b2d8t #jq$tn]1DMQ*ő1_wjr)y(н$'N~(ølOno.$m|迨.Zg]pݥZݑeڞN~vr4Rr (_Q:srbRH&wH"z|EaX SD`r~;a@IJ1l*Zđf婨^FO!'W\S.m[Amo;V!H>sG`&mA| %jXY|^QO!+zJ)l<G!*oXw_mV^bCQ>jE \LIr珒+xQXSS}:w.)S_?J.a^fw&a{=AU6D#(l%@6/8SSO {'D4sA1[Gܯ q8u>D TJCHǏe:\ x Y34(R,Qɘ]3+Ow9 H풜ńM2V}zY!kQ/9jY˺ˤKwrwb$%k&XI2v/6(`]LuV}ŵk99;qEݎeGqUmB=j7UV]gcts7a1_0?TX=ux$qbiW>ZkeLkb 8"9 5v endstream endobj 53 0 obj << /Type /Page /Contents 54 0 R /Resources 52 0 R /MediaBox [0 0 612 792] /Parent 55 0 R >> endobj 52 0 obj << /Font << /F8 8 0 R /F53 11 0 R /F42 7 0 R /F49 9 0 R >> /ProcSet [ /PDF /Text ] >> endobj 58 0 obj << /Length 2859 /Filter /FlateDecode >> stream xڭ[[s6~У4|$M2I7g;Mh=-ǒv9!^%Z - <<7|@rg34Ό1,dX G*eEL_r`}<[~|^g?:ig`wL`˜QED %I-RoRYs|NDi*]muGK rĢޫxq*vtռ?pǶ[Piu0dsf"j؉f^p,[V_mYiv_Rh+fC֙4ipr[^ o-P{srgxj+{ܦj0AdKnB10%72"XrXZT,?J*g{2@M)$B(("-4VN'{iiȧ4nAT;VD'ArLsZM>4iv#O' HK^FZ*x"#,s c0;VchP|:QP\*H`n1CD|je@)~ ԄdJja@>DAj-^Z*SH{)mc;^T 2{(dZC@=|&фli5Ӊ"RI#{m4T1UKUrvqe~{",S$J 4n,p U%sRo6a]HOb ^M@L'eux-Z,آeb<!)[mBk!Om sreY?. .Hxl=lGo-3qۻ~ sUŢ 5-)_z)!,\4k%+X*%oS_Q>h `JwtGNAG鞊WEtԞLrHP^LZΔ%lȳ0 sZ) v\C;`Kωa;'ϔG[SsfqU+@%d`v) Kb /mapTOHg3Q,1Ō3w)`AO}l:E>K[\\h3/}QAηJdx seëw/slö\/;nC+1X(BSeyO]:43AEIm. ^4gM `|1礫Eu3Pܮyo#lnujbך|k& asslc8_Vg8 oWIqboН@u|+vu+y,ud'YU/ hWêyXkM]cCqrJo}3ᱵ˔>qtYY)x೿hvgםؖB0 , > d I"$r'8dBxRB0~lC[ӎrkvQ%5wwKMRikI:1F5c/$=#a-2iHZAx3I&t3P^J͞(wfTV6@!}VWj(d[/^ ޚdj/2~4^vp[%{N9ngm|& .L1-\PR?$ip+~헃Z-)[$^Ž̽ T]gQIC__c ߋwaᴣ4s\762TO_kALk5uw0>)|[1\s_K}=n%?X8:Ǵ%*U endstream endobj 57 0 obj << /Type /Page /Contents 58 0 R /Resources 56 0 R /MediaBox [0 0 612 792] /Parent 55 0 R >> endobj 56 0 obj << /Font << /F8 8 0 R /F42 7 0 R /F60 21 0 R /F49 9 0 R /F53 11 0 R /F7 10 0 R >> /ProcSet [ /PDF /Text ] >> endobj 61 0 obj << /Length 2146 /Filter /FlateDecode >> stream xڭZmo_q'07R4X8nH8hHL*Ӣ3w{hcͻ}yvٗӧ3Qq'*sW&g =g^JTYVg<pL[~W h|]qc[Bnw  0\jzY +Diƍf,FrDqLcKv ?'B0Z\v\'VK?ZG(+lCC`*1Zܵ"(׷ MO%3S=w NFӆ N9&H⁏~@sR0`ѿߍ'>zWo_}CR6$zx7ҍӱXah,׃'N{f?{h앚/ Ǿ(<UcǣuhcV\)48cT:5I<^g0 F>6ġR.?/_M{;J殄;ZeuEj31% <:]Ϭ`+y`xp|R`g ŧY,!{HO,,9Xj͟90<OM`Dž [S0Lv8xBq&PBz׻@w8^espf p20?x BuT}tH5%$zX3L^&Z8>pVh[| clR2nit6ђ]ymTj-:෦=usWch%!5dEĵ,ZDkhf{Q`S{_=%DC/^֛cJWQ蚬ӉccGH nS.aؼHAFz7iY B v7Q 9߶-)] +5M.)@]pv:٧va/\5K$&Ր]{bbP99p;6=ܮ7m] ô0M2URJ$iAE+d/bF!$V'3Ψ N:.iPB, ]5ec&4V!] `g5}Ec3d<;t𶕣]'`5vJUwftR=_6#rFߊ -(:momûͳgYS{l[lNG(rdU &zYg#s׫ y w,dK{5'k=8UUzY)!icpd.8|#|2ӈÆQQ-Au`{ @Ar+S k?fN:NNWS.֒2͒FPkt*G\o&7ˇ1=c:+"$0$ih)7 x|tF+H֐s=(Z-R~^E`|.7O; h1.1ni3y`n[ 6X̆wґS&v":A\՛f& ]@7k1dq42XDqӲ.q;:9$S|e}e3L^dm^]rrNq>M)e듃`XN$GvzlBioKzG<Ì[i̮+<χYBUvJ2m IYX)ȱP/CUTs&y'Y\[7EM*- endstream endobj 60 0 obj << /Type /Page /Contents 61 0 R /Resources 59 0 R /MediaBox [0 0 612 792] /Parent 55 0 R >> endobj 59 0 obj << /Font << /F8 8 0 R /F49 9 0 R /F14 17 0 R /F53 11 0 R /F42 7 0 R /F70 62 0 R /F66 63 0 R /F7 10 0 R >> /ProcSet [ /PDF /Text ] >> endobj 66 0 obj << /Length 1625 /Filter /FlateDecode >> stream xڭYn7+!i;X7 H"/iU׌$Vj!gýpv k|g{2R>ߔr]ʇRnJXʧRJyvfYr5>\m-ůvDc(RXN*})oO7׭J1])?O?=Z֝&ΗDTY4?!EWY廟Y~ySƏ gh32hGo݄ܮkil8zb懳g`/#tղ-"<]E;֮Zޯ!|\*wntjYNc6nq3b0¸7u/u]uS 7\v_Qti cNBډn;<+R~+y)O;?p䯓@яTtyu}^1F!L'?\>@ JI II!3lL1 J:Y'<:9ad 6Pϭ`,Sj&|xTENJU4@M<LpaBL MD2Bì:feQ;rGe\~\E$pֳ%1Pǜ y пGd7N}g%%MN!0bX`(1@{x&Q@wxp+.YXb`a ,!vibb̅``}GIx rm:x3&ftQb&ੵ X <*ݢz Ml7*\w:2AEش?q ŠXUP8&]Yh@w$KJm&Jx@Fxo@ %ВQ tQ$ ,PͼA3ԈdɸUfp-11 {4'9bMFX4?w?ZX:hhQ٨R⢙ZٶCxTˉS\4ti5 %%: ȉ݌$CףM^.W-jx7V}7` 邚,8[qw$LE=ɠ뢌dABJ. DDM$)lm֢#FiaX2f˓߼}jqަB Kl#zH֯]QSF)pL> endobj 64 0 obj << /Font << /F53 11 0 R /F69 67 0 R /F8 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 70 0 obj << /Length 1355 /Filter /FlateDecode >> stream xڅ6 } blH..ؖm!% .n_Ѷ~Uvw9_UtEvgO,)];^VJpٗy{bd~™!}s O^;Q ,}ZJ<9bøL{JaD:O svo#s<y&6Fa0d<.h~H Y_v_3GlϤ.L8枀?3,U p)dD O"Q/TsLNasa0[:z&Or-%p6`qHƁ;P} w׹%M,5tzNAs:\Yf , tj^^3"_jv).E $2B-8P2*଀8ɨbE*LY88ѧȂ J"k^i`5DDAΒKU× tGa2՞$mE,yO*9&fCsJGFπPj\v` Z.&H"3HnU`Y'gxBZz6TgHls Bp=@%9$rX\A3/BUɤj"H`S*Cton&7FBr1_-s;VЦYmiąT{qQ?!-0 @ި )ðh0l2QzT^`Ә]}M8g2zXgSj??'&Uꍠڼ5_/l0i^"7zPeTDYWT+TQG!*N]:sz>)#e;%]wF@JE5q 9+Hd{B@bQ W0*97NOcW ΄Ђ6D-})cw`[Տ}ʏ=_}אqW:|=4lgk嫺U-ƌ/ |^5<[*gNqym:~G%*";'QU(eG*z3NVNc\,#'NytB(]343R .-).p:e> "S }W[p'6(}TqRٔ 5j,s%5p8sy UOd0(~c01 ބ9ş{Y[OER#8= JQ3r?)Ѿ4b_ <3?VldamfJqXʵǺHvCR endstream endobj 69 0 obj << /Type /Page /Contents 70 0 R /Resources 68 0 R /MediaBox [0 0 612 792] /Parent 55 0 R >> endobj 68 0 obj << /Font << /F8 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 73 0 obj << /Length 1377 /Filter /FlateDecode >> stream xڕXKo6W Xq~,.v}((NP;NI!Q#E Ԑ3| O/riMŤ$J+CP:lZ)[JVk)0UBa&\r JESNǚDB/ZƈS=R0T۱pLatͳO ^q=e/ q> KmHXi"vKbL J4FD bQ%*0eHa-$C  :NsRϳ'N81D!qzb,db؈!*b2`JT: Js:C2Bʐ퐓<˺Ĺ]2($3Բg3G!V({jv+U.8%3 DpRISdJcHh~:9褽Mzar+=g)9#(d▋IRT?m@O&-"D"ڞ8vEcX# )b8 ")n!NqMJlY ǢD*0OJ`c1yW!gFn>I,4I7rto,LN ܀&<Tp4w'= 6`f+ ce>%!e+Ps4HfPVpv6}y{bZ AԜ0mnq~IkBpzKwPh7nJJ#Qivqw<<6rlWWix,?4V;x=ÆL<>/x6ImoGO/W1nwmM GLT͸zCs#@S*_aڍ+_|˜_ȶ; /xմ\XS{O~գ_w1v#.A)`b2Ԟ=O+ :buH({. _z0DmW].q&ٟ0,, 6~e;/wOڧ'QAW7@̃=i)(boq"YTޮc9Mh>ƴ tK=׸>޾, #mBrFiKVb{jzY}Y:r>}$. OB_W#N/^hI?FCЄ q9ع~ɠe72e} &~<>&׉d5_2ynB!JH.CJ׾q|ˉ~$wex*gdSij6j<2hښJ K™LW)_X endstream endobj 72 0 obj << /Type /Page /Contents 73 0 R /Resources 71 0 R /MediaBox [0 0 612 792] /Parent 55 0 R >> endobj 71 0 obj << /Font << /F8 8 0 R /F42 7 0 R /F49 9 0 R /F53 11 0 R /F69 67 0 R >> /ProcSet [ /PDF /Text ] >> endobj 76 0 obj << /Length 1170 /Filter /FlateDecode >> stream xڥX6+Tb8%@R Mv8WҊ<##0yy"Ϝy4&E։82!iY׿жdG"ї৷*{7y'%O_' b~~o0?_9Oŕq9& Wt٥mz̙QQ1lcƴyKo.?;ԋK!ՕA#vR(L\S;v "Wnt)yBzqz_KKa wBr!¨"~Ioc==#ZT=xG$]6jp! 9;LK8ZPV?=1zP! Ȏc]W"PHy3782v 0&IRf\avk/:0Mӝե[T^LB`$ 2EךOQ'O/O}34SGF!LT%~L2QdB0=FP\+B&I`ZdV<9(tBÔIi=pmDז^E>8 _ pQJLS^+ ^ۇD$N%ΗW~ _86\ߒUPKB5 c+C=t$(cDeˆ(O-L,Ě5FH";uCAõxX{( 7WޭR:2FO < l= fAbR@.Wu+͐8А/=+{pnEQAmL ${+DxPd#a<2G8!Z9cmlmzKlRRwFMn ?8Itpz.$mJtY׋M a<3Y_( iضu et3O۝{*ZOfMӧ6$:,Dj4?3@KCp\.4##CG(v۳vm> [4㳉c=`JM84[Po(4Ёذ&8c`@ՐgMӅt.0#@\-){.6/n-voJzsPC?zcJzm &|U:W=_o[_V?nMz:OkWrq[9+2 endstream endobj 75 0 obj << /Type /Page /Contents 76 0 R /Resources 74 0 R /MediaBox [0 0 612 792] /Parent 77 0 R >> endobj 74 0 obj << /Font << /F8 8 0 R >> /ProcSet [ /PDF /Text ] >> endobj 80 0 obj << /Length 1968 /Filter /FlateDecode >> stream xڭYKoEW|aVd~70"R^l INcfzz0ϪSJtk-;Y:-Rw'^ K[잭b)wa4loO~`48xJguM7xB4늱 i(7rjZ&ŸycOV5GKʡ$3:'(@!];~2PPrwN 4[]kuTd UJC@Y;6~ʒ8Ƒ]8DIvd+M [P%)^iER4Y$k$aX"hbQɹ5b/8g$6y45ACV^nka{J Z6 >ED1SMYZf<_+۞J'r\}WvBiDAJYM 4(A8:4%Ol'V=u$Yw_*am3= ^猪EV$$GrT )mu F%Ux ֏xUlH2N|%6wp_Md^,vkLB߭Y-Jˡ,bTeaN~¥op|$wrY.=T(mߴtܶ ,X[]epMn]\J8m qSa*&Op~u*7᠀je04Va43\}i`/<Ɣa*uL"W%b)>^L-K#a%`VrtOכYt*mכxd Ϝe{ReK2}yV90Éϼ2dS}^ݶ3[n5tb(͍u@Z@ø]1*mnEֱt(! p+{Tγm.g8Y޽ H_(l?nֆ# HKMct.34tm'փ8My\BgT.vOP,dA"f<mr0!$/CEQ>đ`EV|JIvF.2fZkԄ?PϲݯȲ=޺%ȆIyQ!=@nt8=ßilf݂Da%Qe"`Xr8ALwZA48ēlŷ;-ukBjAߝf2\VX}=t8~J[Mn0Y5Ӆ똒:1[ endstream endobj 79 0 obj << /Type /Page /Contents 80 0 R /Resources 78 0 R /MediaBox [0 0 612 792] /Parent 77 0 R >> endobj 78 0 obj << /Font << /F42 7 0 R /F8 8 0 R /F49 9 0 R /F53 11 0 R /F69 67 0 R /F7 10 0 R >> /ProcSet [ /PDF /Text ] >> endobj 83 0 obj << /Length 1746 /Filter /FlateDecode >> stream xڵYmo6_! h+3+J*mנڭ[޻`\kgoXRkLùmVvdlыA-'BCDhJwD* 2JVqp/zi Ȫ.X,!@zg0RIJH& @, RcOxT=ٛfD.$JW*2B0nRތ=='3{ن3ko%[7 l< 4 Dbhm}ޑE $F.&׸n I+an@ 3&4eLt(ǧߡ'FY7x|]Hx 4ptb"X;ԃ^&>됒kS_ $ĝl wqdthEdYX̜IX Ԋ]?(ˢ As:>,xZW w-y·tM]Aβ$busPXK̃C׬ɲ\14|[1lfc];u61Q(YWC1kO+11Gq5_9o0\D+_l{q?Löy8w+dk7Bx 6+ 2}01\_Wnn]xv\ѐ̺e*fPRŃRp՚ht%*-64m,$20y[vgߋf$1в™J4t`Bk þ6 4&m/;O"oɇb9AǶEWi4BɈ>5^+ Ýֲ ԫ"?($(N)6RaވbCݣYg.D١ Wm3C@n|/FY8HpnHșPsZ2$$zӨpssz)li(9J Q۩KAߋ"o_ LjTDue ΋ I)hrs>vd5HZrl6 3 ҚGRzp{H'ϰ!txR|n?|W\7 r{;T̵|=!ʑvςhlکR[.E3!l|wJ i9UEmCMW|?Q,OkQf1)[](;/7߆U8JfaUtoIu1P*{2!ЊfVdgGaiƱ=L ^oi}H_:3ɞ w5~1OT tFfHQ|(xS0![*pYiՇJF(f*$54 T-j*9'G6@ H*{}vPĩ,[u-ғ{kG݅aݝ\6Bd03wt{b\3cۿ?w:Tw懛1,K> endobj 81 0 obj << /Font << /F8 8 0 R /F42 7 0 R /F49 9 0 R /F53 11 0 R >> /ProcSet [ /PDF /Text ] >> endobj 86 0 obj << /Length 806 /Filter /FlateDecode >> stream xVmO0ίD"&~O6ilEbebهmLi6KB;!4m\;y|=*bRÈKɬ#-RG $\]~"y|yM+tg0jǃ<*XaAY ,n`W,TfE\7zlvOFnwB!nw7_j={ޣWEP^I?&v2ͺbhTظ( z(ɀaB(Y:KoUBSMYOCmwd؋cK[Ub2RZ?rFĻ$zVnY!_w0 Z5H6 nK sOfl ig^vGO-'760IuعޠÔ/4?.sznZ;?k304mƹoKt]wg肂}% $YV%zԿ iPjXN-f]\mjkq*mDtNo"vhf"ʽa-. endstream endobj 85 0 obj << /Type /Page /Contents 86 0 R /Resources 84 0 R /MediaBox [0 0 612 792] /Parent 77 0 R >> endobj 84 0 obj << /Font << /F42 7 0 R /F8 8 0 R /F49 9 0 R /F53 11 0 R /F76 87 0 R >> /ProcSet [ /PDF /Text ] >> endobj 88 0 obj << /Length 149 /Filter /FlateDecode >> stream x3135R0P0Bc3csCB.c46K$r9yr+p{E=}JJS ]  b<]00 @0?`d=0s@f d'n.WO@.sud endstream endobj 87 0 obj << /Type /Font /Subtype /Type3 /Name /F76 /FontMatrix [0.01204 0 0 0.01204 0 0] /FontBBox [ 5 5 36 37 ] /Resources << /ProcSet [ /PDF /ImageB ] >> /FirstChar 136 /LastChar 136 /Widths 89 0 R /Encoding 90 0 R /CharProcs 91 0 R >> endobj 89 0 obj [41.52 ] endobj 90 0 obj << /Type /Encoding /Differences [136/a136] >> endobj 91 0 obj << /a136 88 0 R >> endobj 92 0 obj << /Length 119 /Filter /FlateDecode >> stream x313T0P02Q02W06U05RH1*24PA#STr.'~PKW4K)YKE!P EoB@ a'W $o&| endstream endobj 67 0 obj << /Type /Font /Subtype /Type3 /Name /F69 /FontMatrix [0.01204 0 0 0.01204 0 0] /FontBBox [ 24 27 35 52 ] /Resources << /ProcSet [ /PDF /ImageB ] >> /FirstChar 39 /LastChar 39 /Widths 93 0 R /Encoding 94 0 R /CharProcs 95 0 R >> endobj 93 0 obj [43.59 ] endobj 94 0 obj << /Type /Encoding /Differences [39/a39] >> endobj 95 0 obj << /a39 92 0 R >> endobj 96 0 obj [285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4] endobj 97 0 obj [922.2] endobj 98 0 obj [431.6] endobj 99 0 obj [892.9] endobj 100 0 obj [319.4 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 350 894.4 543.1 543.1 894.4 869.4 818.1 830.6 881.9 755.6 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 602.8 319.4 575 319.4 319.4 559 638.9 511.1 638.9 527.1 351.4 575 638.9 319.4 351.4 606.9 319.4 958.3 638.9 575 638.9 606.9 473.6 453.6 447.2 638.9 606.9 830.6 606.9 606.9] endobj 101 0 obj [777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 762 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8 713.3 668.3 724.7 666.7 666.7 666.7 666.7 666.7 611.1 611.1 444.4 444.4 444.4 444.4 500 500 388.9 388.9 277.8 500 500 611.1 500] endobj 102 0 obj [639.7 565.6 517.7 444.4 405.9 437.5 496.5 469.4 353.9 576.2 583.3 602.6 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9 571.5 490.3] endobj 103 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 104 0 obj [569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3] endobj 105 0 obj [525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525] endobj 106 0 obj [583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8 722.2 527.8 527.8 444.4 500 1000 500 500] endobj 107 0 obj [625 625 937.5 937.5 312.5 343.7 562.5 562.5 562.5 562.5 562.5 849.5 500 574.1 812.5 875 562.5 1018.5 1143.5 875 312.5 342.6 581 937.5 562.5 937.5 875 312.5 437.5 437.5 562.5 875 312.5 375 312.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 562.5 312.5 312.5 342.6 875 531.2 531.2 875 849.5 799.8 812.5 862.3 738.4 707.2 884.3 879.6 419 581 880.8 675.9 1067.1 879.6 844.9 768.5 844.9 839.1 625 782.4 864.6 849.5 1162 849.5 849.5 687.5 312.5 581 312.5 562.5 312.5 312.5 546.9 625 500 625 513.3 343.7 562.5 625 312.5 343.7 593.7 312.5 937.5 625 562.5 625 593.7 459.5 443.8 437.5 625 593.7 812.5 593.7 593.7 500] endobj 108 0 obj [761.6 489.6 761.6] endobj 109 0 obj [272 326.4 272 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 489.6 272 272 272 761.6 462.4 462.4 761.6 734 693.4 707.2 747.8 666.2 639 768.3 734 353.2 503 761.2 611.8 897.2 734 761.6 666.2 761.6 720.6 544 707.2 734 734 1006 734 734 598.4 272 489.6 272 489.6 272 272 489.6 544 435.2 544 435.2 299.2 489.6 544 272 299.2 516.8 272 816 544 489.6 544 516.8 380.8 386.2 380.8 544 516.8 707.2] endobj 110 0 obj [667.6 693.3 693.3 954.5 693.3 693.3 563.1 249.6 458.6 249.6 458.6 249.6 249.6 458.6 510.9 406.4 510.9 406.4 275.8 458.6 510.9 249.6 275.8 484.7 249.6 772.1 510.9 458.6 510.9 484.7 354.1 359.4 354.1 510.9 484.7 667.6 484.7 484.7] endobj 111 0 obj << /Length1 1864 /Length2 13462 /Length3 0 /Length 14618 /Filter /FlateDecode >> stream xڍPB-84.!xkw ]afϞ[uNQ|KFL'ddcvcg k01YaT-AÒle!b:Dr6i'K _C{n( G9غٛ:'Ґ A;@ dofMAV eC35utf`pqqZ9؛S\MJ 3e< 5zX26Ǝ.@{]`ifvxwq6޳d_lA1-̬tX̬Mf qYzGWGZCͻ?hf 4x7t @\H|g?C{3[Gz3?82bF"6VV kG?5ݍZX۸X{YAɖA $%ͻ  @ $PqdC`Nef zt@^V/eb: @&fְDoo b|_?&o?ABMFQS/+m\tl:f6F;+݁S4E6p{K͠lA}A_o"q'K?1,xg'ېykA X_#BM,n+H?K)4)8 -Y61<ޏnm]6L O`dF,0 ?X1 2@п%y͜e.qWwAV;% Z j|?'ZmO?= {-+ޯ{1Ob/{Kw|/糧 g_ ?/}|A W!✍!Oyu`} 4ٮzǢ/GDx4u[.m1%ZXŖ'gh؅}B50xt*{/vj~ۥɲ8r]z$\kzGv*e"U# fȲ g!Q/\fnnQ3i`N"Y<47fWKU:I5?ޠL{$Hc{Ggp}X 쉙Q&V,KmG#t1LT3S@{Jǖ <+h$89Sm?fEpˇՖP7[#YyjT9KLi!6C->ygw+'ؓBAK^AJ d6 GWz@Z)fLaӒtuYt+<F'Dx/mˊg' pH8oɶ>zxi~;g6 8NZVɺ =9D:kցϻ)A.@.TN;MEߔTA:UvJ/A$?@g /2> ⩼wb9O)<Ejӕvв4zӵ[_ese/xbpPzkG \$j-yb_@O"I -q dLtoVlciPo ޻POij^0'@~k'Nկ]eoA:" ٶQVP1kkJ[+mpL+!Y7%:"WR?ݜĆv{0jX,\`2="]>Ed9jZ&GO>lrl5mH'KGcQ5-W4q'Cmڇo3Ӊ]LI>;i .ym,IEQtz;]1`c,:ZT{ӁkoD~ClE0"vC_'o?0KoZ|NO W .Ҳɒ 5g N)C.%zyru-##Q1kG6Wg4ۥ_A^|}:4kF*?'Y[yp^le5”HrQ~ќWnm=?pvS@ApQ ]A،jg8d9TM|V[Ԣ&b9!OԐ}aR8\[X֜TG:Po磪&7 k_Û^r X oT*=Z+`$h,Y#/;@,t)nEXQ$7FP\ T l8>¨VOH]sZJ)Ul~Rh 7ȦnDj!Rp*@UA(rxu#U{sdd9ih#{J%nH F߷=?[>hX s&߃_vt}nw\o(Awx*^3 8}'&5*F.lFm$S۟gy2]uO1Нf5NU+(hUl樻&7 tkr[*MQ+ChefTZjAԤ6,2䛮+56Έ$cUl lEH󦫘o&-!&6k+Dd8ayE-+3曃̚ZfF/XZ1czQüA 6}lj7gX,V#_údsk_ӀOPL־m^;buGaml{?!op]<%ѳ=U?Z_.!|Q6&[{f{9( #e|y,Og 0H].=Sa!Ee^81Q[ڸo-VZsŁRHE6̰!bgK3 ,:U秚MORLz֣XjieXq[Z-m{H.D Mg! Y1Be]E2U vqB Ӈ0Mp;6Ep1PqP:N"5z@qsn` }YG%ԛ},͊qm(&pX|ܖ?sETB%O>:@ \q?wUD1-hwfU8DQoK,bABMw*H镄7KnV̝ w (+IZ 8;;GwYC-M3dȒ</!!:㘀|L}+ocG:2ΰ~U/U BDK}o_9#sl<=>>r=Mq`: NXO O0!u1zkQU<@dJ1t!/:!'rG`?tyȥ`0y䍗d7(J6'܎ C}uwz{!,_dotZL%A/2~HMwE;Y ɲ @.9ErRY+|a-R`oMoDϳtRwC?4z|񧕸\L28nft6ZrϪcʥŌHGɸ%Ie&mۍ]OߒW'?јr҇  DzA ^g'eHU$.9Bى5#}hW-Y$\U/KfPԝgf;yYkX.}(gB[vosݹtb@TㄪTs`s\ƬJQMM#.$HzJК#NTvG[hm} ѡWH*NXĮ:36=#sƩ|viХ{JJE4feDq ;(wys4`ѧNH6!H~ *~Q>&dMf &8ea2YmWpzLrOY I춅WK)v;fm`Ĉ\PA Ul<ǁ4G ᧙M&9Zwj1Q,}2A%rϘnrj^"E&E sW ='˵9e16gݛzkYsVU-'DӋ JO3:t!w; WT'ϬK:Ť|ƴڭx>@@ :=u՝: XHI>,6P?"IoV0ڑ*PlgVv&O/[VEr*.]g(ְO@(S(Eisz{[d{]倁)ÔFmwSQz 5C23yQwɃX.s# eq2 W(m=HLI H<">p!OXI:R=w;Y{5NR=igh(L5\q^IMYD& S~kڰ> 7oQ!>EC{,* +ր5u#e6i5+njǓp-ʫ2M;T8auRejk&&F+D?1\6 xB20)&Q]킏?Us"S|W5@]-LRRn>`y ›|4T{PV0͘MP(&g\M}Zw2ǥ9Z =h=,ƠoGtC541z1:b@(V0:ur?)+Ejd JP|獶x%Rj*Hneo &?7R5#6'B=!& MAP镝K/& @fB.ҰUl (LQsfnC Op5~& +3Ywx ژN>Sde+O--y_,^&.lz`TU^QYJC XvmbA6JƁmFʔ~sqÙka[u,E@J:kq ڷTNtTEճ'4GAwrtNi1և}'R|JGpDÚMudV]*\<㩳,n(Ј -ruD?\ĔHޣ8'8ļW3h}:1jo0pH&5feA6bf7yyӐIP:H"6hLS7{[]w(̎x\>mjbI7-dac)jϚS{+]`Eg}ȂmpR}ya  Q~.HI[29@ V[\#lo*b/RtA `}1!8Tj|TP.6&3.\_(:g3+`@ri_H:Os:Bć>RsԵl$^[)]p5]c-H6#C5߽YݲcڹɤOOph\t +M4th=iP+".668Y}4&8fT{h6]]N' 7Dݵ\m.r=#Xe~#{5jm"S hySXF'wBZӒ1Ele[jQ Do*B* )JB&2,N6UXq'yMBsm OC'[[rZAt=& UAx>k: ڐIB 6Lm>DJ\A_kɭ&E6ye>wL ˓ \W.zOgѠ"$Pr>b+7s21B Ȕ'ꅗ2XcbީL kN%F+[!mB҈teeu5u\VE@Kka8*miRIE!]E<lr|5h-g%_uem%-\;R>}T1a1mاQ* <%H~L^t*Dn@7lφ|/~NC4,+X쾥SwNj8zJ+_9>Z/$?Հk^,tKI=bx) ĵ{)n֖4-ux*9qW_bAP+":o@ck̝JW yqK٣l_C x? UygEh}N'eD‼.L8 {iœgI9Dês$%>"_Ԅ'41 ,,3U/"5!$7E%E= K~vw5#ۻyՁs {یp|n2_C nȌ4BX^#Q0Yhќ!2H'&5=#׃ =qBաyL %яnGgB2FUӛ?7Ԑ  ] c}(qcЅ>Τr=;^)@+r~,*0'`$)Z/DY(f]7n<k||)jKH /?MxXdjq+~"tM{KYx6ipf?3odw%F.(v8q_Ec"$t` UWɈtBշ}5UON8] ,i(8ǫ|wFFJ`0$Mc}l7cF}{4yƈӧw`{Uvơ 8N_ $v&S]aػ҃,LA[b&~oD#)(>0 @9j;&040*~3 pMb&OxS^~9f>)ܮt3ݽVX_FcD5Xn#M>U izQ4LyI۷,fXƱYlSRw_‹/r@99U]aa7x\3y+}iT F ' ݇=j ]JJyki[p4B>TʊA?:.N q0`5Hg3 <|ѪGYgB4U|BxC+h "ȶNJM-wx}G~L5L ;w5X8;ӋMƚ\'EqdX} ӤO3a"¶a ' n_Ɯ\"r5?G"mRlv+JIzdcꎡ J#~!e/ϝT?koH֢)\i|0 2LW1]>4k0fe+mhۻ:< 8S>=.T#2c{Dsҽ\jYNT3%+%dT>oKGarZu\QS4(MX|C"ok$xR։ç͔隨,liEP̱Sae\_Do|iI1 ZyȵNlRxDTvTdeX W#N5 N{or{늇Iv6MK C0>G$Ԅ̉Nu8 N^ty`䒠[{kv?0"zd>]O;"*ASR*~"y+lY74ȗfq1҅ W5Fѱ>mB+q#9DV'Kw!JvU6WwÃ_U2FtPHҼ]O]y.y"FY[ w^X"\#p|X5yike}BQS0;[m38>yڠ]$g~N!؏yؕ'd G3LQ8]6Aُ(zҠKMCZ l؋~~e<y.ȗ}sE80i 5lXgUs4!+hng9N:GoVx99[b5kM`9B0HO|8sgM"~^v\!tҭpC_19RQlC˃ s#U6-v4 @2]O"Wn JT5|J{ZX8GݿaeEbk% y)uYɳ'aV`U\R`;N~Kg9xC1~JQlo9RI^i`,D2`rxؔ<5ܟ7{Ya#8CCihTꊥ V]Ub>ȑ ]bI2tOeTo3"MSfFHNAө~ ([X zF!2R`]42+iy6ڧy3V!M4ĔH}M޴Buṇ"0or^A2c,/t{Pr\{371ȥ1-GGAOJՐ>Ʉw&impT0 7w:?yClwy1p]?< /o1zz7)P>(, t:SLgL.1ɶfcՏ H6$wW>?k|S~E.XE8E:(|掶cf%EΫmlIdFڗ.ڤrk/&H$5=f5y|p@U0J܅r}B3 u/#b iB@WP6/kFi~Uwv*u7HN|Ҟ-OZN̑H֜')Q m `]=nZ>vDҼN!-vx.Oez-ZTOwD}넫=_Ɠf4zɟ=Jkk[Zu;p1~x}{q 7̚Q/bcQZ"?LO?B̓w M${Ăd{GYVt ME'z51Ln.,֠ .Hhk6Hw.Mwx0et/e@{@;ɴ #cڧ;G1q=*a(On()|qAx.fh?.OlԉNhB|X!>$z+ųhMwgBVR2,^+o<&=ša׊lA}Ie8ȹqUMVX:gN湠y9WpE0|dBBsڏzѾNvZYݚ=c84QwY*$;Yƛ2bQm>ԁ쯣xbr"LX4EQ<{1.YɦP|# Q{#l9L GA[4DǮ8Z"-;h ;W7NFas@(մ(o}οJ7~yi Hi;tDAGΰlÉMȯBaQVX-_V5 {'\w1$j ?åSw,boF?:r^}K,{H-ZA0: Zz4l7M iѐRM԰V>I ḱ vS 3[:#!W.YqaTh[MBC({yCH՟גp 8I6!v]ދ(Ϟ F,ƂWd|3qX0mW'Kn0f0"Eʚ4G&Q)\n-"tиAɹzp jH]SqHU|~Kl r %Ş0/[L3cW:]3ξc[STV#({nYKN\3bJ{>ڜ/ՔFMkFL8ssRuUMY4eg"h( .޵\D_A^$ <DZZʉrkBZ"^{&ՉYt50Zҩ.%N9!>-x+! <ۯ?.RȃWlU={{i~`URikFls,!Pf~ ')CykYED$>j̘yK˸:g2n%?z8*.nKRٺZ-7* )2>TҘ|</oփm}@ "ɢ5⷏9iєVbo~->57NAWzѰXA:t;y*ξ)$$.xӐޛb} 7jcО^(8RjsکPmT0wwl,%; Tp\uϻIt "Ù$qJjI돈N(JWtij=/z` _{|>6/RySKvKqZAM㼣$ؠe/xxm՟lJ>$'Th Z*]KSZ2kL?iBJn@tάU%u^> endobj 113 0 obj << /Length1 2167 /Length2 15334 /Length3 0 /Length 16619 /Filter /FlateDecode >> stream xڍPk ww)nSH^ܥ@[R+3Lf\˯uu? :)H (`e`feeGҰvG@rqvt .*::l6n~6~VV;++ ]@ks"3@@%bmi?_ft6>>ƿ k3@fh;Yܼ'? '3ޕRifP\<@怿(ScFhXYKh tvf wws =;@]Vr¿ nW kffN@okK,:esu|z퀦H ͕/,yo=$]@f}f:8z:YX;[E݉E$+ow% 9@^fV,%vdK `Nomz@uzn. *!̭ Kk? w賾O󿏘ENYNYSߔs2qqعll|.Voo ձ(`ǿ'kC J V.V7K+ߊG<8_SmпZd݀"`i6ZJY{U̬5D9v GW.+ѽ~V@+)%=v.n>`\\_%5y=fGw;9 _'`K/`x,E򿈇"X v `Q3(GQ  `ޣhAuлz`_WYY c^cG.7|d_~VNVw?;5wnv@wrBq:O?ldwv{NpzVc{Od]߯?14j`qr<?;λ?|g{$˿Rz?zw?2CX[v4i"Jɴ7ajO;wͥ6./˭hƎ$:q{ldGj߳q^',̧cabx"& }g?`[v^9Bgw^b{!io{uϕLqTEKx0nLp^7 3or 9J}~'<,lVkSC`LQfV%EĖY- u9z+'f~NWE$nS٩a6Ͽ ,湄 غGfؑ Ffp 4$Oz x/gf>_kîSY|x'?!o3Y]mPYďg=UJ}\B \ԄS z|1S jEǰ SFt1 A[u 1t(#:19p#(Eڪ[~vjI_4U3J"`of05hN0r=EeN჻焥1鵢~Xr6R达E]iMo$;2>{K㰝(?ͼ:*qJ<2+ hsB0cWs-4/0L;3T"k<jEX4f1|o39f*,9_cޥ缍$CcP8~Wxf;}?8˰(Ҵ$2k3NZ4Jϗٰ}^Loɂ݃L"Ah1@?ۢ# 1Uk clAfH0a1,Fdw%X?L糁ԧ}=,Wu:%<0ŻnCaP˩ LN{+`%gC;tKGP~kε,XY ɅIx# ED6`uP #6y͎mq_Ii6MitUx@Mu Fy6ۧ)~G%#(B|49,/']5nXeLۙ~\Sz14 ǝ z^ ee'(W~UgV7(fioXH>jot5{JgH}BN_!'5#& ,~sUj%⒦-@99Y՝Hw7u7F9xO&rFʭROY(jA"]unPLri%%Wz短"3bN>o9$BK+)Z ],8_/V 1#L?q}LX#QBHw=}EQ?lzN~s]m!?p]F\_ix'">>c9ܔuW,{9|#0ʛ^6ZZ Ҿ!CGOHaU闚s-7zqwSƛr/!‚\ЈH>M' &A=<{!O:/w#6yI =LH%"8)J᳻ 9󛮃?ޢSK4[&a'R?{K(6ɬw-X\K=pqESy`4a流58g(<1RG)_37X1Wgz{᮪9T}>LkKt u:~:X1PETRLo)ɹ{QHUt&EQ*[(no*-6i&15޺] .ݑԪڽ4lp:h~4Ȝ, mͅ0=>#3`5r6|6SpLŹא燮&xߏ֎VUĦ@m}v`qe!R.X66=i "+@fxbЍ ]ƒG"g ,wE3p E`xؤק2E4RR'< GVHa$F1Fݸ/?Y/Jt3H/\)dm ڐTTHp˚P%hz ifOUr>tC%nwhP~$|:LL"j!}Z BsF嬓x4wƌMEv3]"͸MAJi)xmvЖ"|kXȨ# G@PmO1 O͇ G5Drb-D"oܢGV}XjR|_ 4|h)'O\[ܽ$*V J {[h 6Qq/rRlG˭+Խwl݂H8Zs9c/9nƒ-1"ŖEXQFb\b-&$OBfJΰu◊(rNWE_uM~[1䒁kF'|@bɸ }]|ڡ|zAOw/ō5-ncI.۸AQ3l`bsgCݔpK_`#&گ5ZB;xb-;jR> 95:~qsmqL=Mڜ]) d|Q7ŋyYCڄuK {'9̍ ½p" #EvՏî}õyk9IYpA&CciuJOG[w3\L`0_Ya[NM$XC[Mb3B9]Zal-ZRI@o[Fն)Spͯ[L US %aI;Wf܏# Č@ okIvK)gK҂ҭXbEoccV&.B/E {NlorcIL=VsҿeRR s?=Wl׶Hyh&F ;EַlZD; (G\ OI1o8Fؠ"z%rh^SfRD Z<s>Nj-[LYV >KZ9lTyAwMj]ƩhhT{Eg fڎpI!9RoECg ,'6N*ΊWs!dOW{\ dB8 β D愈/3\sj",ǪU_VnVw\ 9;_ n:,TJ[OzhPNYiZND9hT=AsYjٍl _,j6oEI.Mdcq(m4U* aǜЬ2 d QP5Gt"ݹ)!PBu7ւDJ}J dD].w<WjVF\r)xTi!>y+ boH)s (M|S1930tP^{X'8R~D-,`tj a'|Pl$Np. 'iG :OS۬%q(<7N8p@<܀RڍHC K_w`۬BoD'}/𳁍@+C))yI =$톱8:.8۲9 g$'yojh Վ [vhrOHSIt[Qd^>)JFۼR>LFPc=gg/&8xX_NQ.5G?޷M^7ż]~~MֆdNxRu<3]uiO:LݜC瞎`8r}Q';EW~.N/.a` ׋95u9^!?tEZ~)u'k骗onc75'fK[1nct1sӤfvI}6FagLkNJ)$g=m%*-U#iA\jɚ8b#‹"VYt: ֶ^S~6Zc-Z Si`KLkz^^u%3k!n Y $`/B_n#[W>#(,Pݗ CH^nվv^0%}yLro B$Xp#s mN9ъ'93DqmB (EFDV=B~dGZ)բ-X8V+uXuFp*&nCsPwp5-g̐p5Oki` J|"ǕN&7^ȯ o.|Vm3c%T^Y@% U3\Y }㲐WψhM~Ec՞-hfOM jC\Vm#Ły'irn*-Ɍ9;N8$  ~_͵k`M`u8K(Ny8\pВ9E30ab 0'J/Ol8 xz]uㄒ= hا|!̔v%at`}:sgqI=PF[n#w&lbs#Ti@O$Ž#ݼv{cgZebvĊ븰k\ChWX,(pT:SE#};춠A.N)Lɐ?7\qrZhDڴua#-QCUa];RYK6堡B!Ku X\/M|hH@_?ΩP!H/I`j(E}]$ 7bKCH)u 2c-" XrRjÉ-:qdbtO5>}bk_QaFRIJ?r»خ{:n԰O܅U`q&x\cd1=+zG/M ^j )^x#809XCS]kXy^Юg$v$8Wx6+m+'+ fpuʊd%Pt6zrnBnVJU&[6$yfkhMZYgGIR F&[!2.? gk"tDN=}7&RNX$DT.%3Sv&[zLJ݇sRˌ!Qmۭfr3pgJQܯMl3SwoɾC˕3mADQ[{(w-|ĕ@ ߵ2/vL !sD"9詎@noW3zzSJ5odk&̿TD2s`?⧷x׍N<,ܫ i>T6wE !N2\来)I>umVEh F7q0OD:M>1in%&9C(% K_Hˑ\urP%t%m!! (VTk m%EMI|xQ{FѾCz+Ԩ`Kgէ~Wڞ4X2h3thGE=nX٥ً/&-F$FQoZiE.Ȫx>x$D[zDFٍ"}bxL _,J/l˥qG0 84#KvZ D@tI(Y`$7Knqdc-ҵ6E* 8\IQ6!?DƎ/(<|0&ެd,UF!+8'Z}fNwNF R8xCF*yVMCWFnże^bkJ}@ r_FfwNwJ$dFqGmAt{4.lU{X"sؼYU t2'e =׊= ^(Gϕ(ʡJY JKrCۀ b !vQ,`;B"q]a77H/}ҮE}?!ԭ8[ cFި)evxT.ߪs?|d* $SY܎%}L|<&*\ii۾ƶ[VQᔐ Bxb4b+c>j'ZERO6-bƎ6]k+6ꂭ7ƫL yeZߨ}B7]50^^]IXܛP:*乁1ټJEO"A|oQB@+'I3("Nss59׀ykqt ag.S:Bs>Ƅ,[O_tHS=9P ?-wvB%u"g>ĩT&VgI07MssCik)W8.H&nχdIܮhR~LZlk:`muZG&X>N%$ /xG$W c\aw5ܒ%y1F\`NNWVfI~a,Ybs:HӇzGT.) f3]#baMem]_b. ^f-Jhlݭ_E]1UFXk6Ip樈W. g/^U5Ȧ KȨ0PF|E/y@eH05Kb9w@ˢHY bAB8M츬x.v)S+34LckAeFaL(>acɉz7lMy|Ej.:@LjڕS\9Vpg۠v[?-o -m5 /jjD ?SL8lZ~sE\$(N%+b1yx'^[l.?JxB]KڑS7D. k㊲e 3TLLYs,LQnfJzLJ+k,zK _@"GKʝi0^)%(`)P>T"k6!yschDc bΎC}Xؐ@쎧Anu ߻GG.L+*]64h~D{CW0~2׍`=W7e/Es+"tfh(dHǽQsMS-9O~Fn)ſ HX/1.W"ኔQ59-2 b /xitXNʬ#UϹibT$  ځ}-؇)?z5d^&I a wp.ymvS*Ѻ* mX &[6 y3ov)ʨ~df`*ιD˔nW_101Eeh J&| VlaMhukoXJ8@EL%ȬgL'|H¸ ّ[f^ݕe|Ew@&{POOv%Ћ:x@oR^V1D.+&Y6";%l9["j@Z,ZWrr$:7^[Q} dh7Gn=ml՞I{ܴۊ74Ub ǀPtگ'M)>8P ݮYTշ(c:PKY-:N(nԻ6#Fo#`Dv.8>`AP:9#t)P7vT8"w,N=0ة$W{ נAx6;(0|~"⥶VaF$C70OZx!38GMȪQ+N~˰7b_ԖI n1D=, ͖kഊVk`<ʓDXiL?sBG}OK ~zSbUrģq҆Ov+A 0'"o`@ 0 4sx`Ek"2|'tؠ7vjA)빉hmJri cC2<54fHCf+Tf،ꉱ8\+o^^)Τ'JXTA}[b=RcrhseIi"iS G" (}[nSQ^ ͋BjЁ:*R6bzQ3@Zfπ<iA?Vݜ-h`\:KsQ*AV#{FP*&گkvTW$|(Y]oda6ܠ9푈/y vs+,zL $"۔4&q+AGd栚=ز0fڀ]N{cwx7=L/u a*s{Γ^!96#Jfu_bEPYM<اLmIMn}k>}l\<(bE(?Jzl;cLkB d/[)I[ENS!FI]rS"DmݳDžnCM]v3|{hybZ?e0Orf1HV{oxD[w󑯾OOj3=DYYI^^x$ ~ѰUQ@曤BͬȢb^KYFA9}"Gr؈.T7O_vƺK7.)bK=bsR3x[4`ڗ/·#h3Tf eU&EӢ"^BvV,}J*)6Ѩ|I%|NV$GsElfFýI8Gm"W)cu'9Ebz2/ʘ$_by?i>8A0wd[ K [ٓl ,6l= jo <{ ·UɄ62I; 5w']=]im;݀,#F2SnLwqYU WMҒ0wv2[Z!;:W ȶJ'E]"+<1Teyp$ b7~߶Ĝc<Lȍ_+a'_{\=rF u19Q3v5~'8;o=^"ÏkpjC_'O{Ր`Jyɗ'[zb8})}=ؐ[L^L 8'Albrb0H-@áDGcSK떏 ƴbUf/"Ya~,#t߉棇N^L %,EgjQ.H=04`#Çgc\t N< FCHY+)u??TFU|^gba m;8jxݧjF, iy 8|{\E>yW@cBti],%tI2Ć Yn {m\۲~Q]lːqFɂBx=QC$ %9 's;J%BV.i(6d՜flHk5 v2rzi 7?h 0؏@\89.*6b/_Ņlk Ե_Zy"a歚5UW'JTG#44<IvNJa7`J#ܘܾ1b蕌1!ZcS)O Jo}c)ZdiS ;؄Id@SzsE)\HYΨ0;uXr&w: XVCNˆӯKvy\몑}P>奋!!z#cz_n|#xYx~RQfC %ҠXm G"`/lt]nQJYHmBxJT# #6RF իSB[ t/>E:MY: ]װVof@b~9]/{hcG(&7S͜j^ ˪,N[}aȸsiKqn]'Sz%o>@. FOi{_;ް^z/'!| NZ#:vt&*<8%[ }D>°+u{b N~ϘiM/J=  ƾN1'zp܅N:Vy)XguXwSp/tL~HǙhsbW~[f(ڴ_hgqx:G3Pw<e$rd^p Sس6<J-r=V-yG7=z=p5༊;2B''l_ xWcc;9| oVm'% *W}~s"/{zE( Jl~ 9{k!'_ମ]rd]Oy׮\!n|9MnIޢb{UIKJr.Zߐ0J nQ [\gk~~^ &Tc$J!ێˆ8QH/P(ڲAuK(azc~ r \? BB-%r"uGЉm-*+C){^W0Riш1R/]TʞuCn3y)2T4Ju ֏K_Aĕ9UMSZ{ o^؋"Q3_2g ]PXrcY:Iv%"+6M\,΃|.ךKrӃ=Z0g|:0WL%B(A'7ITX30+,HnBDE/aS[Π?Y]&WU4iMڭ!_4)4 #RSfW IRgOP 1i h zoUԦ$C` loI4S^Ƈ] t~ <nWUpJ[Ȇ߈J}8luiO^" ~lF+G2SF[Q׫]V*3I• HCi;ZP#_H"Ӓ X ȡr.P33/mzHF/TG;o= ~)W_iF/X U(Ue\G~9xݧG5zv6W32'Ҡ{gA[g7487:w󏅷E;9>okXpPIK/ x_v^\y')1Z$fB~On*|{pⶃsKƚY[ `yu6c^eN3g8W0}rG* endstream endobj 114 0 obj << /Type /FontDescriptor /FontName /JOJOUN+CMBX12 /Flags 4 /FontBBox [-53 -251 1139 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 109 /XHeight 444 /CharSet (/A/C/D/E/F/G/H/L/M/P/R/S/T/W/X/a/b/c/d/e/eight/f/fi/five/four/g/h/hyphen/i/k/l/m/n/nine/o/one/p/period/r/s/seven/six/t/three/two/u/v/w/x/y/z/zero) /FontFile 113 0 R >> endobj 115 0 obj << /Length1 1383 /Length2 6023 /Length3 0 /Length 6967 /Filter /FlateDecode >> stream xڍW4X!Hzg-z轗Xv.dEHQ&$D-ZDw7=޳ޙgfgf9g(AAUp PI$DF0+aE`PBBhMp+PX(,~GX"w`/-@( stBc KII *A0{0 F;Aݰ@C= W n'4 %@:ah'EzA!:`7of np@{P QO8b յPoo?Oo‚3 +lops}apG UD`8'B`^`+ us0PUQCeQ(OB?`(!ܠp4 ~0$v_ߓu#08' 1 UWhB=P{'|ݡ?Xw4Q`/(wǿOaa fAap?ٱf3vH=a 'kzApW+end߾w>@1)(,"*>; /r2@ן#+ rV 1=K-_!^Hn0W?*{F`O)"\!SGP;DJN7`P= UÇ uN UӿKH/;xI /'kBpĒ :  )4Īر5:6LO CkC[+{ ~X5}#?lX_$>+3 )xfd-xύ9CI|/q"~sF"W4xG8ﮧkPOEx66^|weeowL+G[2H:L# r7}f}QNMdiMl/ 5W8%{ !b]{'o\,v7g&XomjMxv7YO^"%s% '؁4č(pToZlkhLC36-6+G "YНs D(IكC+oǷBwXXsDR,QGɗ)T]u(d31>( =zL O 6rPŠc_tQG0!N~Oԋ1q8DF8Gm u;Y/3N4oϙdWEdJ(v.9W9I1|oo.?Q7PϮP|_/y:k zbLCHՌa~GC)DYC<_w^r]Zq׫u+:>\n%U:2J0 I#.H^PbiCC8]oY[)4-HYi&ݝ*q]PBgdƺ8gW/ \iw(Srf+ʼ2ly56s?Aۂ&O:E-g%^VcuzO8G2gx9e`Mus3u"ґϥ\E^YEW\tۖ/|k2w9Y$'{Jx7cH 43؂.F;b;]ݽn5Njr?>Z|eOKA[sa;lnR ̽JVn~M|8Fc]"Q#Wۘ\#}:xܓVDhG}yͲ[=􁗕}He~YWeX-W 4*#P[qQñ9YBth-$=j]2bhXBEQVMҹF8UKHZ5GLji9qrr3x{zkc6m?u~@Ǐ+2!]hLbXh_$v,uƵ_ػN7#HFmOT#Y@4o,~zCi6 BЀm.Iztsl8k6//G-G?ϒ{Pm"Vu7QjE,MU.@[6-]qZQBF N2'_}9w,fӭ= Oq{C|'D(ϭ;3(Nbxe;荭#kp膊4[|-[WŃPӠS^s ̳Xs7go9"n&ŏz0A3·G֛$|y.pN?£opK{Bqhu.Q5s!1?);Tk][~6Sb{M( "Yo^΄,z;F3zyoZ{H^1)y)8'B@-/PdA\W⇸UCXce看{''m?e[3pV ]<~02E'r_~j0IbnavW_Ǵ+R qhB>2*IFङ^}`-B9ހLM󮩝N NK2oyÎI~/iB$*0T3בMq*ᡙ/?$j 9ĝ}2z'0lIq_p2p8 3zv<ᘵ:͹fk}SUH0{dJH1]^Xj)C·kwk6#݇+ HEq]jLOFL`bp܄H!R'G7g&޸o/=JJx@Vg#Gmc;^4L{hppN^la>] lҾZNf& L%C_s➩JS(b.ZJO{#˴)BM}>t=ǢtɯBfBDY&<_%M.Mc:v% kc>qmAR<==2)y!B#FNufx|jL_ LijfQ}%hj&CL7:w^/ t#zWλǶ_ !@(mP =ݨ*0ޠG@[oa{xlq'8vstRHbu8kR Ha=ݓkלy~<K!ᦔR||}ʲ9.p "%7|{mRp&&?癋oWSSV>՞p0-FU,G pw&|xCܤ{|$oaȫFLԙt_ [+~AYց%~>k+dc01sv8kYmvQڕ g=N.V,V힗J:mKa t:ptSs"\n qu5;=&Y.ck }8JN0rOD܉β1)kb k` C=ZcŘiƣ7|74ga5ÿ\:aSxqH,'X/(0͢WP:c*G2,`׊ _$W_^Z&:0&9`8ZP#n͒>F]&^VZz!b JuӓA6JsFɒIk&ƞt"3  }Zkk%.}L,^0ݻ؂t:чe&]&OPJ" n]Hdbv.8^@gi؜qz:d+Lo5%P5GF:ݦO7B(K05$sIҖu$OKf'댪.SBئM,XubnXbdWE>s`ٹwbԆ>U(0r0,[| ໖dOOx?bɱ[_AB_A^4-/}=UO!73n"^vCYEt‰9JO{/;3bA7d͙~0e3Rv=s0j!^YG FK4auQwMgΨDThUK3J7/#s:z7ߞѹ'^?vSet[iZ}Wnk IBhYZ:|~BHRfP^!OiDs{\\υt?\) >s%tG!M&>QbVCwSt-ʕ'4ar)<`H1RtHA'drN=}j53f㈜~0%8Y7Jޠ,">hc2邹w;NوN\cgI$B4i68/>d.~t Ba!h:h5=9!r:j񧶄{Luo/*?Iz;;*u8KL3UwQx0E f22Cǟ&͛F{b;B8ݒq%j&?1t 58?œ1UHM֠m SsېcuXƁgU0O%:635gQFr] ^{Eh&%9Ւ\[VQVUgi |2LA>xeǐ|pĩ4=n_ {ϩkk̞sK|fhjxjĤ]ilip.TDe+ڏf=`ۉF^G0JF_K=[vF\na6#6ڪAb!}MV%ȋY!,5 > NIBR'+q#"x o|z%꣪&yVyd[b}]zЈ321&)TZ?tz~~2Ŕ$pE|i=Œ@F$ [%ї2R ųgC oy0٨9 } JG0hy6N`bR(iVWg?)*"ZV|6{3QdVqp0"d-2UG 4"楌˜nH7ؕcSEX|?˒<\#}~oj1b ۝E9M\++Dži56{#VvN#%8Y)=FM&#HאpvƝ 8NŻoLp|+}Jד:˸\9&NFGI[r?ʺ ms endstream endobj 116 0 obj << /Type /FontDescriptor /FontName /MLYTTF+CMBX8 /Flags 4 /FontBBox [-59 -250 1235 750] /Ascent 694 /CapHeight 686 /Descent -194 /ItalicAngle 0 /StemV 122 /XHeight 444 /CharSet (/A) /FontFile 115 0 R >> endobj 117 0 obj << /Length1 1485 /Length2 6786 /Length3 0 /Length 7783 /Filter /FlateDecode >> stream xڍwTk.RRR" H3twK7HC04)ݥtw#!) HJH#n9k֚yᆵgH!mC`NHnN@VMMy9@(t6$($+8 \ z!ܿ( >^p`ZCP?x^. Wx߆Kx+%@X%揀(q><fsrs)(˲QFp@>! y9j_a_%~@H\Pް]B"4/-#,OwG /~ۙr? G_ QˡC@h5[ ԒH;٠ KuQC4HKۿ4P5NM Ńˆ=K{ₚ_& jKV};Y¬~$@kנx\ڿT%@p[? :t@ï& Ay՜ oV:[}{@ Kih]M`y4ƈAʹ!HW~|5N'3cNDa[̮C]O[N?V:ḥ RIPFat`eׯs"qiC8 >s쵝X W}#lcs$w kx 0vwAJƴ]vi\lW;EuOÅ8xqvzقU]\|Y~KW'*YEMŊX77ک`or8]b4?vd0%N^ xhRzh"EwTGdN9aSY s^`wm_{2vv f \/KHߟ[͙kMLF\i/ Fn5d㯫SO`]/.I[،hT2|ҺG( o}=El3)3GtsQ 9B@ b~\tdZ`ZQvы Yl=W\S% \jeU#%=>,aa;r I:N՘7zUkK]%^_O i̅pX/툷)-4u}ʳQ)QT}0'0hQv?.t +94x5n>կjY/?=`*sktޥ`xԳ8=lz6=((ǘsa:ڏ42뢱58)9 c x璊 ftvu)P#NciOs_RU}$FI(ĵj }B%9dl}CuيM)Խ9DBѳ LtgmE0Mxe5*/7<ڞS5gL%hyQyY3c8_ib aR/͹/s'|:Xܯ%pLKO.{80ZSiT#eXo1'vʩΘ.DGm rɉX©xC޸qp+]kD8CL *:WxW&g&?E@S DﴖxjrBCk款$VRKyO7?w>o$agІ:NcGuF}+ ⥯=gOf`ZүR`×N4Q*ūʮY ^>췰XoG^#̏X H8]_g߶[72 Z{V2sN/we˨%.-{݃ǩ\xrA\/(g LM%U{Nd˪s`tn(s!KYMԳϛn ĠB:8(G4KyXee hݞZ6UOxGoe )W7CqR.fo9cqv)4΂ӞGU).}:x=_ubP7cgi f|2%>`p|mxW97o2d_!0 ׸CdEefSx{#9̳j딟IpNbǦ4G?ySyGSz2ܼ ~'}n[pzjc}D[󰢼$Ӗ䃀 @ *5)j3s7c*[8xV"4Je9Iʳo} 29׫JxX}b"g]]ڸГB;4ߗ&;G,ٚ(Z 520/ ޯtN<9X!E_ztbwC%}0$M3ѸY"nO%SFҡƒtM3;Á䎞z  N_ZK|cm/_H$ >aQD{K]*~`b9 u9܉'B/p6۩=|[(yhi|Q)2 ǖlMts* qaw)YbO.lD't2ѭ!Bq^"+3|.ZޒzC~;*\ę v4x&OIƂ dLJ婨ɉn3+ L`Xw)ʋƙ"q>Z_]}KYxr/?3f*o*ŵG F ꍤ~0Gpwd^mϥG/wHihrÏEK;|4 X Ejfv`]ȼpWaJဇV׎y_NHaޕl\U޸q!y۰|%]gQ]?ܲggg)glLjV""f",t#UBٓ,s'}7J9"${@bsK+x+)BT#,a`9}ێHMsV=+EP|&_' aP_ܓ?u/K9iՎtʊ  $myܺ=TjdV"\^m03k\ޒ?>[\d;YCmw\19ۢ'8-rJ;ٳtz߮fgkM"Θ}*u7 bFٟ~v{6.N?Bt\VHwsɹ~r{dIMÞ0')'7t`~zWei[S?IW<Zc.ÖGZ9wUcǓlq G}XX{GCna/3eS=8\fQj %>!ٓU1T|jX50y0{tb]1˲ bD$nF6z{M~K/Vܽ^xkq `ia7&fD]zX;h̭ II~ݐjB6>KhP`$Mvc!QX!*@ޠ>w2uRLRムxŅޙ:}{mU@i\K옂Eï9@NeRtu\pC{\;1Gk(OQ2*}OQ(wGe2մ5;7qj&n]ymo uԚ鷸s'e}@pQ=_{A0PZkUA,2j v_aKfNI`"ڜ,+AgnZy8G4.W!u 4,85ܿ|>7l)RQ$3OÎ= "mlG*m?u1ݾ8薵۾@3lJU$"BUߓ2QzKs`GOre}R8v5lKْ˒WZo~h>BE]i%qIW5P>sqC;Y"uwho?Զm[Ef+ZZ ?S$֚,"S[+ZH~VP+w35lﴞ[Fw¸Ak&*kҳKj['-2tP``wo$RACr9nCH͈Gl~$8yV6˔i~BH{bm'8tr"Eh$hA,w@kjɗHY/EB<{-|p M6VjNLW~,!ItV0A[gF) 'd֍,e%fқ>?A⃾1_Jm ݰ$9e-m(W9u'igNy칱?SA/SHOgΊsO!{FwyOt3KNU:ub0)wNnޚjSWdә>B?ׄUe0\Han&IQ/M4 LLά?˼$(D#Z5{n rxsD_h{4f$G߂h[}\,'UM6O7fbSRII/q'MvjM&3Hlq0Ps`aآ;'$S|SQ6Q}SԦucV;!>CL?<) 7ȐлiqU8e\X8+CF2;3^ 1DEMɺ}Y3SSލ<F=<*+sLs0[w:ɰ~)$ՌT: =&7qզ'K펺iUAg*7 ʃ|1K+Ecx6c;]Mpݻ9;[_{]!^2S)CktO0<{]?>YbjO0xғDW ߀TLR ,;W D?(iظ0Yq! }Ĭ"믥<苭:?Yz<&;Uc, l~1&Coj!imva M>b <*TbeV3=L:˞VG]K`2OL+C&eT_qm{;3`1Cʾ=F = \(^A͛M|'V }WEB!#:bXA ְՙ ߧT2L嚬I י}( endstream endobj 118 0 obj << /Type /FontDescriptor /FontName /WYMFIC+CMMI10 /Flags 4 /FontBBox [-32 -250 1048 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 72 /XHeight 431 /CharSet (/R/alpha/greater/less/y) /FontFile 117 0 R >> endobj 119 0 obj << /Length1 1438 /Length2 6052 /Length3 0 /Length 7022 /Filter /FlateDecode >> stream xڍW4njڻ$$TQ{oBQZF=j}{OI~~>|'Fp; Iut4!!!!abNNc(򗞘>aC0: 4=\@P\(!-$<&As*|PG'_.07(%%+ A@ @rb*A.#8 A+ &-(%rE r|/( `AB{O]+4bN`w@yFC`HL`4znog|? N'g"(W0 `>P#i Q|# ă`5U6fܡ=g~o兏7~uGgW߰?%05a囦(1K z;{8uO&zݾY&ުYSM(u{lo"vD{'w5.tUTnl)qW5B@,!+{( U~FQ%[~vTF:IͻVfYQN[dmkNSPOlΩ7O<9[Xv9+ߩ ;Eh*id* %XI:0U; =\::(a}~`ɪ D/dEP+TARrNM|bQNu$] wO %k ˣ$ ˷RwZn}Ol4>Vu^ j)=ъXTH}{|1}l%,춄r g*\D L|JȂlӭ#)ÚYOo 58WzBZE($>Pqci*f{a]Mg崿KxJ6 'd&[ÄS1ڌSZonRjtOZ_W{ 5p6EG+!3T< +M7D sPۻ ӃO `'Ác"֏e;'&'ʙƵhwb -aĴhb4z]^@B a+HwyRl0_j"FxMUV\gڴ Crh%Sqܔ,b8Vg d&O MM>,Tav.y_ \^=r)ֹJ> ybqQ괹WzOFHL_&ٹ HfqV cV@sPtɚ)'lΆ RꠔEUu|">K+2c KK ɭrc w&u|I09k?}+T _5xK}naKiӞ:>}%z!54Eymdm/%h2#_-u*78 l2ggZ';2ߣ!įC cp9Kjy8gDu9+-Gi2('r>DOpVtݜ =Z'@J#Z$9TrISh >$mo,4hꖆb Z1kb|3hYpI-t}itWgӡ +ň!ljT4*_ AKF.TaEH̿jԹA9׹4 dPb9|ְwS @eA){' @¦̭8QpIQM桓N/h&0k[RA:_xM>p_b= }Ǻ !bL[N骔S\E1{ᫌ bc^l|ޛl]Lb%MZ փyg;7WOYS6+[[T,l>@SMFX5u;A3+7_/I8}I \o|˻j.ja {  H?d;~8#U9sJn1LmUmq@oQ6ixG2Eohh,+˱Tx=N`yW{ 6|p7^ܼcTfj=K)4t3S⚒#Gt^cɮt3(y1Hxwٿ.NtI|Id8.K^" 5v~m'!TieMk2Ұ;0MI~üIk529#ה7If:8ЉdSN=fbU \g< =+8p{&|eш6I;_ 'oJ0 p/_ҖF%4Wf7CG'ih}"N tAćVx6j`(л`gP޲ny1[zRuIhfAN+ߖ[-UBS.Ӟl&±7%.Brw!֞v,=6nsظRBC} 젘W,3*U+j<,{(/lBo;%_"MACCӑ^[֨(ݖqHZ+[B%;{ ILjJúsEulU'>!Gt6˱c&E1蝠OOi 74?lY:V*˝M e;]kCv5ß^]"d0: %5C^3#0P0|a{cXn[kI )c#]* %63\c9M#4IƙI<xV})[] jLzd{LU9{^üdYMq 78< h=N [.kV'^,Ÿ-l`doPu΅չZ-j*X:zlTYiq;}@w:^eV<"!mC3 [J ԾrNSkLx r-oL;r0D iڙvw]A("=ް*cr18ihm>OhD{.ܯlOHBC .:L?Y%eK J|/N u )lo`3$ _?HK֫)Bōg"l)INAtSoS @%as.U {\P/(RWķ]T-?'2 nqj{e|0JJs)5*E?[Nެ#O`WLkX)<+GjzG*6EBTFS ՆL.aR3w$kRx]A@]2jHVZҹ'{Fc]oS = 7q&XQ&S\8#.W #r"s^ԛ3%1jZ=>ȉ1fJ \zx;Ej 7f9qwD^Ǔ0:nJY}Ɣ%RjL% ]5ٲjO>BD_X+ͦe7l*64JְKRn27K>BvUes꺙rԪo]l+#J\X\K֔)-vΚ t%]u9Q 箱ak}/: ILe< l?'̛6II]ʝu= 7xhArq X{xu6|Z<& 2Z ;ezنIַx8sL[5G)-|̢T(^M m[ cjF.*xe/Iڱ2&"_=`:>YS?(kg54!AԺDɯour{6qgLEǃ hDGb  {h;C!>yַү83eĖ>>V qxJe;^LѽM VUx~M^¡3U\~2'/ev^͌S~ f3C[9})cc %3|f :7*YGxx *AB_ؿz~{E)k8ej3İ܆ {b4˦Ix1/Ֆ^Q8pH)c–mjKCͬxzdh|e+U/SDg ;vVM;tg:472Ex.q(j.>)oDRlV_s(L-5F#70MŘŔ?>ᓹ\8^eꀞw7(<3"-5_vL 2"jWr@gKdoMB{GO)4k%8NؒzY뒯>8|?/l"$%]o5QZ\_ŝi ('MGO>L/<6]];nP~eda/ͯ]A;ur5#=@{\|8]-ǡRW$JGlluH g%ÍHQh*o>|d93I'՛ϑNGRدh7GEo 4=xPx:]鏔[{/.z~4cj2=O2D>,H:M\~A-2aˇ|Mvڝ=C7}Mwֽ:I>HM׋PAL mVm!\>ꊷ7*~}w gj%QFMhQȴS,=WmCEe5&\-ϛ8N|+w+Y BcRHK%+ZMִd{BhV0d ^1)69z<6#("^֝<'єUjhᘟ `ˇYI+3,֜idNT.sH{rw1VT]b)*+U\nᒎ_=>vQ@f +rU4-v^yvxls?%2|ȃcv!'q{.|上ͧ4h7ChL; =ŻVL9 G9Y9]C)pη*Ef+}>IW5IL[e$MWCY endstream endobj 120 0 obj << /Type /FontDescriptor /FontName /ZGGNQH+CMMI12 /Flags 4 /FontBBox [-31 -250 1026 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 65 /XHeight 431 /CharSet (/greater/less) /FontFile 119 0 R >> endobj 121 0 obj << /Length1 1407 /Length2 5987 /Length3 0 /Length 6944 /Filter /FlateDecode >> stream xڍtTk.)"]21Cwt 0  1C "H % !! HHI4{9kfw޻빯2 aH (hj@ ^4` F07w8!`ڧA4, EA ?$w"M4yjH̝tq٣c~C9`119g A4!({3z"GB0ϿZKڣP.||^^^gw^47 an0/-32^ ǯEyA` !=v!$kIu70/?] B.a;(o7qrG!./#C#?Gzx~! D/cՁ:蟆[$ }yIZH4aoA~x} e'a# q; - M$ZN5&QU-9<`A^?] с.3닃+VUqGoO⎖ r0}%iKBćM%ekw/BИH7_k|_>zzo`0(4*PzZ-Gų6&vj3oU9^<VpВw=}yoGAu TO:i&En:ݖv&y+j.Ԡ3YC5[ Se8?cI] ѫr"I}gtg>KDIbNQh12s}?뇤*fI k8UCy]OK/3> dZ}9 ZT;f_)/NJ+ʩ`B'=kX>3TE6LߏYC"Ǻkh¬It]ҧɳTG62TO'#<r-,cɚtp8<&]~TdK{c9AC6O焯#X;>wƎ2TͷvwSbu경v[/idʀj^w_d%bJ8AU+<ܿ[^8ۇrɥD"e/Z~Pw=󻂔1\5dKv|+)$ЦJlƜC(RCEqn/,lwhcfVxQ6P̎N/'zsIW7Բ_Yn0Q\b0RSM12Z(9H|7w(.h/%>9NBYնh,|amy񊶐\32KLAg %Mi;=B}&AH"My-1CZΤnfeɔWFXsdDެJ&^G&7bX6" f%3Z'2ZQW|@0.3XO޴d&]`kbכc m'RUx5=Regrq c!j] g6߾:5$ɴyb8*BflQw܆FI_Q_Wdaa˔~z1?:.ə=¾'7w}}Q8"G{F5~H=c6~;M7gn[#.lb̝b'** o `9"!V w `רےg1g)żw&6Y2K mJ⌫Oc H-KV[)v{+ěq%ģő[QӚi/l?ڄQos?X-7^:rX[K5a%R|#-x{!{Cݍz/KF\jxu'@ ɽLRp3ὣS2;=]=54k+V Z_6c=|rc6H]*j&m*~,^@ܶ+%b=}#aۤo5бY Z7gF?tK1K=nP K)eU'үǒ:O@WAvfZGԸQ 8o<v$TsԽ?³thHp}ܴ繡4׻6IT2 qovJѫ57.FA."fb $HW F)8!=gNv /OklVJ_y^>8>ٯy2Sevql^ F],SmqR5ڱ:—ro+SL_Zّ%-unIؓe|L7;Fz½WT-u)&}[+(vWFВ(>Um e婅wRYMtb>a>ȸ]'zM.<+>A"3şY]}O%}jfxt^ۅA.+Hsp}}\6kwJAԣ"ʌvÝ * g9s}[+:Үw{FRqDY(= P=}/K?$K4nUQˑ;_HޙѠ ):{I׭A ^>0U k3ʫW/u Z}a{͟ҹ;CՋ1ʐyL(5hWaցٽIMu)R>6>L1@!Š5gEÔVM@&c,> >ω۔v m Lbpݒ} AajxGs7 5NeՑ Զ֐s7~4(:4+pRGV)?k/v9Xx̩DnrB-+wϭ6q'7wW?Nֈ7M΅,s`U3.'dz]-tޯz0,?dux6©aқn@ <8,\eP>]]WMq\[q5a[lPl$5wRώŪF0?^-ﭕ,g m'1G',Rn]VԺ9Ði}H #tNTڪ뱋;Aad2xpwA]3 2aqN=nPswc?fBj}, ‹eڃ&?ӡ3ش'גKoߏmo3;kاpGILce2yR}Űz!%XH]N=N)he!Ij]G:#L(Nədf>^ 43)\p:׷Ѷ>(kwPe W܃ō@r\ n$(=xq)htA' ad.&{2nHW``nҰZl,+>Џ9h R)اjqj0Ero%&) pf*6tm t}ch c|h[f#y7M[lL=jzvTJ$0VM+ (TFͻ]o& f0?|X92 "_[b!ڨ {؃Dh+>9*iKmt_O~y5QX#!AvB/p]~'+I 3]1TcBbR /!=Y/-8٪ct%+r؉ϊݬt)˩YE}$?E&|_F P3w;293z"yи19)s;KVPz+|mM6s 4yp"^V{SPҦb|Ǖɞڬ7.-M$)hm闂mGڗOH's؏.qPL%ȑV }HӕY;}͕3^^&t;xLI;1gnQ$?th3 z%0Y1_=pPn 2v/6kxC::Vjc*aW}";ں!cc~ sq.Sv@bCPs\=] vG[%ѕ_S-w5ME10 Y+Hמe`7دv>K*pN|!&)oz( -ug/  g%=R aIBZK%ߎq>Hrٮ{JZm/h58!)%ke}mȝe ïj/x0.e sڳ~ׅGy endstream endobj 122 0 obj << /Type /FontDescriptor /FontName /RNZPUV+CMMI7 /Flags 4 /FontBBox [-1 -250 1171 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 81 /XHeight 431 /CharSet (/t) /FontFile 121 0 R >> endobj 123 0 obj << /Length1 2598 /Length2 22924 /Length3 0 /Length 24410 /Filter /FlateDecode >> stream xڌP\ . N= 4Ҹ KK{Orz{9ǚ>njrufQs{S=؅-@\Q ƁBMrGBtrكAw@d&.= j `e}`c/-@ dPdك(N K+>L@f&`nox :A+,&v,NBLw@ trJdb'3j؂̀`g W9 qPU(;!0S; s/C ߇ML %d (K)x0LMl!ML@&ߑDU&řdWTYl.nog8 h)'?ۻ,@`s0wu`]@D(e@7/?'zYe^/1$_o{$ /Av6q\\*Af.S%:D CAf'xۃm=/:?x3s9 /[&T( x?cA%{,tG_ y>o67 )W[ۿt&v [ Y E{r/U*+AvW+bYQe9K<* 3f]*Π.3aGY83ȅ * dץ$89x@ZAovȆ=m+ rI`aWGyA<V߈*X%~#~俈 *C&7FV߈ *Ab (FX#H,J$$]7xW 5~#w]7x F:"~_ a9@寋_DjAΛ!:3{[8Wտ9NH&N0 -6 a3 X/%qοۻBBbVV@ DhT)R1!$;3?JYCn50d~W jg5f1H qc)[ ym ԛd o?<@h@.q`gCt]pCΐ7Ͽ@Bt5qo˛ GE8"l HU\1{@G? ^X:D3W'H\~kA.@3{3ڐQ"wwکNIՙANעI]6%DȞ[T[|&[Q E 3k<9h6CutPǾu[86S#X9Z~`ui4 3 ֙$V \#Q4gGݴrs!. ^wiRߜG`Y:S+=jZ7$@-QV—F#' eV(l/6@obmZ) ?u:1߄6.&tggҋ\Z|A_2ӡ yŴo*K F!.|70 wϯ3okSgmݱ _y^LZqJgeHv~[UOUHy)op*⒕ޞ/`9Ѫl]Ju\5pԶ+AeZY4jlFH]6k {&&m~ WO@cm f@;M+u _2Gpbl8BG22"Fl ,{ئwU+8Ww@SJGh <$S&J$US$fN(p@N}YOO"}($MiZ_j*y!o}<.!Y?S+.7 %RE͋ exx4QEk YKw )X_T>/)~ Yle>Hi/vuws+Vg+!H55ƒɇxFùzI.kCd\*k'&}= HgHWO[Zv2nd[kNV?Ea[%|(wV1ͳJ8 qqL$|wSGeI` _Itv; )"FGrUD~[Zމ|?&gɳ:>1뾾a`_޽ 2zt;B[ώ4lT6sԱ B/ !PsӔ1NTgK{ݖߢ~j}RR`*Mƒ;h(zD* +LS{VX-l۩U$9ޒjҫ)pcgd TyuQ̽K!S EAByǿ2>1}WD5žL~L׎9aK62ak/NORʴM3LEq^ݧe=XRXw)䄪psZbbľZALy+%jXxMxER*Y,{ ppFz"^_\Vk\ޡ0;nl(v0MG>[<7 lKKTh:œ\/ףycم]Ե< AtE@}= RVx|C`E,1\KFNYA݃KgCp[jdi/8h9Yfl?TͶ{xϕ•dsBHknžz5v-9!6^*..C~DAJy'zIX\\o)*\px8}KM)ԸRT| t@ATm=Gbh"犮cW m}yI!ұơZVk=Ը RE*=?SLprݨF;CoV9-h߽UJ,:pOl$AF4$^r*Bݡ>Ůu_;R7})ئP.1 eZlYQ r`jRCHWܨ@80LZRduQ=C9CeXƓM{J>W%*$W _3nFNO?e{ێ# MJo.;2ߔC{验ʁ$RZߞ*\zF ͐էD3?U=+d~^o? 6vyWqD;WgCtš9`lrU<W=a.7G&Dhy^;s|,_5"۾; ipT607FnET(]c2f Syc!q])uqrAr>C 3O?KL-B۾dS Gϗh"yM\XXl|rʝH~T^1s3`y%àWLH~ya縣о63U(>~W舾"M)Rb["LMIy8_eEAY#|{ɣW, r :H{֋$4?E?D|onEZzwMVFCE*ђ] 1룛;)|s-i&]с=T 'ԂD_H6I8F {7O7S $o`QҐ;|=A2S̠G͢{w3K!\ǩk֔EKVEm"(Ҽ>0;s/g ߂:uȢvm%]3g=f7%3;Z xArf>ї![1QL8,$O|^:S&JcjHҊfpA fk_ZԹn;BGgStd~o[24-EBXe|tGݣǍjDT٭U$XF" j.+Ndl =~̔z0(L8]5R%Z.M܃׳tu)ܸ o'~5Ζ s bܬA؇*,(_Ԃ;~;V뤛G5 !$P{=Sˆ7kȗG❊1^z @j^I䍲}ᓶ2O9yzٔ=Q7UUK.K3;MڝzMyC4Q1JI62?;TIrҁ48Rm[wVs2m-a +=ZC Zh<zb`nx&2NHg`o…5N@TY/ᑚ+fu'&w k RhDȴTX[PGvX545_*/rIh E9^! /H̝3Y  R 6K6~j"(3$ͩ˒D||R QƇFSnWG_-?B_1S-7s $\]9s\p [Whg;Ä΃֦,PٍIO/9>_)Dv$\)G\@EȜ/~'.\a$Uol5(ޛ9 Ǘ2=3.:Hx"qCsk/’B 祺SƝˬss90إD,ԕVwH]x!L۲+zPpnԎ3S*x]wzY%QNl(uJa_cwŗH((m!`Y. ˪ON(u宑 QU5 Tq4y6!C$11JռkRM_"I ÞAVmk+9fAfJHJ7S&LvuisT>0qėu,'ZD_P8+FZߴt}x`1*2zoYVj#nYAe1Wy6\ ӆ5Sy R<4LtWB2%2 ߃j}oٴ0cM 8i/e 'i$oPCyԚn=U|̢+j DR) e"jvHVDXSc&fSJm^(aH3rA<*^;<ɦb0+D[719!?V?1ݓ4A0mF%kSa5u=cw(|ڞx'~Ja01pR?+kgL9:3guވZ 3xߒᲑ9z^|VQȣQt_[[/~!#᧔u8(/y#x^;[:|mr%utloŖcTX|(,Η۷^tF*َëw=:>Q4C68 R|aZA\8^ }\З:}쟇}{W= %OuA K׊iw1vUtxeAlFbPop2(xww˯G,>Y>6obnI֢dGXkV60?0(Q>ٮ!nZò@b/zjT%-B%-i?)zjmx2 AF!Ajvw N0'TO9_qӗ3Hpݛ ^-= ~:zNsڏqo 0Wd:Q-UG?}*nl]BH* ^OFMSޯӘV~HXE(SwAƬ 2Puu&bM V€œ%[΍ʇx\A_x+j萅,ʂ?9TKģ1nZ83 aTe^v3ӃcҞ,DUfl8ʃj"_3}P }aMi]J9ݵL#1\9@'w6wpz 4c͠l㽗J<q(цP[p]ʜⓢひ|^R$=4JK r=  t&ٌF@bi#9`g :92v9K62GىJu##:K ٫.z[{.wb!j C%yCp:'[qq@_?"zK. ?u; :2@+Ns-ϸ/'cK7(TlWAß/{xd@$2@\du6jKheFacW:\Z `'z9 Ŷm&m !*meoIqX0+r(H;&}qK1/4 ;Aۓ?ﻥ eTDԠY>&v]"$<8ˆ|.KyxLnBTkmʢWfq1UHxw4Vz PHiht-nRE mnW|F+?mGWUM\pz1}[YdJ y·OȠB4MHhl TАyЦ;66֍̐2}D=͓P`Z/V:+֚`)#.,p!h"x HG6uV5 -D!lFr5?BWHf AMǯPE5tx$'Q0i8&1E|SȖ-n<޹ޅD0z)R-]l~3`L?~fyKHP1 y kH;Y1٬z<]RU;[捬mhmԂ|.ޣZordixP;`^ {2Vi>Yz,4^nk [q|3۪V#XxyJ򣈄!_xnc|@re{v>_+ ~pSTѰѣrΠzgc~U r?LFaX$|oKXB+jx/XB:00] Qrt7L?}w˔)$fA'k|3hչ 9`|4* ,dk&%@хWڍ)<b&0(0 eFދjߧ.7f馠ɞ֬&=HQ29u0C\ߚ.3ugb4wSPNҳn1/踓Y/ '_I1Xܪ|htA,v?x>M?\mM'v655"uSsU5MTHOԣĮ'ɚ>tnG爿d5V:3t+7XbOXcϊ#y) 2հDT&~M띿IRV 4ECfBoV|Rm'7 oe ftgd)b2D%9k@\j* CX`֏5;_Qk{ʢEHx9uK*UbZCSY9>sxb5}?|ն4Juwj˂+{IS-" Q=Wyq B)L޵' Lv5t@Ha=Yn=j-rKR۽5(EDy뚗f)Рȫ$IչZOYL4෮“;AN7rq/x=%s6z2C 3űW5*f^.ML6jo毝;Tox PYE#6s}:Yv11cΫ{^R#90q'(ƈ-QyT&a3d^vAu_ V>#|r6hP~PIu_iZ=2ygIxl4]VPB߾*OZmCUeXs #\W|ojзhv)i-fM:Ybaܡ[1 A'=(EֈU\ .*/ucis~<A^?5ٷ{{,H#fmO=wblnNB1ZLC`ϫ΅Z&6׬k*>PmvP4_ݰ|nbp{ qvذl߻Uկ|YT<6RYy)F/9TOm#3EԬU6Kߝll}n-CĚ vr,^^ך]^a1':< w#JSR]sG~^A:7iu3!>OL3?Rit0#Ԕ'fJ 2˨/^èW0XT_̱X\I$fVK~bi`ܓFP(S@"ť뮺kPFТD<ΰŊ!TDw\6hͩ,<&kyԝfTEf9"M LJe|#_<)Pf~P 6UODYNOG*90Xʝls4"T5/Üjni`26^o2a Cc_g%tD E_US>:r-}6p_&g%r#Hja9ų>' /*ih V}La+rzvƩYP*v{K-CDh\䫎xn}ؼ,g]ÑW k[`5Zm`A9?+~ܙ .Fd RWQƭk\ͼB.P^0XTF6T_Ƃ |_qv&;Exl>~DX:Y#s75qv>Eyj=Nk](7H'}wr sodJh,lFݍnaڹKئ<[_.Zc~dmf(͈⁖?-IUߨ2%eq\&п^2*WU&,'] NzgFG)IOf~ ۚuen4{4Nxŏq0X{sL@T1%Y'/]w%_B%*:5Z qs %,Pz"&TŜi;/ K 1X& A_$5+U+P/|uu4pJO:Y ylzXƘ[d0<-E҇,ڊKJ s_fFYJ)qJA'u!D/nޓiy &`;[lyhuccv*?IG sܗ$v@f0wOR\ 0=tngeT|\E1N!*>~eaK V{[xp_RM&kc뤛}X.Ryp5 -7|\غ0&q`ޜv;Rl8"1?pʈCą8rH}l. "|+PG,J2%*Of7a g#ÿo #cƩ`UÄ9lFxCjhV!fwBb\#4 s@JC4-qrֱC@4O DDZ@#[GWlђ;W?W#5ܤ<sa;EB#ˈ?d_ɋQ#},*)>v峺9A|ը`bPet64Y/(yX1D\zn]P=ꩮ2# /B$:qW[*wV>"hY?0ZnX3c܏ֺr|an֒(noޅQt:L.)QǶvpv>.™C[~FbM ThO._Sj#ǣEgC xeY%dM1^mNSWP돯9.HaࢧXrX\BsH$Bkߛ. ?`eRm}1᮴^j^頤 'Yq?9 }Z1zu>_'i 2l@U]P ZZMcq[ʹ >6;׷T4ƐkDb݃ɀ}n%)=XD\.X5k\r`% X<*6='wBc|_{Ě%8s)x[7"KtW(?eT{"7i޿Tem}qg59w8sF1M"!(akKXBy+y{ &۷oIX#&VgDlj]2)wH5$Mw9ƣcѦ5wnOpgh\|E` dcI5+srOJ>4U3͟*yw1U4T芝=ҧj*jAH̤6Gl``df/i+Y3?_*|x6+7cSi Oi-Xc$6.q8{ =ǝg݀$N \/{ؠJחQ~bW4qw/8o-vuLXEi^ h8>k63sd{d\j|Gx_0i9j  }[F/$Y ¾]VksxDm{ %-OB"/.{F%%ĉ8*RߑP,,ٛ{NZ:)!jB] /!r{[2\5s屠%xx nƊN +ڔqEƂTxˡn%Y>C PU1Ay7lN ,[[Xh=_uErzP$GÏ.Z:;bf m|)ǟ0givJ>b/s({dϦЕck܀鶊si(Cp*Jɴ4Az=GEx* = ٹCU5Ui%TC ޑUM>R\(FWtuT^F@ѕѕ9/.4? K+L-ok}z(kdvE-.Zo"TD]pLxE<͚ -gR ԙZb+V[Ԣf$W HFgAb~ي ?\0c{ti(bSD%-'"38>.~ o|߼LS̮@Y pp(̔EPkQyqb8fHs/$;^Pؓ OiDDOmvf`=eH]nuqp q@sCŘ[)4fa~ƧU%[V'ꆈXNNn8):۲dNf# *ȁ!8 1[dt<`vbw6=E2y]{鴤Q-5tKԦ?D44./5 Sr1]=)3^x-b*9tF.*\$#}&b|*ƒ]atCr*e9K>%h_~Ws.ZʰxqGbRN:AƭHRMh]+cٔiPUu6 }_>Wɉ^V+ZᗿMq#u[ڝ D=xZJQtǻC/ę`I۝I[`}l],fÂ7enpYtX.K|~6'$@smo >htՅa O 3BT ŕ}4o!'s3Ţ^WEwg(Xcwg$8ji|Wg].8f ~eѢ$;pT-\kLQw=7|3f4wyɷl{D?<~s;xn[pm{cڹ5=w3z.2/ ,Xgdd津QgmP< 3@ JYS89 `ɗك*9Pc+׬7Da c~gӖl h bU.0 wBx52ZS0MN~G];s|dPH\EM /lS8vk'z0GQ:֭翔ͪgE>S(cU9=KgQxR-),ٛ~.>wpaU,+א݅$J7p,Jѧi14- ݬZfo 1R)~?C$m)oOm$[— 'TԟD:tn'o"]0)$9\?ܑ"00 {{jjy@,˚*o]•=Oϼ} lm=5dcmk}G2[q-/XkhtlDB(LN)*i^ͣ1*CJz_xO$݈&Ã:q`a5No?uͥ-ycO! >ak^FWsCe}q]\_V}~d+?IwH5NAM=uvnQK >B 4a齥( l>z <@J >|\ko? B`q ~VgCf,:X\]x_FM9ۄ)HCX]2R FQ=|riT N"O@4'["hk4mp9NFCU ɦ3^sO9 _6d'湋Ojd^ؙ>a,Aʼrj޼a H$͒<ظD{2ɷ$<NdRd[zb%K+|>5l>1ϠYh a|2D%9>ay7Дb+Hd q>uJمI//r,;Cز;_eKw{:aiǏ^(,0zn}٘xB48{'B ٽ̆! qPV J:002DA'HAVXoe.q dDŽv\t}e)+g="!ͤivAmSpΒ6"ZLd>aYH:߿ZPzo0̓#8|FCrUBP*zEK Z_Bqq$D i5<=4 OM}~l ,2&wtL<ܴ7z0 <|Q\NF; wč68{|U*Bx}bY#%e|^묥ҢCX.isdW[e9XEAj~2Rc/dI2(We([jͬy-2GgD2zǼt,ň><ȯ.bU{KAlf*89V)!0JEIMr|ǽvvb͇& +7oO.iDЋՖGS<)gvơ w\+r/!s`uZWW'!L\GADitn믝{מD@{IwmKoO7dV# UsJ4&x֛w)jk nd^-tWJxQKɼzޮM) |c2+ߵI VDw(Yb{EЗc]hZ䐫J@;A תp'h)j9;yR fJx=4.Xr-HIź"'b%\sa,qǶM!"RtfӅ2\#yVk/dCT P saMaw`d*IoSfcff{`ՋK& _D]D  O4T{XAEJ0==od3P=7&hb#^H|) @d2 }lD  VwQ^o @VȄ. xJ0=T |@dd)֍GpJLbfSyV J\pMTF<14'@ y{Ն=@ށM18p헔VGsh#o_{&`SjG3b "*Ȍ1X]@\;(| SiB!0-٦nS{c~QOlFV3kӮ:lg}WMZX2%%q8.?n_Q`ԮТޯ fľg@TXsh|l2?<2Iˊm*.NYzX^t(%F{FFLѴ&;< 7*n' {d~ل>Xm~[A_4Tq*n[k[Ϛ?ߎcaXn {gB[#Csǣgj9c}̧?H 03ڶǔ~lp`bs]G(!*[2jS'nYdca2-Y L\[a;OP7}2Fҧ/6';*y7+WP՛ Ü2@5DŽ܅`1,d_ޗn+j&t? ~^KEV?D$_rĀc?#͞"炵D/@Ɍ4f1iwD/݅W&bH]tmj~K$[Dx*ުR"Pztj|1+]V|d>ivYj(k4MNJSy}-mOg?oYEk?r['qU̓%V͛IlR2bd]GtUq"7*wl Q ]5q33D+C:B-Vʤ ԄNM4 `EXs\13`X {A) =@J/r80Q9{L`LwdYup# ,7cO<г}=9A)שPu > endobj 125 0 obj << /Length1 1783 /Length2 10509 /Length3 0 /Length 11637 /Filter /FlateDecode >> stream xڍP-]3  6Cw Nݽ{WWS>_AO&el wqs dT<윜ܨ: wG_bTz= ApZ?TeG_K@)3D k @7Tzgo9~\BB/0H9! + 0@l{ &Q;wwa///v '7vg8KtB<ր,VƎJб)vqGlBJ*u Oʟzb_ֿ[XY9;XA`[ PWawX-ݜ-<-@τ?2Ki, <7+ݍ Dn,qvrP' d^`߿ lmk]0$Y]@o:.?\8ll_n@;o#T..5` Q,AƜϻzY;1_-mC}eM?+['- ظB>N{TWn8T8,w)`bAy65'o{m&$GmrW|dU5J!u 7yhrs3g 0P qqrެY>[9[;n>~b^||_Bl;\?{ߢ? Co$$?3-Q 8,AB3Epǘy9!oكݿ /|N_9 '/?>sSqGyIxN_r=/lO/sK={ OMy~@+ԥyg+0ΛZ)2//b3o| ]wi5!+O+rLT#S5;~ݛ%kMv.NNj@!gӑ{p voVw(ĻW6 ܫv_>:,}e1 ; S( nr2+Q-4޻d&zH-;*p_$l^fTѮ}%W^-rskN@Q'9n㱼p[Pr2!YfQ)bp 8>y"JWnzmQ/F|sS5YϢ\lvFmp'Gq L/T *戯#-q?<4fhEhvV;m=j -7쿲#E<sҨ`2m'2paE]Oc#ǃl(T+&^w!WcQIeNA ?\@G_:X$0ߨ9㱘4IOsQIBpQ6nʀl5ۄa:4P S;-HB|쇠4иʈtޢC ۡ]CCG;rH/ )B nItCVx9fHJom[97A*9ۊH~JL >DxbK7Zy׭?8;KB6Ҧܕ,cEt+TZĊA0"Zz0ǺAGԎU*m 5{M2KȼXO׳0r-T@Uyr@xc/+e2Jjzsq6p3.{ii2/hS"s˱SÏYo}"WuB9mEX};D%R?_x D{kR`Ƞ џJ I>|eJ!d2ϝctfyGKĎ(Rg6'6%0,B|@xDS;,3m]*GSS1f6W!ud]{/HкN`rHZ"GjQ oֲ"qǪ ]&~,+qax1T.јġj UxIt~sNp:]/!ᵆ/X^ <A"h%H+(m詺=[oecI u..Ha(T*0Mcג3y3 0# ʨacts(RɁJoHED2~y#*,HǻDĉo$(U2Q\x s5 :VHռZ/ynڋ͚yQ|aOpΘN}g܁E$Ok͸IHJM"Umh |XέQm*Ωj8z䧨ݑ mdCcm>ෘQ26lKi,o]Xٯl!vd_$xKܗΖQ{^R`vȳ`mdJq,S%< վ*g n 3eJEFu=Q & eIC$>`ܝQp1% .ƃFQ`}X1rzʎ%㰬V{:b$}w'.uvRC2:M? y$y!3*9T [ўdQ!۳ЂQ[Swi lb9G 'ҮsX#M;(7uO&)EAJ^ 3nlN86PEd=E#^Ze`jVnj1mUJmR㳰"TvKw 3*gYR=r PA }`;^A TZNJ=X}x;>QPxoh"{omUX(za.Nř_T-Wi(4xťƌNZfFl,!璐iS#g3% jXMbq9_?0Wu<>0{24#`Xt%I+ NVI=HtȴcfX.NpSP@Q%ҷ4ޔCHڌ 9o -FO~:-ӄu9+F+O%SHYKC2פUI+;\*ҵ;M=}g.DD|/ʸ8ɯTdi,.lJ%fG9r 򖑑`FcH"bԗA7EbQ5Bݻ>}J6Cp jj.RHn&"ɰl*qc.x/'Co~'#1K4[ac|z' Pf>DPS깎_C8[j~~[ZDqNX0)z)!y֙YgnmՎr:!^,8HjR)jE17y[>T:6\ۀ4O|p#uS&)\=>)qKd+[_I0hcg\MW2ljRebBD|b1&Dhpcr\ emﲻ ZżRh؛%TI#pkA4&=Kr:xNZ Q <C)mR;b |a=acnhxo˕ȗ,@Ɓ>׾]bC[lSyR*Z t 6tR7)/=TѯNٱ_3^ &\SDG 1 gw `@64;-lhMc.rbԐ u-{] {5/j-W{4bu;9FdQAR¾ƃP=HJouuݫ-jŹ&}19~AeQٳ!&FGTC@_K!jqe,im#aߤRLC?~Ō{eh ڡNA`!D)&SӦ= %IV.Z{ˏ;!U~R$~> L#|`y9(᫖ yIG+2 GxN?sw H-.蕤۸omjwVoCj?!SxИqc-aAuÅ|s]9^.4"gRwU(_̵^7"`ֱO{m=%;zUy(2 bN 4<9(lER9UmH}S~PƇj{)]e8_x_XfKH]%kaIc®#g ZM,emӥkL-EF'UҊ^nlr̞BD$HFO5@ȡɶ.b3fX8gř>7zw͔e5n)nذ"@گ^6dfUZL=O +|) Q 'N代HkOf;Љ*m>a[x8 Q}N6jFvFU]lTO#cVv=533Q!̥ޱuG%EU>7 VU`122w-n,VN62CxaB:.F8cA.-i!* .=-֒Z&OvN.GТ Η^{> ?ZV^(myI+b16& Q3 :9ns2 qEwq-G@޻ گu*Rz]L$S&9aI5 a;95TwO"%mW8YZENO" U([x 5ۻX6&mĎ6R[#yMT͒Qf-Oe ̈_j3э$qޕIx"XOŵ5"6U朗quF\,~DrzpԮZDǸhi"qqk>YKƠ4'?BXfp6y]u})KByq Q-\"m~9$kq7ufGQ^&¿z7g3Qn\ɹs i6֑ؖWjKk|kP\˅r#~~aZ%* c7pjl:Ȑk㦽"(@ΐ S(ĽFHM҅_; }}ڤTs0*iCmc l˃*yEFחJ{#p-hk9u9ܸډ7g'Yėi2kTGc6);OIˉi:}\cq E)A?K dZFf }`)bq?m'<./&u'5\oK1]2ISU5^H B2њlVoמgcС57Y :$g;pKe2֯hLD3K2B#-5EkKL^Pcx:-)S'ױVqh S70ųy'ͪjfFE2ˌZ,}*;b"?*W|ӱ|L6fY#BYy;$K s&~RvD`3ljK~|6L]ͯRKObMc]U $k?fg7gޓjN|6{p՘ڵ`}r6hN;kpK^=XԆn0`V19f{*? rO~s!p.0=X;uH+&uIOzuZENUp l;*>y1'Wp199L$`3/d qq{GԌ܌I֟(1)bR~}.a[Ԯ<$=9n)kO)#Ȩvg) NcUNm|tl*Oa; O_n.;OXZB֎؍p (q#`f!qVQ}@{[Nlu)"况XQnrY$r r&nug`q]r= R)S^7&4j*KʖeSrK!!3BHIN4zzs %rKcOVmCizf2qvC?:N5ێ91t,c4/k#zDUVu5ܔ7GrNi(o"tlȠ0Jk`X#Y%1,޷ .2%BX %d: *[٨Zi.w ?H騸$ne#@!  t>zt¬}ݍ1L+[!߸5˄jllAv[?PndNkl\'iLa"xګ|o;y2#+6жn7CͶ޾*~I%>4 fw+B8;: &!!KcJq%v ƇQϱ|7G=,IB' /Lf̹ݏh\XVS褴^p/(&EVDHR#ݰV\1AW9U`"L&BXWHPOU)3,:Y:.xLojiwFq$!4zjJ \Rt( !1-.ڏ9DlG%Ύr &~(`kr m[Z6Uϵe 9t @FV}\eHOk)M߅|4Wd% 0؃OF`&XӤy&gwHHH̕P:Z"J۳ J)PM?~wQͅTWI4=wfF[`1ATF"f~=N3Wj_H$ҼP rLufMO9a>vNl7^m!Ol$q7A ].+~vDf̘fvd I?&8vDΉ*cOdycmci}Oa3"CPA@:i72]T)pKӷWAջTBXA7[Vhb4HtBzF'Qi:O͓-~Mɬq `royWu#덟c2NJ4tPon$Y?DOtщpg*7-\>Q #RH}> 0ѡ *Rj;buCOq=Q8e3"3HoT3pa3l+!ʺȱ Zg' ߜ)'3fML,[HC)ECӣ Sҏ +/biy:?e= #:h&n<*ȂGR&N^;=C(@?8wnyqQ<'!BD=_"*U Vmd3jۧG]#,@UНBX}o"un:@CO]AJS ⇏m Y&,qq>Mvy"P6ƽ'ߞgF]l2-땇ۏj\h% %}a+=aoD8A,'ʬV;ϸqskMʌ1ݬ gv0t~goƮMCw̥I- |0Jg9 )Rc~ ~7'se{\'AMX>`oxcv'kĴ0M!L @.0$u#rTkSLbcT(N=+9`L*'n1hC. `AI%j1֎BH.5aT:ɛ맠|d(R{,J1|c*SyT޴ѮKYܝ#ay~U+fR|Mw*³p ~aD //F 4^@;1?&㻮Vm~_jG:$x(.eUk9#nD#LXLRy &fKGiyYâO/UTthc9ܕxvrn)Ld 9,Y+ﴛ燁Qz&ps,7#S|Wa&0,( Mza1+ db-vH zԲ1's1 y\>$;PBAD4k hL(Ʒb؟]6S[&#\0BTkp`44˙\'vCqT%>z08EJ@EPwN慙K^$H4F5*1Kb|W ! A#j|eAM>*k s|P3|urp+*509@-߉kdg>ar&2~7Z /jhfӑn.> ޢÓ9\57n_)ë GQO{+NJwOs甍-[[X5@&q{9/ɷnP;B 1?m{jw'o'׌^k+0§"Xah&y.nR<>7\2ܪ sh 6Cm;"G{>3gǣړ25Vn{~/;&Hf!GD:+]-oZ[/h[eW\|Q< ѡ?׈3yw>Cib\"(mY}? b 4 ZCUbƝtfMWeiҮ5`)ha)uij{gؕm4ƕæʨkT ܺ܇4x>s@OJ=TiwJtdsSaWX\<쫂.Äg}/l~]:|a}fj@kxCԝ \ui3pBbm7^pyG\ae}\x> endobj 127 0 obj << /Length1 1532 /Length2 7862 /Length3 0 /Length 8869 /Filter /FlateDecode >> stream xڍTT.L =4CJwwK#50Cww(" R "RJ#]r_o{Ykyϻ0hhKZ,@r0+;@ZUɍv439aPH;]m2殏q0(@ p=psr sȘ% srغ>d gt9-͡UsW[cGKs@f zascfx]mZ ; 0@3t-6x4@ c xlVT;so\\3W!0w%@]Nӕ `hq=曻!Wn?3Յ E.Ba ɀAd0ϟ E ;e y4c899 '#跓#`H=}\AWg7ϿE\\++dS ?3`=./GyY/P@WYY`v;7'@+oU8)wpSLN 3`RQ1'WwArno7omxd7ǩP=C@L* ^EW鐄@FdvCBcy Ҁ5v.N=Λ}xV]qoKY%q=;;{s>ʋ8V 90#=?5׉ :L ?h-F\y@B ף_9=yjx>7 '}nf)jWtU.I5,:3v,#xB]_;,ӹ<ޗjԈw/ƶgGG$(PHl;GU!MK#ʣS޳ha0|zKs2]8kWA 9S$(h,xǞؓxGY_|1\厽^*vi%'5$D<{#-IxƧc N=wR~ V`ݰrj3OPxe ڱ\t5Z̶^gh&,ՔہXA"seKt,s2: ì7~lnڳm-6]Q5RX+sq4R[۶b^hj${-,rjZNGuvŇBU5͙1/CD˓W4:kɗ~6N xD>%@I+pkgzSA.XC_B=CWö,lc^|,y>ڦ/۱{NDԝ/EϷ(whjcxx+'8`m UثBròv9{᧗Z| ߌ}Q/wi;zXrC28duR?cT͇ʏ.L%o_tL|يF:]QwLZV SQgyG~aX'5RCaRZtK(X_ו_DU=Օ^N<2t5w6ВULK#0!%o <Sh1n ʠ.4B5!آ_i9آ9$Xk&+:FrズOYXûJ||Ql+DH3MWq( bG 4(-ZVOz?kVSiB,]qߕ@o25W?G 4\xg̵ơ)>"%WxYވ6sHZ5 yFsz8_mV4AAF$)K#t8=M: ɇR$ëHf=A5ך{FKqʗFSז:CvC`y"ºoИHpCq}na]5R8! ̱αf8u,=jdOiLyc^ 4"9vts} -7B/k oQ(ŲʠŀeLpR˱LInt.wyrBTIYs8R<(w* ?%D$Z"Ԣ!IVuN%k憤 6DžKk7V4c}CFVR H&!W嵳*i蓡2X}YJ֨MUOD\UUWqJ"k<u*>593_Z&e!ٓٔQRLǗYmlOzD>FNSIhˆx. =,2rz ܔAȁF31$ԩElܵ!?/D=2|^qM4.}޷v=Kt嬷9.g:"JCT"wlWOǸKNի r&+ qM2挧mO1#92 Pk? bV_vۄomWmeQ]pQϑ?yY$/IKT}q1@E4SsrCrHr:l5#%^lเ@\U{ 8}!I[dOl*ZEk .c(fñ#=sekaglS855N1j+0 .*NC!O*f4qÞ$mKƾPr?gɴVӿ ޤJ}]M`޻MM_}MPErєys'_IwVxQ[iݔP>A 4| \i^܍bIxCE|Dij̴i<Д 43;χö *ꚮoH 0.R5Hn6(Zty t߻bԏ>u5Ħa/`G!T:T +qNOQnٲ-'II^U @bbXoҡ;,R/#[ܥ~HV{&5;{a%Q?gB|?!ԏ,/qJ\CS/WN+5Iyagcl@^uB0˭K$JU_LD eeP{+!D327 R,*P 2垔Ip4{g/0i /KWp v`qu\y}3bku&\t!xyaБ}IUx`h^OFd^vr m̽V$ żINFN+DGIA0R)?W*ĩk}5iqr) (ZY W:zp4jďpckrw\dҘ6g&[+yF"Ac8t|!7Ò+R1g C@҂0[c7ш+/+M9kcF?]5r* #Sm6TϦM|mT/qN}XfJ-aRP6F89Wji 8 x1Q9L@.uN-<\^ioHM##&eKz׊2\@2`6FX|C|=a5{ƻ۳Rm IVaA(iv=%YS+x6I q묵SnMd [~|?EcO_aLt-FP$^ 6pg la#IQ067ҎV |S+ZЇJמfm Bxdj f=xϣTNX+|"@}jRzNd֩fWt#p4kpM6U6N|zWC<_2u~@:4ܨϨEPzL !ԑޟn[᭎~)͛$H#Zr^'ڠ1yt"^H.D~5";ˎt}t|CN .#b_&ƞ[MB6/z֝Ex9 D{%{a T!BkxZ`Dk4|?ۚCy+]u|B_իf y\ q%o$^?6!u,VBHL|M kȯ[E(dx̘GQeY;Zk_)d }|WPW7pձ+L5ܻ0aw MYW𿈌 X8< .uTVfͮɖa湱NdvKW+pX"dp5lOy5SW;9/PiFK 疡UYczQ},{H8iM[E#o'ɫ˗R]D$g`(T2$-`73V@W7}g!m= E!3vK 8a4>P'g-ZoJj6c:B%F[fo{GD*fLQ =KR7&YdA&Bۋ^>h9!uQ1ǛA8鸲XYU;UlW|1?z R\籘t"S>9f:klM륤q;>uU0[3k\gEM$iF)81'#ҶF=;K7(MXk*툭ۡ[WHn@Ԅ|}e]ڦa.dIfOc*|8ss@ ɌqUUp"l*?ci4ڭI-ʤ,3, 5;հQ.KUx5GcfT! <9"}Cf/sdYVt6/ŶM]u[+~q~d?M$Obz\a>_Xus[)#Q乆e;!/:y;pgθ]?*観#=&vWj:zmsGC$)e:]~w(3q@DHȺgLT )v3%#e¦ ,D͆t KMLoJp+Kq>>8]OMK HPt<-~]jNpߗȪg3ȳ/ LuM*Αȸl2ݖ7^Y?>BQdt:4EK2{lvz^%#i(U>"v MPqQŭj~.guJfr;Vgm7GLILdš{_NJ_Lbk Y> endobj 129 0 obj << /Length1 1427 /Length2 6502 /Length3 0 /Length 7469 /Filter /FlateDecode >> stream xڍwT]6%1tHH334HwK 00PR "* )SZ߷>;ϾξY_51SsCQHD02`[0~pR?iBx7#H!2 Y0((5p78P5P` %PUTC0pW(hz]>@s+ W AEO,C~((0`\1 L6Gc~  43@Ð8 hq uuE!Pd0t7 űAXQ Cp wP)':?W BZH7 Cbӄc`Sn7v#ApG,p_x `  rJn6B~(4w_4baa4[@ @7+#dǫacA`< @[n(O? 354 o:*IHPw 6?(g?9!1 cPۃCף*XOv<0Bְ߮?GU OCiÃ`n&p>p$u `ꍿJmG[j!]QnfNBZ`|4,7 q$ Q~HAjT%)y u-zb`5 q`(*0X0=r~WG5jbCJc9BbikLgyQ CN+Z3ͦd-gNif-7Ï6j{(8,TB}Cny7ј3vTξ\5]{&c@yV^,2q"(苠MrU^vHV}eH}ޫJJ{33:lYWc@ܦ4F/{A+E= {&zbFӇ7h:zT_1-xF>]QTYzG@ƛr hgZϹi ;z\Mz؋  _t U݆4Ãm07R˵ŇS?*m ;IX75?6bͽeNd 0||!bDxɔ![()#.sy{gS"'j_PZ?u+8mԈ[,xDw24Yٶ)=J{5hs:1TwT@ XI뫱rYVJf/̷#aR'yXQa9ycNsj$RuN'b,~r^٣<'TxWO .V)P$Of7J jVIhc7ea |%}KKBLi(e>:!9wz%N2#d:I |BRT?*ա;*ZݪfUBys#-ŃSR|>hWƌL orZYah$3g&3.J݋[Ձwy钟R޷ A&R|I3T'-A}OvZx 8CA? [d:ͺq; \kcŬ?_(y#x0ΟpxD ٬WWQB9m)A'3.|2ViuLaof:>VTf?q gvuIˉ S4s[ WȬ|ZD6ks܇r'͂Rl k M>`cJⶂٵ%{-Z b v;x}M| = u~`~Q yJTY JR0q/Vz%.x:Y5D>@j? ɏ'|+һg>^0Qli(Y虞ۓO^xGn~kd%5}'t 8SD /G@hۊVPjW?V)ycG_p ?+ D g[\$$f%h0o^K7t ۗK/)89Z|őPty@s:tNvdkS*ajMEȀq"e~+Qf{\_5 TL.v#   \9b "XI;&N%S]Zi!^)SUE!<9^XMi J2d2j,;./ je6Ji`ɋ\ MbixX 2|G|*xm#3ҩ BjOarEN8Ӗ@G܃ ԓ^Q Pges?k63kW]}v0ێ:52wwouOWLqful1AmO= DS -,DK0YuZs1=pjrx)+-v Hq\E$FȮ[S_Z:k{ڟor&,*0yu.hBۆD񉱳*m/ z|Ėh[dfB l}?]QG̍IyП5o}C;S%,T?N:2lĪ(֗r*#/*],w6dN8Zc{9NۈNBPP;ĔxJJaWvk뻰JBJ,j_8i&ZCNî<&zȚrc"Ka > :yhXWkJ Ӹ/%^'\zTqZkt:|7 DnQsh~7]|zf%LWNS dƲuGG9]FanvBu+: r)(qcbF:p,/ BcϚe|.EK0oZq@GB[g}#JFuZ ȵ32nw+ȓ Lj؁~#yTAFcУW۹G<[ 1sL(j YVN?A1f1kI틬zCDN%,`HH‐Tcrm쭽{ӀEɉѸ-pӮ󛃬K9_g@K(5?GaZ]Y9]>5;O[djy_Ȩs._2^+#>wΦV{Mء[ֱcA H׭]-9 A3\IoB+\gM˚xR<8"N:=(FTX,w2&tzԥ(9%ENs^uabΥF 8SBXEjDZLT}>] =:& ri䘼z%fCYX>ӲݏBORQe7ci?7 VܼV_/LGl"A)871v4|QQ2b J=8d:vC 7EYTzNR',ߎMTs:nvmt+jDfu۬Ďa>߻g^AK\$8r\LpWjhLWي=3eb& Q/R] =(ɳ"O㡡YJeJpiZcrWF[VBV[,{$o^]6}V&+_ A 'IX30 {C'-}AMR\.3wyt9B.UL&rՃ ][Hnv5u&~) ّrI' :7]mܟVg N JJ.wbUV3\D/L$Pdz8jA@8mWr#r9< MY P)p{-C".쭱Z$LK宱tǟGFUg5Er/DYp,/oڿ'~CpRb9sU(*-@^yagCaV,( 3{ 'S^|i$/Ãu11ro͏7=ҏAOV\hUߑۡX5D?Ͷഐz:KJwփ"Y7cΠ9K͸n)-~N#0?{XA$˯ήWiV''~䭵kŞDo$rRVotIX́Ql:J O~k 6!TN_~ +ɟ`n}#IŊ\GؘRح<BBM*: ,/.{3g75SҐ]6e#aomM3gSG{;3`σH 9Ƣ;SoqL4cB !n#hvcdJ$<\7F=Jlzh&ƭ1u {$,,"h0sB UM29؏jNְYf5nS5^+g8}y͠w) ` -N٨TڱU>Ԋ %pX%i4\~VdqM8OO]e'U)v?L4[X%c?S wڼ4 m!ErR?X0AlsMD8qJ4.9ciPRF,j\tCa ߛ͍H=eAP2j?mo~{?kVqRi9W8/ VParbAc1]]d"+FBv7g&*85%-zjýW)F|d y{A\lпwi!5OhD[`1i5J_:rp,}o=$,$=DG]i4Õd$~-. ZQHKuKI>KNcJ&S$=LBY;MEDvrsGi] Er6.}5밵}mE-I |L{cf!hTrz!ܙmG5j g|] *} p@|YEB>ӣ PHsƒ$6FhW:C+9mW ^P!.j, UkjeHsT cP:_W*N s?2j=L> Ɏg!T('oB[ ]̺Ew-'G^}3U=|Q?IZBQDg??(b Z endstream endobj 130 0 obj << /Type /FontDescriptor /FontName /ZRYLLV+CMR7 /Flags 4 /FontBBox [-27 -250 1122 750] /Ascent 694 /CapHeight 683 /Descent -194 /ItalicAngle 0 /StemV 79 /XHeight 431 /CharSet (/A/one/three/two) /FontFile 129 0 R >> endobj 131 0 obj << /Length1 1795 /Length2 11828 /Length3 0 /Length 12966 /Filter /FlateDecode >> stream xڍP \5N4ܝ. \wfUUWuj*2U &1KGs#؍ `e`feeG"Qi]\A`.@37ۛ# n`qYY4Y`+ -Z :1 P2s:E0h8ZnV͉ӓZ r].@KƌDд%pr4s l th)T࿔R`56fG fNf`o`Tݼf`?]<@fo &nS\-\@Nn̮ ?*d[@+I\o]fZ`߿V %X;hA@9hY\<|3easMo'$}Vo%AV$_W3 od0ZHxo7 'ٲt{H(ih2Yߔ `c?fG9#z2<3Y:FPv|c 7dbxb<?GO5s{bwPr| UJ@Ke6C lmwA /*?+v)q}?)*oH); 0sq1Fz7e{[NKןs `a;X9 qܼ?D"n?SXA\`Q 7|K寖7˿ r w wr龽tf_ qX-?ټobƝqt[ߚO>o\cbM//@Zsmm#dL 6+xVP7ʶo&o)jmO~&IꓻmH Eb}ĈDL{~[!;yQU ={e*Gvj+b Jgͳgܘ1yNc掿'1 qo?VivPC`LR|Ǜ-+^_j,&}ǘ„|Y R{,~g!I/o6q!Wm3r|_maeF7 !K9߅‘[$y>ZtYNvɊ@f;URe4[#2rIX%l<(a qI+TAII;Dp>0,v{f[CUm/W6 0(p vMLO/ DOoɆZ\'0HVaX"y Is^hM'~O+vt-u'C(SѩZ:$=~$|N*vO`h[ :A vV$kE=&|<0P|6r@uVްAtpCڵ7$ʽ%@Z.E_>03\A]ƻBx)_v/>*=Uf*bGlg P̾WPN1,ZЛ/Jέ|Ic־>Tq+zIe|[΢Wa!ԅ܂&@i<8J?D/P?D]8wZuKYa<[T ֮UЊqI9"jxnܽR(b_ah~Lb~v4hݷKƸe%W $_r10鋜7t+%q>༲4_ Q.w&Kf0^.d(] G莟&-|4;D6ȞV病[Z׶_HCCS lSL1p4Ԇ (2%€"'{Ce|O8Z\BgES0L儫3>$hI0+jur_u>4S8`9AJ \šy lXm) Q>poFSTwR;l/ "i+{lqm]2F[nJfֆ 9R{Xz nQZx-K_[mXpRCwe=⸺m.m@99?2N Rװſ6f!p͊Q )fa]eep|z;^>.ۛ|ɡ̄b|ΉK^5-ߜQ.Sתlq=3O4¦pݏr|l>Ĩ.cnVf: |~.B{! 8Q`I7KH|%B`^ #WuֲG*gn lWϻ!xd&|  icT37ڽBS~ʀ35d{v%yѐ9 nOFwnB/˼&2e^ҚU:lDi)x⼩:߆`ֶ]W nȘ%WrHGntgpIzλR@j9eY$ϧHQCWe0~idqAA4PPxf 1]`uw A +*.3 .b+V-<ݱ`BT-ZN BM$l w&#|__i'HK<:{BIfJiOunڐR+e!IVSEm0!(aY)葤Ȉ9G1i|DCnDAfzĬi^a *fJMtUCP6hzI7% 7JƱ#8tό>Ģ/@뇆!Ϻ8Jf} P{&al~a ˬ̚Ck< Վ˄Ov./YyES cQР];&&Xc,\`cGhOjK^<7"Fb?ks~ۇ_tz jGFD$n*|?ze== Gt|$3px x/U\B!߲GITa9?&?ޮ=ʪgo+CG$T>x\Nm[~寿[I$ OK H23OVKjǻvvt;r |^Ё]}/e@N )0CW)4՝O1^3mm8$̞ z>Q]3jtw,GsxQ i+2QuRBy<z#f;h$[qދ6XUf|fJwZTVӝy7:FDlH["H^bݙ{AA7Hͪz`C4կ6{D .| 3spD]h%AchDW V'(Y+3AO'E'ѿ̘yse*Sc\->hYLH1% %0^6Wx_LWM;9Wzn~3E4lzxѬxlZ'l$@<n49d1EqM}wpf#'G0 zr'"X$#l9]W E25ΐeʔ`E_qgFX/G\_q58iUhlsG ZOHCG|V1ǼǰIa,OL_V2:Ϗ.cN.kOEAM=IAkDQ\ߦ]beuG1vc-inDdsfi}e`IB}R|B?R_ \S1\ 8 ! m޳e8kgz_SoL1b?F&]&2ߨk+p#ZRbUz~;b6e|֕d1sp۔f۵}&(;k*uP/ݞ*v^څ3?dy؇18. ./g3 B42D: {'u ׊qzXVmHRq(MN.uW3'j0B;I[#:_qy}I$ZZ^ j+01l38I$q gx;Aq'Wڢ08?Pչ#JVlAJ[qxsA٬Od ⬜*E ؒN;vШ.0qZsݗI/B=y g+ ?\~b8M R=퉌-oWV GvTsڈ.+KJ{0xis,BYut(QO!_W{`Lr.SзN}LjSjN,[vrφWwZT" 5B<;RTJd=+x]6/ZO=_b}SMY_ 1mAF2(}6ӧ9>xָu'}L&~߷Ȓۜ3}01W w~{=!<,s `wbOo /C1ʨK ?#w kr}Fnsa!ƙ#6ԅoaTsx}Y|t&,aճ\);u);˥ $W6-T{P~ߘ̛>ph,7}-9<:ھ 9eOv~&86 VϯDP,J梏< 4){_i'dF!'~OziՌ 9PQt"i@m*H\e- ZԎ-9HS-<<'$1uR 9TչS/1}t7!.!{pa;E,y08^HC16S]촨ϳ?upV謁Ꭵ54Ǵ HRbL%U P7,UA0JR/m /79tUqQMW6im1 4oqq>oa<,AphϚόj\^6#.AN'Uz<,8[!z@fyAmwL"ڄيT6<{\z8 aɄj@RRGz/T֘2kQ$}4Ќ*!k-ЊL֡ `OCP8 R`]$}W" EK+tPbTzQ*|W$NQLz <]ƣ%RQJ q- ha]J?TYJ_fr6ԅM,EBvz*GXuq,cEm@Ej 𖴂O=]TSV GKU1co ުUQ r )˄u3ZôyZ\>{ :-k6c&˝_B*hR `^8{#0*GCP0H2;KW7*܀(5.nw/~nVGufJTdr˾GJFTRGt=+I1*70RQW8|S0HrQ(ꇒ%?BՑ=,Ž/TH5n1rնުb/>{u/X$zyPd}Y͑Z Ao`<< b~vs8#nstv%AJ e ՉKMyZCz7htЙ:*q*il r*pFՁފwHQӬGHÇV WfT*r+9@Ua̹'lZ4c3+XCa],$a$*zY@:|.!fàI}ЪO<$}И?~\^6y;, <qJ;Hrm. @# 0!%?f RR5T2`U؞ҡ+t2՜mr<ܝ‰=6r@>y Lem\:n--lI>I%Ņ0wIQG>\>u5;KE͢c$ȃUt,{%Y3;duqұ6FX| q,Lw%т ꦙ3E~M|94zg kIeҎ-^)CNL?t]wY1Uo2m :P}A3l5'dktͫVfcu|gjW %^"o[/Wh$9?+=n*ܜ7Sʔ..z:㖕 jaGNVbtL ͈x MTѺ~/E0n=/4hC3q{kc7 V(patC_1<&%ZrnBh'F(՗ˁ83A9S}i>bɝḭ&b9 jɎUf)CYqQ ![Cq{8#N_NERww 9 =>M~yMUo`^~Lap9q'7{#zI^Z,}#LCqDM 旾qRdYa5]QFZSWrЖc;W&&6/WxR[j6<L}of8 ^9~oR1]' Y1S)^&G8/-@&|HC0qdo73ǜK׊-_QgdcLzda&m;|33N(f #~f.w͗bCy81sa7&ICI_ #X]f,FG[N)Z W#FŴI;\\>c;fc-#0,[KXgAjYeo+%Ƒx"xF99Ob]"Vw޵*D2Gg$١ht]9ce*|,r`j 1|>ǮVzMk)MJ* ?x=a ~D>u?11a,Ko3Ìrs3õ% ʝt [ G ;Bxi^wWǓI%9߆DX-(*3ud>ht$>a-I5^ Ҿ#˵}О[}ya@ O3n,6uPyWV*V`]t5cU'~Cu?M5'ZDnEF.lt4)(i:W!bdc/{٣U!(beV:~g rGdDRtd =%KKJTZȢSHhIS12^Uݤp[B ߵdaTe/v`#aUGԮdit?E l1`>CE5F(^Ȭ;cԍ{ zi/(yaUIM'C~k)/x)+59>p> endobj 133 0 obj << /Length1 2756 /Length2 18232 /Length3 0 /Length 19804 /Filter /FlateDecode >> stream xڌeT\J7Hw  H7CwtwtwtttwwIGg0ݹ*rEFc[C#+ @L^ENU†DEjdAR98%#:i@' @ `ccaWց t173dmm@HTbvfN`O 1r3K b r07Nf kG#@?&hޛ99132lLiNfe#d 6@h '9&$*Y*&N@L278mAr`<V&G!s)l66s+ࣤhc[hh ͭ`H(#,ZXd;>qs61163HF?R`) n,r32cD/&o28Ϟvvp*& ?$OG  7++ `25AcL BV,&%/GOEEml,F6vv+7  S/"?eP,o&.l-=(؂,,F߻/mߘ$%A_?2vv/-xUl߻-26w\' xYDlLoX_v=Xۀm@F6x,#ib ^%llo"'tGb'' M9 g`b\fߤ#. `x/Y`XRYb0A` w?]{W)A`؃`V ??Oy;o'?tV60̭A9~fhش1Y:Z2d2q&[GQ  .Wg2(+-&^|R"Lqa3*hyhX"(nWK^&xL L(0c |(4,}q)bߥoF1Umq|H?W"~ܟ}?(m73)b,4@-t|Uفi0;/3,TwnHU9hA07 j=&pZGCUU/81 :@6'>񢟠I1-! tKܢ^ȟ3r>حrd+8l!ug$xiGћ##}Uv6n|ܪZ&2B#XlRD/0cDh^[x9]3 `lEte6*m~-udd5Y8n*Z#>,yMnFBFjPt^4AE>$‰0Qp$6ֵ+ҰT{Gb_5̳]ܺiQϼCH4w.O_g(=T $u0M 0P0X9LL@cy9&'- ) fY0rf~`ħM'&φ RKynl0W48BRZy&4zeO,ܪ0(l:k`l}rF[yGrJIU=M7$Mry0IBFiwԑ>os 4~.c4}4<"x.vNE+Ld2)FNS;m8).}Rhm'jz)D( t| ka=b3:mH(U]}*KT /I"W e1ʑJ V)rжٿbrC0 #-DtTz.AAM"39FSվ HSWmhEV=d4Auv o%׀2Bjb!oz`.xX5)>߲=}# "[<\Fva#r[ZAZ%c"-,6T.Oy#ELuq&RUݳuż5(ES23YIu(G)J7 |_~r#$}ո|+/g S 谇X-gIuo/ZGS/+Nx|wdtqa# I2:ẇ4'j]}OM4TEϣɵb.J7E˩C2,|1*w\(rTu эT"M}CH=ʳde`>Mu귕85rJu9?mȽM8<`:)<7*Vs [1FP honG3zO2 d"h|xk'NEk,I٦hD MH!6sTQU|;DuO̟důDA,fں`a7`:9|GGԼ IGPh?˃t'ف|wdUUwQ]YfNwX._ٺg#5/5~Y~ m?hFT'xX0╚.Ԫ8m.mXw=Oݎ ư`YG_ yF'tF<}nݭGPoѽGNo0z"GC]k,4ڀe9f'XT*$ShU-qowkA:Xg/974'5iUy.{L U[RJQ )m>^5"B?4ap{ GƩ-λc)]lwPlȅ8J.k3#3J"qMZ\kߐWa^|c9'bxYځ"KrǯR9^:,kOa Mor51J|ILV2g Ejp}aT{"b( GcW ؏/Cdbo"Zxs&za6d@,*8f|ɬs=~RY7l MZ!뢑>}=t[>bv٩fؖ>Ҷq|˖XYSӡ5Y[Y$*}M4;!+tEqgc< lxǩ.ؼI{h7J/ !ws05zisR> Y1 NyaeJv%)= F{O0f YX|>D-Q`6O4&}1kOmX^Е*xB=8! /EP]fXvYӒIA>̌oqWh>qj^IH 9%Z(ΔI=*tgh2xZ@BZI#9TϺ'zh'y 6pw *u gv 9u_\edl$RBk5.vdgt,c_6pGo0>\حNߋi@Br1{UZ-f( ^- a}d RN'QP%+^$V>k_B {[w \ w>>cT^,$zˆ5C b+ ew_5 Qw7JfC7`1 fcc.?g3lM]6 0st9?]{gfln/k\ZM; b`xu3Q>61 (-HrF]6㍋buZ$8'e&n=qW6Aps˃2>nӌk LG牠A#Tr4/9x3 V/cbbA,t.'nByɕze E7b7G[d Hi$JLP~W%i w[![/NlZ_/AE9įuA-IKykH O݌yQW9 ܣufQXzWA"NzJAnl\ُ{8\;D[ ]X9ŗ6F9+uB `6~"1D+h ŧYT]ѿZMO<3 Q|~rmԈ@[1Lcޖ}NY]Zu/y_;N&D3`0{}'9&I"5*- z&׻Tl«/dQ"]G<ti^ 8K-׵5v B+itgxMWIC7wNoqYY+^ᱮi>dYηgXDd)}; ~.6goY(6 ہbӥ:%n\xk,<&hk B1Kӕh7q5gG!,3lr<{Nү67چ,eZ.0+f3vyTKS2 Z]ȒLK7f 1@(Иab>7ՠ9CS_4fiz/h)+r!/X :y'̭Fe;{cdjl:Qh͕'o);JX;$:ؙ98"|hINX]vGXFv\*hMn~4زJ?!e^m8W[E[^{*ٲpȴ/&14>j#DJ(@o!J.sKY6"M`t{!zrZ+Y\SP N)641э3!s, QRM#wŗ۩9XƓŚ B"WK ,1|ut䱕>ٌIa=C;u+ؾ~ˈ~|rqUC\ j!} =<Ȉ兼czj,|`z6C8Xx~ T1>ZkFe=u[2[?ߙݣ]C,JӓdU#{ADlS/0刱1>]oFB-uA@F6Ι̾0r^c'#qSrso.T 2fejVULjFIy~@Zw} ac&R`ʌKy( 'K՟; ¾@ `9:kbDjj=\#S,ER.oꮐ|gu]y5IRX閍!3ff+ϘR\j`P5:@0S)bdc)am#e^ӱn>JPEH$NicrG%9ib֚-{v)Kh 2_g$KlNND"݈OogWPTxà9F L k=bU.DO<#*XVxX\&VXz;J2xw6R%=qz2};vn쨓DYؼ]Y͹ش7pBCF)XȠ읇6ݗo |-676(~^kA!{//$_X) C.%miɤi4fN/,KC`_BP9QfNQ/~k ;r$Jlֵx(hG6[.SRM y!;m,ZR\2'Q _=8RSLj(57sP׆vcyBh}# 0.ÖgL0޽f?RIńL"^w2 #rSW)q `k0N!)H\>?[/#yڿ!"M4}BqyhKab@;}Ɏ}QX'iªn.g?Ri­zAܑ;l,|F9ρKFtzsC1@MF492$v aDgKV=b'Ձ 5Xv|ے0s]k}U Ȥ) p8(\v+,E]ŗ4Gy+k? xهWjV(IT)SpѲ1d tm$|*y o iuRt4-TI!B{$R!Kz([&-,+8p+1ʺ}mm?3 M!mk#MnR sn,ϙMKٲ _E=&_V&74XQ< -iOI{^QF,bcepGI")7UywoIuΨ+%bC kf<ɿ" ѥ!/֝+ YBqIS8z䒙JAR%!RNdevdlY͹P.cgMuFM:k1̹SsuF˔M ww R20T>r;J-& 7`o_Q}fDٓ762j? =&*nfMRE^ހ|ַ$&Rߞlk$F~EP)$M?0@޷OGOȒhxb#no _+n}QDz 8uI0y2a 2u\ON/薨 F^,Hi ӨX\<S5.0g"P$~`WKiou "z-ujQ`B-rl$0V eEU |j6ԠCevI{ވU;V i.x3 rgÛ:UO_ =_/>x.+Y&NwW~ɱ=o+iI<7M6vb=Cki-yjX&6-Yժ-1ѨdX.Oj$Q.8zZ I6vƑ164l2~s\Py*%*wJ|)" g厎Mblh?G^hZ[| tPo(YQ"lUhMBTS;)Qo .EUfS=8seCwbFQf@jo1nsjѨnD8>(ERBaӕ5N*|N^.w\dj$b~\JU1\x9!v5=#!Q2k=Ѡ"l#ˢf" NcQ,OuA0udDǢn!>?gC*@ץJ]O"PhoR=) ʲ)-T pqӛrȥaEԚ<ـ@5)hwC O<|06cBӾYƂn80>+ ';G%Mv҂& MIDnǐ9O)%`2 .s!Xvr+{DuZ?GI<98 afn#rH'6נ[lG ڭ:;<"3ЃEzwG>Y-vtgh^,Y]QD.}R ԋhYO)b6Ԁ\wB׿>iԗ&NuYof]mk[^ g3ιOެXfIܔp?O‰ xɩkZǍC7;R":cimgBG] EٱWtxhބJ-aorfj9|҂m-_L3]Pܼ].3%_UWqwpovR=L ovK;~#iУI蓲z$gߛz7DJk<HRK cnt)AjL?mhDU IТ} W % I?PēS K /T+eL]J_8,)$rNjca*oe͔rtcD%wP{ el9+EܙSϸ8j>klO.m;.Ώ]e7oj>8U ̠n#7*[6yԩ>.(YgP#(Ѻ,ilZH_{1!͢¨y37H!QrS)vt Jy*BEihv7.҈=âN1?t%76](﯐|U5mUD z" Kgs2ibmT}8U)Z{ 2xw" d zhcHI ݺ?Vu-Kk{ cَmTk#/tXɅOή<ͭI7 řk:Z/>wC›_}`:KhC/>ͭ"(Wc^΃\y|Y4g\;VP Fky|cˠ!](YghMjK}fR@ lCq'^1mpkjJ݉o#PNοPE x[f}aJJ!B~7rÓ Y0ki[~N}X!:Ddž,t UV~%F~wR& ?򪾣$:k $Z­72XX4|@ ] $kl 𻎔Q\`X$?LUi\$T@Sp~f;]vי{ZRSo:Zt3 m 3j "!_XpWb|?z3s?m)L7^4g]˚4Qey7_H龪XT&MM(0&5, R3:Vw#c7 f9 l&@*Sdz7HҷgP)9^Ѫ|1DUN24f+4M<%-,w>J(=~.}҆>(mgiCO)Dmv{/i2Z:6+9OgB`{s3׀RMvy?PX vhfd&O]4u)[>+TG&f3haHVT>y2Ζ/YiO-0r 3IO.jfI"$ζkifݡ>CxZ9<8R5>nt_aV+:pV2q]2;kށTF!^nf87GZ뜬"qE`Ry C}JRO$8":>#5Pc7;0A*8=eCӵ OA)VXj>iS/0rU"4> Nfklk WJu3 {bzq{É\*4hIƒ_7 J*o;; -( M>:c h-Y='"F_xAb;E./(ׯ5pCSَzvWf>{yj #i) o w{@3zwbrn{,ӿ3_!%BDnVJExb1zyK#xHm$6V f)Nti2NBg;Z&L[PTQe~Gdtބmq)α71^kЯI89s\f*)%+wraS.Ɵ@a13w1HQg|֬*e[6d-]sID#阹:z'Co-GR%(.V53-Ҭ.|#4m-e/#|L>h/uͷRt ,+f&ΐ_>R)JuMZ\L{.qGWS -U@l Q2 i{fg>N 3gizmjp]2';9Й;Q#Ȣ\j׆vl`RI$D I\I;j+1t_їcEڽ)aK4 /+1g &qJkSɵ},m}c]T?lD>r?I[/ V3=Cy'9T3*(:d$>qcj}!+/\4}*"] ;ox#>&,;pKJP`z 5~fa~d*/NHs7N("#CV2p=0j77$fn mjIqx5287:*/Hۗ1LnRVQp*'Ѿ>`VMi!e-t@a>R91wOk͉Y͘AbÙ4  t߸|""|$2qD,o_+~M0zSf"g{?@(X{Jd+.)K1|zJ`ozip@ w9gtSK"(h8]y3X^aS Ҳ.-9nWc .hoFu ʖ֪H/] Y:X`Y;4ӆ+vj95ZIr8ƒ(*8Qg KQǧevlǒfkӓq‡Y}4g8 :J~xgVs` Vv,*8I3{j_M6=Mt.Bzx6Pxkbk*2Pֻ #Zy/n'h DH9-٬<ل,睲x~ě_n!ZnǷas~Wo)+˒ϖN$ݫXl>Qb}-=.^39MȷAj[3lui5ipЕT~[itjۗkb*'J\a(V2NƆفY@:]B Ko؅ >AZNK,.P bjOV1H:*߲-c0o?yE( nI)FB,j3!ۨȼdO|5]7<]}Ol 8X8byeCs+!t(5FEG 6o_Y6Lk ʉ;Hm5BE$ lhps̜|9[zZ- zV}ż+3wc w׬\4m>wݗ?h&6Nqsa;XWNg4ظu_]yzӕ3r4.%hbܧJg:Ge-0gcD>jv v&eruݺƜʕ7Woh7ޤӫ~R n\=ɔ-Fi0Eix_sD`tce!L2;['/ZJ)m5%̺Ӈ#p$khOW*O!gxýӨnjV8MH^Đl-P %uL0OF\'T$ lGUûqq Dzn#r@z-Qa?y$@ (~Әn $0X0)I#ʊfÕdž{CKj՛`}t =/ɂ嬟V=qT%soh(;%ߐNrOFwL麗l`yjS݅ g1×kqI:vd׏†"r۸lap+WSAn XcSЯJx[F,7$N-> /cc@SY;`m5¯!Gabov r-cZ)e B_),أX[ȻVGq,kY:g=eA;ϐ[s(L$zK Nu[Uxָiuغ&I$?͍(30O?#^?/Bf{tՠ$a숝vFꙁG+azyJB+Uj>C$/xk 8#|qeZ4h{ H]w {QfQd& hpD;R(LG̍3l!al)Fxt_8ݹON4{˛E;̌D6Eߴ C2@ B $%O01W=*rB*C /Id)a^ɋTPDz̽bzH/)zaV@:o-^f]}cؼV6_Z䉏tI~8LoT:F 57Xͨjy~ҹ1((q 8bUƭAͣ1im0{@24ʽ9h\r(9XA珹v0*wMAJA)0_Wo1C;;\I)FY8y BP[Ak`J@s۞khH#re$'d(pLv"]"#bq'`5YyTMm&MA g Y8-y_E,]6ɁuƜx'?_aɗ3оoú_iVX877^̸}3%s6T4`>s>ckԋ=,18PLOTf"!7t%[{Ot}c7$$Rw:RϘ3EHRT*-7DžTAq?ujy lWNJ)McrRJEFy;]bmxXFl7o(+r$Q~A\aup.HV,y)(q|jn;>^oJ&#"l㥌jm%UCHU #Tۏ&N8Q:IdRb2Ckqʷ !wX#S.T,#O~uA7|%g~@¹~VRd܎=L>*e4!Ft".E8eOLl oЦʻ@|/r( TvSWPK Ob9L*CȖuuxO?lL'[:>Ӭ',>_N,us_I[+f#,%A͂r s"ڤ'ze\zƠ 95TSK(%ta]Gc}*Vry0T$Vs(l WjA7 S?~tD-YDTTW~<5C wK\ w{C@iME_f˪߼ aW~1ՄKԙ߉]SE:\>\)ȿ k\ .WWzF͝6\ cp/5MQ9r#z"te CSO#شOșL"Ӱv ꢕ;.̝и]n#4꒹TAwU_TA|z0 _ʕ Ny<\#k1L&v|q`tOn:mm;G7i :c&~kP#i93fsP ⰾh%WyH5h*,Id31 Vy%Nd9(ei\^Nrªw}RZ7 {:ᥳ&A}z84YYChHMT9H0ti`xI6Ϊ~q)T*)}ڏЏ:o)ʨmuc*+%^*LMM|~ĵÇ=tHiNjI?_4Od͙d$P`5R(<#TN-e1w%f7Z7|BԕI~&"߉>09_q$B:dIczWE{ӆR$k4eD?RrhC<Ϸq4t%?t2Ed)*CdL{_Ӟ<)[]٬FNVt"WI!c[w#cr~E$;%hzQi@EIjEiЈ *uB׸盼*xT>>8BI' 9D=P-kF׭EjxJDULC7Ol ȁdRyw t\E5hC2 ~j |mQTy>qTy$'ȘaP[y6MDN+7ʈh]oY L>(+p \!=FфG1@y^Br u8p h6v\z}tM`&BN @b`pb56rZ$I)QtM@ 0XQSQhF SnD3?E/H.xkl"rNL_/ ]UP'}՚* / fl,hX7nێdN~W{pSA󘆸߃F9(qv(.ەʶJwpU8mD9'uM"v(N=Pj+RcJILu.̟o^wsЮGe-8|/AY7 "BSew^:ktޑ)ficC^$)'3Q=p1=]|\Dk u>/\] i2aB} Z;y<ŏG_=gW?$ӑūm 0ҕcT|vNu;b=C ^zuZxg(ocg/ef愠Tb~$H TNzuMp e9]݄ {4j1-gg' mlX90c~@tu / ]Oa_?E2ps(NSѪҶx}o2?&R[1U~QX-F 5Ե?ʜS{`  yFCDXVkL L=ЩC9A򏻳)e!k5Gpv Qg: oM\^W/iQ$ JWifG^<w9RܐJ %եaGICm@- ΞjqP֋&nUt-#i7hGyeiԿaw:ա13rgCڤ8I.WmU_SzM fPC簁9R*hpk_; >Gͳ$pE?@bƘ]u^ H 2Qm'Zk*̨ꋜ$ S+TfJ;KL3լ%ŶpR W!N&893b*Z76E(i&0!\$(ũ%Lg.jH>vuo&CK>_3qMDϕmGmyؚ AEO]Aa(mb^I!U/>\~aӂxuѮFmBz(K3Tm{#7pTCh%l^4Md}Ğp:"@U< \?\楆(c2 c=ړpVK+'dg:k]m5Q~࠳~A.͆;U皸+,r%slwXRg~9  *{v+Rsm=̋uݴE̡}ygG:iV v;+K;H_)xw8zyW#_lXhPhi^[glQ%Q`2}Q߇(+dgs"ϡ42qG> aNЗp wS չ `mFd`}&B ;͇n_E7r.FA C\ZFO`Rp>C{otBf{"y؎gl&'Q>ZYs.3ʧ.>oآ'+d -w|e욼߽e~Btt˻&il y:ȡАC6Q~c|V^rW?HN bƚau$o2lYEOx&Nd  HG>(hj6J~]œ!8|j㗫O5/I|aXt{iBe~gfSmݶJA5v,1L0% ?fI"yzCVa` v10R~ܜөݫ endstream endobj 134 0 obj << /Type /FontDescriptor /FontName /JUUGML+CMSLTT10 /Flags 4 /FontBBox [-20 -233 617 696] /Ascent 611 /CapHeight 611 /Descent -222 /ItalicAngle -9 /StemV 69 /XHeight 431 /CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/P/R/S/T/U/V/W/X/a/ampersand/asciicircum/asciitilde/asterisk/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/dollar/e/eight/equal/f/five/four/g/greater/h/hyphen/i/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/r/s/seven/six/t/three/two/u/underscore/v/w/x/y/z/zero) /FontFile 133 0 R >> endobj 135 0 obj << /Length1 1488 /Length2 6442 /Length3 0 /Length 7440 /Filter /FlateDecode >> stream xڍxXm>R@:Gwww hNA@B@BIi)C@@D;wW}׽b71RuA:C0Pnhn+ @  pYAPh!(4@!DRrr@ @ h|a.CaAp#P0W7 ߏ^0@TVVZw8@A!Vs$#%'"' D #QJ|? `ACP/#'5a.  Pps]_?W?ѿA`0 !\P02c /Gƃ|A08{ )eyahG_iǬpQGzzB4ɯiP0D4C._4\|D,0o,DoHe$Eo&E7@4 !0(AB$$? \\``  C;;@ZcX^z*wḘ5,PQM JRiiI@?f5?2"H_$7?36|V0Bb [w@0M<CHmJj'{f@=R0d2fr6|l" fڡPзW6$U4SV ';|; h񍧟BoܑxN)ٳ1I];m91öw)or|,t-އ%u$2~ XKu@:jF@=‘AFڴhn5SʬTRE<'%/}]o{ӈU,Yx^ӘyK>Aq䃒`jyu]o-Yyf{}ԳK L5HɧU F (:=n%9C&U~ ye.C:3Hl CÖ& Q4S4m]GȮ䀹ql\*;:17MxMlp,7T>iQ^⟍%W|o"YզPyb.p(o(m0FE5?OqGGi>H7 |L}| pppV5=rr`-Q?X\w|:T&р`d|M?RX~gʬ% \ R"gܷDxv v.oNEp|Ν~|dO%JY{n㎊z%n";]_h\ 4(O̺q1'Q<ʕRSz_xkJT0=yVIm/B0*790R4-p%F~G%4z4i&̨2 j6l.bm`d72dSyFwS qJ2q,'0z(jp3c7:#~|ֆ:x%_x'{{`wMփ4*Y'=KIchnθ'Z0!whe_19P[]+"ԏ}!{T*id6η|Cɚ7K]xjz׻ZH_0$.t3''sWb@.3d! R`޴k-BZKOXTh,ZJ21S xwjRvE \:BlM*rSS%1cc(fj9` ز8e{'*-^ۀŷeWKcˌkm:11v81hxGHeJ ],۹(4QE #i :3J}f|@pw˕{E^Rxoˌo\Շӎ_] b"N}1Ts=?'z9lj|F~1ҽrO߽]X`\Y~^|<!㨓Ga¶s"+*rNX$ȯ)yK' {*%ΟxZāq8 }-Eɤ~L*u&M{8ֳ@j`' 4FfE+QsK(ӚdaBBt:dMd S/YJ,pN]DJ<$ .!bF髴.6 f{6o󄩤Gz,?};.Hۚo#ҽ+6,]҈O𠲑u̻6r_6;G XIܠtwy Xbw鮽6=ZxQe}G?8cёI՛`l\ohAVîPCXE؋|$v &!gSWy3=&E(o(ūɷgXfp CtXzrJ ]/\Byu2֋Ҹ(ҢbGY1Y{N5=}l,ѼBg0/rv2\Vl#+&e#€m4&\Z/"zb NNM5ٵ;nDžZ.NA73/ï9I`5Egx:~,t 1#& |z"jHZ:FI? n:]> oT`8(Y/6|ʤCeqp6 ֆr&s>x <@.iWXZ)£wĦ'>k]me92H9rqX%L_'1<6Y. FkD.2AGmEbo |,|1L[x76-?V.{fCi-e$x Q-G+ c &'j)ƕߺn7F ^q>_ ߾*r4&tzKr+SD,H_a#$PyT}56]5<2n[/&G)w1,=Uv qz?+UpF,naʚ} "cf28NZi%AסJu Vb篏h#5)8f.d}f 9ޘaŊ~FA*xsc%(^ljxM`x7Wa(xN8C7>@lˎar֥ ])zlx"~=i? |jmR8?ǏSWkVbun{QkJ1-N߹oD@p8X2'-UD$b|g|\L|81!Xh>=*wn;Nַ-6 Uq|ߩ:k$#4ηOpCDk{H>p1SuV JU`}tVr_ :C5gJ8;JuطYDB.;}ֶ~ =eWz/ؔDai&LPs㔶z 1J& כ;DLN\'V:~xQ1Ww>< ok 9wvÐ J#xphVid%2Pض^gP.&R~e2|I$2]?ieT endstream endobj 136 0 obj << /Type /FontDescriptor /FontName /FSWDJT+CMSY10 /Flags 4 /FontBBox [-29 -960 1116 775] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 40 /XHeight 431 /CharSet (/backslash/bar/braceleft/braceright/minus) /FontFile 135 0 R >> endobj 137 0 obj << /Length1 1393 /Length2 5904 /Length3 0 /Length 6854 /Filter /FlateDecode >> stream xڍtTk.]  H"!ݍt C0t7RJI!! tw"(9kz}|EKGaU@Q< ^>1OMre&bӇ"]a EB(MBǩ#7GH@0k:/@"0[;߯'i'(` v" 0(_%8P(g1 Ãʋ@Jr>xPv+ ;A %b\u6(0 @a("]e53'XOC_xA)WB0d0prý`p[  TPEyp_`GW:9o(Hkhs a(W^W/_eS["p+ѯPz^?u#<>l`pk_ ݜO07_!h?6[( HXXPu@=!v__f4?g3 |\P ߎ@ 5 XAmapP?g0O { ߯F _ <>< !#!ď~]?o A8_e( A~x}!7Gn v9z - uZ5:^e-i-< A^>?vjCAU{8P-+_> 诊+za]PWAXR0D$2z7 G)4F? Ik| J7$@[P'B43< m^!>,ި;R>N ⸋u)`cS \G?},񫬚&ɊnQ٠Tc+BPLvܻWrbiXڨWB7 ?ZAQBk.N5T3# gGjgOYs xM8" B6dعF~ OMHy' B^s(gEdp'2&j JUKiO~AG/¯zi|ڝJlúCYݤO>~&cl>+%L\:[l&xGTJ 6% d_gh.l1T-KHZ0d`a8N0WqPDJ HNiġ})I+VEġ>&@K@JB{wx/rSf)>S3)05@?/SiwǒW:T!Gi$O?87|-B zNGe80+nUX NL%vw QC&{[6̘X1^nCA>} |y!%WV}WaR6cl/YJAkQM\]+^n1Ǎ+vTg|vI1x302'r\l]0?_"mR[snT菍) \ȠYγoswsa]C{,So3't8sĩzP ,`,^ʪ OoQI^wyԸ3t$]S*aLZhJXD.؊>׳s} zIϓS3c{"JGb 1 zBXܟGdMNP+X3+`d_.ђwN yp Yҩ6 ;/+C"}e#b-"E1[8JT>^֪^~](11}ԭ#@yjRlGv+?0^$l6"K}.)yb ݴ{%' ܑM_[!ief?`=90~o7*<;rc5[yP z*D^ #~ iIU*!|d2D0k}w+De!=_Q).Vn|[aq0NI,$kfNqJ@wJ;C>?9ݐAK7uֿ+MUkǤzo5_\҄WXuE\LfS]k5^nM;OO*Gn8bFjxfM1G3TwNyJnjZ{yB"V,Z7LbN-7=)S8~*Z72YT廇CmsLt$K)X̢R+?a ;.OSnGs[\#ˣ[Hqťv5 Vߘ"u1I]oP7CXO#wk}45^~>3d݈=S:!)58EbÖ"x-Ŏ_$ &-󍶒ZXƯ+&xE&wDWHycgB LL.Rk&i>~l߹FwfԆsś2_v[,>5bê_ޛk)I.@9*r 껖v嵝nQk!/B|uK"KxT>*DbglzcƢ. Ҭc$%*7۷l45wL2WlV} dhzel1iݳ0,U8U4JVʂJۥ陛gOqV|fSeiX}IeMqmϸPs"d$ f ] m!g?50K⊪oE,h(V´z@Y Ibi?bu,V%ܣ]x࣌ƹ׫gkWS⊴Jy*_UP[$\ff;, Tgܯ^gTF i9[c}f+d"tIYqiPzYz8mޢO&!npMԉ搘"?WdK #zAPIj *<:\ZOXZsuNA_便ba_g>$:Z;ՠ<1a_KRemٻ=k޳[S"'1|:& 51?g9c|/3%\FAnDY9ό`3HN{Eysw"Ay~3&;{Jr0bWIN=HaSOpSWm_2!&f.(5͐ǔ F2 1^RsvC8j54?Up*ոu ?ƪGX@oē|F;8do =rw%ffEKȏg9? 13Q8|L…-N5L+F^VqOso\A $A4AzGǚ#P`7oGeeu#:+?5vɼ`\ ș p\g4=}M%:{(V1p]J9»$ʃ|GBHCe|/#>I<e&sN$618G}kl` 犌,Ou*m"Zb@I\#^=mVs.S˲X W{0[^`g s2椁F ߤñ7m"^#3Rܤ #m ghg" Y l+V fRz%g3j,.[WRruI?n.>kd#}cYk J1$uHt#Yn:`B)JYl}UFdWK63Pvrk=r?Kر,o1r|UBoɣ!Tr_زٜԺw]:+7´abd1ϰZꋼ~nbF:zC=$eϰ Uq|l|ʨ`!X;ӭ3~'ݏlԼ4!~D<2ܡC i7/f:?4 s|ٱ?9*+ຆ*6%0{NTd_[O㷌lr v:MRmkFlfGKԷ/_D 1R#eֺĽjj#%'\7Z|,CnɞzXPќ+J@ w?2ö,eGq 94K'bpSI< Vi&Z<[Ƚ'q4B"9u,*S1xbt.XqHkk(h~L'zy|kخ UC&^fR8c%Rܞ+f,&A^ȯ"LQTz$6F:}qW;iϾk|21օr--RZNȏYs<%fU='970(GTvy Ǻx7 " YOVd'555_[#Й܎ ~Br|fѹLfï}rֲD5 ;Jo)sW#l"+ٴTJB_F'~7䒗‡ķzTS ?w߼(`4)l {knbu-,gZ2P:>4PZ=3Klj:مxR{%Tl+FiNn<-ZobdZd],9o>.xk36#RO" Bo$tR"i|*6EHJ%;% /pnO>WWFiD4Z]S9!T@3> 7fTcVkY\5Ã-{e-=?+:lS&Y(P endstream endobj 138 0 obj << /Type /FontDescriptor /FontName /PXBGHL+CMSY7 /Flags 4 /FontBBox [-15 -951 1251 782] /Ascent 750 /CapHeight 683 /Descent -194 /ItalicAngle -14 /StemV 49 /XHeight 431 /CharSet (/minus) /FontFile 137 0 R >> endobj 139 0 obj << /Length1 2487 /Length2 17478 /Length3 0 /Length 18929 /Filter /FlateDecode >> stream xڌP N wwww'8Np ,@pw ݃Npg'{aV?ݽzCI(j2J\YX,v&6$JJ kW;HZ@gk@WMrȹX\||,,6:&E&D)rrr+ƌw8@lmfP4qڃL 3kruucf`2wa9[ 2<]j@;d=iLH +k,\=L qs0:uY#? q`++&ff {G/kK,0q07q731;] @JT`V>3gkGW&k42fIsq=$f{1s " ksd92k:X;e%~,Nv6 4b@!_f?G#,gmCq1q\݀~>/Bbe[LH@`;[{Y `o 39yvE`dcgpsx~_U'`Gw\4eP=Y8YWWI}Ns{k;< Ex?6?4v& u.R֞@skW3'ngTX03ʙق).ިet0zl\gg/$|qr|X;j{L Wp`rFJ8̢b7Y70KYRY7b0F`̠#oST~#0oS8]7iF`/A7{;Gڿ>`&3kk3kg37vo_++_f? `&f@;f٤l t^',_ . dl ?:wroR!J,1,`? %;nhF$? XԟVw*Npx8 f\.m֠]d+rrM(l `Q. P vw"~~ӂ̮V? V#\I3w19>? !85Y~KzC?'37ggp~^N=fH 3!mw5D;3;ک>nhɴA7=+ے4"Ko}[U[}զwZ~L L 3j>;jB7CvQ8ayI{-Vs#?}gь~X{}3=V.8Go-~{BͥPklGlOIQB -X[N>}Y,|;E^1 :@^ČucGGh Ryߊ wo#|v7auNN{[l!"m4J<;(_tؤRL;xzK!$c`|ixXj VpIJsb$wL/GÃ.iH魍YnZZ$C"wvp|-;e*VcqnGsw_"af2M5hG*]Dp2/m }(/ O#/ʉE؟A ֢)BI2OixZGR-M'o]qe[cĽ5>t^;M%?sNհ2OKw;mr=od<4*aa7n#nxFiޮnU Θ *v'G ._.L~C+)b5QYh *AҦg{7g$)DKsi쟤?rip(>*E2Ǯ~өpkӯs-V-sql[fn:4Q= R&mvMC󗬝L6}ש#3"fl-@Q GRTBQB?b\ƖjN E[ݗcK4a̚Vgpj'j,8<yM¤%`rx2%uP{5Ur2{jt^>+aoW)C5όə=ENx!dPt{l]E9;Eʷp{/xN~lbH;%K2Tv{!e/`>7oɃ%nl=4[ <#Wر+Q;E%ǔoIi}J澎yөy$^/F&'vHo*J@31-'؆0)zEpGɟ* }R?lk>Msf؋h-x' '0f7@CVqGzSS}Xop^&^(cXJd^xPboeP$+_16.t8ċXt !s˜FnXu zm&tD$yEC洡1)D=Mr 5} <5 *P6f䆊O:4 a9C<k)<&'^[]G E*Mbʫ/p?p,zmh|O6 v"3hM4~/(1ް2AЈ-w٘>p{ۛcz3p .!uXG)em޽)9]Q|DiLuLBC $~l=.ϛ)ψ%4iI*|ˎttՉ @9fQIVOmiv^1 `֜ t򁮯3fKH'n=@)mca&JVè!/eVb%NlEH6ȴ`~r P[.z /! sRzoKԮKo+uxK2fӧL*Qqw|_+M4?2[9/Dұ@8T (j"F Uvmg9tf8zv*B{[ʉW!s$"߅TiWo榌}=i?' xb 6b0"b! }0{oh)6mGV؃C4@O~BMzC5>ݚzeUnKB Bq栂h[C}3,x.Tw\0 yZHJ>1yh? lm|y-,- |˩ڈ)R|$t(ṱylv?_AM }*m5^@ | Ji=:7f4:t:jI jOW$yH(ɷL[`7XI/@jI>=! daxݮгӌyEbv0؋1RrX=K#V?s&J.4x&s:„Hr_)tBa(~:nK SgԠ; ˈ҅0VlxFD>Q.W}7`AnAM# My)JPܼb9Ϻd5M&>#nDo(ٻ#B{9;)ɽm8|L{Α\{١lәj}i^fnʥTqN+%. 2 ]t.g8wr x؊CchgfMS3vbR9u'w. ̑D" 9d\6Wp/ZlWv-'=F͟bQs%O%Ww)ˮ7sO2|2b4w'D m{->=q0u[YMۇȴpV@ $ڞ޻qomٙJToQje3 A%9b[Tpmܛ;fIXRO NJG(0Gueë$6u3jn}bORYnjKej᧡*27a$/xj_&z=⒙{ "U<'lqtXoK` &i~?tsJw!y0>L"5B4O+ !1rwR^ Cdy/;*xݒ9ͳ5Fid`FMRG5#,~}C̭hꙚ[x[k[m ȝĂOG *_n4|޳h R-(|eIJq$|=yQ8OҩE]ZH2Q2 rnXH!7(KNsĩ:lIX7 XC/| /YYpg![SSxw= Y|~7JR_W:^fv>m0t[r΅w{,8$c @հH[0I.M.j}9)2wMbeGY/;6 ^ɉ//VS-MQ_P1{gt#f8ʣͨeШӾWy_j+ZQ &uKxɦ"i$W\Qi)缭R.*$qy{gX^nX)/_h- {>T{owo>J&}Kh&MYٜ3AE y+Ց07HqC;KMF@Ur$$I ju6u)d؍K!>?Mj<FN~ uc hԦ.Ǎ6ubT8Ŧ½j̓Y;sU\1PI:P#\آ }TEi=lZEaCi;qƛ~8zH8`{&4 N{S3̵ȌA evr>2ZZ!uLO(D,av/ܛd t]i7"9KKx'arR]Hy>ey ˡ}uc0$΂j%tJxzI>ho3eg&Ex(u(˳RrS k'!7z#$%=1Zˁ"6 ű}kvJlu65M{QRB'~ewr:Qa^p!*?]"Bl- z?ݏoWy_ < C\|_s[#h$0 rmLI:*:h&>+yV@,IDO|x =R9P=0 `$%hbnG=s"яc"cw:7Y8֡0uU4oRZosbJ<+~}KJЃ ÀՆ<B۽Kq=a.L*,cMZ?"*T[=,ף8kAє}o }?yi=Y;*/'}R WiVftPy|22u+8lq]ϩ)]Ka]0:90ӬhNe8c70a+V-f_+@;:+ (bNL,x؈dN].mGꭸMeQ<?\jKe,1rNh _4UnRJ#_~zVO)OU#؈qT:bGR 6ft7\=LCSüL,,6c'-OqLG9d>B>DoHQr}_C^)fz`̼KNCB_6-a k/`e$G3(u#_t詖Zĩg̠7.6R)|PۗyFtO{Kڮ(H#ar}&w eÆ8?!JZUaD={ּ\̘Qġ]c(f)}w)-Ois4|q%Fꬫa^99 ml=ɂR%?H#~5X06RX>\ 8\:NyIJUo̚ s`V$N/ bIP1jل($$BJ6!uŅn);9bϣx$o S S8+\h_` txT}ZR*xJ::'-R\̈\m@CHȒ;hFƩ"v@n7W$oB!,h.T +oӖNр^8sؑ[-fng 曎OFnLE tV&|!i[[_f0ho҉Uzo[` PXҴ;=xbkxr ion?bIYwnc`ZVs~I]> V 'e6,V_:HJGќ Ii-ILGP=ֵ#=˕!Ÿ$Ekl҄Iչ={,6 Rk;uٴ/_UE`xםgaaBnĮuK2We"?γg8$n ^T uKz\t:0_+fJ/\ gV]1B0Q}BG(vfaf CWWf^@NSb+5s)c+h ;5qN/" 4o:6CώÆeZ_ Sx%.Y?vE/w[=_:B o b{㏨R]'!mPq@א;SĻg7L湄JKIR> 2*pP$:!hɣ[y^A=LqٲŪa4ZC߽9hWFՋXd*dLǶ,ӿьǮB\+9j!;O"?mu\*49u`/#YS\UOd%6kc'% ֆ$nL8/ﱴޯ[xzny` ,Obs2+|˘zR`J",C-^\4ht&&]dOH{meNDW4~w;tp1{d@YBɕ7gJ2{]ɫuIA`I*k%{Ʉyr&%p`?- fgԑn&ƚ'c喈A,ۀJʀ:'%leҲ+<}oqe_CzV 4F NIx蘕bHDQͿq ]j>aB mN׫]>S<:jEN-Io b!2q5Jv&K%.?";Zޚp$ ~Un(ŠE+?N pɷ:z'Mm+A\,dU$Fsɇ-x ͱx;SlS(͹sй$ax-F萢Dж++?%Mt#]\T;BXawx,W`_1o_Ē견zlLd@OPvAbRF"QdŜBtoKad cyE\K,s9d$֏ ;PB-W֝{yJIhD =m.LK{-\.b( ގ9~Uz\5;f2Z QEbMʅ#@ = 0Hh4uϑqOlq|~vASգ^n%ddGYkؑpu@ܨGSnҞފͺ-qoSKfGSpy*Bw>uuK# (W;c|r=;ɓuܖw1s]USC΋yK"7ʩ:)0Tcmee@efwJW85"Zh b*Ɨ7ǶjkZO+AtS3~A1 Mo$Y.爬jDS .}}-^ };ד߽D|kLdWo{{ ~ ;~W2 a~13ĽOfB T&6MCEs*F o6P\ Z^Zf5)kuc Y+Z4>#}%,_ ͡uqXǠCsBRtoyôQI:"pХF_G= t~a bȘ53) _Oڮߔ%m+6x#g!丸b(dV'arY{6Cd!iEUGA ԩ6KQ>bzɂ#syɘ(6>> mV^U&nΊBBU~X(;Lc} %qfe|=;au4]D˟3l5:?bvƛi: qW^]L- kVe"qNlX}E 8>?WJJY]PYwTdo*b1ldhn̹sٍ( Vϯ*=bO@[mTtO:rCt#BjT"< j6X^=puS{ I%#6.zwW6htMٙERdr+4 Ir+MP $ƲGZ$bD mPOk2 K:@!L?^tT3 WI-Qс;Wn`?04KQ:ra QMŋ/*ad{5r;sd׎7TZQT*]L9#Qw+G\JWYcb -kv:_#q.+^!i764^0/*85O1QfN!*4gY0Y]u&gCG\zPOwsЅ?QpP(52n~Z[xUdm?LW6^>ix-~؄h >}U .V B]![WyϻU".k;%y eq)\K7ڠFW4Ģږb|\M2'.ORډJ#~aEɏ Z]|~]5򢔨ٲ0 &CxV &Lf᭘ $*Z6n߰r*ϐjX[qHF*r= l 0}ULGģdKq< LXD}-ןsD2HxVm{yD~])X4O./"ݨ.O= mo \hG𠆹} yn [3 RQό6OL _= wpȂ2n7'(1iX(\µZ6s͓{G 'V? [s1:?_;YLf#=Lc8ԾѢOe_Etm5{#_D~relXYu&J8ITtt3 ;`inqYx>.K>@zb_ȢDF)"yvomVtf IfБ /LE'@;N<]GJ 5H^Ĕ߸~2tJ_ k^m1@)ULQH}5jQ'A:p9!Jbl7ow_̼-my-!aC,7,ӎp3y%H?ngUj2͖(}1F+?\#Y,*ACަ!kB/X[ R咝eVg@|,4_;|A"V@%a*rh.z], N$)@zhM3O[7B\U @HJd*qge1а]#Vϥ"Og(ˡ!ps֔IO:XM  žMF6xG= aji C _?[pnjDO щK&Va)Pq=ߥY7 vf}:1Sɝ {T,)hFgus3yt?=iD|sQ*3^TO^^bRgRGuu!ό&('y mC^E#|(y&, F:0قso2} X jɯd(IΊn'A3k՞wWV5Yi ;/m~7B݈bY'е3kv.=?X")º:.%#(Y~c 10@8, ~1_T2 eB-܎(*uo[y2j{(aux\Cux;<< 0,hUZ6+lz+O{>* %H;v~Mիb^ULN*nI! c"'Ju堂|mqHжר--ѸrG(QTQS$q#>{6D8f7=RXnC,s ~θ2jRRW#U|\"R5&$Ev_+bOF/)ePS ef(ӏƻE/ɋu#HDpF ލ(Wy\K D}^o~zeq")U`KB[k^pD^x߼=79g$ۡ ̭\7m /5m;3N}p/1']>qU;XŌMJࠡ[#+n@ؾ$>7H=G4 }GcʱE lDžF Wرй y!j Sy;ieThMb Ǻϸɕu7^Qj]\hL!bنDH"x%KV>r\s$~k5>|t›\,v#ijq/0Qu gƣɦN f2RY.bv2bG-$Wb3ZZJJ8g)JMUISFrl\l! I.9H+jrܟ,{;8[F :!\MUlsc./)wv$D-ؖXQBۯOmSwh.{QyL )ҫ o$FHZ{dPpl}JMoI&_ȥ5[%F5F1; *4c} ^uRcT؀a0[rzY(a?={JmS!{ཡ"**8ֲ:A=GĭOFrwg/DfFSm4F8 >Ujfpg;y\LYc^ehZ]V0qxpd:yRuCG}_Mgz߄);8G[P 裇o\!lΩ>& AE. \N}ևp.fmyz:lFRTStKt-B&c(@p$h A)iURBqӴcLTAWV`hPWD\+B8o\ztb!Vb)CW*򞁶|R=^zSj+2@:FM|wM~lŏh?4u%evt{1%"s2I1tj[zGEj "qr,"ZiEG<*9 VRYoӰrOS* wg"d;eiCxo* 0sT aiT%IV?DÐ"_Ӱȇ ]9)A^Q}7r΍37׊1aET)d1'tKrN غ=yϹFZeB :97k|vM.0-Ż)U&:<ȟ$C OKx$x,(~Q<4An- 831bkKN?޾W"<\aчP. RN)D`9goP&y֜Vԓ*<+.{~|" 1ii;wulΖv# Ģ^?z2s0RYs*k6#/Z'^)yfzy]ԻՍX,tWiHYŀ $m*OąU=IM MDJs&!tu9|_f= Y!ń/EegWBE(υ3cޟ;ݒC J{&x-$%]3?ֳ)iB6D7iY"0 B"铈dQVOSX)Fc dsJ>`Dٵ4JH!@ xDfQ<^ݽMmˎx橱7`WUGZ c]xׁ; Q26{wU!{1* R(IJ0ۖI#5 ܌+>w朏Okz(jɅeVc'྽1LU_v`EpĔk`?sQs@`=hr\wId͚L4#B6' Q OqS?GбÏ_:|0Lpbg]oʚ/]G;$3閪c#Xk!7w` 톷xi8b.R0EZ7K3φ&)Ώѷ@M5V L">rF`[CydJeJf!T6Y 0 ҥ직CͤS``rx>YCn9Z\5 ^*Q˵JL6XK\3=_I*:\lmj)B?u*.Z?!͹-cfpnot$Oܙ$7jjFiCPy3  "f=CM+>z2M:x㇔F=|Μ C)K=(χ=,F'w%Ei+03tU "`0÷̤"hnW!3_!sf] eșvd\܆SXp]!'S,M5AVIB$mY*gju1n߷B۠5!R8_z'^?OqjAtV3;:ߥsvL}?*+6P4Lw~|6&uf mO}z~O gt_Lin@ l`R׫,HBo+ؑmZTjvoCW/E ʼ˸*B@b(Mv3Ρ|9%:iA ]co45(iYX"8AE$*y'j &ϐS/{ ?L*Iz§ztwLEusG1}(c7P4/21i2ɱ#`fmEG4o,"m0\6J^՚#54 ]ƟύmR\}{V^~PjEٝc8 Rt3SHђS/"sW}Fv@jQ oFۏ0j /x,@S (4Y˻v>j-9jmwo0ͷs vw ہq}-HKDˡAɭ#ڶB"pp`˄yчުoAX2Nk}@qS>X54Q.OU3JYmCs,nJYQkܖ=2Ȍ݆5>i4gp;X|h.Op:isL$XLz?F!nD ,e>ڠ"N :.=HBP0Ht.mVM 25V 02%3'4% m I TLiKs|ȝXg6wr8cꊶL1rg$5}]KW\r؝ъO1]20W$ÍK?DDa7> endobj 21 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GVKQZT+CMBX10 /FontDescriptor 112 0 R /FirstChar 46 /LastChar 121 /Widths 100 0 R >> endobj 7 0 obj << /Type /Font /Subtype /Type1 /BaseFont /JOJOUN+CMBX12 /FontDescriptor 114 0 R /FirstChar 12 /LastChar 122 /Widths 107 0 R >> endobj 62 0 obj << /Type /Font /Subtype /Type1 /BaseFont /MLYTTF+CMBX8 /FontDescriptor 116 0 R /FirstChar 65 /LastChar 65 /Widths 97 0 R >> endobj 16 0 obj << /Type /Font /Subtype /Type1 /BaseFont /WYMFIC+CMMI10 /FontDescriptor 118 0 R /FirstChar 11 /LastChar 121 /Widths 102 0 R >> endobj 6 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZGGNQH+CMMI12 /FontDescriptor 120 0 R /FirstChar 60 /LastChar 62 /Widths 108 0 R >> endobj 39 0 obj << /Type /Font /Subtype /Type1 /BaseFont /RNZPUV+CMMI7 /FontDescriptor 122 0 R /FirstChar 116 /LastChar 116 /Widths 98 0 R >> endobj 8 0 obj << /Type /Font /Subtype /Type1 /BaseFont /GNEBSS+CMR10 /FontDescriptor 124 0 R /FirstChar 11 /LastChar 126 /Widths 106 0 R >> endobj 5 0 obj << /Type /Font /Subtype /Type1 /BaseFont /RSYWJQ+CMR12 /FontDescriptor 126 0 R /FirstChar 44 /LastChar 119 /Widths 109 0 R >> endobj 4 0 obj << /Type /Font /Subtype /Type1 /BaseFont /SYUKKO+CMR17 /FontDescriptor 128 0 R /FirstChar 84 /LastChar 121 /Widths 110 0 R >> endobj 10 0 obj << /Type /Font /Subtype /Type1 /BaseFont /ZRYLLV+CMR7 /FontDescriptor 130 0 R /FirstChar 49 /LastChar 65 /Widths 104 0 R >> endobj 63 0 obj << /Type /Font /Subtype /Type1 /BaseFont /IWCMST+CMR9 /FontDescriptor 132 0 R /FirstChar 46 /LastChar 118 /Widths 96 0 R >> endobj 11 0 obj << /Type /Font /Subtype /Type1 /BaseFont /JUUGML+CMSLTT10 /FontDescriptor 134 0 R /FirstChar 34 /LastChar 126 /Widths 103 0 R >> endobj 17 0 obj << /Type /Font /Subtype /Type1 /BaseFont /FSWDJT+CMSY10 /FontDescriptor 136 0 R /FirstChar 0 /LastChar 110 /Widths 101 0 R >> endobj 38 0 obj << /Type /Font /Subtype /Type1 /BaseFont /PXBGHL+CMSY7 /FontDescriptor 138 0 R /FirstChar 0 /LastChar 0 /Widths 99 0 R >> endobj 9 0 obj << /Type /Font /Subtype /Type1 /BaseFont /OASLLS+CMTT10 /FontDescriptor 140 0 R /FirstChar 34 /LastChar 125 /Widths 105 0 R >> endobj 12 0 obj << /Type /Pages /Count 6 /Parent 141 0 R /Kids [2 0 R 14 0 R 19 0 R 23 0 R 26 0 R 29 0 R] >> endobj 34 0 obj << /Type /Pages /Count 6 /Parent 141 0 R /Kids [32 0 R 36 0 R 41 0 R 44 0 R 47 0 R 50 0 R] >> endobj 55 0 obj << /Type /Pages /Count 6 /Parent 141 0 R /Kids [53 0 R 57 0 R 60 0 R 65 0 R 69 0 R 72 0 R] >> endobj 77 0 obj << /Type /Pages /Count 4 /Parent 141 0 R /Kids [75 0 R 79 0 R 82 0 R 85 0 R] >> endobj 141 0 obj << /Type /Pages /Count 22 /Kids [12 0 R 34 0 R 55 0 R 77 0 R] >> endobj 142 0 obj << /Type /Catalog /Pages 141 0 R >> endobj 143 0 obj << /Producer (MiKTeX pdfTeX-1.40.14) /Creator (TeX) /CreationDate (D:20140912103815+12'00') /ModDate (D:20140912103815+12'00') /Trapped /False /PTEX.Fullbanner (This is MiKTeX-pdfTeX 2.9.4902 (1.40.14)) >> endobj xref 0 144 0000000000 65535 f 0000001400 00000 n 0000001295 00000 n 0000000015 00000 n 0000234722 00000 n 0000234581 00000 n 0000234157 00000 n 0000233732 00000 n 0000234440 00000 n 0000235568 00000 n 0000234863 00000 n 0000235143 00000 n 0000235710 00000 n 0000003080 00000 n 0000002972 00000 n 0000001545 00000 n 0000234014 00000 n 0000235288 00000 n 0000004909 00000 n 0000004801 00000 n 0000003195 00000 n 0000233589 00000 n 0000006508 00000 n 0000006400 00000 n 0000005036 00000 n 0000008006 00000 n 0000007898 00000 n 0000006623 00000 n 0000009890 00000 n 0000009782 00000 n 0000008109 00000 n 0000012287 00000 n 0000012179 00000 n 0000010005 00000 n 0000235819 00000 n 0000014449 00000 n 0000014341 00000 n 0000012378 00000 n 0000235430 00000 n 0000234298 00000 n 0000016071 00000 n 0000015963 00000 n 0000014610 00000 n 0000018357 00000 n 0000018249 00000 n 0000016209 00000 n 0000020557 00000 n 0000020449 00000 n 0000018495 00000 n 0000022444 00000 n 0000022336 00000 n 0000020637 00000 n 0000024703 00000 n 0000024595 00000 n 0000022535 00000 n 0000235929 00000 n 0000027852 00000 n 0000027744 00000 n 0000024805 00000 n 0000030311 00000 n 0000030203 00000 n 0000027977 00000 n 0000233874 00000 n 0000235003 00000 n 0000032273 00000 n 0000032165 00000 n 0000030460 00000 n 0000043301 00000 n 0000033908 00000 n 0000033800 00000 n 0000032365 00000 n 0000035541 00000 n 0000035433 00000 n 0000033976 00000 n 0000037013 00000 n 0000036905 00000 n 0000035655 00000 n 0000236039 00000 n 0000039237 00000 n 0000039129 00000 n 0000037081 00000 n 0000041296 00000 n 0000041188 00000 n 0000039362 00000 n 0000042392 00000 n 0000042284 00000 n 0000041398 00000 n 0000042735 00000 n 0000042506 00000 n 0000042980 00000 n 0000043005 00000 n 0000043067 00000 n 0000043102 00000 n 0000043546 00000 n 0000043571 00000 n 0000043631 00000 n 0000043665 00000 n 0000044096 00000 n 0000044120 00000 n 0000044144 00000 n 0000044168 00000 n 0000044607 00000 n 0000045243 00000 n 0000045878 00000 n 0000046269 00000 n 0000046386 00000 n 0000046773 00000 n 0000047413 00000 n 0000048054 00000 n 0000048091 00000 n 0000048509 00000 n 0000048756 00000 n 0000063495 00000 n 0000063799 00000 n 0000080539 00000 n 0000080903 00000 n 0000087990 00000 n 0000088210 00000 n 0000096113 00000 n 0000096356 00000 n 0000103498 00000 n 0000103731 00000 n 0000110795 00000 n 0000111015 00000 n 0000135546 00000 n 0000136042 00000 n 0000147800 00000 n 0000148090 00000 n 0000157079 00000 n 0000157317 00000 n 0000164906 00000 n 0000165138 00000 n 0000178225 00000 n 0000178525 00000 n 0000198450 00000 n 0000199031 00000 n 0000206591 00000 n 0000206852 00000 n 0000213826 00000 n 0000214051 00000 n 0000233101 00000 n 0000236135 00000 n 0000236217 00000 n 0000236270 00000 n trailer << /Size 144 /Root 142 0 R /Info 143 0 R /ID [<4FD8C620DE729126F72CF7CC51F828E2> <4FD8C620DE729126F72CF7CC51F828E2>] >> startxref 236493 %%EOF xtable/tests/0000755000176000001440000000000012404422123012715 5ustar ripleyusersxtable/tests/test.xtable.data.frame.R0000644000176000001440000000103412404422123017274 0ustar ripleyusers### Test code for logicals bug (number 1911) ### David Scott, , 2012-08-10 ### Example of problem with logical library(xtable) mydf <- data.frame(x = c(1,2), y = c(TRUE,FALSE)) xtable(mydf) ### Output should be ## % latex table generated in R 2.15.0 by xtable 1.7-0 package ## % Fri Aug 10 23:16:30 2012 ## \begin{table}[ht] ## \begin{center} ## \begin{tabular}{rrl} ## \hline ## & x & y \\ ## \hline ## 1 & 1.00 & TRUE \\ ## 2 & 2.00 & FALSE \\ ## \hline ## \end{tabular} ## \end{center} ## \end{table} xtable/tests/test.xtable.R0000644000176000001440000000160412404422123015276 0ustar ripleyusers### Test of implementation of request #2104 ### Use of \centering rather that center environment when centering tables ### DJS, 16/8/2012 require(xtable) ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2,10,20, labels=c("Ctl","Trt")) weight <- c(ctl, trt) lm.D9 <- lm(weight ~ group) class(lm.D9) xtable(lm.D9, caption="\\tt latex.environment=\"center\"") ## % latex table generated in R 2.15.0 by xtable 1.7-1 package ## % Thu Aug 16 15:44:09 2012 ## \begin{table}[ht] ## \centering ## \begin{tabular}{rrrrr} ## \hline ## & Estimate & Std. Error & t value & Pr($>$$|$t$|$) \\ ## \hline ## (Intercept) & 5.0320 & 0.2202 & 22.85 & 0.0000 \\ ## groupTrt & -0.3710 & 0.3114 & -1.19 & 0.2490 \\ ## \hline ## \end{tabular} ## \caption{\tt latex.environment="center"} ## \end{table} xtable/tests/test.margintable.R0000644000176000001440000000260412404422123016305 0ustar ripleyusers### Test of feature request #2168 implementation ### Enables use of margintable floating environment ### DJS, 17/08/2012 library(xtable) x <- matrix(rnorm(6), ncol = 2) x.small <- xtable(x, label='tabsmall', caption = 'A margin table') print(x.small, floating.environment = 'margintable', table.environments = "", table.placement = NULL) ## % latex table generated in R 2.15.0 by xtable 1.7-1 package ## % Fri Aug 17 01:42:42 2012 ## \begin{margintable} ## \centering ## \begin{tabular}{rrr} ## \hline ## & 1 & 2 \\ ## \hline ## 1 & 1.42 & -1.11 \\ ## 2 & -0.57 & 0.23 \\ ## 3 & -0.67 & -0.60 \\ ## \hline ## \end{tabular} ## \caption{A margin table} ## \label{tabsmall} ## \end{margintable} print(x.small, floating.environment = 'margintable', table.environments = "") ## % latex table generated in R 2.15.0 by xtable 1.7-1 package ## % Fri Aug 17 01:42:46 2012 ## \begin{margintable} ## \centering ## \begin{tabular}{rrr} ## \hline ## & 1 & 2 \\ ## \hline ## 1 & 1.42 & -1.11 \\ ## 2 & -0.57 & 0.23 \\ ## 3 & -0.67 & -0.60 \\ ## \hline ## \end{tabular} ## \caption{A margin table} ## \label{tabsmall} ## \end{margintable} ## Warning message: ## In print.xtable(x.small, floating.environment = "margintable", table.environments = "") : ## margintable does not allow for table placement; setting table.placement to NULL xtable/NAMESPACE0000644000176000001440000000225112404422123012772 0ustar ripleyusers# NAMESPACE work by Robert Gentleman # in e-mail on July 30, 2007. # # Extended by C Roosen, 30/01/2012 importFrom("utils", toLatex) export("caption<-", "caption", "label", "label<-", "align<-", "align", "digits<-", "digits", "display<-", "display", "xtable", "print.xtable", "toLatex.xtable") S3method("print", "xtable") S3method("toLatex", "xtable") S3method("caption<-", "xtable") S3method("caption", "xtable") S3method("label", "xtable") S3method("label<-", "xtable") S3method("align<-", "xtable") S3method("align", "xtable") S3method("digits", "xtable") S3method("digits<-", "xtable") S3method("display<-", "xtable") S3method("display", "xtable") S3method("xtable", "data.frame") S3method("xtable", "matrix") S3method("xtable", "table") S3method("xtable", "anova") S3method("xtable", "aov") S3method("xtable", "summary.aov") S3method("xtable", "summary.aovlist") S3method("xtable", "aovlist") S3method("xtable", "lm") S3method("xtable", "summary.lm") S3method("xtable", "glm") S3method("xtable", "summary.glm") S3method("xtable", "prcomp") S3method("xtable", "summary.prcomp") S3method("xtable", "coxph") S3method("xtable", "ts") S3method("xtable", "zoo") xtable/NEWS0000644000176000001440000000772712404422123012267 0ustar ripleyusers 1.7-4 (NOT YET RELEASED) * Changed tags in HTML to be all lower case, to be compatible with HTML5, part of feature request(#5879) * Fixed booktabs bug (#2309), more of an enhancement really. Updated xtableGallery.snw to illustrate the change. * Moved vignettes from inst/doc to vignettes as now required by CRAN * Changed email address of David Dahl to dahl@stat.byu.edu in 9 places 1.7-3 (2014-03-06) * Released to CRAN 1.7-2 (2013-08-28, Not Released to CRAN) * Fixed HTML gsub bug (#2795) * Dealt with format.args bug (#4770). No code changes, but the documentation of print.xtable was changed to warn of the problem and to give a workaround as an example 1.7-1 (2013-02-24) * Fixed logicals bug (Req #1911) * Changed implementation of centering of tables. Instead of inserting a centered environment, now a \centering command is inserted. (Req #2104) * Allow for margin tables as possible with document class tufte-handout. An example of usage is found in the vignette produced by margintable.Rnw which is in inst/doc. (Req #2168) * Added "timestamp" argument to print.xtable(). Set it to NULL if no timestamp is desired. (Req #2246) * Added "comment" argument to print.xtable(). Set it to FALSE to exclude the version and timestamp comment. (Req #2246) * Added "caption.width" argument. If not NULL then the caption is placed in a "parbox" of the specified width. (Req #2247) * Remove the check on whether the "floating.environment" is in a list of known floating environments. Users want to use floating environments from multiple options LaTeX packages (Req #2488, #2578) 1.7-0 (2012-02-10) * Added some vectorization code to improve performance. * Let "caption" be length 2, in which case the second value is the short caption used when creating a list of tables. * Added "toLatex" method. * Included "print.xtable" in the exported methods in the NAMESPACE file. * Added "print.results" argument to "print" that can be used to suppress the printing. * Added "format.args" argument to "print" that can be used to pass additional arguments such as "big.marks" to "formatC()". * Added "rotate.colnames" and "rotate.rownames" arguments to "print.xtable". * Added "booktabs" argument to use the "\toprule", "\midrule", and "\bottomrule" tags from the Latex "booktabs" package rather than using "\hline" for all horizontal lines. * Added "scalebox" argument to include a "\scalebox" clause around the tabular environment with the specified value used as the scaling factor. * Added "width" argument to allow specification of the width value in tabular environments such as "tabularx". * Added "X" as an allowed alignment value in the "align()" replacement function. * Changed the "print.xtable()" arguments to use "getOption()" to check the options for a default value. This was suggested since "print.xtable()" has a lot of arguments that the user will typically leave unchanged between tables. * Added an "is.null()" check on the "table.placement" argument. * Added examples using the new arguments to the vignette. 1.6-0 (2011-10-07) * Allow "table*" as a value for "floating.environment" in print.xtable(). * Fix bug under which multiple logical columns were formatted incorrectly. * Stop with an error if "xtable.table" is used on a table with more than two dimensions. * Add some newlines to "Rd" file to prevent lines from extending off the page in the PDF version of the help files. * Changed the maintainer to "Charles Roosen". * Created an "xtable" project on R-Forge. 1.5-6 (2009-10-30) * Support caption at the top in the LaTeX longtable. * Use options()$OutDec for decimal mark. 1.5-5 (2009-03-24) * Added html.table.attributes to set the attributed of the tag for HTML tables. * Accommodated logicals by converting to characters. * Add an extra space at end of each line for LaTeX tables. * Fixed typographical error in documentation. xtable/data/0000755000176000001440000000000012404422130012462 5ustar ripleyusersxtable/data/tli.txt.gz0000644000176000001440000000111112404422130014424 0ustar ripleyusersXNA }+2;G$ FHF1n,δ,YBӜ9==1s~ufs8>o>wݶݿ^}={cui:ݘ|u?Z矶%|*H\ 6l 0$z)ҥ] *v島 ;=2r)f$z'jtxtable/R/0000755000176000001440000000000012404422123011754 5ustar ripleyusersxtable/R/toLatex.R0000644000176000001440000000266212404422123013525 0ustar ripleyusers### xtable package ### ### Produce LaTeX and HTML tables from R objects. ### ### Copyright 2000-2013 David B. Dahl ### ### Maintained by Charles Roosen ### ### This file is part of the `xtable' library for R and related languages. ### It is made available under the terms of the GNU General Public ### License, version 2, or at your option, any later version, ### incorporated herein by reference. ### ### This program is distributed in the hope that it will be ### useful, but WITHOUT ANY WARRANTY; without even the implied ### warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ### PURPOSE. See the GNU General Public License for more ### details. ### ### You should have received a copy of the GNU General Public ### License along with this program; if not, write to the Free ### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, ### MA 02111-1307, USA ## The generic for toLatex() is declared in the base package "utils" toLatex.xtable <- function(object, ...){ # Initially just capturing the output of print.xtable(). At some # point this could be refactored to have print.xtable() call # toLatex() instead. - CR, 30/01/2012 dotArgs <- list(...) dotArgs$x <- object dotArgs$type <- "latex" dotArgs$print.results <- FALSE z <- do.call("print.xtable", dotArgs) z <- strsplit(z, split="\n")[[1]] class(z) <- "Latex" z } xtable/R/table.attributes.R0000644000176000001440000001252212404422123015355 0ustar ripleyusers### xtable package ### ### Produce LaTeX and HTML tables from R objects. ### ### Copyright 2000-2013 David B. Dahl ### ### This file is part of the `xtable' library for R and related languages. ### It is made available under the terms of the GNU General Public ### License, version 2, or at your option, any later version, ### incorporated herein by reference. ### ### This program is distributed in the hope that it will be ### useful, but WITHOUT ANY WARRANTY; without even the implied ### warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ### PURPOSE. See the GNU General Public License for more ### details. ### ### You should have received a copy of the GNU General Public ### License along with this program; if not, write to the Free ### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, ### MA 02111-1307, USA "caption<-" <- function(x,value) UseMethod("caption<-") "caption<-.xtable" <- function(x,value) { if (length(value)>2) stop("\"caption\" must have length 1 or 2") attr(x,"caption") <- value return(x) } caption <- function(x,...) UseMethod("caption") caption.xtable <- function(x,...) { return(attr(x,"caption",exact=TRUE)) } "label<-" <- function(x,value) UseMethod("label<-") "label<-.xtable" <- function(x,value) { if (length(value)>1) stop("\"label\" must have length 1") attr(x,"label") <- value return(x) } label <- function(x,...) UseMethod("label") label.xtable <- function(x,...) { return(attr(x,"label",exact=TRUE)) } "align<-" <- function(x,value) UseMethod("align<-") # Based on contribution from Jonathan Swinton in e-mail dated Wednesday, January 17, 2007 .alignStringToVector <- function(aString) { # poor mans parsing - separating string of form "l{2in}llr|p{1in}c|{1in}" # into "l{2in}" "l" "l" "r" "|" "p{1in}" "c" "|{1in}" aString.Align <- character(0); aString.Width <- character(0); wString <- aString while( nchar(wString)>0) { aString.Align <- c(aString.Align,substr(wString,1,1)) # is it followed by a brace? thisWidth <- "" if ( nchar(wString)>1 & substr(wString,2,2)=="{") { beforeNextBrace <- regexpr("[^\\]\\}",wString) if (beforeNextBrace <0 ) { stop("No closing } in align string") } thisWidth <- substr(wString,2,beforeNextBrace+1) wString <- substr(wString,beforeNextBrace+2,nchar(wString)) } else { wString <- substr(wString,2,nchar(wString)) } aString.Width <- c(aString.Width,thisWidth) } alignAllowed <- c("l","r","p","c","|","X") if (any( !(aString.Align %in% alignAllowed))) { warning("Nonstandard alignments in align string") } res <- paste(aString.Align,aString.Width,sep="") res } #.alignStringToVector ("l{2in}llr|p{1in}c|{1in}") #.alignStringToVector ("l{2in}llr|p{1in}c|") #.alignStringToVector ("{2in}llr|p{1in}c|") # latex syntax error, but gives wrong alignment #.alignStringToVector("llllp{3cm}") "align<-.xtable" <- function(x,value) { # Based on contribution from Benno in e-mail dated Wednesday, December 01, 2004 # Based on contribution from Jonathan Swinton in e-mail dated Wednesday, January 17, 2007 # cat("%",value,"\n") if ( (!is.null(value)) && ( is.character(value) ) && ( length(value) == 1 ) && ( nchar(value) > 1 ) ) { value <- .alignStringToVector(value) } # That should have checked we had only lrcp| # but what if the "if statement" is false? # For simplicity, deleting check present in version 1.4-2 and earlier. c.value <- if (any(!is.na(match(value,"|")))) { value[-which(value=='|')] } else { value } if (length(c.value)!=ncol(x)+1) stop(paste("\"align\" must have length equal to",ncol(x)+1,"( ncol(x) + 1 )")) attr(x,"align") <- value return(x) } align <- function(x,...) UseMethod("align") align.xtable <- function(x,...) { return(attr(x,"align",exact=TRUE)) } "digits<-" <- function(x,value) UseMethod("digits<-") "digits<-.xtable" <- function(x,value) { if( is.matrix( value ) ) { if( ncol( value ) != ncol(x)+1 || nrow( value ) != nrow(x) ) { stop( "if argument 'digits' is a matrix, it must have columns equal", " to ", ncol(x)+1, " ( ncol(x) + 1 ) and rows equal to ", nrow(x), " ( nrow( x )" ) } } else { if( length(value)==1 ) { value <- rep(value, ncol(x)+1) } if( length( value ) >1 & length( value ) != ncol(x)+1 ) { stop( "if argument 'digits' is a vector of length more than one, it must have length equal", " to ", ncol(x)+1, " ( ncol(x) + 1 )" ) } } if (!is.numeric(value)) stop("\"digits\" must be numeric") attr(x,"digits") <- value return(x) } digits <- function(x,...) UseMethod("digits") digits.xtable <- function(x,...) { return(attr(x,"digits",exact=TRUE)) } "display<-" <- function(x,value) UseMethod("display<-") "display<-.xtable" <- function(x,value) { if (length(value)!=ncol(x)+1) stop(paste("\"display\" must have length equal to",ncol(x)+1,"( ncol(x) + 1 )")) if (!all(!is.na(match(value,c("d","f","e","E","g","G","fg","s"))))) stop("\"display\" must be in {\"d\",\"f\",\"e\",\"E\",\"g\",\"G\", \"fg\", \"s\"}") attr(x,"display") <- value return(x) } display <- function(x,...) UseMethod("display") display.xtable <- function(x,...) { return(attr(x,"display",exact=TRUE)) } xtable/R/print.xtable.R0000644000176000001440000007140112404422123014514 0ustar ripleyusers### xtable package ### ### Produce LaTeX and HTML tables from R objects. ### ### Copyright 2000-2013 David B. Dahl ### ### Maintained by David Scott ### ### This file is part of the `xtable' library for R and related languages. ### It is made available under the terms of the GNU General Public ### License, version 2, or at your option, any later version, ### incorporated herein by reference. ### ### This program is distributed in the hope that it will be ### useful, but WITHOUT ANY WARRANTY; without even the implied ### warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ### PURPOSE. See the GNU General Public License for more ### details. ### ### You should have received a copy of the GNU General Public ### License along with this program; if not, write to the Free ### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, ### MA 02111-1307, USA print.xtable <- function(x, type = getOption("xtable.type", "latex"), file = getOption("xtable.file", ""), append = getOption("xtable.append", FALSE), floating = getOption("xtable.floating", TRUE), floating.environment = getOption("xtable.floating.environment", "table"), table.placement = getOption("xtable.table.placement", "ht"), caption.placement = getOption("xtable.caption.placement", "bottom"), caption.width = getOption("xtable.caption.width", NULL), latex.environments = getOption("xtable.latex.environments", c("center")), tabular.environment = getOption("xtable.tabular.environment", "tabular"), size = getOption("xtable.size", NULL), hline.after = getOption("xtable.hline.after", c(-1,0,nrow(x))), NA.string = getOption("xtable.NA.string", ""), include.rownames = getOption("xtable.include.rownames", TRUE), include.colnames = getOption("xtable.include.colnames", TRUE), only.contents = getOption("xtable.only.contents", FALSE), add.to.row = getOption("xtable.add.to.row", NULL), sanitize.text.function = getOption("xtable.sanitize.text.function", NULL), sanitize.rownames.function = getOption("xtable.sanitize.rownames.function", sanitize.text.function), sanitize.colnames.function = getOption("xtable.sanitize.colnames.function", sanitize.text.function), math.style.negative = getOption("xtable.math.style.negative", FALSE), html.table.attributes = getOption("xtable.html.table.attributes", "border=1"), print.results = getOption("xtable.print.results", TRUE), format.args = getOption("xtable.format.args", NULL), rotate.rownames = getOption("xtable.rotate.rownames", FALSE), rotate.colnames = getOption("xtable.rotate.colnames", FALSE), booktabs = getOption("xtable.booktabs", FALSE), scalebox = getOption("xtable.scalebox", NULL), width = getOption("xtable.width", NULL), comment = getOption("xtable.comment", TRUE), timestamp = getOption("xtable.timestamp", date()), ...) { ## If caption is length 2, treat the second value as the "short caption" caption <- attr(x,"caption",exact = TRUE) short.caption <- NULL if (!is.null(caption) && length(caption) > 1){ short.caption <- caption[2] caption <- caption[1] } ## Claudio Agostinelli dated 2006-07-28 hline.after ## By default it print an \hline before and after the columns names ## independently they are printed or not and at the end of the table ## Old code that set hline.after should include c(-1, 0, nrow(x)) in the ## hline.after vector ## If you do not want any \hline inside the data, set hline.after to NULL ## PHEADER instead the string '\\hline\n' is used in the code ## Now hline.after counts how many time a position appear ## I left an automatic PHEADER in the longtable is this correct? ## Claudio Agostinelli dated 2006-07-28 include.rownames, ## include.colnames pos <- 0 if (include.rownames) pos <- 1 ## Claudio Agostinelli dated 2006-07-28 ## hline.after checks if (any(hline.after < -1) | any(hline.after > nrow(x))) { stop("'hline.after' must be inside [-1, nrow(x)]") } ## Claudio Agostinelli dated 2006-07-28 ## add.to.row checks if (!is.null(add.to.row)) { if (is.list(add.to.row) && length(add.to.row) == 2) { if (is.null(names(add.to.row))) { names(add.to.row) <- c('pos', 'command') } else if (any(sort(names(add.to.row))!= c('command', 'pos'))) { stop("the names of the elements of 'add.to.row' must be 'pos' and 'command'") } if (is.list(add.to.row$pos) && is.vector(add.to.row$command, mode = 'character')) { if ((npos <- length(add.to.row$pos)) != length(add.to.row$command)) { stop("the length of 'add.to.row$pos' must be equal to the length of 'add.to.row$command'") } if (any(unlist(add.to.row$pos) < -1) | any(unlist(add.to.row$pos) > nrow(x))) { stop("the values in add.to.row$pos must be inside the interval [-1, nrow(x)]") } } else { stop("the first argument ('pos') of 'add.to.row' must be a list, the second argument ('command') must be a vector of mode character") } } else { stop("'add.to.row' argument must be a list of length 2") } } else { add.to.row <- list(pos = list(), command = vector(length = 0, mode = "character")) npos <- 0 } ## Claudio Agostinelli dated 2006-07-28 add.to.row ## Add further commands at the end of rows if (type == "latex") { ## Original code before changes in version 1.6-1 ## PHEADER <- "\\hline\n" ## booktabs code from Matthieu Stigler , ## 1 Feb 2012 if(!booktabs){ PHEADER <- "\\hline\n" } else { ## This code replaced to fix bug #2309, David Scott, 8 Jan 2014 ## PHEADER <- ifelse(-1%in%hline.after, "\\toprule\n", "") ## if(0%in%hline.after) { ## PHEADER <- c(PHEADER, "\\midrule\n") ## } ## if(nrow(x)%in%hline.after) { ## PHEADER <- c(PHEADER, "\\bottomrule\n") ## } if (is.null(hline.after)){ PHEADER <- "" } else { hline.after <- sort(hline.after) PHEADER <- rep("\\midrule\n", length(hline.after)) if (hline.after[1] == -1) { PHEADER[1] <- "\\toprule\n" } if (hline.after[length(hline.after)] == nrow(x)) { PHEADER[length(hline.after)] <- "\\bottomrule\n" } } } } else { PHEADER <- "" } lastcol <- rep(" ", nrow(x)+2) if (!is.null(hline.after)) { ## booktabs change - Matthieu Stigler: fill the hline arguments ## separately, 1 Feb 2012 ## ## Code before booktabs change was: ## add.to.row$pos[[npos+1]] <- hline.after if (!booktabs){ add.to.row$pos[[npos+1]] <- hline.after } else { for(i in 1:length(hline.after)) { add.to.row$pos[[npos+i]] <- hline.after[i] } } add.to.row$command <- c(add.to.row$command, PHEADER) } if ( length(add.to.row$command) > 0 ) { for (i in 1:length(add.to.row$command)) { addpos <- add.to.row$pos[[i]] freq <- table(addpos) addpos <- unique(addpos) for (j in 1:length(addpos)) { lastcol[addpos[j]+2] <- paste(lastcol[addpos[j]+2], paste(rep(add.to.row$command[i], freq[j]), sep = "", collapse = ""), sep = " ") } } } if (length(type)>1) stop("\"type\" must have length 1") type <- tolower(type) if (!all(!is.na(match(type, c("latex","html"))))) { stop("\"type\" must be in {\"latex\", \"html\"}") } ## Disabling the check on known floating environments as many users ## want to use additional environments. # if (!all(!is.na(match(floating.environment, # c("table","table*","sidewaystable", # "margintable"))))) { # stop("\"type\" must be in {\"table\", \"table*\", \"sidewaystable\", \"margintable\"}") # } if (("margintable" %in% floating.environment) & (!is.null(table.placement))) { warning("margintable does not allow for table placement; setting table.placement to NULL") table.placement <- NULL } if (!is.null(table.placement) && !all(!is.na(match(unlist(strsplit(table.placement, split = "")), c("H","h","t","b","p","!"))))) { stop("\"table.placement\" must contain only elements of {\"h\",\"t\",\"b\",\"p\",\"!\"}") } if (!all(!is.na(match(caption.placement, c("bottom","top"))))) { stop("\"caption.placement\" must be either {\"bottom\",\"top\"}") } if (type == "latex") { BCOMMENT <- "% " ECOMMENT <- "\n" ## See e-mail from "John S. Walker " dated 5-19-2003 ## regarding "texfloat" ## See e-mail form "Fernando Henrique Ferraz P. da Rosa" ## " dated 10-28-2005 regarding "longtable" if ( tabular.environment == "longtable" & floating == TRUE ) { warning("Attempt to use \"longtable\" with floating = TRUE. Changing to FALSE.") floating <- FALSE } if ( floating == TRUE ) { ## See e-mail from "Pfaff, Bernhard " ## dated 7-09-2003 regarding "suggestion for an amendment of ## the source" ## See e-mail from "Mitchell, David" ## " dated 2003-07-09 regarding ## "Additions to R xtable package" ## See e-mail from "Garbade, Sven" ## dated 2006-05-22 ## regarding the floating environment. BTABLE <- paste("\\begin{", floating.environment, "}", ifelse(!is.null(table.placement), paste("[", table.placement, "]", sep = ""), ""), "\n", sep = "") if ( is.null(latex.environments) || (length(latex.environments) == 0) ) { BENVIRONMENT <- "" EENVIRONMENT <- "" } else { BENVIRONMENT <- "" EENVIRONMENT <- "" if ("center" %in% latex.environments){ BENVIRONMENT <- paste(BENVIRONMENT, "\\centering\n", sep = "") } for (i in 1:length(latex.environments)) { if (latex.environments[i] == "") next if (latex.environments[i] != "center"){ BENVIRONMENT <- paste(BENVIRONMENT, "\\begin{", latex.environments[i], "}\n", sep = "") EENVIRONMENT <- paste("\\end{", latex.environments[i], "}\n", EENVIRONMENT, sep = "") } } } ETABLE <- paste("\\end{", floating.environment, "}\n", sep = "") } else { BTABLE <- "" ETABLE <- "" BENVIRONMENT <- "" EENVIRONMENT <- "" } tmp.index.start <- 1 if ( ! include.rownames ) { while ( attr(x, "align", exact = TRUE)[tmp.index.start] == '|' ) tmp.index.start <- tmp.index.start + 1 tmp.index.start <- tmp.index.start + 1 } ## Added "width" argument for use with "tabular*" or ## "tabularx" environments - CR, 7/2/12 if (is.null(width)){ WIDTH <-"" } else if (is.element(tabular.environment, c("tabular", "longtable"))){ warning("Ignoring 'width' argument. The 'tabular' and 'longtable' environments do not support a width specification. Use another environment such as 'tabular*' or 'tabularx' to specify the width.") WIDTH <- "" } else { WIDTH <- paste("{", width, "}", sep = "") } BTABULAR <- paste("\\begin{", tabular.environment, "}", WIDTH, "{", paste(c(attr(x, "align", exact = TRUE)[ tmp.index.start:length(attr(x, "align", exact = TRUE))], "}\n"), sep = "", collapse = ""), sep = "") ## fix 10-26-09 (robert.castelo@upf.edu) the following ## 'if' condition is added here to support ## a caption on the top of a longtable if (tabular.environment == "longtable" && caption.placement == "top") { if (is.null(short.caption)){ BCAPTION <- "\\caption{" } else { BCAPTION <- paste("\\caption[", short.caption, "]{", sep = "") } ECAPTION <- "} \\\\ \n" if ((!is.null(caption)) && (type == "latex")) { BTABULAR <- paste(BTABULAR, BCAPTION, caption, ECAPTION, sep = "") } } ## Claudio Agostinelli dated 2006-07-28 ## add.to.row position -1 BTABULAR <- paste(BTABULAR, lastcol[1], sep = "") ## the \hline at the end, if present, is set in full matrix ETABULAR <- paste("\\end{", tabular.environment, "}\n", sep = "") ## Add scalebox - CR, 7/2/12 if (!is.null(scalebox)){ BTABULAR <- paste("\\scalebox{", scalebox, "}{\n", BTABULAR, sep = "") ETABULAR <- paste(ETABULAR, "}\n", sep = "") } ## BSIZE contributed by Benno in e-mail ## dated Wednesday, December 01, 2004 if (is.null(size) || !is.character(size)) { BSIZE <- "" ESIZE <- "" } else { if(length(grep("^\\\\", size)) == 0){ size <- paste("\\", size, sep = "") } BSIZE <- paste("{", size, "\n", sep = "") ESIZE <- "}\n" } BLABEL <- "\\label{" ELABEL <- "}\n" ## Added caption width (jeff.laake@nooa.gov) if(!is.null(caption.width)){ BCAPTION <- paste("\\parbox{",caption.width,"}{",sep="") ECAPTION <- "}" } else { BCAPTION <- NULL ECAPTION <- NULL } if (is.null(short.caption)){ BCAPTION <- paste(BCAPTION,"\\caption{",sep="") } else { BCAPTION <- paste(BCAPTION,"\\caption[", short.caption, "]{", sep="") } ECAPTION <- paste(ECAPTION,"} \n",sep="") BROW <- "" EROW <- " \\\\ \n" BTH <- "" ETH <- "" STH <- " & " BTD1 <- " & " BTD2 <- "" BTD3 <- "" ETD <- "" ## Based on contribution from Jonathan Swinton ## in e-mail dated Wednesday, January 17, 2007 sanitize <- function(str) { result <- str result <- gsub("\\\\", "SANITIZE.BACKSLASH", result) result <- gsub("$", "\\$", result, fixed = TRUE) result <- gsub(">", "$>$", result, fixed = TRUE) result <- gsub("<", "$<$", result, fixed = TRUE) result <- gsub("|", "$|$", result, fixed = TRUE) result <- gsub("{", "\\{", result, fixed = TRUE) result <- gsub("}", "\\}", result, fixed = TRUE) result <- gsub("%", "\\%", result, fixed = TRUE) result <- gsub("&", "\\&", result, fixed = TRUE) result <- gsub("_", "\\_", result, fixed = TRUE) result <- gsub("#", "\\#", result, fixed = TRUE) result <- gsub("^", "\\verb|^|", result, fixed = TRUE) result <- gsub("~", "\\~{}", result, fixed = TRUE) result <- gsub("SANITIZE.BACKSLASH", "$\\backslash$", result, fixed = TRUE) return(result) } sanitize.numbers <- function(x) { result <- x if ( math.style.negative ) { ## Jake Bowers in e-mail ## from 2008-08-20 suggested disabling this feature to avoid ## problems with LaTeX's dcolumn package. ## by Florian Wickelmaier ## in e-mail from 2008-10-03 requested the ability to use the ## old behavior. for(i in 1:length(x)) { result[i] <- gsub("-", "$-$", result[i], fixed = TRUE) } } return(result) } sanitize.final <- function(result) { return(result) } } else { BCOMMENT <- "\n" BTABLE <- paste("
\n", sep = "") ETABLE <- "
\n" BENVIRONMENT <- "" EENVIRONMENT <- "" BTABULAR <- "" ETABULAR <- "" BSIZE <- "" ESIZE <- "" BLABEL <- "
\n" BCAPTION <- paste(" ", sep = "") ECAPTION <- " \n" BROW <- "" EROW <- " \n" BTH <- " " ETH <- " " STH <- " " BTD1 <- " ## in e-mail dated Wednesday, January 17, 2007 BTD2[regexpr("^p", BTD2)>0] <- "left" BTD2[BTD2 == "r"] <- "right" BTD2[BTD2 == "l"] <- "left" BTD2[BTD2 == "c"] <- "center" BTD3 <- "\"> " ETD <- " " sanitize <- function(str) { result <- str ## Changed as suggested in bug report #2795 ## That is replacement of "&" is "&" ## instead of previous "&" etc ## result <- gsub("&", "& ", result, fixed = TRUE) ## result <- gsub(">", "> ", result, fixed = TRUE) ## result <- gsub("<", "< ", result, fixed = TRUE) result <- gsub("&", "&", result, fixed = TRUE) result <- gsub(">", ">", result, fixed = TRUE) result <- gsub("<", "<", result, fixed = TRUE) ## Kurt Hornik on 2006/10/05 ## recommended not escaping underscores. ## result <- gsub("_", "\\_", result, fixed=TRUE) return(result) } sanitize.numbers <- function(x) { return(x) } sanitize.final <- function(result) { ## Suggested by Uwe Ligges ## in e-mail dated 2005-07-30. result$text <- gsub(" *", " ", result$text, fixed = TRUE) result$text <- gsub(' align="left"', "", result$text, fixed = TRUE) return(result) } } result <- string("", file = file, append = append) info <- R.Version() ## modified Claudio Agostinelli dated 2006-07-28 ## to set automatically the package version if (comment){ result <- result + BCOMMENT + type + " table generated in " + info$language + " " + info$major + "." + info$minor + " by xtable " + packageDescription('xtable')$Version + " package" + ECOMMENT if (!is.null(timestamp)){ result <- result + BCOMMENT + timestamp + ECOMMENT } } ## Claudio Agostinelli dated 2006-07-28 only.contents if (!only.contents) { result <- result + BTABLE result <- result + BENVIRONMENT if ( floating == TRUE ) { if ((!is.null(caption)) && (type == "html" ||caption.placement == "top")) { result <- result + BCAPTION + caption + ECAPTION } if (!is.null(attr(x, "label", exact = TRUE)) && (type == "latex" && caption.placement == "top")) { result <- result + BLABEL + attr(x, "label", exact = TRUE) + ELABEL } } result <- result + BSIZE result <- result + BTABULAR } ## Claudio Agostinelli dated 2006-07-28 ## include.colnames, include.rownames if (include.colnames) { result <- result + BROW + BTH if (include.rownames) { result <- result + STH } ## David G. Whiting in e-mail 2007-10-09 if (is.null(sanitize.colnames.function)) { CNAMES <- sanitize(names(x)) } else { CNAMES <- sanitize.colnames.function(names(x)) } if (rotate.colnames) { ##added by Markus Loecher, 2009-11-16 CNAMES <- paste("\\begin{sideways}", CNAMES, "\\end{sideways}") } result <- result + paste(CNAMES, collapse = STH) result <- result + ETH + EROW } cols <- matrix("", nrow = nrow(x), ncol = ncol(x)+pos) if (include.rownames) { ## David G. Whiting in e-mail 2007-10-09 if (is.null(sanitize.rownames.function)) { RNAMES <- sanitize(row.names(x)) } else { RNAMES <- sanitize.rownames.function(row.names(x)) } if (rotate.rownames) { ##added by Markus Loecher, 2009-11-16 RNAMES <- paste("\\begin{sideways}", RNAMES, "\\end{sideways}") } cols[, 1] <- RNAMES } ## Begin vectorizing the formatting code by Ian Fellows [ian@fellstat.com] ## 06 Dec 2011 ## ## disp <- function(y) { ## if (is.factor(y)) { ## y <- levels(y)[y] ## } ## if (is.list(y)) { ## y <- unlist(y) ## } ## return(y) ## } varying.digits <- is.matrix( attr( x, "digits", exact = TRUE ) ) ## Code for letting "digits" be a matrix was provided by ## Arne Henningsen ## in e-mail dated 2005-06-04. ##if( !varying.digits ) { ## modified Claudio Agostinelli dated 2006-07-28 ## attr(x,"digits") <- matrix( attr( x, "digits",exact=TRUE ), ## nrow = nrow(x), ncol = ncol(x)+1, byrow = TRUE ) ##} for(i in 1:ncol(x)) { xcol <- x[, i] if(is.factor(xcol)) xcol <- as.character(xcol) if(is.list(xcol)) xcol <- sapply(xcol, unlist) ina <- is.na(xcol) is.numeric.column <- is.numeric(xcol) if(is.character(xcol)) { cols[, i+pos] <- xcol } else { if (is.null(format.args)){ format.args <- list() } if (is.null(format.args$decimal.mark)){ format.args$decimal.mark <- options()$OutDec } if(!varying.digits){ curFormatArgs <- c(list( x = xcol, format = ifelse(attr(x, "digits", exact = TRUE )[i+1] < 0, "E", attr(x, "display", exact = TRUE )[i+1]), digits = abs(attr(x, "digits", exact = TRUE )[i+1])), format.args) cols[, i+pos] <- do.call("formatC", curFormatArgs) }else{ for( j in 1:nrow( cols ) ) { curFormatArgs <- c(list( x = xcol[j], format = ifelse(attr(x, "digits", exact = TRUE )[j, i+1] < 0, "E", attr(x, "display", exact = TRUE )[i+1]), digits = abs(attr(x, "digits", exact = TRUE )[j, i+1])), format.args) cols[j, i+pos] <- do.call("formatC", curFormatArgs) } } } ## End Ian Fellows changes if ( any(ina) ) cols[ina, i+pos] <- NA.string ## Based on contribution from Jonathan Swinton ## in e-mail dated Wednesday, January 17, 2007 if ( is.numeric.column ) { cols[, i+pos] <- sanitize.numbers(cols[, i+pos]) } else { if (is.null(sanitize.text.function)) { cols[, i+pos] <- sanitize(cols[, i+pos]) } else { cols[, i+pos] <- sanitize.text.function(cols[, i+pos]) } } } multiplier <- 5 full <- matrix("", nrow = nrow(x), ncol = multiplier*(ncol(x)+pos)+2) full[, 1] <- BROW full[, multiplier*(0:(ncol(x)+pos-1))+2] <- BTD1 full[, multiplier*(0:(ncol(x)+pos-1))+3] <- BTD2 full[, multiplier*(0:(ncol(x)+pos-1))+4] <- BTD3 full[, multiplier*(0:(ncol(x)+pos-1))+5] <- cols full[, multiplier*(0:(ncol(x)+pos-1))+6] <- ETD full[, multiplier*(ncol(x)+pos)+2] <- paste(EROW, lastcol[-(1:2)], sep = " ") if (type == "latex") full[, 2] <- "" result <- result + lastcol[2] + paste(t(full), collapse = "") if (!only.contents) { if (tabular.environment == "longtable") { ## booktabs change added the if() - 1 Feb 2012 if(!booktabs) { result <- result + PHEADER } ## fix 10-27-09 Liviu Andronic (landronimirc@gmail.com) the ## following 'if' condition is inserted in order to avoid ## that bottom caption interferes with a top caption of a longtable if(caption.placement == "bottom"){ if ((!is.null(caption)) && (type == "latex")) { result <- result + BCAPTION + caption + ECAPTION } } if (!is.null(attr(x, "label", exact = TRUE))) { result <- result + BLABEL + attr(x, "label", exact = TRUE) + ELABEL } ETABULAR <- "\\end{longtable}\n" } result <- result + ETABULAR result <- result + ESIZE if ( floating == TRUE ) { if ((!is.null(caption)) && (type == "latex" && caption.placement == "bottom")) { result <- result + BCAPTION + caption + ECAPTION } if (!is.null(attr(x, "label", exact = TRUE)) && caption.placement == "bottom") { result <- result + BLABEL + attr(x, "label", exact = TRUE) + ELABEL } } result <- result + EENVIRONMENT result <- result + ETABLE } result <- sanitize.final(result) if (print.results){ print(result) } return(invisible(result$text)) } "+.string" <- function(x, y) { x$text <- paste(x$text, as.string(y)$text, sep = "") return(x) } print.string <- function(x, ...) { cat(x$text, file = x$file, append = x$append) return(invisible()) } string <- function(text, file = "", append = FALSE) { x <- list(text = text, file = file, append = append) class(x) <- "string" return(x) } as.string <- function(x, file = "", append = FALSE) { if (is.null(attr(x, "class", exact = TRUE))) switch(data.class(x), character = return(string(x, file, append)), numeric = return(string(as.character(x), file, append)), stop("Cannot coerce argument to a string")) if (class(x) == "string") return(x) stop("Cannot coerce argument to a string") } is.string <- function(x) { return(class(x) == "string") } xtable/R/xtable.R0000644000176000001440000002565512404422123013373 0ustar ripleyusers### xtable package ### ### Produce LaTeX and HTML tables from R objects. ### ### Copyright 2000-2013 David B. Dahl ### ### This file is part of the `xtable' library for R and related languages. ### It is made available under the terms of the GNU General Public ### License, version 2, or at your option, any later version, ### incorporated herein by reference. ### ### This program is distributed in the hope that it will be ### useful, but WITHOUT ANY WARRANTY; without even the implied ### warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ### PURPOSE. See the GNU General Public License for more ### details. ### ### You should have received a copy of the GNU General Public ### License along with this program; if not, write to the Free ### Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, ### MA 02111-1307, USA xtable <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { UseMethod("xtable") } ## data.frame and matrix objects xtable.data.frame <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { logicals <- unlist(lapply(x, is.logical)) ##x[, logicals] <- lapply(x[, logicals], as.character) ## Patch for logicals bug, no 1911 ## David Scott, , 2012-08-10 x[, logicals] <- lapply(x[, logicals, drop = FALSE], as.character) characters <- unlist(lapply(x, is.character)) factors <- unlist(lapply(x, is.factor)) ints <- sapply(x, is.integer) class(x) <- c("xtable","data.frame") caption(x) <- caption label(x) <- label align(x) <- switch(1+is.null(align), align, c("r",c("r","l")[(characters|factors)+1])) digits(x) <- switch(1+is.null(digits), digits, c(0,rep(2,ncol(x)))) ## Patch from Seth Falcon , 18-May-2007 if (is.null(display)) { display <- rep("f", ncol(x)) display[ints] <- "d" display[characters | factors] <- "s" display <- c("s", display) } display(x) <- display return(x) } xtable.matrix <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { return(xtable.data.frame(data.frame(x, check.names = FALSE), caption = caption, label = label, align = align, digits = digits, display = display)) } ### table objects (of 1 or 2 dimensions) by Guido Gay, 9 Feb 2007 ### Fixed to pass R checks by DBD, 9 May 2007 xtable.table <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { if (length(dim(x)) == 1) { return(xtable.matrix(matrix(x, dimnames = list(rownames(x), names(dimnames(x)))), caption = caption, label = label, align = align, digits = digits, display = display)) } else if (length(dim(x))==2) { return(xtable.matrix(matrix(x, ncol = dim(x)[2], nrow = dim(x)[1], dimnames = list(rownames(x), colnames(x))), caption = caption, label = label, align = align, digits = digits, display = display)) } else { stop("xtable.table is not implemented for tables of > 2 dimensions") } } ## anova objects xtable.anova <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { suggested.digits <- c(0,rep(2, ncol(x))) suggested.digits[grep("Pr\\(>", names(x))+1] <- 4 suggested.digits[grep("P\\(>", names(x))+1] <- 4 suggested.digits[grep("Df", names(x))+1] <- 0 class(x) <- c("xtable","data.frame") caption(x) <- caption label(x) <- label align(x) <- switch(1+is.null(align), align, c("l",rep("r", ncol(x)))) digits(x) <- switch(1+is.null(digits), digits, suggested.digits) display(x) <- switch(1+is.null(display), display, c("s",rep("f", ncol(x)))) return(x) } ## aov objects xtable.aov <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { return(xtable.anova(anova(x, ...), caption = caption, label = label, align = align, digits = digits, display = display)) } xtable.summary.aov <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { return(xtable.anova(x[[1]], caption = caption, label = label, align = align, digits = digits, display = display)) } xtable.summary.aovlist <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { for (i in 1:length(x)) { if (i == 1) { result <- xtable.summary.aov(x[[i]], caption = caption, label = label, align = align, digits = digits, display = display) } else { result <- rbind(result, xtable.anova(x[[i]][[1]], caption = caption, label = label, align = align, digits = digits, display = display)) } } return(result) } xtable.aovlist <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { return(xtable.summary.aovlist(summary(x), caption = caption, label = label, align = align, digits = digits, display = display)) } ## lm objects xtable.lm <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { return(xtable.summary.lm(summary(x), caption = caption, label = label, align = align, digits = digits, display = display)) } xtable.summary.lm <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { x <- data.frame(x$coef, check.names = FALSE) class(x) <- c("xtable","data.frame") caption(x) <- caption label(x) <- label align(x) <- switch(1+is.null(align), align, c("r","r","r","r","r")) digits(x) <- switch(1+is.null(digits), digits, c(0,4,4,2,4)) display(x) <- switch(1+is.null(display), display, c("s","f","f","f","f")) return(x) } ## glm objects xtable.glm <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { return(xtable.summary.glm(summary(x), caption = caption, label = label, align = align, digits = digits, display = display)) } xtable.summary.glm <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { return(xtable.summary.lm(x, caption = caption, label = label, align = align, digits = digits, display = display)) } ## prcomp objects xtable.prcomp <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { x <- data.frame(x$rotation, check.names = FALSE) class(x) <- c("xtable","data.frame") caption(x) <- caption label(x) <- label align(x) <- switch(1+is.null(align), align, c("r",rep("r", ncol(x)))) digits(x) <- switch(1+is.null(digits), digits, c(0,rep(4, ncol(x)))) display(x) <- switch(1+is.null(display), display, c("s",rep("f", ncol(x)))) return(x) } xtable.summary.prcomp <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { x <- data.frame(x$importance, check.names = FALSE) class(x) <- c("xtable","data.frame") caption(x) <- caption label(x) <- label align(x) <- switch(1+is.null(align), align, c("r",rep("r", ncol(x)))) digits(x) <- switch(1+is.null(digits), digits, c(0,rep(4, ncol(x)))) display(x) <- switch(1+is.null(display), display, c("s",rep("f", ncol(x)))) return(x) } # Slightly modified version of xtable.coxph contributed on r-help by # Date: Wed, 2 Oct 2002 17:47:56 -0500 (CDT) # From: Jun Yan # Subject: Re: [R] xtable for Cox model output xtable.coxph <- function (x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { cox <- x beta <- cox$coef se <- sqrt(diag(cox$var)) if (is.null(cox$naive.var)) { tmp <- cbind(beta, exp(beta), se, beta/se, 1 - pchisq((beta/se)^2, 1)) dimnames(tmp) <- list(names(beta), c("coef", "exp(coef)", "se(coef)", "z", "p")) } else { tmp <- cbind( beta, exp(beta), se, beta/se, signif(1 - pchisq((beta/se)^2, 1), digits - 1)) dimnames(tmp) <- list(names(beta), c("coef", "exp(coef)", "robust se", "z", "p")) } return(xtable(tmp, caption = caption, label = label, align = align, digits = digits, display = display)) } # Additional method: xtable.ts # Contributed by David Mitchell (davidm@netspeed.com.au) # Date: July 2003 xtable.ts <- function(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) { if (inherits(x, "ts") && !is.null(ncol(x))) { # COLNAMES <- paste(colnames(x)); tp.1 <- trunc(time(x)) tp.2 <- trunc(cycle(x)) day.abb <- c("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat") ROWNAMES <- switch(frequency(x), tp.1, "Arg2", "Arg3", # Dummy arguments paste(tp.1, c("Q1", "Q2", "Q3", "Q4")[tp.2], sep = " "), "Arg5", "Arg6", paste("Wk.", tp.1, " ", day.abb[tp.2], sep = ""), "Arg8", "Arg9", "Arg10", "Arg11", paste(tp.1, month.abb[tp.2], sep = " ")) tmp <- data.frame(x, row.names = ROWNAMES); } else if (inherits(x, "ts") && is.null(ncol(x))) { COLNAMES <- switch(frequency(x), "Value", "Arg2", "Arg3", # Dummy arguments c("Q1", "Q2", "Q3", "Q4"), "Arg5", "Arg6", day.abb, "Arg8", "Arg9", "Arg10", "Arg11", month.abb) ROWNAMES <- seq(from = start(x)[1], to = end(x)[1]) tmp <- data.frame(matrix(c(rep(NA, start(x)[2] - 1), x, rep(NA, frequency(x) - end(x)[2])), ncol = frequency(x), byrow = TRUE), row.names = ROWNAMES) names(tmp) <- COLNAMES } return(xtable(tmp, caption = caption, label = label, align = align, digits = digits, display = display)) } # Suggested by Ajay Narottam Shah in e-mail 2006/07/22 xtable.zoo <- function(x, ...) { return(xtable(as.ts(x), ...)) } xtable/vignettes/0000755000176000001440000000000012404422130013561 5ustar ripleyusersxtable/vignettes/xtableGallery.snw0000644000176000001440000003546312404422123017126 0ustar ripleyusers%\VignetteIndexEntry{xtable Gallery} %\VignetteDepends{xtable} %\VignetteKeywords{LaTeX,HTML,table} %\VignettePackage{xtable} %************************************************************************** % % # $Id:$ % $Revision: $ % $Author: $ % $Date: $ <>= makeme <- function() { # I am a convenience function for debugging and can be ignored setwd("C:/JonathanSwinton/PathwayModeling/src/R/SourcePackages/xtable/inst/doc") Sweave("xtableGallery.RnW",stylepath=FALSE) } makeme() @ \documentclass[letterpaper]{article} \title{ The xtable gallery } \author{Jonathan Swinton \\ with small contributions from others} \usepackage{Sweave} \SweaveOpts{prefix.string=figdir/fig,debug=TRUE,eps=FALSE,echo=TRUE} \usepackage{rotating} \usepackage{longtable} \usepackage{booktabs} \usepackage{tabularx} %\usepackage{hyperref} \begin{document} \maketitle \section{Summary} This document gives a gallery of tables which can be made by using the {\tt xtable} package to create \LaTeX\ output. It doubles as a regression check for the package. <<>>= library(xtable) @ \section{Gallery} \subsection{Data frame} Load example dataset <<>>= data(tli) ## Demonstrate data.frame tli.table <- xtable(tli[1:10,]) digits(tli.table)[c(2,6)] <- 0 @ <>= print(tli.table,floating=FALSE) @ \subsection{Matrix} <<>>= design.matrix <- model.matrix(~ sex*grade, data=tli[1:10,]) design.table <- xtable(design.matrix) @ <>= print(design.table,floating=FALSE) @ \subsection{aov} <<>>= fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data=tli) fm1.table <- xtable(fm1) @ <>= print(fm1.table,floating=FALSE) @ \subsection{lm} <<>>= fm2 <- lm(tlimth ~ sex*ethnicty, data=tli) fm2.table <- xtable(fm2) @ <>= print(fm2.table,floating=FALSE) @ \subsubsection{anova object} <>= print(xtable(anova(fm2)),floating=FALSE) @ \subsubsection{Another anova object} <<>>= fm2b <- lm(tlimth ~ ethnicty, data=tli) @ <>= print(xtable(anova(fm2b,fm2)),floating=FALSE) @ \subsection{glm} <<>>= ## Demonstrate glm fm3 <- glm(disadvg ~ ethnicty*grade, data=tli, family=binomial()) fm3.table <- xtable(fm3) @ <>= print(fm3.table,floating=FALSE) @ \subsubsection{anova object} @ <>= print(xtable(anova(fm3)),floating=FALSE) @ \subsection{More aov} <<>>= ## Demonstrate aov ## Taken from help(aov) in R 1.1.1 ## From Venables and Ripley (1997) p.210. N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0) P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0) K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0) yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5,55.0, 62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0) npk <- data.frame(block=gl(6,4), N=factor(N), P=factor(P), K=factor(K), yield=yield) npk.aov <- aov(yield ~ block + N*P*K, npk) op <- options(contrasts=c("contr.helmert", "contr.treatment")) npk.aovE <- aov(yield ~ N*P*K + Error(block), npk) options(op) #summary(npk.aov) @ <>= print(xtable(npk.aov),floating=FALSE) @ \subsubsection{anova object} <>= print(xtable(anova(npk.aov)),floating=FALSE) @ \subsubsection{Another anova object} <>= print(xtable(summary(npk.aov)),floating=FALSE) @ <<>>= #summary(npk.aovE) @ <>= print(xtable(npk.aovE),floating=FALSE) @ <>= print(xtable(summary(npk.aovE)),floating=FALSE) @ \subsection{More lm} <<>>= ## Demonstrate lm ## Taken from help(lm) in R 1.1.1 ## Annette Dobson (1990) "An Introduction to Generalized Linear Models". ## Page 9: Plant Weight Data. ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2,10,20, labels=c("Ctl","Trt")) weight <- c(ctl, trt) lm.D9 <- lm(weight ~ group) @ <>= print(xtable(lm.D9),floating=FALSE) @ <>= print(xtable(anova(lm.D9)),floating=FALSE) @ \subsection{More glm} <<>>= ## Demonstrate glm ## Taken from help(glm) in R 1.1.1 ## Annette Dobson (1990) "An Introduction to Generalized Linear Models". ## Page 93: Randomized Controlled Trial : counts <- c(18,17,15,20,10,20,25,13,12) outcome <- gl(3,1,9) treatment <- gl(3,3) d.AD <- data.frame(treatment, outcome, counts) glm.D93 <- glm(counts ~ outcome + treatment, family=poisson()) @ <>= print(xtable(glm.D93,align="r|llrc"),floating=FALSE) @ \subsection{prcomp} <>= if(require(stats,quietly=TRUE)) { ## Demonstrate prcomp ## Taken from help(prcomp) in mva package of R 1.1.1 data(USArrests) pr1 <- prcomp(USArrests) } @ <>= if(require(stats,quietly=TRUE)) { print(xtable(pr1),floating=FALSE) } @ @ <>= print(xtable(summary(pr1)),floating=FALSE) @ <<>>= # ## Demonstrate princomp # ## Taken from help(princomp) in mva package of R 1.1.1 # pr2 <- princomp(USArrests) # print(xtable(pr2)) @ \subsection{Time series} <<>>= temp.ts <- ts(cumsum(1+round(rnorm(100), 0)), start = c(1954, 7), frequency=12) temp.table <- xtable(temp.ts,digits=0) caption(temp.table) <- "Time series example" @ <>= print(temp.table,floating=FALSE) @ <>= if (FALSE) { for(i in c("latex","html")) { outFileName <- paste("xtable.",ifelse(i=="latex","tex",i),sep="") print(xtable(lm.D9),type=i,file=outFileName,append=TRUE,latex.environments=NULL) print(xtable(lm.D9),type=i,file=outFileName,append=TRUE,latex.environments="") print(xtable(lm.D9),type=i,file=outFileName,append=TRUE,latex.environments="center") print(xtable(anova(glm.D93,test="Chisq")),type=i,file=outFileName,append=TRUE) print(xtable(anova(glm.D93)),hline.after=c(1),size="small",type=i,file=outFileName,append=TRUE) # print(xtable(pr2),type=i,file=outFileName,append=TRUE) } } @ \section{Sanitization} <<>>= insane <- data.frame(Name=c("Ampersand","Greater than","Less than","Underscore","Per cent","Dollar","Backslash","Hash", "Caret", "Tilde","Left brace","Right brace"), Character = I(c("&",">", "<", "_", "%", "$", "\\", "#", "^", "~","{","}"))) colnames(insane)[2] <- paste(insane[,2],collapse="") @ <>= print( xtable(insane)) @ Sometimes you might want to have your own sanitization function <<>>= wanttex <- xtable(data.frame( label=paste("Value_is $10^{-",1:3,"}$",sep=""))) @ <>= print(wanttex,sanitize.text.function=function(str)gsub("_","\\_",str,fixed=TRUE)) @ \subsection{Markup in tables} Markup can be kept in tables, including column and row names, by using a custom sanitize.text.function: <<>>= mat <- round(matrix(c(0.9, 0.89, 200, 0.045, 2.0), c(1, 5)), 4) rownames(mat) <- "$y_{t-1}$" colnames(mat) <- c("$R^2$", "$\\bar{R}^2$", "F-stat", "S.E.E", "DW") mat <- xtable(mat) @ <>= print(mat, sanitize.text.function = function(x){x}) @ % By David Dahl to demonstrate contribution from David Whitting, 2007-10-09. You can also have sanitize functions that are specific to column or row names. In the table below, the row name is not sanitized but column names and table elements are: <<>>= money <- matrix(c("$1,000","$900","$100"),ncol=3,dimnames=list("$\\alpha$",c("Income (US$)","Expenses (US$)","Profit (US$)"))) @ <>= print(xtable(money),sanitize.rownames.function=function(x) {x}) @ \section{Format examples} \subsection{Adding a centering environment } <>= print(xtable(lm.D9,caption="\\tt latex.environments=NULL"),latex.environments=NULL) print(xtable(lm.D9,caption="\\tt latex.environments=\"\""),latex.environments="") print(xtable(lm.D9,caption="\\tt latex.environments=\"center\""),latex.environments="center") @ \subsection{Column alignment} <<>>= tli.table <- xtable(tli[1:10,]) @ <<>>= align(tli.table) <- rep("r",6) @ <>= print(tli.table,floating=FALSE) @ \subsubsection{Single string and column lines} <<>>= align(tli.table) <- "|rrl|l|lr|" @ <>= print(tli.table,floating=FALSE) @ \subsubsection{Fixed width columns} <<>>= align(tli.table) <- "|rr|lp{3cm}l|r|" @ <>= print(tli.table,floating=FALSE) @ \subsection{Significant digits} Specify with a single argument <<>>= digits(tli.table) <- 3 @ <>= print(tli.table,floating=FALSE,) @ or one for each column, counting the row names <<>>= digits(tli.table) <- 1:(ncol(tli)+1) @ <>= print(tli.table,floating=FALSE,) @ or as a full matrix <<>>= digits(tli.table) <- matrix( 0:4, nrow = 10, ncol = ncol(tli)+1 ) @ <>= print(tli.table,floating=FALSE,) @ \subsection{Suppress row names} <>= print((tli.table),include.rownames=FALSE,floating=FALSE) @ If you want a vertical line on the left, you need to change the align attribute. <<>>= align(tli.table) <- "|r|r|lp{3cm}l|r|" @ <>= print((tli.table),include.rownames=FALSE,floating=FALSE) @ Revert the alignment to what is was before. <<>>= align(tli.table) <- "|rr|lp{3cm}l|r|" @ \subsection{Suppress column names} <>= print((tli.table),include.colnames=FALSE,floating=FALSE) @ \\ Note the doubled header lines which can be suppressed with, eg, <>= print(tli.table,include.colnames=FALSE,floating=FALSE,hline.after=c(0,nrow(tli.table))) @ \subsection{Suppress row and column names} <>= print((tli.table),include.colnames=FALSE,include.rownames=FALSE,floating=FALSE) @ \subsection{Rotate row and column names} The {\tt rotate.rownames } and {\tt rotate.colnames} arguments can be used to rotate the row and/or column names. <>= print((tli.table),rotate.rownames=TRUE,rotate.colnames=TRUE) @ \subsection{Horizontal lines} \subsubsection{Line locations} Use the {\tt hline.after} argument to specify the position of the horizontal lines. <>= print(xtable(anova(glm.D93)),hline.after=c(1),floating=FALSE) @ \subsubsection{Line styles} The \LaTeX package {\tt booktabs} can be used to specify different line style tags for top, middle, and bottom lines. Specifying {\tt booktabs = TRUE} will lead to separate tags being generated for the three line types. Insert \verb|\usepackage{booktabs}| in your \LaTeX preamble and define the {\tt toprule}, {\tt midrule}, and {\tt bottomrule} tags to specify the line styles. By default, when no value is given for \texttt{hline.after}, a \texttt{toprule} will be drawn above the table, a \texttt{midrule} after the table headings and a \texttt{bottomrule} below the table. The width of the top and bottom rules can be set by supplying a value to \verb+\heavyrulewidth+. The width of the midrules can be set by supplying a value to \verb+\lightrulewidth+. The following tables have \verb+\heavyrulewidth = 2pt+ and \verb+\lightrulewidth = 0.5pt+, to ensure the difference in weight is noticeable. There is no support for \verb+\cmidrule+ or \verb+\specialrule+ although they are part of the \texttt{booktabs} package. \heavyrulewidth = 2pt \lightrulewidth = 0.5pt <>= print(tli.table, booktabs=TRUE, floating = FALSE) @ \vspace{12pt} If \texttt{hline.after} includes $-1$, a \texttt{toprule} will be drawn above the table. If \texttt{hline.after} includes the number of rows in the table, a \texttt{bottomrule} will be drawn below the table. For any other values specified in \texttt{hline.after}, a \texttt{midrule} will be drawn after that line of the table. The next table has more than one \texttt{midrule}. <<>>= bktbs <- xtable(matrix(1:10, ncol = 2)) hlines <- c(-1,0,1,nrow(bktbs)) @ This command produces the required table. <>= print(bktbs, booktabs = TRUE, hline.after = hlines, floating = FALSE) @ \subsection{Table-level \LaTeX} <>= print(xtable(anova(glm.D93)),size="small",floating=FALSE) @ \subsection{Long tables} Remember to insert \verb|\usepackage{longtable}| in your \LaTeX preamble. <>= ## Demonstration of longtable support. x <- matrix(rnorm(1000), ncol = 10) x.big <- xtable(x,label='tabbig', caption='Example of longtable spanning several pages') @ <>= print(x.big,tabular.environment='longtable',floating=FALSE) @ %% %% The column name alignment is off in the following example. %% It needs some revision before exposing it. - CR, 7/2/2012 %% % %\subsubsection{Long tables with the header on each page} % %The {\tt add.to.row} argument can be used to display the header %for a long table on each page, and to add a "continued" footer %on all pages except the last page. % %<>= %library(xtable) %x<-matrix(rnorm(1000), ncol = 10) %addtorow<-list() %addtorow$pos<-list() %addtorow$pos[[1]]<-c(0) %addtorow$command<-c(paste( % "\\hline \n", % " \\endhead \n", % " \\hline \n", % " {\\footnotesize Continued on next page} \n", % " \\endfoot \n", % " \\endlastfoot \n",sep="")) %x.big2 <- xtable(x, label = "tabbig2", % caption = "Example of longtable with the header on each page") %print(x.big2, tabular.environment = "longtable", floating = FALSE, %include.rownames=FALSE, add.to.row=addtorow, hline.after=c(-1) ) %@ \subsection{Sideways tables} Remember to insert \verb|\usepackage{rotating}| in your LaTeX preamble. Sideways tables can't be forced in place with the `H' specifier, but you can use the \verb|\clearpage| command to get them fairly nearby. <<>>= x <- x[1:30,] x.small <- xtable(x,label='tabsmall',caption='A sideways table') @ <>= print(x.small,floating.environment='sidewaystable') @ \clearpage \subsection{Rescaled tables} Specify a {\tt scalebox} value to rescale the table. <<>>= x <- x[1:20,] x.rescale <- xtable(x,label='tabrescaled',caption='A rescaled table') @ <>= print(x.rescale, scalebox=0.7) @ \subsection{Table Width} The {\tt tabularx} tabular environment provides more alignment options, and has a {\tt width} argument to specify the table width. Remember to insert \verb|\usepackage{tabularx}| in your \LaTeX preamble. <<>>= df.width <- data.frame( "label 1 with much more text than is needed" = c("item 1", "A"), "label 2 is also very long" = c("item 2","B"), "label 3" = c("item 3","C"), "label 4" = c("item 4 but again with too much text","D"), check.names = FALSE) x.width <- xtable(df.width, caption="Using the 'tabularx' environment") align(x.width) <- "|l|X|X|l|X|" @ <>= print(x.width, tabular.environment="tabularx", width="\\textwidth") @ \section{Suppressing Printing} By default the {\tt print} method will print the LaTeX or HTML to standard output and also return the character strings invisibly. The printing to standard output can be suppressed by specifying {\tt print.results = FALSE}. <<>>= x.out <- print(tli.table, print.results = FALSE) @ Formatted output can also be captured without printing with the {\tt toLatex} method. This function returns an object of class {\tt "Latex"}. <<>>= x.ltx <- toLatex(tli.table) class(x.ltx) x.ltx @ \section{Acknowledgements} Most of the examples in this gallery are taken from the {\tt xtable} documentation. \section{R Session information} <>= toLatex(sessionInfo()) @ \end{document} xtable/vignettes/margintable.Rnw0000644000176000001440000000405412404422123016543 0ustar ripleyusers%\VignetteIndexEntry{xtable margintable} %\VignetteKeywords{LaTeX, HTML, table, margintable} \documentclass{tufte-handout} \title{ A Margin Table Example } \author{David J. Scott} \usepackage{Sweave} \SweaveOpts{prefix.string=figdir/fig,debug=TRUE,eps=FALSE,echo=TRUE} \usepackage{rotating} \usepackage{longtable} \usepackage{booktabs} \usepackage{tabularx} \usepackage{hyperref} \usepackage{fancyvrb} \fvset{fontsize=\normalsize} \begin{document} \section{The Example} \label{sec:example} This document uses the Tufte handout \LaTeX\ document style. This is specified by the use of the document class as \Verb|\documentclass{tufte-handout}|. The Tufte-\LaTeX\ document classes define a style similar to the style Edward Tufte uses in his books and handouts. Tufte's style is known for its extensive use of sidenotes, tight integration of graphics with text, and well-set typography. One of the most prominent and distinctive features of this style is the extensive use of sidenotes. There is a wide margin to provide ample room for sidenotes and small figures. Any \Verb|\footnote|s will automatically be converted to sidenotes. Here is an example of a margin table, suggested by Felix Sch\"onbrodt \Verb||. I am not sure about its usefullness in practice however. Note that \Verb|latex.environments = ""| avoids the default option of tables being centered, which in this example would lead to the caption not being directly under the table. Most importantly, \Verb|table.placement = NULL| is required to ensure that the default table placement options \Verb|[ht]| being inserted after \Verb|\begin{margintable}|. This is necessary because the margintable environment does not allow placement options like \Verb|[ht]|. <<>>= library(xtable) x <- matrix(rnorm(6), ncol = 2) x.small <- xtable(x, label = 'tabsmall', caption = 'A margin table') @ <>= print(x.small,floating.environment='margintable', latex.environments = "", table.placement = NULL) @ \end{document} xtable/MD50000644000176000001440000000255312404563514012102 0ustar ripleyusers2cb6fb8b229794a1f0b3f1942eda6442 *DESCRIPTION 3b1d8bb64a284192c3090723f3973fe8 *NAMESPACE 3cd1c6c94ca3385008051885faa0fae2 *NEWS 2925af763dc97f52e15cec58c3a37865 *R/print.xtable.R 224ad31199a69cbacb40593bc53670da *R/table.attributes.R a05e7179a5e51b4c0492dd92abd99cb5 *R/toLatex.R 063aca83ae13f85e93b597e932423cac *R/xtable.R e461015597c171b358138351ac872a08 *build/vignette.rds b9a39bb9d8c88fbe0d3540a6ce1b11d3 *data/tli.txt.gz 731fb95353666b59838b344a131a0c82 *inst/doc/margintable.R 97de7ed6dfb487dc4888355c2355b137 *inst/doc/margintable.Rnw 8f7529ffff1d2042e9d49727643d2bf4 *inst/doc/margintable.pdf 88743ea9b7c8694fffd72bc5eb88892b *inst/doc/xtableGallery.R 51086d16b8daed4035b9ee812f65471a *inst/doc/xtableGallery.pdf 844a22a4adf2b2eddfd81757ed45b552 *inst/doc/xtableGallery.snw 00c711d7e99853aab72f0c14bfb2c527 *man/print.xtable.Rd be0c2da0f5526de7a7bbaf045476255b *man/string.Rd 3558d3ec1913057bed0f7e50cb5f10ff *man/table.attributes.Rd 3c6841334d41dd4be535503ed29abd27 *man/tli.Rd 495dd6344cfa0335bb8018c094e081b3 *man/toLatex.Rd f643d895edf3b6d2bdba5111486b0f53 *man/xtable.Rd 596b4f4f3c425330eb54998231aca58b *tests/test.margintable.R 12b35182cb70b6f47d262213b7e1b342 *tests/test.xtable.R 3089b65c174191d5245050a760a86746 *tests/test.xtable.data.frame.R 97de7ed6dfb487dc4888355c2355b137 *vignettes/margintable.Rnw 844a22a4adf2b2eddfd81757ed45b552 *vignettes/xtableGallery.snw xtable/build/0000755000176000001440000000000012404422130012650 5ustar ripleyusersxtable/build/vignette.rds0000644000176000001440000000037312404422130015212 0ustar ripleyusersO @]]2}_T⃯[!*Xo}y6l^9s6!D'TӈNK,8Ӛ7ɅspK gY$f yShQ_y0W o).(4^VSީ2P5wcwRho7l/46 Lمg’UI28zX{K~i!o j@\ WşpeNtJX&'?Txtable/DESCRIPTION0000644000176000001440000000065712404563514013303 0ustar ripleyusersPackage: xtable Version: 1.7-4 Date: 2014/08/17 Title: Export tables to LaTeX or HTML Author: David B. Dahl Maintainer: David Scott Description: Coerce data to LaTeX and HTML tables URL: http://xtable.r-forge.r-project.org/ Depends: R (>= 2.10.0) License: GPL (>= 2) Repository: CRAN Packaged: 2014-09-11 22:38:16 UTC; dsco036 NeedsCompilation: no Date/Publication: 2014-09-12 14:30:04 xtable/man/0000755000176000001440000000000012404422123012326 5ustar ripleyusersxtable/man/tli.Rd0000644000176000001440000000136512404422123013412 0ustar ripleyusers\name{tli} \alias{tli} \title{Math scores from Texas Assessment of Academic Skills (TAAS)} \description{ This data set contains math scores and demographic data of 100 randomly selected students participating in the Texas Assessment of Academic Skills (TAAS). } \usage{data(tli)} \format{A data.frame containing 100 observations with the following columns: \describe{ \item{\code{grade}}{Year in school of student} \item{\code{sex}}{Gender of student} \item{\code{disadvg}}{Is the student economically disadvantaged?} \item{\code{ethnicty}}{Race of student} \item{\code{tlimth}}{Math score of student} } } \source{Texas Education Agency, \url{http://www.tea.state.tx.us}} \keyword{datasets} xtable/man/print.xtable.Rd0000644000176000001440000003110112404422123015223 0ustar ripleyusers\name{print.xtable} \alias{print.xtable} \title{Print Export Tables} \description{ Function returning and displaying or writing to disk the LaTeX or HTML code associated with the supplied object of class \code{xtable}. } \usage{ \method{print}{xtable}(x, type = getOption("xtable.type", "latex"), file = getOption("xtable.file", ""), append = getOption("xtable.append", FALSE), floating = getOption("xtable.floating", TRUE), floating.environment = getOption("xtable.floating.environment", "table"), table.placement = getOption("xtable.table.placement", "ht"), caption.placement = getOption("xtable.caption.placement", "bottom"), caption.width = getOption("xtable.caption.width", NULL), latex.environments = getOption("xtable.latex.environments", c("center")), tabular.environment = getOption("xtable.tabular.environment", "tabular"), size = getOption("xtable.size", NULL), hline.after = getOption("xtable.hline.after", c(-1,0,nrow(x))), NA.string = getOption("xtable.NA.string", ""), include.rownames = getOption("xtable.include.rownames", TRUE), include.colnames = getOption("xtable.include.colnames", TRUE), only.contents = getOption("xtable.only.contents", FALSE), add.to.row = getOption("xtable.add.to.row", NULL), sanitize.text.function = getOption("xtable.sanitize.text.function", NULL), sanitize.rownames.function = getOption("xtable.sanitize.rownames.function", sanitize.text.function), sanitize.colnames.function = getOption("xtable.sanitize.colnames.function", sanitize.text.function), math.style.negative = getOption("xtable.math.style.negative", FALSE), html.table.attributes = getOption("xtable.html.table.attributes", "border=1"), print.results = getOption("xtable.print.results", TRUE), format.args = getOption("xtable.format.args", NULL), rotate.rownames = getOption("xtable.rotate.rownames", FALSE), rotate.colnames = getOption("xtable.rotate.colnames", FALSE), booktabs = getOption("xtable.booktabs", FALSE), scalebox = getOption("xtable.scalebox", NULL), width = getOption("xtable.width", NULL), comment = getOption("xtable.comment", TRUE), timestamp = getOption("xtable.timestamp", date()), ...)} \arguments{ \item{x}{An object of class \code{"xtable"}.} \item{type}{Type of table to produce. Possible values for \code{type} are \code{"latex"} or \code{"html"}. Default value is \code{"latex"}.} \item{file}{Name of file where the resulting code should be saved. If \code{file=""}, output is displayed on screen. Note that the function also (invisibly) returns a character vector of the results (which can be helpful for post-processing). Default value is \code{""}.} \item{append}{If \code{TRUE} and \code{file!=""}, code will be appended to \code{file} instead of overwriting \code{file}. Default value is \code{FALSE}.} \item{floating}{If \code{TRUE} and \code{type="latex"}, the resulting table will be a floating table (using, for example, \code{\\begin\{table\}} and \code{\\end\{table\}}). See \code{floating.environment} below. Default value is \code{TRUE}. } \item{floating.environment}{If \code{floating=TRUE} and \code{type="latex"}, the resulting table uses the specified floating environment. Possible values include \code{"table"}, \code{"table*"}, and other floating environments defined in LaTeX packages. Default value is \code{"table"}.} \item{table.placement}{If \code{floating=TRUE} and \code{type="latex"}, the floating table will have placement given by \code{table.placement} where \code{table.placement} must be \code{NULL} or contain only elements of \{"h","t","b","p","!","H"\}. Default value is \code{"ht"}.} \item{caption.placement}{The caption will be have placed at the bottom of the table if \code{caption.placement} is \code{"bottom"} and at the top of the table if it equals \code{"top"}. Default value is \code{"bottom"}.} \item{caption.width}{The caption will be placed in a \code{"parbox"} of the specified width if \code{caption.width} is not \code{NULL} and \code{type="latex"}. Default value is \code{NULL}.} \item{latex.environments}{If \code{floating=TRUE} and \code{type="latex"}, the specificed latex environments (provided as a character vector) will enclose the tabular environment. Default value is \code{"center"}. } \item{tabular.environment}{When \code{type="latex"}, the tabular environment that will be used. Defaults to \code{"tabular"}. When working with tables that extend more than one page, using \code{tabular.environment="longtable"} and the LaTeX package \code{"longtable"} (see Fairbairns, 2005) allows one to typeset them uniformly. Note that \code{"floating"} should be set to \code{"FALSE"} when using the \code{"longtable"} environment.} \item{size}{An arbitrary character vector intended to be used to set the font size in a LaTeX table. The supplied value (if not \code{NULL}) is inserted just before the tabular environment starts. Default value is \code{NULL}. } \item{hline.after}{When \code{type="latex"}, a vector of numbers between -1 and \code{"nrow(x)"}, inclusive, indicating the rows after which a horizontal line should appear. If \code{NULL} is used no lines are produced. Default value is \code{c(-1,0,nrow(x))} which means draw a line before and after the columns names and at the end of the table. Repeated values are allowed.} \item{NA.string}{String to be used for missing values in table entries. Default value is \code{""}.} \item{include.rownames}{logical. If \code{TRUE} the rows names is printed. Default value is \code{TRUE}.} \item{include.colnames}{logical. If \code{TRUE} the columns names is printed. Default value is \code{TRUE}.} \item{only.contents}{logical. If \code{TRUE} only the rows of the table is printed. Default value is \code{FALSE}. } \item{add.to.row}{a list of two components. The first component (which should be called 'pos') is a list contains the position of rows on which extra commands should be added at the end, The second component (which should be called 'command') is a character vector of the same length of the first component which contains the command that should be added at the end of the specified rows. Default value is \code{NULL}, i.e. do not add commands.} \item{sanitize.text.function}{All non-numeric enteries (except row and column names) are sanitised in an attempt to remove characters which have special meaning for the output format. If \code{sanitize.text.function} is not NULL (the default), it should be a function taking a character vector and returning one, and will be used for the sanitization instead of the default internal function.} \item{sanitize.rownames.function}{Like the \code{sanitize.text.function}, but applicable to row names. The default uses the \code{sanitize.text.function}. } \item{sanitize.colnames.function}{Like the \code{sanitize.text.function}, but applicable to column names. The default uses the \code{sanitize.text.function}. } \item{math.style.negative}{In a LaTeX table, if \code{TRUE}, then use $-$ for the negative sign (as was the behavior prior to version 1.5-3). Default value is \code{FALSE}.} \item{html.table.attributes}{In an HTML table, attributes associated with the \code{}tag. Default value is \code{border=1}.} \item{print.results}{If \code{TRUE}, the generated table is printed to standard output. Set this to \code{FALSE} if you will just be using the character vector that is returned invisibly.} \item{format.args}{List of arguments for the \code{formatC} function. For example, standard German number separators can be specified as \code{format.args=list(big.mark = "'", decimal.mark = ","))}. \code{digits} and \code{format} arguments should not be included in this list. See details. } \item{rotate.rownames}{If \code{TRUE}, the row names are displayed vertically in LaTeX. } \item{rotate.colnames}{If \code{TRUE}, the column names are displayed vertically in LaTeX. } \item{booktabs}{If \code{TRUE}, the \code{toprule}, \code{midrule} and \code{bottomrule} tags from the LaTex "booktabs" package are used rather than \code{hline} for the horizontal line tags. } \item{scalebox}{If not \code{NULL}, a \code{scalebox} clause will be added around the tabular environment with the specified value used as the scaling factor. } \item{width}{If not \code{NULL}, the specified value is included in parenthesis between the tabular environment \code{begin} tag and the alignment specification. This allows specification of the table width when using tabular environments such as \code{tabular*} and \code{tabularx}. Note that table width specification is not supported with the \code{tabular} or \code{longtable} environments. } \item{comment}{If \code{TRUE}, the version and timestamp comment is included. Default value is \code{TRUE}. } \item{timestamp}{Timestamp to include in LaTeX comment. Set this to \code{NULL} to exclude the timestamp. Default value is \code{date()}. } \item{...}{Additional arguments. (Currently ignored.) } } \details{ This function displays or writes to disk the code to produce a table associated with an object \code{x} of class \code{"xtable"}. The resulting code is either a LaTeX or HTML table, depending on the value of \code{type}. The function also (invisibly) returns a character vector of the results (which can be helpful for post-processing). Since version 1.4 the non default behavior of \code{hline.after} is changed. To obtain the same results as the previous versions add to the \code{hline.after} vector the vector \code{c(-1, 0, nrow(x))} where \code{nrow(x)} is the numbers of rows of the object. From version 1.4-3, all non-numeric columns are sanitized, and all LaTeX special characters are sanitised for LaTeX output. See Section 3 of the \code{xtableGallery} vignette for an example of customising the sanitization. From version 1.4-4, the sanitization also applies to column names. To remove any text sanitization, specify \code{sanitize.text.function=function(x){x}}. From version 1.6-1 the default values for the arguments other than \code{x} are obtainined using \code{getOption()}. Hence the user can set the values once with \code{options()} rather than setting them in every call to \code{print.xtable()}. The argument \code{format.args} is used to supply arguments to the \code{formatC} function, but will throw an error if values for \code{digits} or \code{format} are included in the list of arguments. The recommended approach is to specify \code{digits} supply the argument \code{digits} to \code{xtable}, and to specify \code{format} supply the argument \code{display} to \code{xtable}. See the examples. } \author{ David Dahl \email{dahl@stat.byu.edu} with contributions and suggestions from many others (see source code). } \references{ Fairbairns, Robin (2005) \emph{Tables longer than a single page} The UK List of TeX Frequently Asked Questions on the Web. \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=longtab} } \seealso{ \code{\link{xtable}}, \code{\link{caption}}, \code{\link{label}}, \code{\link{align}}, \code{\link{digits}}, \code{\link{display}}, \code{\link{formatC}} } \examples{ df <- data.frame(A = c(1.00123, 33.1, 6), B = c(111111, 3333333, 3123.233)) ## The following code gives the error ## formal argument "digits" matched by multiple actual arguments ## print(xtable(df, display = c("s","e","e")), ## format.args = list(digits = 3, big.mark = " ", decimal.mark = ",")) ## specify digits as argument to xtable instead print(xtable(df, display = c("s","f","f"), digits = 4), format.args = list(big.mark = " ", decimal.mark = ",")) ## The following code gives the error ## formal argument "format" matched by multiple actual arguments ## print(xtable(df, digits = 4), ## format.args = list(format = c("s","e","e"), ## big.mark = " ", decimal.mark = ",")) ## specify format using display argument in xtable print(xtable(df, display = c("s","e","e"), digits = 4), format.args = list(big.mark = " ", decimal.mark = ",")) } \keyword{print} xtable/man/string.Rd0000644000176000001440000000172412404422123014127 0ustar ripleyusers\name{string} \alias{string} \alias{print.string} \alias{is.string} \alias{as.string} \alias{+.string} \title{String handling functions} \description{Private functions for conveniently working with strings.} \usage{ string(text,file="",append=FALSE) \method{print}{string}(x,...) \method{+}{string}(x,y) as.string(x,file="",append=FALSE) is.string(x) } \arguments{ \item{text}{A character object.} \item{file}{Name of the file that should receive the printed string.} \item{append}{Should the printed string be appended to the file?} \item{x}{A \code{string} object.} \item{y}{A \code{string} object.} \item{...}{Additional arguments. (Currently ignored.)} } \details{ These functions are private functions used by \code{print.xtable}. They are not intended to be used elsewhere. } \author{David Dahl \email{dahl@stat.byu.edu} with contributions and suggestions from many others (see source code).} \seealso{\code{\link{print.xtable}}} \keyword{print} xtable/man/table.attributes.Rd0000644000176000001440000000245412404422123016076 0ustar ripleyusers\name{table.attributes} \alias{caption} \alias{caption.xtable} \alias{caption<-} \alias{caption<-.xtable} \alias{label} \alias{label.xtable} \alias{label<-} \alias{label<-.xtable} \alias{align} \alias{align.xtable} \alias{align<-} \alias{align<-.xtable} \alias{digits} \alias{digits.xtable} \alias{digits<-} \alias{digits<-.xtable} \alias{display} \alias{display.xtable} \alias{display<-} \alias{display<-.xtable} \title{Retrieve and Set Options for Export Tables} \description{Functions retrieving or setting table attributes for the supplied object of class \code{"xtable"}.} \usage{ caption(x,...) caption(x) <- value label(x,...) label(x) <- value align(x,...) align(x) <- value digits(x,...) digits(x) <- value display(x,...) display(x) <- value } \arguments{ \item{x}{An \code{"xtable"} object.} \item{value}{The value of the corresponding attribute.} \item{...}{Additional arguments. (Currently ignored.)} } \details{ These functions retrieve or set table attributes of the object \code{x} of class \code{"xtable"}. See \code{xtable} for a description of the options. } \author{David Dahl \email{dahl@stat.byu.edu} with contributions and suggestions from many others (see source code).} \seealso{\code{\link{xtable}}, \code{\link{print.xtable}}, \code{\link{formatC}}} \keyword{print} xtable/man/xtable.Rd0000644000176000001440000003727312404422123014110 0ustar ripleyusers\name{xtable} \alias{xtable} \alias{xtable.anova} \alias{xtable.aov} \alias{xtable.aovlist} \alias{xtable.data.frame} \alias{xtable.glm} \alias{xtable.lm} \alias{xtable.matrix} \alias{xtable.prcomp} \alias{xtable.coxph} \alias{xtable.summary.aov} \alias{xtable.summary.aovlist} \alias{xtable.summary.glm} \alias{xtable.summary.lm} \alias{xtable.summary.prcomp} \alias{xtable.ts} \alias{xtable.table} \alias{xtable.zoo} \title{Create Export Tables} \description{ Function converting an R object to an \code{xtable} object, which can then be printed as a LaTeX or HTML table. } \usage{ xtable(x, caption = NULL, label = NULL, align = NULL, digits = NULL, display = NULL, ...) } \arguments{ \item{x}{An R object of class found among \code{methods(xtable)}. See below on how to write additional method functions for \code{xtable}.} \item{caption}{Character vector of length 1 or 2 containing the table's caption or title. If length 2, the second item is the "short caption" used when LaTeX generates a "List of Tables". Set to \code{NULL} to suppress the caption. Default value is \code{NULL}. } \item{label}{Character vector of length 1 containing the LaTeX label or HTML anchor. Set to \code{NULL} to suppress the label. Default value is \code{NULL}. } \item{align}{Character vector of length equal to the number of columns of the resulting table indicating the alignment of the corresponding columns. Also, \code{"|"} may be used to produce vertical lines between columns in LaTeX tables, but these are effectively ignored when considering the required length of the supplied vector. If a character vector of length one is supplied, it is split as \code{strsplit(align, "")[[1]]} before processing. Since the row names are printed in the first column, the length of \code{align} is one greater than \code{ncol(x)} if \code{x} is a \code{data.frame}. Use \code{"l"}, \code{"r"}, and \code{"c"} to denote left, right, and center alignment, respectively. Use \code{"p\{3cm\}"} etc for a LaTeX column of the specified width. For HTML output the \code{"p"} alignment is interpreted as \code{"l"}, ignoring the width request. Default depends on the class of \code{x}. } \item{digits}{ Numeric vector of length equal to one (in which case it will be replicated as necessary) or to the number of columns of the resulting table \bold{or} matrix of the same size as the resulting table indicating the number of digits to display in the corresponding columns. Since the row names are printed in the first column, the length of the vector \code{digits} or the number of columns of the matrix \code{digits} is one greater than \code{ncol(x)} if \code{x} is a \code{data.frame}. Default depends of class of \code{x}. If values of \code{digits} are negative, the corresponding values of \code{x} are displayed in scientific format with \code{abs(digits)} digits.} \item{display}{ Character vector of length equal to the number of columns of the resulting table indicating the format for the corresponding columns. Since the row names are printed in the first column, the length of \code{display} is one greater than \code{ncol(x)} if \code{x} is a \code{data.frame}. These values are passed to the \code{formatC} function. Use \code{"d"} (for integers), \code{"f"}, \code{"e"}, \code{"E"}, \code{"g"}, \code{"G"}, \code{"fg"} (for reals), or \code{"s"} (for strings). \code{"f"} gives numbers in the usual \code{xxx.xxx} format; \code{"e"} and \code{"E"} give \code{n.ddde+nn} or \code{n.dddE+nn} (scientific format); \code{"g"} and \code{"G"} put \code{x[i]} into scientific format only if it saves space to do so. \code{"fg"} uses fixed format as \code{"f"}, but \code{digits} as number of \emph{significant} digits. Note that this can lead to quite long result strings. Default depends on the class of \code{x}.} \item{...}{Additional arguments. (Currently ignored.)} } \details{ This function extracts tabular information from \code{x} and returns an object of class \code{"xtable"}. The nature of the table generated depends on the class of \code{x}. For example, \code{aov} objects produce ANOVA tables while \code{data.frame} objects produce a table of the entire data.frame. One can optionally provide a caption (called a title in HTML) or label (called an anchor in HTML), as well as formatting specifications. Default values for \code{align}, \code{digits}, and \code{display} are class dependent. The available method functions for \code{xtable} are given by \code{methods(xtable)}. Users can extend the list of available classes by writing methods for the generic function \code{xtable}. These methods functions should have \code{x} as their first argument with additional arguments to specify \code{caption}, \code{label}, \code{align}, \code{digits}, and \code{display}. Optionally, other arguments may be present to specify how the object \code{x} should be manipulated. All method functions should return an object whose class if given by \code{c("xtable","data.frame")}. The resulting object can have attributes \code{caption} and \code{label}, but must have attributes \code{align}, \code{digits}, and \code{display}. It is strongly recommened that you set these attributes through the provided replacement functions as they perform validity checks. } \value{An object of class \code{"xtable"} which inherits the \code{data.frame} class and contains several additional attributes specifying the table formatting options. } \author{David Dahl \email{dahl@stat.byu.edu} with contributions and suggestions from many others (see source code). } \seealso{\code{\link{print.xtable}}, \code{\link{caption}}, \code{\link{label}}, \code{\link{align}}, \code{\link{digits}}, \code{\link{display}}, \code{\link{formatC}}, \code{\link{methods}} } \examples{ ## Load example dataset data(tli) ## Demonstrate data.frame tli.table <- xtable(tli[1:20, ]) digits(tli.table)[c(2, 6)] <- 0 print(tli.table) print(tli.table, type = "html") ## Demonstrate data.frame with different digits in cells tli.table <- xtable(tli[1:20, ]) digits(tli.table) <- matrix( 0:4, nrow = 20, ncol = ncol(tli)+1 ) print(tli.table) print(tli.table, type = "html") ## Demonstrate matrix design.matrix <- model.matrix(~ sex*grade, data = tli[1:20, ]) design.table <- xtable(design.matrix) print(design.table) print(design.table, type = "html") ## Demonstrate aov fm1 <- aov(tlimth ~ sex + ethnicty + grade + disadvg, data = tli) fm1.table <- xtable(fm1) print(fm1.table) print(fm1.table, type = "html") ## Demonstrate lm fm2 <- lm(tlimth ~ sex*ethnicty, data = tli) fm2.table <- xtable(fm2) print(fm2.table) print(fm2.table, type = "html") print(xtable(anova(fm2))) print(xtable(anova(fm2)), type = "html") fm2b <- lm(tlimth ~ ethnicty, data = tli) print(xtable(anova(fm2b, fm2))) print(xtable(anova(fm2b, fm2)), type = "html") ## Demonstrate glm fm3 <- glm(disadvg ~ ethnicty*grade, data = tli, family = binomial()) fm3.table <- xtable(fm3) print(fm3.table) print(fm3.table, type = "html") print(xtable(anova(fm3))) print(xtable(anova(fm3)), type = "html") ## Demonstrate aov ## Taken from help(aov) in R 1.1.1 ## From Venables and Ripley (1997) p.210. N <- c(0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,0,1,0,1,0,1,1,0,0) P <- c(1,1,0,0,0,1,0,1,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0) K <- c(1,0,0,1,0,1,1,0,0,1,0,1,0,1,1,0,0,0,1,1,1,0,1,0) yield <- c(49.5,62.8,46.8,57.0,59.8,58.5,55.5,56.0,62.8,55.8,69.5,55.0, 62.0,48.8,45.5,44.2,52.0,51.5,49.8,48.8,57.2,59.0,53.2,56.0) npk <- data.frame(block = gl(6,4), N = factor(N), P = factor(P), K = factor(K), yield = yield) npk.aov <- aov(yield ~ block + N*P*K, npk) op <- options(contrasts = c("contr.helmert", "contr.treatment")) npk.aovE <- aov(yield ~ N*P*K + Error(block), npk) options(op) summary(npk.aov) print(xtable(npk.aov)) print(xtable(anova(npk.aov))) print(xtable(summary(npk.aov))) summary(npk.aovE) print(xtable(npk.aovE), type = "html") print(xtable(summary(npk.aovE)), type = "html") ## Demonstrate lm ## Taken from help(lm) in R 1.1.1 ## Annette Dobson (1990) "An Introduction to Generalized Linear Models". ## Page 9: Plant Weight Data. ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14) trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69) group <- gl(2,10,20, labels = c("Ctl","Trt")) weight <- c(ctl, trt) lm.D9 <- lm(weight ~ group) print(xtable(lm.D9)) print(xtable(anova(lm.D9))) ## Demonstrate glm ## Taken from help(glm) in R 1.1.1 ## Annette Dobson (1990) "An Introduction to Generalized Linear Models". ## Page 93: Randomized Controlled Trial : counts <- c(18,17,15,20,10,20,25,13,12) outcome <- gl(3,1,9) treatment <- gl(3,3) d.AD <- data.frame(treatment, outcome, counts) glm.D93 <- glm(counts ~ outcome + treatment, family = poisson()) print(xtable(glm.D93, align = "r|llrc")) print(xtable(anova(glm.D93)), hline.after = c(1), size = "small") ## Demonstration of additional formatC() arguments. print(fm1.table, format.args = list(big.mark = "'", decimal.mark = ",")) ## Demonstration of "short caption" support. fm1sc <- aov(tlimth ~ sex + ethnicty + grade, data = tli) fm1sc.table <- xtable(fm1sc, caption = c("ANOVA Model with Predictors Sex, Ethnicity, and Grade", "ANOVA: Sex, Ethnicity, Grade")) print(fm1sc.table) ## Demonstration of longtable support. ## Remember to insert \usepackage{longtable} on your LaTeX preamble x <- matrix(rnorm(1000), ncol = 10) x.big <- xtable(x, label = 'tabbig', caption = 'Example of longtable spanning several pages') print(x.big, tabular.environment = 'longtable', floating = FALSE) x <- x[1:30, ] x.small <- xtable(x, label = 'tabsmall', caption = 'regular table env') print(x.small) # default, no longtable ## Demonstration of sidewaystable support. ## Remember to insert \usepackage{rotating} on your LaTeX preamble print(x.small, floating.environment = 'sidewaystable') if(require(stats, quietly = TRUE)) { ## Demonstrate prcomp ## Taken from help(prcomp) in mva package of R 1.1.1 data(USArrests) pr1 <- prcomp(USArrests) print(xtable(pr1)) print(xtable(summary(pr1))) # ## Demonstrate princomp # ## Taken from help(princomp) in mva package of R 1.1.1 # pr2 <- princomp(USArrests) # print(xtable(pr2)) } ## Demonstrate include.rownames, include.colnames, ## only.contents and add.to.row arguments set.seed(2345) res <- matrix(sample(0:9, size = 6*9, replace = TRUE), ncol = 6, nrow = 9) xres <- xtable(res) digits(xres) <- rep(0, 7) addtorow <- list() addtorow$pos <- list() addtorow$pos[[1]] <- c(0, 2) addtorow$pos[[2]] <- 4 addtorow$command <- c('\\vspace{2mm} \n', '\\vspace{10mm} \n') print(xres, add.to.row = addtorow, include.rownames = FALSE, include.colnames = TRUE, only.contents = TRUE, hline.after = c(0, 0, 9, 9)) ## Demonstrate include.rownames, include.colnames, ## only.contents and add.to.row arguments in Rweave files \dontrun{ \begin{small} \setlongtables % For longtable version 3.x or less \begin{longtable}{ <>= cat(paste(c('c', rep('cc', 34/2-1), 'c'), collapse = '@{\\hspace{2pt}}')) @ } \hline \endhead \hline \endfoot <>= library(xtable) set.seed(2345) res <- matrix(sample(0:9, size = 34*90, replace = TRUE), ncol = 34, nrow = 90) xres <- xtable(res) digits(xres) <- rep(0, 35) addtorow <- list() addtorow$pos <- list() addtorow$pos[[1]] <- c(seq(4, 40, 5), seq(49, 85, 5)) addtorow$pos[[2]] <- 45 addtorow$command <- c('\\vspace{2mm} \n', '\\newpage \n') print(xres, add.to.row = addtorow, include.rownames = FALSE, include.colnames = FALSE, only.contents = TRUE, hline.after = NULL) @ \end{longtable} \end{small} } ## Demonstrate sanitization mat <- round(matrix(c(0.9, 0.89, 200, 0.045, 2.0), c(1, 5)), 4) rownames(mat) <- "$y_{t-1}$" colnames(mat) <- c("$R^2$", "$\\\bar{R}^2$", "F-stat", "S.E.E", "DW") print(xtable(mat), type = "latex", sanitize.text.function = function(x){x}) ## Demonstrate booktabs print(tli.table) print(tli.table, hline.after = c(-1,0)) print(tli.table, hline.after = NULL) print(tli.table, add.to.row = list(pos = list(2), command = c("\\vspace{2mm} \n"))) print(tli.table, booktabs = TRUE) print(tli.table, booktabs = TRUE, hline.after = c(-1,0)) print(tli.table, booktabs = TRUE, hline.after = NULL) print(tli.table, booktabs = TRUE, add.to.row = list(pos = list(2), command = c("\\vspace{2mm} \n"))) print(tli.table, booktabs = TRUE, add.to.row = list(pos = list(2), command = c("youhou\n")), tabular.environment = "longtable") \testonly{ for(i in c("latex","html")) { outFileName <- paste("xtable.", ifelse(i=="latex", "tex", i), sep = "") print(tli.table, type = i, file = outFileName, append = FALSE) print(design.table, type = i, file = outFileName, append = TRUE) print(fm1.table, type = i, file = outFileName, append = TRUE) print(fm2.table, type = i, file = outFileName, append = TRUE) print(fm2.table, type = i, file = outFileName, append = TRUE, math.style.negative = TRUE) print(xtable(anova(fm2)), type = i, file = outFileName, append = TRUE) print(xtable(anova(fm2b, fm2)), type = i, file = outFileName, append = TRUE) print(fm3.table, type = i, file = outFileName, append = TRUE) print(xtable(anova(fm3)), type = i, file = outFileName, append = TRUE) print(xtable(npk.aov), type = i, file = outFileName, append = TRUE) print(xtable(anova(npk.aov)), type = i, file = outFileName, append = TRUE) print(xtable(summary(npk.aov)), type = i, file = outFileName, append = TRUE) print(xtable(npk.aovE), type = i, file = outFileName, append = TRUE) print(xtable(summary(npk.aovE)), type = i, file = outFileName, append = TRUE) if(i=="latex") cat("\\\clearpage\n", file = outFileName, append = TRUE) print(xtable(lm.D9), type = i, file = outFileName, append = TRUE, latex.environment = NULL) print(xtable(lm.D9), type = i, file = outFileName, append = TRUE, latex.environment = "") print(xtable(lm.D9), type = i, file = outFileName, append = TRUE, latex.environment = "center") print(xtable(anova(lm.D9)), type = i, file = outFileName, append = TRUE) print(xtable(glm.D93), type = i, file = outFileName, append = TRUE) print(xtable(anova(glm.D93, test = "Chisq")), type = i, file = outFileName, append = TRUE) print(xtable(glm.D93, align = "r|llrc"), include.rownames = FALSE, include.colnames = TRUE, type = i, file = outFileName, append = TRUE) print(xtable(glm.D93, align = "r||llrc"), include.rownames = TRUE, include.colnames = FALSE, type = i, file = outFileName, append = TRUE) print(xtable(glm.D93, align = "|r||llrc"), include.rownames = FALSE, include.colnames = FALSE, type = i, file = outFileName, append = TRUE) print(xtable(glm.D93, align = "|r||llrc|"), type = i, file = outFileName, append = TRUE) print(xtable(anova(glm.D93)), hline.after = c(1), size = "small", type = i, file = outFileName, append = TRUE) if(require(stats, quietly = TRUE)) { print(xtable(pr1), type = i, file = outFileName, append = TRUE) print(xtable(summary(pr1)), type = i, file = outFileName, append = TRUE) # print(xtable(pr2), type = i, file = outFileName, append = TRUE) } temp.table <- xtable(ts(cumsum(1+round(rnorm(100), 2)), start = c(1954, 7), frequency = 12)) caption(temp.table) <- "Time series example" print(temp.table, type = i, file = outFileName, append = TRUE, caption.placement = "top", table.placement = "h") print(temp.table, type = i, file = outFileName, append = TRUE, caption.placement = "bottom", table.placement = "htb") } } } \keyword{file} xtable/man/toLatex.Rd0000644000176000001440000000131612404422123014236 0ustar ripleyusers\name{toLatex.xtable} \alias{toLatex.xtable} \title{Convert Table to Latex} \description{ Function creating a LaTeX representation of an object of class \code{xtable}. } \usage{ \method{toLatex}{xtable}(object, ...) } \arguments{ \item{object}{An object of class \code{"xtable"}.} \item{...}{Other arguments to \code{print.xtable}.} } \details{ This function creates a LaTeX representation of an object of class \code{"xtable"}. This is a method for the generic \code{"toLatex"} in the core R package \code{"utils"}. } \author{ Charles Roosen \email{roosen@gmail.com} with contributions and suggestions from many others (see source code). } \seealso{\code{\link{print.xtable}}} \keyword{toLatex}