setRNG/0000755000176200001440000000000014222330702011407 5ustar liggesuserssetRNG/NAMESPACE0000644000176200001440000000021113775713554012646 0ustar liggesusersimportFrom("stats", "runif", "rnorm") export("setRNG") export("random.number.test") export("getRNG") S3method("getRNG","default") setRNG/LICENSE0000644000176200001440000000112113775713554012435 0ustar liggesusers Copyright 1993, 1994, 1995, 1996 Bank of Canada. Copyright 1997 (June), Paul Gilbert. Copyright 1997 (Aug.), Bank of Canada. Copyright 1998-2011 Bank of Canada. The user of this software has the right to use, reproduce and distribute it. Bank of Canada and Paul Gilbert make no warranties with respect to the software or its fitness for any particular purpose. The software is distributed by the Bank of Canada and by Paul Gilbert solely on an "as is" basis. By using the software, user agrees to accept the entire risk of using this software. setRNG/man/0000755000176200001440000000000013775713554012210 5ustar liggesuserssetRNG/man/getRNG.Rd0000644000176200001440000000212313775713554013623 0ustar liggesusers\name{getRNG} \alias{getRNG} \alias{getRNG.default} \title{get the RNG and seed from an object} \description{ Get the random number generator and seed used to generate an object. } \usage{ getRNG(e=NULL) \method{getRNG}{default}(e=NULL) } \arguments{ \item{e}{an object generated by simulation (which stored the RNG information).} } \value{The random seed and other random number generation information used to generate the object. } \details{Extract the RNG information used to generate the object. If \code{e} is \code{NULL} then \code{getRNG} returns the RNG setting, as returned by \code{setRNG()}. Otherwise, the default method assumes the object is a list and the RNG information is in the element \code{rng} or \code{noise\$rng}. } \seealso{ \code{\link{setRNG}}, \code{\link{.Random.seed}} } \examples{ \dontrun{ if (require("dse")) { data("eg1.DSE.data.diff", package="dse") model <- estVARXls(eg1.DSE.data.diff) sim <- simulate(model) getRNG(sim) } } } \keyword{ts} \keyword{programming} \keyword{utilities} setRNG/man/00.setRNG.Intro.Rd0000644000176200001440000000050113775713554015145 0ustar liggesusers\name{00.setRNG.Intro} \alias{00.setRNG.Intro} \docType{package} \title{setRNG} \description{Programs to set random number generator (and seed) in R and S.} \details{ See \code{\link{setRNG-package}} ( in the help system use package?setRNG or ?"setRNG-package") for an overview. } \keyword{package} setRNG/man/random.number.test.Rd0000644000176200001440000000174113775713554016227 0ustar liggesusers\name{random.number.test} \alias{random.number.test} \title{Test the random number generator} \description{Test the random number generator.} \usage{ random.number.test() } \arguments{None} \value{logical} \details{ This function checks that the RNG is working properly and has not been changed. If the RNG does not return values as in previous versions of R then the function executes \code{stop()}. Since changes to the RNG will cause comparisons of simulation results to fail, this is a useful check before investigating more complicated problems that may be a result of other "improvements" in your simulation or estimation programs. } \section{Side Effects}{Executes \code{stop()} if the tests fail.} \seealso{ \code{\link{set.seed}} \code{\link{RNGkind}} \code{\link{runif}} \code{\link{rnorm}} \code{\link{setRNG}} } \examples{ random.number.test() } \keyword{programming} \keyword{utilities} setRNG/man/setRNG-package.Rd0000644000176200001440000000431213775713554015232 0ustar liggesusers\name{setRNG-package} \alias{setRNG-package} \alias{setRNG.Intro} \docType{package} \title{setRNG} \section{Usage}{ library("setRNG") } \description{ Programs to set random number generator (and seed) in R and S.} \section{Introduction}{ This library provides tools to simplify recording and resetting the random number generator, to help make monte carlo experiments easily reproducible. It uses the R/S tools for setting the seed, but also records and sets the mechanism for converting uniform numbers to normally distributed numbers. (It could be extended to other transformations, but I have not done that.) The setRNG function would typically be called by simulation programs (see example) to set the RNG information if given, and record the RNG information in all cases. This information can be returned with the result of the simulation. That way the simulation can always be reproduced if necessary. The library also implements an approach to random number generation which allows the same random experiments to be replicated in S and R. The functions in the S/ directory allow the R results using Wichmann-Hill and Box-Muller to be replicated in S. These were done with the aid of an example from B. D. Ripley. (The files in the S/ directory of the package are for use with S not R.) These functions are intended primarily as a way to confirm that simulations and estimations with simulated data work in the same way in both S and R, not as an improved RNG. (It has only been tested in Splus 3.3) Default and other RNGs can still be used and are preferred for both speed and theoretical reasons. } \examples{ setRNG(kind="Wichmann-Hill", seed=c(979,1479,1542), normal.kind="Box-Muller") rnorm(10) sim <-function(rng=NULL) {if(!require("setRNG")) stop("This function requires the setRNG package.") if(is.null(rng)) rng <- setRNG() # returns setting so don't skip if NULL else {old.rng <- setRNG(rng); on.exit(setRNG(old.rng)) } x <- list(numbers=rnorm(10)) x$rng <- rng x } z <- sim() sim()$numbers sim(rng=getRNG(z))$numbers z$numbers } \keyword{programming} \keyword{interface} \keyword{utilities} \keyword{distribution} setRNG/man/setRNG.Rd0000644000176200001440000000310513775713554013640 0ustar liggesusers\name{setRNG} \alias{setRNG} \title{Set the Random Number Generator} \description{Set the RNG or return information about the setting of the RNG.} \usage{ setRNG(kind=NULL, seed=NULL, normal.kind=NULL) } \arguments{None required \item{kind}{a character string.} \item{seed}{a vector of numbers (depending on kind).} \item{normal.kind}{a character string.} } \value{The old setting.} \details{ Sets the uniform and normal random number generators and the seed. The old setting is returned using \code{invisible()} in a format which can be used in another call to \code{setRNG}. (This would reset to the original value.) If no arguments are given the current setting is returned, not using \code{invisible()}. In R see \code{RNGkind} for more details. Note that in a function using \code{setRNG} it is good practice to assign the old setting to a variable, then reset to the old value on exiting the function (using \code{on.exit}). This avoids the possibility that overall RNG behaviour in a session, other than within your function, may be disrupted by your function. } \section{Side Effects}{Sets global variables controlling the uniform and normal random number generators and the global seed.} \seealso{ \code{\link{RNGkind}}, \code{\link{set.seed}}, \code{\link{runif}}, \code{\link{rnorm}}, \code{\link{random.number.test}} } \examples{ setRNG(kind="Wichmann-Hill", seed=c(979,1479,1542), normal.kind="Box-Muller") rnorm(10) } \keyword{programming} \keyword{utilities} setRNG/DESCRIPTION0000644000176200001440000000143614222330702013121 0ustar liggesusersPackage: setRNG Version: 2022.4-1 Title: Set (Normal) Random Number Generator and Seed Description: Provides utilities to help set and record the setting of the seed and the uniform and normal generators used when a random experiment is run. The utilities can be used in other functions that do random experiments to simplify recording and/or setting all the necessary information for reproducibility. See the vignette and reference manual for examples. Depends: R (>= 2.5.0) Imports: stats LazyLoad: yes License: GPL-2 | file LICENSE Author: Paul Gilbert Maintainer: Paul Gilbert URL: http://distr.r-forge.r-project.org/ NeedsCompilation: no Packaged: 2022-04-03 02:56:12 UTC; paul Repository: CRAN Date/Publication: 2022-04-03 14:40:02 UTC setRNG/build/0000755000176200001440000000000014222206314012507 5ustar liggesuserssetRNG/build/vignette.rds0000644000176200001440000000030714222206314015046 0ustar liggesusersb```b`a@&0`b fd`aũ%A~z%hR<)̔T49.44LVa8D@.cKM-FZ]?tS+`zP԰Aհe ,s\ܠL t7`~΢r=xA!$Gs=ʕXVr7#TsetRNG/tests/0000755000176200001440000000000013775713554012577 5ustar liggesuserssetRNG/tests/RNGtest.R0000644000176200001440000000007713775713554014254 0ustar liggesusers require("setRNG") Sys.info() random.number.test() setRNG/vignettes/0000755000176200001440000000000014222206314013420 5ustar liggesuserssetRNG/vignettes/setRNG.Stex0000644000176200001440000000554113775713554015461 0ustar liggesusers\documentclass[english]{article} \begin{document} %\VignetteIndexEntry{setRNG Guide} \SweaveOpts{eval=TRUE,echo=TRUE,results=hide,fig=FALSE} \begin{Scode}{echo=FALSE,results=hide} options(continue=" ") \end{Scode} \section{setRNG Functions} In R, the functions in this package are made available with \begin{Scode} library("setRNG") \end{Scode} As of R-2.1.0 the code from the vignette that generates this guide can be loaded into an editor with \emph{edit(vignette("setRNG"))}. This uses the default editor, which can be changed using \emph{options()}. Also, it should be possible to view the pdf version of the guide for this package with \emph{print(vignette("setRNG"))}. This library provides tools to simplify recording and resetting the random number generator, to help make monte carlo experiments easily reproducible. It uses the R/S tools for setting the seed, but also records and sets the mechanism for converting uniform numbers to normally distributed numbers. (It could be extended to other transformations, but I have not done that.) The setRNG function would typically be called by simulation programs. For example, if \emph{rng=NULL} is an argument to the function then the code \begin{Scode}{eval=FALSE,echo=FALSE,results=hide} rng <- NULL \end{Scode} \begin{Scode}{eval=FALSE,echo=TRUE,results=hide} if(!require("setRNG")) { stop("This function requires the setRNG package.") } if(is.null(rng)) rng <- setRNG() else {old.rng <- setRNG(rng); on.exit(setRNG(old.rng)) } \end{Scode} should be used before the random number generator is used. This will set the RNG information if given, and in all cases record the RNG information which can then be returned with the result of the simulation. (\emph{setRNG()} returns the setting so do not skip this if \emph{rng=NULL}.) With the information recorded the simulation can always be reproduced if necessary. In the case where the rng is set to a specified value it is good practice to set it back to the original value on exit. This prevents other random experiments from accidentally being affected by the rng setting. The library also implements an approach to random number generation which allows the same random experiments to be replicated in S and R. The functions in the S directory allow the R results using Wichmann-Hill and Box-Muller to be replicated in S. These were done with the aid of an example from B. D. Ripley. (The files in the S directory of the package are for use with S not R.) These functions are intended primarily as a way to confirm that simulations and estimations with simulated data work in the same way in both S and R, not as an improved RNG. (It has only been tested in Splus 3.3) Default and other RNGs can still be used and are preferred for both speed and theoretical reasons. \end{document} setRNG/NEWS0000644000176200001440000000243114222206305012107 0ustar liggesusersChanges in setRNG version 2022.4-1 o Added importFrom("stats", "runif", "rnorm") to NAMESPACE file. o Fixed Rbuildignore so that files from building vignettes are not omitted in the package build. Changes in setRNG version 2015.7-1 o Added default package imports as now required by CRAN. Changes in setRNG version 2013.9-1 o adjusted .Rbuildignore to exclude S/ directory. Changes in setRNG version 2011.11-1 o updated maintainer email address. Changes in setRNG version 2009.11-1 o setRNG sources migrated to distr project on R-forge. o Standardized NEWS format for new function news(). o The result of setRNG is now returned with invisible() except in the case it is called with no arguments. This avoids printout of large seeds. Changes in setRNG version 2008.3-1 o as.integer(seed) used explicitely to avoid warning caused when an integer stored as a double was used to set the seed. This should cause no changes other than eliminating the warning message. Changes in setRNG version 2006.4-1 o added setRNG-package.Rd overview. o added namespaces Changes in setRNG version 2004.4-1 o setRNG is now maintained as a separate package o Older NEWS is in the dse NEWS file. setRNG/R/0000755000176200001440000000000013775713554011636 5ustar liggesuserssetRNG/R/setRNG.R0000644000176200001440000002227113775713554013127 0ustar liggesusers ########################################################### # Random number generation. ########################################################### # Prior to R 0.99 Wichmann-Hill was the default and the DSE version of # Box-Muller was used for rnorm. setRNG <- function(kind=NULL, seed=NULL, normal.kind=NULL) {# with a null argument this also serves as getRNG #The next line means that setRNG with null args does not truly # return the state of the RNG in the case when it has not been # initialize. It first initializes it and then returns the state. The # rational is that querying the state is usually for the purpose of # reproducing it, so it must first be initialized to put it in a # reproducible state. if (!exists(".Random.seed", envir=.GlobalEnv, inherits = FALSE)) z <- runif(1) old <- list(kind=RNGkind()[1],normal.kind=RNGkind()[2], seed=get(".Random.seed", envir=.GlobalEnv, inherits = FALSE)[-1]) if (is.null(kind) & is.null(seed) & is.null(normal.kind)) return (old) if (is.list(kind)) {seed <- kind$seed normal.kind <- kind$normal.kind kind <- kind$kind } #Something like this might be nice, but there does not seem to be a way # to associate rng versions other than using R versions, and # that is too strict. Perhaps RNGversion() could return something. #v <- some number associated with kind and normal.kind #if (is.null(v)) warning("version cannot be verified.") #if (!all(unlist(RNGversion()) == unlist(v))) # warning("rng used but version does not correspond to original. Differences may occur.") k <- get(".Random.seed", envir=.GlobalEnv, inherits = FALSE)[1] remove(".Random.seed", envir=.GlobalEnv) # otherwise RNGkind complains RNGkind(kind=kind, normal.kind=normal.kind) # this sets .Random.seed seed <- as.integer(seed) #fix case where an integer is stored as double if ( 1==length(seed)) set.seed(seed) else assign(".Random.seed", c(get(".Random.seed", envir=.GlobalEnv, inherits = FALSE)[1], seed), envir=.GlobalEnv) invisible(old) } getRNG <- function(e=NULL)UseMethod("getRNG") getRNG.default <- function(e=NULL) {if (is.null(e)) k <- setRNG() else if (!is.null(e$rng)) k <- e$rng else if (!is.null(e$noise)) k <- e$noise$rng else stop("RNG information not found.") k } ######################################################### # test function (This test is run by other tests so it should # be defined here and not moved to tests directory. ######################################################### random.number.test <- function() {cat("Random number generator tests ...") if (is.R()) {test.seed<- 979 #previous to R 1.0.0: c( 979, 1479, 1542) # values from 0.49 beta #test.valueU <-c(5.693354055333957e-01,1.051357751852140e-01, # 5.846933178718317e-02, 7.537960906527452e-02, 7.043734921992200e-01) #test.valueN <-c(-5.559389931781886e-01, # -1.902431069568611e+00, 1.524595894866778e+00, # -7.863494805034426e-01, 1.328128164898773e-01) # values from 0.99.0a # test.valueU <-c(0.25603057077527752, 0.07879165329010961, # 0.60394682330171257, 0.20843868707503158, 0.97636939375111098) # test.valueN <-c( -1.39965726956837644, -0.24025807684466990, # 2.34362137305187446, -0.66321208109989371, -0.71183559894654214) # values from 1.1.0 (devel) should also work in 1.0.1 test.valueU.R1.6.2 <-c(0.59132864479704950, 0.76406894316060192, 0.18576870606880833, 0.81087542344137897, 0.05835627439859235) test.valueN.R1.7.1 <-c( 0.959409416512901569, 0.046546246157109825, -0.775306427558083988, -0.777761120323404387, -1.363043207314097227) test.valueN.R1.6.2 <-c( 0.959409416509782953, 0.046546246156130192, -0.775306427558391964, -0.777761120325662803, -1.363043207314267313) test.valueU <-c(0.6159259434789419, 0.2200001638848335, 0.7024894717615098, 0.4869760072324425, 0.2284618646372110) test.valueN <- c(0.2947980960879867, 0.5315740209738240, -0.7439218830522146, -0.9861002105572579, -0.3542773118879623) } if (!is.R()) {# above should really be if (is.Splus()) test.seed<- c(37, 39, 39, 4, 7, 2, 27, 58, 38, 15, 32, 2) test.valueU.S <- c(0.4299328043125570, 0.3092006836086512, 0.5808096211403608, 0.3061958812177181, 0.8137333435006440) test.valueN.S <- c( -0.7613318231781665, -0.5724360196433543, 0.8536399448225964, -0.2269096022522968, -0.8126790170570223) } old.seed <- setRNG(kind="default", seed=test.seed, normal.kind="default") on.exit(setRNG(old.seed)) ok <- TRUE if ( !is.R()) {if (1e-14 < max(abs(runif(5)-test.valueU.S))) {warning("The default runif number generator has been changed.") ok <- FALSE } setRNG(kind="default", seed=test.seed, normal.kind="default") if (1e-14 < max(abs(rnorm(5)-test.valueN.S))) {warning("The default rnorm number generator has been changed.") ok <- FALSE } } if ( is.R()) {if (as.numeric(version$major)+0.1*as.numeric(version$minor) > 1.62 ) {if (1e-14 < max(abs(runif(5)-test.valueU))) {warning("The default runif number generator has been changed.") ok <- FALSE } setRNG(kind="default", seed=test.seed, normal.kind="default") if (1e-14 < max(abs(rnorm(5)-test.valueN))) {warning("The default rnorm number generator has been changed.") ok <- FALSE } } # As of R 1.7.0 the default generator changed. For R 0.99 to 1.6.2 the # following corresponded to kind="default",normal.kind="default" setRNG(kind="Marsaglia-Multicarry", seed=test.seed, normal.kind="Kinderman-Ramage") if (1e-14 < max(abs(runif(5)-test.valueU.R1.6.2))) {warning("The Marsaglia-Multicarry runif number generator has been changed.") ok <- FALSE } # As of R 1.7.1 a bug was recognized in Kinderman-Ramage and it was changed. The # old version was named "Buggy Kinderman-Ramage" setRNG(kind="Marsaglia-Multicarr", seed=test.seed, normal.kind="Kinderman-Ramage") if (as.numeric(version$major)+0.1*as.numeric(version$minor) >= 1.71 ) {if (1e-14 < max(abs(rnorm(5) - test.valueN.R1.7.1 ))) {warning("The Kinderman-Ramage rnorm number generator has been changed.") ok <- FALSE} setRNG(kind="Marsaglia-Multicarr", seed=test.seed, normal.kind="Buggy Kinderman-Ramage") if (1e-14 < max(abs(rnorm(5) - test.valueN.R1.6.2 ))) {warning("The Buggy Kinderman-Ramage rnorm number generator has been changed.") ok <- FALSE } } else if (1e-14 < max(abs(rnorm(5) - test.valueN.R1.6.2 ))) {warning("The Kinderman-Ramage rnorm number generator (pre R 1.7.1)has been changed.") ok <- FALSE } } setRNG(kind="Wichmann-Hill", seed=c(979,1479,1542), normal.kind="Box-Muller") if (setRNG()$kind != "Wichmann-Hill" || setRNG()$normal.kind != "Box-Muller" || all(setRNG()$seed != c(979,1479,1542) )) {warning("RNG is not being set properly") ok <- FALSE } if (1e-14 < max(abs(runif(5) - c(0.56933540553339546, 0.10513577518521355, 0.05846933178718317, 0.07537960906527452, 0.70437349219921996)))) {warning("The Wichmann-Hill runif number generator has been changed.") ok <- FALSE } # for the next R 1.0.0 # setRNG(kind="Wichmann-Hill", seed=c(979,1479,1542), normal.kind="Box-Muller") # rnorm gives #[1] -1.92425218107175877 -0.89568905204068128 2.12213361588187510 #[4] 0.81669202948845299 -0.13569189805256629 # as does setRNG(kind="Wichmann-Hill", seed=c(979,1479,1542), normal.kind="Box-Muller") if (1e-14 < max(abs(rnorm(5) - c(-1.92425218107175877, -0.89568905204068128, 2.12213361588187510, 0.81669202948845299, -0.13569189805256629) # pre R 1,0,0 c(0.4605069059114530, 0.7685565310963474, -0.3737680932387061, # 0.5926372779538560, 1.4995245125275518) ))) {warning("The Box-Muller rnorm number generator has been changed.") ok <- FALSE } # this needs to be done twice with odd and even n to chech completely if (1e-14 < max(abs(rnorm(5) - c(-0.4602838255495997, 0.2761541652763959, 1.3265434523731297, 0.6856247181400722, -1.8336523890846541) ))) {warning("The Box-Muller rnorm state is not properly preserved.") ok <- FALSE } if (1e-14 < max(abs(rnorm(6) - c(1.9850437759531543, 0.6107700961454843, -0.9419893721776470, 1.1031328847642050, 0.4184702210057414, 0.9167797157851526) ))) {warning("The Box-Muller rnorm state is not properly preserved.") ok <- FALSE } if (1e-14 < max(abs(rnorm(6) - c(-0.724539745179790251, -0.439138566092752758, 1.466237618877826110, 0.289289597398559639, 0.003007778996985022, 1.008712871048744297) ))) {warning("The Box-Muller rnorm state is not properly preserved.") ok <- FALSE } if (ok) {cat("ok\n"); invisible(TRUE) } else { cat("failed!\n"); stop("failed")} } setRNG/MD50000644000176200001440000000144514222330702011723 0ustar liggesusersd38f7335289737df5fc0a9cc156dff60 *DESCRIPTION 379421fb2f4cf08f4ce2b8ce885c6144 *LICENSE 280be15c1b1b6b48984b37241ad690c1 *NAMESPACE 37fcd10ca5488e02ef814ddbaa846f0d *NEWS 6cab7834b0870a95a6834d2499c174e1 *R/setRNG.R 365b97f7cdc43af58e8015ece9e04ae7 *build/vignette.rds d0a3f6559d50aa275ca13ba6bd5c0d6e *inst/doc/setRNG.R 18abae00a88113e01e84fd51918f4793 *inst/doc/setRNG.Stex 22e3d92a8572aa23d3541947aa1fe068 *inst/doc/setRNG.pdf d4736bf0587ecb31ff233e80ed26f006 *man/00.setRNG.Intro.Rd 442bd1e250b8a07510caa42387737f93 *man/getRNG.Rd 181ac5da8ab09060b32e2e608dbe89bd *man/random.number.test.Rd 3cb049789c04d46e124d1ba017b97a99 *man/setRNG-package.Rd a0089986e1048e5b1f24f8c64db3c2a6 *man/setRNG.Rd ee4f21f46da497e7944d739c48792924 *tests/RNGtest.R 18abae00a88113e01e84fd51918f4793 *vignettes/setRNG.Stex setRNG/inst/0000755000176200001440000000000013775713554012412 5ustar liggesuserssetRNG/inst/doc/0000755000176200001440000000000014222206314013132 5ustar liggesuserssetRNG/inst/doc/setRNG.pdf0000644000176200001440000011073114222206314014772 0ustar liggesusers%PDF-1.5 % 3 0 obj << /Length 2273 /Filter /FlateDecode >> stream xڝYݏ½'8+$rH"̓E>p-&V\QEEIj/kpH Gݻo>JajwX$ \YIիjQ*g]o<>+\`֭;씭7VX*y-,K``8f="7cɋ^`i>B8@ *~f~ll(ZRy,hc_,z nZ- v@4JM*&`߭7pM$8w_5 I?z0["ǫ#bP+@LntmI51[௩"U9IUOs$QsЉfF2gϗd]o]_c,Фnku 7rzƿr=|ȍDԋi.<:5Q{7|lXɌvyqo%=&aR>U2RlyoCDBn9cj\ie'tpbֺYDI*0-rmi=΂ؙ   RuCoW$8<\nJ`Z. fdlZ OiwMT>/>Ih5><\-0}g FrKTN}=;2$Hr%^={ G}ZCλRCZq=,Ԫ,jRӷO?-T,Z|Uԭ.+] K^â-wjx i6*J,-70ԛ\mOfoDI ݅q-EaPw#g<8F "ĕ遼{vr`ua{mp!8n3?{3*0۽97Γc(($ʘg:y"> QEAyT^b \Œ4b.74 "$RNd>ۦa10Yx؛]M^`K**8#Ғ &-"TH[,|d5CܷTxd4~ s>r:}K(7^F$4Mw [LK)SUI0Q#rf=t>*ܚ 4rv_%xW^XI2Aok!3vEL|I)OJßz iw[b.[^)PG":#mj?1_7K3̨abtEsB8Q_2ЃwF(wVg~!H5 ʛ 9߭%PShQ[b1nBT /?Q@b?1`%e/;\pg leSh|EA-xd?1SRďW eCgs4idT) QP|@?q|/GRp Ӹa儇KsuIp4 K QJ1*p@0ǑT"8y4Ư1KvңrayTUX?`_v Q endstream endobj 10 0 obj << /Length 204 /Filter /FlateDecode >> stream xڕб 0+ (z/I E*AAAQp(Q|^mE\$|K.Ij:zm}> stream xڕн 0+C4_( šV08СG#ttp0! r$T< Nz4xBɮSlM#}dzA,]NI h#oQg‰JrۗHNN#80om[ӵx"mT#lG[X)iue0ۀ3+|RA endstream endobj 12 0 obj << /Length 111 /Filter /FlateDecode >> stream x3333S0PT04T03U06TH1*25 (Aes<LM=\ %E\N \. ц \. A?@gz0uՓ+ +3 endstream endobj 13 0 obj << /Length 162 /Filter /FlateDecode >> stream x=; @ )iru @V"j)(Xh{=BJK'/Cc(&IhI ukL#] tr;JyFĽx *ᢚ+#5@}؛SƗUZWÅ 7 endstream endobj 14 0 obj << /Length 270 /Filter /FlateDecode >> stream xmѽJ@yppp` A+ RK EB>Z:_#o)B֙wGf6ł2 :):rjʒUyL=um;*K^qܤ5}thG[ RdJ " h"|<z؎t! #siD0$'x,.$cq/c,g J z\U endstream endobj 15 0 obj << /Length 203 /Filter /FlateDecode >> stream xMα 0+C '0AI7h}>BGbE1 䃻dA_$);tD/8,y bC lQ%ݮ#b5Ō Au D Dfc9-O_pjϷ3mߗ3m߮ 5Ꮯ~66f;_+Qqɚo&V&9Ԡx d endstream endobj 16 0 obj << /Length 291 /Filter /FlateDecode >> stream x]JP#..}(u1 L"UhU-) \hΛƅx;\G-P(> stream xMAJ0)]fa/sm+"BЕ quBQpG ihMIyM:dhOsj錎Oi'a?bKE67xK/lﮨfGO8ceID``g&@Y953ؕ#˙ fW<@ Es>(R :$V.bA*3J ʘsJڛ?&JI_B)Jr&| eDX#d? endstream endobj 18 0 obj << /Length 253 /Filter /FlateDecode >> stream xUAJ1[4]@3SH[A+J] UQzY(/(E !Y}:rO,[3VlΆWZ2' %פWPsHr1Z p8#l"kdGvR !P)J,.RAE&M#GטbToY=$-C0dLm.FÒbj~)kB endstream endobj 19 0 obj << /Length 237 /Filter /FlateDecode >> stream xUαN@PL#0/ H3D+ cH 7Y0@IAXcClbv?;92Id#GdO!g^&^xWUc奼=]Iz/$w\G ~=BO \N nkm``\MdG :5">fg|w3ތT8ڦLH[e"48 6I|k endstream endobj 20 0 obj << /Length 193 /Filter /FlateDecode >> stream xm=@!$ S $&ZY+hfx=%-l,f&LC9QQф)LLs IK^nGՌ9owT p< AZ-@:hM,љTY(P zG߁ؐIavU.R8Uk Z B endstream endobj 21 0 obj << /Length 236 /Filter /FlateDecode >> stream xEοJ1YL2/ٸ{y[Z]!Vz ({h_$",I曯^SE 5=:|zӊ%+mmvssAUn @E2 Ȩ1JAE8Ab„rg|FÄ d]2Gd3Kꖂ''Bǥx`:!s\I`~zNx /[_TdW endstream endobj 22 0 obj << /Length 187 /Filter /FlateDecode >> stream xڅ1 @R,L^@ܹn),J-m5M)Sq793?<~Qq̇.6Ҍ􆣀žIgK]Gj!oCv^a JH˸;%BX[O ԎgU[kM4FF~xϕӁBT hњ~; 9 endstream endobj 23 0 obj << /Length 225 /Filter /FlateDecode >> stream xUϱjP? 9/Pc0$Bj;u(ڎV2HQ#dt`]8x)?DxgDGNx/4/)|8Yb o7/ K7Sd蓺@7=bTEVӊUш?I4M;@AmQSuj#S}7~9`^B 詤tU endstream endobj 24 0 obj << /Length 190 /Filter /FlateDecode >> stream x=ο POG@]A(AAM T EmB/fo#AB߁;ˁ.=t谿6;)#ɭI;~=7~.ɄO.;gJ +92 = Y5"$*GE1_kMAێfb)n! a!"t5}6)G endstream endobj 25 0 obj << /Length 238 /Filter /FlateDecode >> stream x]ϿN0/!Қ?"R)ĀZF@j?y=D $|jr=.YMxzH]lo-_iVSȪNTBᆥ:'zzLfU/2k`&[~6bT~4Ѓ{Νh{FRDJ*+oFt:^Cf\8،&и%FӶt[ӂ~Jl endstream endobj 26 0 obj << /Length 182 /Filter /FlateDecode >> stream xU1 0_:`/PMCv(j3:9: U:zI!78QL#NN"# ÈDkg%- lcdrE,_ω#+h(  0RGC:k3dV4P` {@1gy9xΡoi|KZCf1.$n > stream x=ͱj`27h 6] fԡtҎ*:H|(V;QX\Fje%E)MT̂k1RvO1j}H9S B47Z4^7^;r<ȇ0)z!Be,; e__=FʼW|/Hd endstream endobj 28 0 obj << /Length 178 /Filter /FlateDecode >> stream x]1 @ )tMBą-,J-+GQrBt |(1%2EϨR.#ʒ;baPI(\4 ^nrJ1ʒ61E[4%o!Au4x@u/YqDwk;ppjhWO: m 837ġB endstream endobj 29 0 obj << /Length 205 /Filter /FlateDecode >> stream xU1j@/L!]Xsx^"W.B*' v+h:aKxl%4ol9dxaa苬2g@˚%t§'3+~3Sb$PTh$&w;.Cչ Yw A HD)Ԁ TC8!#_^P=WDC)k VA endstream endobj 33 0 obj << /Length 199 /Filter /FlateDecode >> stream xڥ=@PL ȟ b&ZY+hxJ d)-bߛy63f%gtx0e5$ jOaj:*yAUlQtєg&̛}Nr 5r^ a2ʮ`i`r_zH&=| z)3WwFHH endstream endobj 34 0 obj << /Length 203 /Filter /FlateDecode >> stream xu1@EPLL 1D+ c&jQ8%gdB-^6gߑ;dO\q~ƨ4 Py*^r; SrPEqbtLR~3&0 > stream xU 0ES:ޢI N&O'8:knh@}7D%YgXnE68])$$ƒ~ܟv1ɂ1GG xos*!~Zo(k B" Pq>.۶{xcA+M;= endstream endobj 36 0 obj << /Length 187 /Filter /FlateDecode >> stream xU @ O Yxw8jotr'utPQ5I-$f2c-Z)+GZv*C@Hx=Π9sT/Ԩ"kF㇠ZFQ"7!\LŮ{kw; #e%(𮈻i^/aTtY!)y@,=l M>k endstream endobj 37 0 obj << /Length 203 /Filter /FlateDecode >> stream x}Ͽ 0[дtj3:9::(> stream xuн0[xDD'㤎]GQxFB1K~\q4CCM1x "֡ΐJ[1𥎁ޮt=x= W3ƼVTQSc6CC55Q>Rp(s5Mے`_==?ͥGrJ"ZSZ endstream endobj 39 0 obj << /Length 154 /Filter /FlateDecode >> stream x313T0P04f F )\\@ IrW0 s{*r;8+r(D*ry(01030o`7"b?2E`V`0#H'W ^F endstream endobj 40 0 obj << /Length 99 /Filter /FlateDecode >> stream x313T0P04F )\\@$lIr p{IO_T.}g E!'E@!ncr e endstream endobj 41 0 obj << /Length 165 /Filter /FlateDecode >> stream xڕ1 @ ) _@7ߍb-RZZ( V(!EȺ*wxL1 X4wZNH#Gm{ԐYRs72 >.{RrB*p!1B`R<`[ߦ@_#hVg0n@ DX}nK phfhE/997 endstream endobj 42 0 obj << /Length 102 /Filter /FlateDecode >> stream x313T0P0"3#CCB.#)T&9ɓK?\ȒKCKW4K)YKE!P E >'W $ endstream endobj 43 0 obj << /Length 137 /Filter /FlateDecode >> stream x313T0P04S02W01V05RH1*22(Bs≮=\ %E\N \. ц \. QqC=C=2p\   \\\8 endstream endobj 44 0 obj << /Length 232 /Filter /FlateDecode >> stream x]=N04M8!UeHbD9%Gp²!4_fjOKO^swۆ^%k#n{27ocGf}w ?6\?Ѹa@=*ŀ2* : (}!WjtYW=-0|3?*| zclb`Q$9R 2S }Q:Hq/3@#7p@ endstream endobj 45 0 obj << /Length 221 /Filter /FlateDecode >> stream xmAJ@tx9B FSjtB\U.jir(sn }|2)$9?J\ze\)7oϔ-o/Yr>RbGx+$qP-T 8a Hڔ@\fgm{`%NGPik,F=pk0jluo-9m骢;[| endstream endobj 46 0 obj << /Length 244 /Filter /FlateDecode >> stream xm1N048IUeHZ()XA 8WDAr)5cHœ5\+.U͵CT2,.[ҷ\/eL#93\SaXw>:@~^M:_6;~qLǠVrﻘJX&{ب#Izc&4~g'.zw'ʗ EJsY#袥} endstream endobj 47 0 obj << /Length 163 /Filter /FlateDecode >> stream x313T0PaS 2TH1*21PA $ɥ`bU()*Mw pV]  b<]HG#13acFT0ca``?p`L> stream xU; @? ` A+ RK E[7GQr)h1/t)ZEyɗϴOC-*2gd6:%Smx],vKȬqzjHHHC,10\qEqRc,S4EB訵H<,l)o e@)]X!uE{/^q endstream endobj 49 0 obj << /Length 212 /Filter /FlateDecode >> stream xuϱJ@_RG> stream xڕ1 P q(dGx9OA ZN⤎m֣xҘ!$!'3N*Φ|INY>-KNɗ[~>^W݊SSNNT D'Ҡi!4y;쑷Gwp{cjCe s]ؗʞZ."US9©-KI endstream endobj 51 0 obj << /Length 218 /Filter /FlateDecode >> stream xeαJA b > ]vj<-,J--mo||ybCBdy-j /;~2xxD-+j.KtoOԬY:ni0s #VH|ěFo;s+lq΅Ƕd,6ɺY'=alp +%D7p endstream endobj 52 0 obj << /Length 196 /Filter /FlateDecode >> stream xm= @'X#MXXSZYZZ(m#Xo[fa5B&x#/~,+E³N|n-f-nKn!R7 !Hꇨ+U4jdcޑM-孍@l_ "j~' f&74.WHe4A o \s` endstream endobj 53 0 obj << /Length 181 /Filter /FlateDecode >> stream xuα 0+ zO`RL'V08iGE7}4бC1:n83d3dftJFq> stream xmαN02Xŏ{H.X*E"L0"5)oG1o`ŃsaA t7;/%KGvA)N v=4GOYScs W,6+"< .L)'rf;GpaF]1P.;a?2yWL ǹG9^jo.G82TJ="b> stream x}1 @49IH,-,J--mMoL2LvY~ Gc 0G8 q bɁD9쎐y Y|=,9 ܂IѱË_ꪽ^cf8y/>_[;bPsfm]vҨVi.oVڷ[eڏ2t6 endstream endobj 56 0 obj << /Length 156 /Filter /FlateDecode >> stream x313T0P0bcKS#CB.cC I$r9yr+r{E=}JJS. @-\. =2>gg`zp=a&f?qA|.WO@.J endstream endobj 57 0 obj << /Length 230 /Filter /FlateDecode >> stream x}ͱJ19X&ywl 'pVbvb7[E(6W77V80/̤mfRɾ@f|mcqw<︼Բ\vgt|y,/䲖ꊻPLdK?t4g1:Vu&*ޠw#¦%{"oOp($BJ(D|p0hs^>۹3k¸ cԤRP5y>ZsY endstream endobj 58 0 obj << /Length 154 /Filter /FlateDecode >> stream xuɱ 1 ኃG0O`\op Njh(bl-?崚aUÓ+>$?*_5o3z  H1D>1Cf$t cUIa.<5Ga D"JLKL`` ?:R endstream endobj 59 0 obj << /Length 180 /Filter /FlateDecode >> stream xm1 @ )xnBVJBBB"^do)BBbFST@F R/r@)Z?K6A}cE- ol}:X}"j&xovV$GC* ~f endstream endobj 60 0 obj << /Length 198 /Filter /FlateDecode >> stream xm1j@Ep!fsZ1d"W.B*'e h{A (&E a-]{^ҙ|Xr8}Rݒ;=K}A~qIג7j$2%32 ]hzdLs_Lä_Yt:wjh^H;FU.o%mZ-/LRz endstream endobj 61 0 obj << /Length 230 /Filter /FlateDecode >> stream xuνN0:D%{:&KmȀbj@y?BFi>@UJO򢸑Lȯ9Y^.wv™/}UI\ |~|]=%g\.7B>@T*ƒvPU> stream xuαJ@ )#d^@7!;N0Xr׺Qro`Y#\q|,Oۜ/Ҷ,7nV2oFOKds9F6۵l6PKF@f*;!ɅY$ rHT 'HqĘ8() p^we  * L1j ~-Sё1qx 0hD^)㫎 Zz endstream endobj 63 0 obj << /Length 179 /Filter /FlateDecode >> stream x}1 @]RVBVb(9BʈqvEy03L8I38Byrj5tكL@N0ހ)PR+IFdޒjIWZE,& *>`۰m$jKaj` U endstream endobj 64 0 obj << /Length 206 /Filter /FlateDecode >> stream xU1j@Eq!fo Rd\ l`W)B$e\vG)U8Mb3KtkZ>iyW]VGmZ[wy|گѧZg7}'8l"M !#T ppP\`~ԅƲꌀEwKr40À0=O%AnRZA endstream endobj 65 0 obj << /Length 176 /Filter /FlateDecode >> stream xuϽ @ nY ֫ 7:9::(>#tPCÑKm8r#:&xAk%5ጙC%k,ƭvd9%hr%HDbfRA#JA;=LVi@ &!`nOYo .n R endstream endobj 66 0 obj << /Length 178 /Filter /FlateDecode >> stream xm̱ 0H-}SV08ͣ7#tP> stream xEαn@ PGNO_KH@b!`b@L#nvH0e`'wgFJ)S)gG, 톊!څTVK:V6t՜b%71w%;]ͮ:$δ & nKoW1]ЋputF@uFjM0>ɏ) N6#0˾ j5>[ endstream endobj 68 0 obj << /Length 224 /Filter /FlateDecode >> stream xMα@ )iBy` A++Q);l3j:-(#IorNjNӜNP6hW%OR9Q[Qv$QKRvrM`> stream xڝ1 @EL70s @BBZZ( 9Z#XZ:IVt« 3Or#xjBN%7nt8SjImYǤ+]'RzΚT;l@TJ @ hxjze/ ]a;AdD/ak+?iTRS" }G@ endstream endobj 73 0 obj << /Length 188 /Filter /FlateDecode >> stream xڝ1 @EL/ :ͮA"EVbE$Nxg1q߄l">h.!Ǧ^OXRcR 7'e|ޏՌ5ٔs@ th~//iKxO`LГtIVx?>(=Cuڕ/@RriniMoEBs endstream endobj 74 0 obj << /Length 131 /Filter /FlateDecode >> stream x-1 @E?^ xЙmV"RP:ٙ&Nwo\%红V\xA=y1:nwՇ Y/ t4M22DT&2+<*B# endstream endobj 75 0 obj << /Length 94 /Filter /FlateDecode >> stream x3230W0PaCsKCB.K &r9yr+Xr{O_T.}gC.}hCX.Oz 0X [\w endstream endobj 76 0 obj << /Length 153 /Filter /FlateDecode >> stream xڅ̽A ɉ̗eSH" ͣxwN5gvZ88Kb񀷲>7TzOoײC _.)k̓<j*zP R.NO|[ƧmdSL6e\6NdV;x* endstream endobj 77 0 obj << /Length 94 /Filter /FlateDecode >> stream xM=@PEx$^!R { T߱4J2:*54`ƴ"f@BJJ7"i endstream endobj 78 0 obj << /Length 172 /Filter /FlateDecode >> stream x3134V0P0bSKCB.# I$r9yr+q{E=}JJS ]*c<]0A?  @CA2@5@D!dPICd \\\^ endstream endobj 79 0 obj << /Length 175 /Filter /FlateDecode >> stream x331Q0P0bScSKCB.S1s<L =\ %E\N @QhX.O g``~?`g N}`o`F¢0?Q\\\ endstream endobj 80 0 obj << /Length 235 /Filter /FlateDecode >> stream xmj1 ^=;Od-$AhO=Xބͣ{N"Q6>fB&?N'izmf4Z||DJƠz.rM/T%V~rEP@X8 \IU{3bY1Ez$'i=Sː†LBp6Pu 8:R [49޲&&Z'XΝ_%m endstream endobj 81 0 obj << /Length 209 /Filter /FlateDecode >> stream xڕ00#pO`Amd3ALd08Fgh< @ڴ_e4f, kӄqH2@5(xEB3 i3 5C8ZA/:L^pXpkFbIF2qUNCE>_c+vdn&~VP endstream endobj 82 0 obj << /Length 194 /Filter /FlateDecode >> stream x3331V0PaS SsCB.S I$r9yr+p{E=}JJS ]  b<]Bc``D@.0L1S?UB7@`JJ=SP (<9P@=mrC%hAC!@ y`> stream x353R0P0bSCSsCB.s I$r9yr+s{E=}JJS ]  b<]d `6`RAI68؀L2`%Hv0)"G'!P5Ⱥ AJ$ `G@%\=Mx endstream endobj 84 0 obj << /Length 254 /Filter /FlateDecode >> stream xڭѱJ@?l&yM"&`p` A+ :--7`kMg+ & XKf]{t\)pp{ =SuV=UvT]j__Z]>5(6S`-̗oնd IS03aLlB".!1Ox&pcJ&HۅrI)ܔ_,v0{ltT颧 endstream endobj 85 0 obj << /Length 125 /Filter /FlateDecode >> stream x333P0P0bSKSsCB.SS I$r9yr+r{E=}JJS ]  b<]?T b78) s)hb y.WO@.!7 endstream endobj 86 0 obj << /Length 106 /Filter /FlateDecode >> stream x3ԳT0P0aKSsCB.#3 I$r9yr+q{E=}JJS ]  b<]acW3v\ endstream endobj 87 0 obj << /Length 244 /Filter /FlateDecode >> stream xu?kP{<0p '% ur(vtـ]G|X#y=8. [~< 8:İ˵W|Ք.1wQ@jH>yo瘣1 ý 8hFx]*18yTB,a PM 2< fep\$I5+zG4VY5D NZ@fW'coQ! endstream endobj 88 0 obj << /Length 243 /Filter /FlateDecode >> stream xUпJ@/.0fMN?Sge!VjihkR\AKT֩$EuwM1f``w%=.>jRWRkRnKO/VSYZR7T@fm큼0 {düۘ=4]L3Ȧa@bli@T|`MLjb4L1dtFW$G *.|ؙtI6Dc endstream endobj 89 0 obj << /Length 221 /Filter /FlateDecode >> stream xڕѽ 0𖂁#x/i*U ~I(}JK "&HrtF*8 q0Y Ȁf4  ״ 2o@.08BDu uf,HW lf(ze~ަ_Q@6+L6elZv,XKP~EԺe֩N=v< endstream endobj 90 0 obj << /Length 256 /Filter /FlateDecode >> stream xUϱN0 )K~h{=B @!Z̏F%Psw|J8êt0r^jE>U KWk=?ܻbuyJz_uEk?ƌ!fl#>3Z;@'7x &&ȖNm9R0!G/aEFD+E$ьMX^>a-M=:upǴ-i}GA^{sywָ+=# endstream endobj 91 0 obj << /Length 150 /Filter /FlateDecode >> stream x3Գ4W0P0bSsJ1*2" Fr.'~1PKW4K)YKE!P E?<@0g`A bP>T*L`)`J+F Hʃr Wr endstream endobj 92 0 obj << /Length 307 /Filter /FlateDecode >> stream xu1K0W v8b vtr@?')ΝCMHH^K^Y/PX.8\> stream xm; @ . Vf.1L!he!Vji(X({8Qښ}i<"Ńf{Qj{T3Qes:.{TŘ4 5E&6%/_x/PAP02g0yp&dBw:+0}ATyM6Ӣ5l.5iK|T endstream endobj 94 0 obj << /Length 198 /Filter /FlateDecode >> stream x3134V0P0R5T01V0PH1*21PASKLr.'~PKW4K)YKE!P ETD0S$00|`A; 00* ?8Q"I&PMb`߁q ̍:]'W ckA endstream endobj 95 0 obj << /Length 182 /Filter /FlateDecode >> stream xڍA `'?(   AZDjX.̣y҅Tcu 7f: 5P L % MBb%_/#jƒ&Ύ҄Z{Ue5TƩ-ՇW6j@-OӉ;*`{^[bTd7 wSZ= endstream endobj 96 0 obj << /Length 198 /Filter /FlateDecode >> stream x3134V0P0V5T01Q0PH1*21PASKLr.'~PKW4K)YKE!P ETz !HԱ` |P=iu D)ph<krF=A?0`> stream x]1 @\B/ 8M(+Tr!bI q23;9nvdC)lGUgwIBf6$32d@fr@&m)2ϩ\^sϵ2HQRQO5QJrh MTrL@V@ endstream endobj 98 0 obj << /Length 141 /Filter /FlateDecode >> stream x3236W0P0bcSKCB.# I$r9yr+Yp{E=}JJS ]*c<]70| C`003a`\=&[ endstream endobj 99 0 obj << /Length 237 /Filter /FlateDecode >> stream xڍJ1ƿ00 v^@9Å+T[}> stream x3134V0P0bS CB.C I$r9yr+r{E=}JJS. @-\. ?&iNa`D~700n?D䇁$7 \\\y endstream endobj 101 0 obj << /Length 122 /Filter /FlateDecode >> stream x3230W0P0aCS3CB.C I$r9yr+Zp{E=}JJS ]  b<]0@A@8~? q0\=(CE` endstream endobj 102 0 obj << /Length 196 /Filter /FlateDecode >> stream xڵ1 @Еir3'p.#BBRPQr0E:? d37u.{ʧHrCqJzƁGz$15x2`ts [R?L3؂rkm;x3HKv@%.oԐ nn**ɍ@ÔDr endstream endobj 103 0 obj << /Length 108 /Filter /FlateDecode >> stream x3230W0P0aCS CB.C I$r9yr+Zp{E=}JJS ]  b<]?0! ̃`qzrrƂQ. endstream endobj 104 0 obj << /Length 177 /Filter /FlateDecode >> stream x33R0Pa3scsCB.3 I$r9yr+p{E=}JJS ]  b<]?`@=:773n? Da`N``` O7Nszrr#߈ endstream endobj 105 0 obj << /Length 147 /Filter /FlateDecode >> stream x3134V0P0bcsCB.C I$r9yr+r{E=}JJS. @-\. ?00`D~70n?D䇁$0I.WO@.e% endstream endobj 106 0 obj << /Length 188 /Filter /FlateDecode >> stream xڍ1@E #0e6 &naRK v9GTd)HN^f̦ǚ95(EqߜR{cRkI ? ldM*H&g8^WSQdHVR!J*- i~ nN/ookg$AH> wlzZIK endstream endobj 107 0 obj << /Length 196 /Filter /FlateDecode >> stream xڝα @ HByuj;:9::(>Zp"]qQ |CB?2ܓ1G!#I:Ramd$V$fO"tٓH$R^K6ʯ\UW0/%>T5*4hy~> stream x3635R0PacCcsCB.# I$r9yr+Yp{E=}JJS ]  b<]3P?n3 ~o0ah`?PszrrjF endstream endobj 109 0 obj << /Length 195 /Filter /FlateDecode >> stream x=αJ@Xf x{`TSwZ * W6`"8%Gf|q~K.4pR^j<> stream x363T0P0T5T0P05TH1*22 (Ads≮=\ %E\N \. ц \.   W  @ @,?(fQ 0pC sC3=;?f.WO@.uH endstream endobj 111 0 obj << /Length 153 /Filter /FlateDecode >> stream x3134V0P0R5T01Q06WH1*21 ([@ds<L =\ %E\N @QhX.O `J`pB`왏I@.WO@.1c endstream endobj 112 0 obj << /Length 183 /Filter /FlateDecode >> stream xU̱ P#k[WJ' rjj Ɔh>`Phj @ B\Q#HEldȗ$"Sg3:.{|LVkRj_ ..X ,g0i) <p&A=j|c(vk]b=(ԿOI |F? endstream endobj 113 0 obj << /Length 233 /Filter /FlateDecode >> stream xU=KPs Xxv(zb`A' Q|A7|~Lx`7UN?8g!Aj"z$r~nhdHڙdrO/$GcHN* WUP6Aߴ45q " bx%tq_cGŲh;L t5<fOk2|+ZlECd(IBY_ endstream endobj 114 0 obj << /Length 210 /Filter /FlateDecode >> stream xMν @ )(> stream xUj@Yi nZ$sSEGQ|x I;=F(N8^D!qiIs ǔB3I-1QYAg//74gZv* 0ÿ+]SCE@QsϰF,IqSn/'gCb^mmjg`1'>ڟK endstream endobj 116 0 obj << /Length 188 /Filter /FlateDecode >> stream xڵ1 @EH!L#d.ͺB` A+ RK EBbGRRl6Pt+ǬƬ5$Ii;Xf$#aI,Dv$f,I(K~ |[jWopG!SE /zO6x+ӸY~uд` endstream endobj 117 0 obj << /Length 121 /Filter /FlateDecode >> stream x3135R0P0bc3SSCB.# I$r9yr+Yp{E=}JJS ]  b<]0001; aX*6T?0'W N endstream endobj 118 0 obj << /Length 228 /Filter /FlateDecode >> stream xmαJ@o"0M^ป'pWSZY `eh>J+5E~;Yct_^iC-/+9u'Zst }{} ,, %s'l"aAZқMY'W Tc| endstream endobj 119 0 obj << /Length 235 /Filter /FlateDecode >> stream xu1N0ЉRX`3',ZiY$R AE GQr[0"OʌǓ/^ҟ+Vɾݭ%+yxb>F:iy-29Q EPE6fLV&b&e6fՎY (y/ifU _ cBԨM>y2_ |Ǜjh endstream endobj 123 0 obj << /Length 192 /Filter /FlateDecode >> stream xڳ033S0P0bs  #CB.sc I$r9yr+s{E=}JJS ]  b<]CbY ?00e1 Xp?g1YpUgYxY, Dp,y8be,^$'}TaAfRX\\\1=# endstream endobj 124 0 obj << /Length 349 /Filter /FlateDecode >> stream xՓN0 ]uPU"D$02`nyMNIܻEJ8v?ϊ xc\=83,OݣZ*ƲR9UZ_Jt79f^! 5Dň6X;ЖuH@cN.|͎r.m@γۯF|=Mb ִ`]Üb{)$U2ئ' ÄcW|rƬ,e9sOx^cfu=z.{6S1;Ae&oVgۛ`_#7ğ)NG YmvM٭f !&\oVW ?! endstream endobj 125 0 obj << /Length 316 /Filter /FlateDecode >> stream xu1N0qG"yLJȀbF Rc@n@G*9~,d4iZZ?Vݣ^6RVyy~}ԺܘT܏R*<Vs[(;(rOηwp(X;уr,8=Sp`b dOx`Op4Lh }S8:S8^b ab`x'ܷ؂ ~|8'`5l8qN Xx> >kJ@ endstream endobj 126 0 obj << /Length 290 /Filter /FlateDecode >> stream xڵӱN `H&GJkNM3NIM{4"Rȍ%) ~ٜoK<+>Lcuz^aہxĦqkAtwb{%>X> stream xڵN0/`?BdS` Heꀘh XI-#d`stgۿ~Iy)x 5_XQ&oG\7vWEF<z{O5 Tb!ȣO!2J`@;PP<;Gg3E9c̈*l09t / inm';)),bߘ^Jq݂zlgF endstream endobj 128 0 obj << /Length 244 /Filter /FlateDecode >> stream xڅJ1g"0M!`Dy[ZYZZ(ںy}<•aǙP1|?IO :1H=>cTPc;Ocw!^_[^ʙ;V8?dmgPj\Rq :dĄ* |Vbn;gE d1o( ؁ahDBc!D[o1En %in6N:\Z` æ]H_I<?y뭜 endstream endobj 129 0 obj << /Length 138 /Filter /FlateDecode >> stream x3635Q0Pacc CB.# I$r9yr+Yp{E=}JJS ]  b<]``0f+ɃԂ 0a@\\\٥; endstream endobj 130 0 obj << /Length 184 /Filter /FlateDecode >> stream xѱ@ & &]xHLtr0NUy{ጃ zw6d4JBGqlfiG{1+P)QEz@-ibc|!Pi ౮!`{.TV6ߡA_y48+po endstream endobj 131 0 obj << /Length 231 /Filter /FlateDecode >> stream xڵ0kHnЂ0 &2`A3<#02^KL%!_s{I!.qa@CT9 +@P% 7 v+@x0> stream x]1N@4;ۊB$\ Q%ڬ\vY)yTk.拊57 UIJ/Kn6O\k*ybx[~|nXp8HDF#々~7'QȔ^;LKZ+45qj@.dtv!"ieh֔j]dV絳Su ?hgcfKxhGZ endstream endobj 133 0 obj << /Length 186 /Filter /FlateDecode >> stream x3534S0P0R5T01Q07SH1*21 (Cds<L =\ %E\N @QhX.OON2bH$;&=A$3?8HAN7PJ`$H `( E` qzrr:p endstream endobj 134 0 obj << /Length 187 /Filter /FlateDecode >> stream x1 @   fl1[ZYZZ(Zkyt {O!(VhpZ0(j. 匴F91J3FNPf4W.dI K#ZX+ސ8 w6 .n N<sUv848n endstream endobj 135 0 obj << /Length 137 /Filter /FlateDecode >> stream x3337W0P04  )\\&f  ,ɥ`bƥU()*Mw pV0wQ6T0tQ```c;0D0I~0Y"I ?&D(I"\=VI endstream endobj 140 0 obj << /Producer (pdfTeX-1.40.20) /Creator (TeX) /CreationDate (D:20220402225612-04'00') /ModDate (D:20220402225612-04'00') /Trapped /False /PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) kpathsea version 6.3.1) >> endobj 8 0 obj << /Type /ObjStm /N 20 /First 151 /Length 1627 /Filter /FlateDecode >> stream xڭn7|rgE(A /hRwy8[K gy%9.+HŤjRH+bO*GZR̤WNm gXF Y45A` lF9aD~uqZor{_w޷zvqYz}^l+ 'V! KL]\a)WDyYz,nz`իK5_߫2l}s4:6OzmAc|=zgX t?yO{ݑ'9,_j3cBnN8公 T 7, Hb-qz%gߔž`_(%9B!3c2,A⎐,pf)14f D~P$'O"Q%j(Ϻ?[Q r$iV3&"ut3/]!\OWAr#;aZc7c W Z4X.'p@f$oLbwck.f"BβGƔ1D,yr 8 `:P^~8cOA}6,6~Ht #!40r4}ӼR^Ky6n 3Ж/Y`W9. _n4G|a=c_}+gh0*4!#u1#Ơb/Ez\Z92)R~c9RPC\'BGCOg [pk%:ǦĔk{z{ً;`c`&];w&qoR}{ۻo{ѽ?}ps>#wa^!'ms#!T}{9Ws)_x endstream endobj 141 0 obj << /Type /XRef /Index [0 142] /Size 142 /W [1 2 1] /Root 139 0 R /Info 140 0 R /ID [ ] /Length 442 /Filter /FlateDecode >> stream x[L`!Wi9,QS!aX"JFY9Ԑ2;f͝3.\ 6nl6c6.lll/߾{Fj$)7%rLхE8c6fcN+>1NXpR/g8N#Qh98sV݂sqn1cs\pŢa,帤KXgcE!H j1.5uv+'X~8ۘ 5Hsc1֮MX~7G[n m=| >Λ6EY5>pl){V[=2:ggG᱔+]_5